Teoría – Alejandro Gonzalez

Slides:



Advertisements
Presentaciones similares
ESTRUCTURAS DE CONTROL
Advertisements

Compiladores e intérpretes Análisis Sintáctico II
Programación de Computadores
Sesión 3 Estructuras Repetitivas
Estructuras Repetitivas para
Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios
ALGORITMOS Y LENGUAJES Estructuras de Control CONDICIONAL
Estructuras de Decisión I IF - THEN - ELSE
Unidad 1 DISEÑO DE ALGORITMOS ING. Nelwi Baez. MSC
Estructuras de Repetición Algoritmos
Introducción a los Algoritmos
Iteración La iteración permite modelar problemas en los cuales una secuencia de instrucciones debe ejecutarse varias veces. La cantidad de iteraciones.
Elementos de Pascal Escribir un programa en Pascal que lea los valores de los catetos de un triángulo rectángulo y calcule y muestre la hipotenusa. program.
Algoritmos & Estructuras de Datos
Estructura General de Un Programa Programación Estructurada
Seminario de Actualización - Excel Avanzado y Macros
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Estructuras de Control
INFORMÁTICA PROGRAMACIÓN.
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
Unidad 4: Análisis de algoritmos (parte II)
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Estructuras de Control
Curso de Programación I Parte III
Estructuras de control
Estructuras de Repetición
PARADIGMA Es un esquema de pensamiento que nos lleva a concebir las cosas de una manera determinada. el término paradigma puede indicar el concepto de esquema.

ESTRUCTURAS DE CONTROL
ESTRUCTURAS CONTROL SECUENCIAL
Programación de Computadores
Tema 1 Algoritmos.
Sesión 6 Sentencias de Repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
LÓGICA - DECISIONES Los valores lógicos: constantes, variables y expresiones lógicas, permiten controlar la ejecución de las sentencias de un programa.
Estructuras de Iteracion (Repetitivas ) while , for,, do-while
FUNDAMENTOS DE PROGRAMACIÓN
Capítulo 1 “Elementos de Programación”
Conversión cadena a número
COMPUTACION 2009 Clase 6 Clase 7.
Algoritmos ¿Que es un algoritmo?
WHILE Estructuras Repetitivas
Resolución de Problemas y Algoritmos Uso de iteración con secuencias
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
ESTRUCTURA DE DATOS ESD-243
Informática Tema 5 - Estructuras de Control Estructuras de Repetición.
COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida.
Ciclos (Loops, Repeticiones) Permiten ejecutar una secuencia de sentencias mas de una vez. Hay 2 tipos de loops:  WHILE repite la acción un número indefinido.
ESTRUCTURAS REPETITIVAS

Estructuras de Control.
Pilas Una Pila es una colección de elementos del mismo tipo organizada como una superposición ordenada de los mismos. Por ejemplo Pila de platos, Pila.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 18/08/2006.
Tema 6: Estructuras de Control
Estructuras repetitivas e iterativas  Son herramientas que permiten ejecutar operaciones que se deben aplicar un número repetido de veces. El conjunto.
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
Sesión 13: Python (4) – Estructura Repetición. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática.
Ing. Johanna Macias Algoritmo, Estructura y Programación III.
Se pueden incluir comentarios en cualquier parte de un programa pero deben delimitarse con llaves o con paréntesis y asterisco:
“variables , sentencia if y bucles”
ESTRUCTURAS REPETITIVAS
Estructuras de Decisión
Lic. Carla Aguirre Montalvo
CICLOS EN C – PARTE 3.
Universidad Domingo Savio
Ciclos en Visual Basic Yaimira Pérez. Los ciclos son estructuras de repetición que ejecutan una o varias instrucciones durante la cantidad de veces que.
ESTRUCTURAS SELECTIVAS Elaborado por; Ing. Alberto Pérez.
Ciclos de Repeticion Yoel Gutierrez Unidad 6. Contenido DefinicionExplicacionEjemplosReferencias.
Ciclos condicionales y exactos Estructura de control de ciclos
Transcripción de la presentación:

Teoría – Alejandro Gonzalez PROGRAMACIÓN I Teoría – Alejandro Gonzalez

¿Qué vimos ? Problema del Mundo Real Análisis Diseño Solución Diseño Modular Modelo

Qué vimos ? + Restringidas por el lenguaje de Programación Instrucciones Análisis Programa Datos + CONSTANTES Numéricas Lógicas Pertenecen a un TIPO de Datos VARIABLES Caracter

Temas Asignación de valores a una variable Estructuras de control Secuencia Selección Decisión Repetición Iteración: precondicional – postcondicional

¿Cómo asignamos valores a variables? HASTA AHORA… Program uno; Var num:integer; Begin num:= 8; End. Program uno; Var num:integer; Begin read (num); End. ASIGNACIÓN

¿Cómo asignamos valores a variables? Read: se usa para leer datos (por defecto desde teclado) y asignarlos a las variables correspondientes.

Salida en Pascal Write: se usa para mostrar información en pantalla. Puede ser, por ejemplo, el contenido de una variable. Pueden ser de tipo entero, real, char. Los datos a mostrar si son más de uno deben ir separados por coma.

Salida en Pascal program ejemploWrite; var a,b,c: integer; Begin Read(a); b:= a * 4; write (b); write (‘El valor de b es:’ ,b); End.

Teoría – Alejandro Gonzalez Estructuras de Control en Pascal Teoría – Alejandro Gonzalez

Estructuras de Control - Concepto Todos los lenguajes de programación tienen un conjunto mínimo de instrucciones que permiten especificar el control del algoritmo que se quiere implementar. Veremos que este conjunto debe contener como mínimo: secuencia decisión / selección iteración

Estructuras de Control - SECUENCIA La forma de ejecución más simple, está representada por una sucesión de operaciones (por ej. asignaciones), en la que el orden de ejecución coincide con el orden físico de aparición de las instrucciones. Program ejemplo; var a,b,res: integer; begin read (a); b:= 100; res := a + b; end; 8 100 108 a b res

Estructuras de Control - DECISIÓN En un algoritmo representativo de un problema real es prácticamente imposible que todo sea secuencial. Es necesario tomar decisiones en función de los datos del problema. ¿Evaluar condición? Se procesan las Instrucciones por la alternativa verdadera Instrucciones por la alternativa falsa Falsa Verdadera

Estructuras de Control - DECISIÓN EN EL ROBOT… si (condición) accion ---- sino EN PASCAL… if (condición) then accion else EN PASCAL… if (condición) then begin accion; end else accion

Estructuras de Control - DECISIÓN Ejemplo: escriba un programa que le permita determinar e informar si la suma de dos números enteros leídos es mayor a 20, en caso contrario, debe informarse que la suma es menor ¿Cómo leo números?. ¿Cómo determino si la suma es mayor a 20? ¿Cómo informo el resultado?

Estructuras de Control - DECISIÓN Program uno; Var num1, num2,res: integer; Begin read (num1); read (num2); res:= num1 + num2; if (res > 20) then write (“La suma superó el valor 20”) else write (“La suma no superó el valor 20”) End.

Estructuras de Control - DECISIÓN Ejercicio 1: escriba un algoritmo que le permita determinar e informar si un número leído desde teclado es par. ¿Cómo leo el número?. ¿Cómo determino si es par? ¿Cómo informo el resultado?

Estructuras de Control - DECISIÓN Program uno; Var resto,num1:integer; Begin read (num1); resto:= num1 MOD 2; if (resto = 0) then write (‘El número es par’) else write (‘El número es impar’); End. Program uno; Var num1:integer; Begin read (num1); if (num1 MOD 2 = 0) then write (‘El número es par’) else write (‘El número es impar’); End. ¿Lo vemos en el Free Pascal ?

Estructuras de Control – SELECCION Permite realizar una o más acciones dependiendo de cuál de todas las condiciones evaluadas es verdadera. Ejecutar acciones cuando Variable_ Decisión =posibilidad 1 Evalúa la Variable_Decisión Ejecutar acciones cuando Variable_ Decisión=posibilidad 2 Ejecutar acciones cuando Variable_ Decisión = posiblidad N ...

Estructuras de Control - SELECCION EN EL ROBOT… No hay EN PASCAL… case variable of posibilidad 1: accion 1; posibilidad 2: begin accion 2; accion 3 ; end else accion; end;

Estructuras de Control - SELECCION Ejercicio 2: escriba un algoritmo que lea dos números reales y un carácter desde teclado, e informe el resultado de aplicar la operación que indica el carácter, a los números leídos. ¿Cómo determino qué operación hay que hacer?

Estructuras de Control - SELECCION Program dos; Var num2,num1,res:real; op: char; Begin read (num1); read (num2); read (op); case op of ‘+’: res:= num1 + num2; ‘-’: res:= num1 - num2; ‘*’: res:= num1 * num2; ‘/’: res:= num1 / num2; end; write (“El resultado es:”, res); End. Program dos; Var num2,num1,res:real; op: char; Begin read (num1); read (num2); read (op); if (op = ‘+’) then res:= num1 + num2 else if (op = ‘-’) then res:= num1 - num2 if (op = ‘*’) then res:= num1 * num2 if (op = ‘/’) then res:= num1 / num2 Write (“El resultado es:”, res); End. ¿Qué pasa si leo cualquier otro carácter? ¿Lo vemos en el Free Pascal ?

Estructuras de Control - SELECCION Ejercicio 3: escriba un algoritmo que lea un carácter e informe que tipo de carácter leyó (numérico, letra minúscula, letra mayúscula o símbolo especial). ¿Cómo determino qué tipo es?

Estructuras de Control - SELECCION Program tres; Var car: char; Begin read (car); if (car=‘a’) or (car=‘b’) or (car=‘c’)… then write (“El carácter leído es una letra minúscula”) else if (car=‘A’) or (car=‘B’) or (car=‘C’)… then write (“El carácter leído es una letra mayúscula”) if (car=‘0’) or (car=‘1’) or (car=‘2’)… then write (“El carácter leído es un número”) write (“El carácter leído es un símbolo especial”) End. Esto resulta un problema… Program tres; Var car: char; Begin read (car); case car of ‘a’: write (“El carácter leído es una letra minúscula”); ‘b’:write (“El carácter leído es una letra minúscula”); … ‘A’: write (“El carácter leído es una letra mayúscula”); ‘B’:write (“El carácter leído es una letra mayúscula”); ‘0’: write (“El carácter leído es número”); ‘1’: write (“El carácter leído es un número”); else write (“El carácter leído es un símbolo”); End.

Estructuras de Control - SELECCION Program tres; Var car: char; Begin read (car); case car of ‘a’..’z’: write (“El carácter leído es una letra minúscula”); ‘A’..’Z’: write (“El carácter leído es una letra mayúscula”); ‘0’..’9’: write (“El carácter leído es número”); else write (“El carácter leído es un símbolo”); End.

Estructuras de Control - SELECCION La variable de decisión debe ser de tipo ordinal. Puede haber más de un valor en cada una de las entradas. Un valor debe aparecer en una sola de las entradas. Deben incluirse todas las posibilidades.

Estructuras de Control - SELECCION Para pensar: Si ahora suponemos que lo que se quiere hacer es contar aquellas personas que tienen peso entre 48,5 y 50,5, las que tienen entre 60 y 75,5 y las que tienen entre 90 y 103,5 ¿Puedo utilizar una estructura de control de selección CASE?

Estructuras de Control - REPETICION Es una extensión natural de la secuencia. Consiste en repetir un número fijo y conocido de veces una o más acciones. Se Repitió N veces? no si Ejecutar el bloque de instrucciones del lazo

Estructuras de Control - REPETICION For indice := valor_inicial to valor_final do begin accion 1; accion 2; end; EN EL ROBOT… repetir 4 accion 1 accion 2 repetir variable EN PASCAL… Palabras Clave ¿Qué son? ¿Qué representan?

Estructuras de Control - REPETICION Ejercicio 4: realizar un algoritmo que calcule la suma de los números entre el 1 y el 20.

Estructuras de Control - REPETICION ¿Qué sucede con i después de que el for se termina? Program cuatro; var i,suma: integer; begin suma:= 0; for i:= 1 to 20 do suma:= suma + i; end. ¿Puedo modificar i? ¿Lo vemos en el Free Pascal ?

Estructuras de Control - REPETICION Ejemplo 1: For indice := ‘A’ to ‘H’ do accion ¿De qué tipo es índice? ¿Cuántas veces se ejecuta el for? Ejemplo 2: For índice := FALSE to TRUE do Begin Acciones End; ¿De qué tipo es índice? ¿Cuántas veces se ejecuta el for? ¿Lo vemos en el Free Pascal ? Ejemplo 3: For índice := 20 to 18 do acciones ¿De qué tipo es índice? ¿Cuántas veces se ejecuta el for?

Estructuras de Control - REPETICION Ejemplo 4: For índice := 20 downto 18 do begin accion; End; ¿De qué tipo es índice? ¿Cuántas veces se ejecuta el for?

Estructuras de Control - REPETICION Consideraciones acerca de la variable índice en Pascal: La variable de control debe ser de tipo ordinal (entero, boolean, char). No debe modificarse dentro del lazo  Error Los incrementos ó decrementos y testeos son implícitos Al terminar el ciclo, la variable índice no tiene un valor definido (su uso se limita a la repetición).

Estructuras de Control - REPETICION Ejercicio 5: realizar un algoritmo que lea 55 valores que representan sueldos de los 55 docentes de la Facultad e informe el monto total que debe pagar la facultad.

Estructuras de Control - REPETICION Program cinco; Var sueldo, total: real; i:integer; Begin total:= 0; for i:= 1 to 55 do begin read(sueldo); total:= total + sueldo; end; write (total); End.

Estructuras de Control - ITERACION Puede ocurrir que se desee ejecutar un bloque de instrucciones desconociendo el número exacto de veces que se ejecutan. Para estos casos existen en la mayoría de los lenguajes de programación estructurada, las estructuras de control iterativas condicionales. Como su nombre lo indica las acciones se ejecutan dependiendo de la evaluación de la condición.

Estructuras de Control - ITERACION Precondicionales. Evalúan la condición y luego ejecutan el bloque de acciones. (Como el mientras del robot) Postcondicionales. Ejecutan el bloque de acciones y luego evalúan la condición. (NUEVO!!)

Estructuras de Control - ITERACION Las estructuras iterativas pre-condicionales primero evalúan la condición y si es verdadera se ejecuta el bloque de acciones. Dicho bloque se pueda ejecutar 0, 1 ó más veces. Evalúa la condición Se ejecutan las acciones correspondientes Verdadera Falsa

Estructuras de Control - ITERACION EN EL ROBOT… mientras (condicion) accion 1 accion 2 EN PASCAL… while condicion do accion1 begin accion 1; accion 2; end;

Estructuras de Control - ITERACION Ejercicio 5: realizar un programa que lea números hasta leer el número 8. Al finalizar informar la suma de todos los números leídos.

Estructuras de Control - ITERACION Program cinco; Var num,total:integer; Begin total:= 0; read (num) while (num <> 8) do begin total:= total + num; read(num); end; write(total); End.

Estructuras de Control - ITERACION En cuanto a las estructuras iterativas post-condicionales, primero se ejecuta el bloque de acciones y luego se evalúa la condición. A diferencia de la estructura iterativa pre-condicional, el bloque de acciones se ejecuta 1 ó más veces. Se ejecutan las acciones del bloque Evaluar la condición Falsa Verdadera

Estructuras de Control - ITERACION EN EL ROBOT… No existe EN PASCAL… repeat accion1 until (condicion)

Estructuras de Control - ITERACION Ejercicio 5: realizar un programa que lea números hasta leer el número 8. Al finalizar informar la suma de todos los números leídos. NO ES ADECUADO UN REPEAT UNTIL Ejercicio 6: realizar un programa que lea números hasta leer el número 8 (debe procesarse). Al finalizar informar la suma de todos los números leídos.

Estructuras de Control - ITERACION Program seis; Var num,total:integer; Begin total:= 0; read (num); while (num <> 8) do begin total:= total + num; read(num); end; write (total); End. Program seis; Var num,total:integer; Begin total:= 0; repeat read (num); total:= total + num; until (total = 8) write (total); End.

Estructuras de Control - ITERACION Precondicionales: Se utiliza el while. Evalúan la condición y luego ejecutan el bloque de Realiza las acciones mientras la condición es verdadera. Se ejecuta 0,1 o más veces. Postcondicionales: Se utiliza el repeat until. Ejecuta el bloque de acciones y luego evalúa la condición. Realiza las acciones mientras la condición es falsa. Se ejecuta 1 o más veces. (como mínimo 1 vez)

REALIZAR LOS SIGUIENTES EJERCICIOS 1. Se lee una secuencia de caracteres terminada en ‘-’. Se pide contar todos los caracteres ‘a’ que aparecen en la secuencia, y calcular el porcentaje de ‘a’ sobre el total de caracteres. 2. Se leen números hasta ingresar el cero. Para cada uno se pide informar su sumatoria.