La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Teoría – Alejandro Gonzalez

Presentaciones similares


Presentación del tema: "Teoría – Alejandro Gonzalez"— Transcripción de la presentación:

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

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

3 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

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

5 ¿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

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

7 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.

8 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.

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

10 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

11 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

12 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

13 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

14 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?

15 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.

16 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?

17 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 ?

18 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 ...

19 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;

20 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?

21 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 ?

22 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?

23 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.

24 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.

25 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.

26 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?

27 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

28 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?

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

30 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 ?

31 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?

32 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?

33 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).

34 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.

35 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.

36 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.

37 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!!)

38 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

39 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;

40 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.

41 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.

42 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

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

44 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.

45 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.

46 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)

47 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.


Descargar ppt "Teoría – Alejandro Gonzalez"

Presentaciones similares


Anuncios Google