Clase Anterior
Representacin de un algoritmo Pseudo Cdigo. Diagramas de Flujo. Diagramas de Rectangulares Estructurados. Estructura Secuencial. Estructura Selectiva: Sencilla Doble Estructura Repetitiva: Mientras Hacer Mientras Corrida en fro
Programacin Prof. Gonzalo Mller Clase 3 GM - 2
Estructura Compuesta
Es una combinacin de estructuras secuenciales, condicionales y repetitivas. Compuestas:
Condicional Sencilla + Secuenciales Condicional Doble + Secuenciales Mientras + Secuenciales Hacer Mientras + Secuenciales
Estructura Selectiva
Estructura Condicional Sencilla: Se ejecutan cierta secuencia de instrucciones dependiendo de la condicin dada.
PC
Si (Condicin) { Paso 1 Paso n }
V
DF
Condicin
F V
DRE
Condicin
Paso 1 Paso n
Estructura Selectiva
Estructura Condicional Sencilla: Se ejecutan cierta secuencia de instrucciones dependiendo de la condicin dada.
PC
Si (Condicin) { Paso 1 Paso n }
V
DF
Condicin
F V
DRE
Condicin
Paso 1 Paso n
Estructura Selectiva
Estructura Condicional Doble: Se ejecutan alguna de dos secuencias de instrucciones dependiendo de la condicin dada.
PC
Si (Condicin) { Paso 1 Paso n } sino { Paso 1 Paso n }
V
DF
F V
DRE
Condicin
Condicin
Paso 1 Paso n
Paso 1 Paso n
Estructura Selectiva
Ejemplo: Construir el DF, DRE y PC del algoritmo para obtener las races de una ecuacin cuadrtica.
Estructura Repetitiva
Estructura Repetitiva Hacer Mientras: Una secuencia de paso se repite en forma consecutiva mientras se cumpla una condicin dada.
PC
Hacer { Paso 1 Paso n } Mientras (Condicin)
DF
Paso 1 Paso n Condicin
F
Programacin Prof. Gonzalo Mller Clase 3 GM - 8
DRE
Paso 1 Paso n
V
Mientras (Condicin)
Estructura Repetitiva
Estructura Repetitiva Mientras: Una secuencia de paso se repite en forma consecutiva dependiendo de una condicin dada.
PC
Mientras (Condicin ) { Paso 1 Paso n }
DF
Condicin
V F
DRE
Paso 1 Paso n
Estructura Repetitiva
Ejemplo: Construir el DF, DRE y PC del algoritmo para presentar los primeros 4 nmeros enteros a partir de 100. Y realizar una corrida en fro.
Estructura Repetitiva
Ejemplo: Construir el DF, DRE y PC del algoritmo para presentar los primeros 4 nmeros enteros a partir de 100. Y realizar una corrida en fro.
Nmeros Escribir 100 Escribir 101 Escribir 102 Escribir 103 Fin
Estructura Repetitiva
Ejemplo: Construir el DF, DRE y PC del algoritmo para presentar los primeros 4 nmeros enteros a partir de 100. Y realizar una corrida en fro.
Nmeros Escribir 100 Escribir 101 Escribir 102 Escribir 103 Fin
Estructura Repetitiva
Ejemplo: Construir el DF, DRE y PC del algoritmo para presentar los primeros 4 nmeros enteros a partir de 100. Y realizar una corrida en fro. 2 DRE
1 DRE
Nmeros Escribir 100 Escribir 101 Escribir 102 Escribir 103 Fin Nmeros n = 100 Escribir n n=n+1 Escribir n n=n+1 Escribir n n=n+1 Escribir n Fin
Estructura Repetitiva
Ejemplo: Construir el DF, DRE y PC del algoritmo para presentar los primeros 4 nmeros enteros a partir de 100. Y realizar una corrida en fro. 2 DRE
1 DRE
Nmeros Escribir 100 Escribir 101 Escribir 102 Escribir 103 Fin Nmeros n = 100 Escribir n n=n+1 Escribir n n=n+1 Escribir n n=n+1 Escribir n Fin
Programacin Prof. Gonzalo Mller Clase 3 GM - 14
Estructura Repetitiva
Ejemplo: Construir el DF, DRE y PC del algoritmo para presentar los primeros 4 nmeros enteros a partir de 100. Y realizar una corrida en fro. 2 DRE
1 DRE
Nmeros Escribir 100 Escribir 101 Escribir 102 Escribir 103 Fin Nmeros n = 100 Escribir n n=n+1 Escribir n n=n+1 Escribir n n=n+1 Escribir n Fin
Programacin Prof. Gonzalo Mller Clase 3 GM - 15
3 DRE
Nmeros n = 100 Escribir n n=n+1 Mientras ( Fin )
Estructura Repetitiva
Ejemplo: Construir el DF, DRE y PC del algoritmo para presentar los primeros 4 nmeros enteros a partir de 100. Y realizar una corrida en fro. 2 DRE
1 DRE
Nmeros Escribir 100 Escribir 101 Escribir 102 Escribir 103 Fin Nmeros n = 100 Escribir n n=n+1 Escribir n n=n+1 Escribir n n=n+1 Escribir n Fin
Programacin Prof. Gonzalo Mller Clase 3 GM - 16
3 DRE
Nmeros n = 100 Escribir n n=n+1 Mientras (n < 104) Fin
DF
Condicin 1
Paso 1 Paso n
Condicin 2
V
Paso 1 Paso n
Paso 1 Paso n
Condicin 1
F
Secuencia 1
Condicin 2
F
Secuencia 1
Secuencia 1
Paso 1 Paso n
Paso 1 Paso n
DF
Condicin2
F
DRE
Representacin de un algoritmo
Las lneas siempre debe ir del lado derecho.
Algoritmo Propio
Es aquel algoritmo caractersticas: que posee la siguientes
Tiene un punto de entrada. Tiene un slo punto de salida. Todos los posibles caminos llevan desde el punto de entrada al punto de salida. Termina tras un nmero finito de pasos. No tiene bucles infinitos.
Programacin Prof. Gonzalo Mller Clase 3 GM - 29
Algoritmo Propio
Es aquel algoritmo caractersticas: que posee la siguientes
Debe producir al menos una salida o efecto. No contiene sentencias muertas. No existen ambigedades.
Teorema de Bhm-Jacopini, 1966
Algoritmo Propio
Puede ser diseo utilizando nicamente tres tipos de estructuras:
Secuencial Selectiva Repetitiva El PC y DRE facilitan el desarrollo de Algoritmos Propios.
Algoritmo Propio
Ejemplo: El siguiente no es un algoritmo propio: Paso 1: Hacer k = 1 Paso 2: Si (no estamos en la librera k) Paso 2.1: Salir del lugar donde estamos. Paso 2.2: Dirigirnos a la librera k. Paso 3: Solicitar el libro Paso 4: Si (no lo tiene) Paso 4.1: Hacer k = k + 1 Paso 4.2: Ir al Paso 2 Paso 5: Cancelar el libro, Detener
Programacin Prof. Gonzalo Mller Clase 3 GM - 32
Bucle infinito
Algoritmo Propio
Ejemplo: Este tampoco es un algoritmo propio: Paso 1: Hacer una lista de n libreras Paso 2: Hacer k = 1 Paso 3: Si ya visitamos todas las libreras (k > n), entonces: Paso 3.1: No es posible encontrar el libro, Detener Paso 4: Si no estamos en la librera k, entonces: Paso 4.1: Salir del lugar donde estamos. Paso 4.2: Dirigirnos a la librera k. Paso 5: Solicitar el libro Puntos de salida Paso 6: Si no lo tiene, entonces: Paso 6.1: Hacer k = k + 1 Paso 6.2: Ir al Paso 3 Paso 7: Cancelar el libro, Detener
Programacin Prof. Gonzalo Mller Clase 3 GM - 33
Constantes y Variables
Constantes: Tienen un valor fijo a lo largo del algoritmo. Variables: Pueden tomar diferentes valores a lo largo del algoritmo. Ejemplo 3.6:
Constantes
x =
b 4 ac Variables 2a
Asignacin
Establece un valor para una variable: Un valor constante. El valor de otra variable. Resultado de una expresin aritmtica o lgica. Se utiliza el operador asignacin = para la asignacin: Variable = Valor
Siempre a la izquierda
Asignacin
Ejemplo: A = 24 A=B Correcto Correcto (Asigna el valor de B a A)
(B + 1)/2 = A Incorrecto
Programacin Prof. Gonzalo Mller Clase 3 GM - 36
Conteo: Dadas las condiciones necesarias la variable se aumenta o disminuye un valor constante. Variable = Variable Constante
Inicialmente se han utilizado 0 bandejas: bandeja = 0 A medida que los usuarios toman una bandeja incrementamos el valor de bandeja. bandeja = bandeja + 1
Conteo
Establece la parada del bucle cuando: Se satisface una condicin dada Se ha alcanzado el valor deseado para el Contador o Acumulador
Programacin Prof. Gonzalo Mller Clase 3 GM - 48
Establece la parada del bucle cuando: Se satisface una condicin dada Se ha alcanzado el valor deseado para el Contador o Acumulador
Programacin Prof. Gonzalo Mller Clase 3 GM - 49
Variables
Lista de Variables: Una vez desarrollado el algoritmo es til para la posterior implementacin en el lenguaje construir una lista con todas las variables utilizadas en el algoritmo.
Variable
Variables
Ejemplo: Desarrollar un algoritmo para calcular la media armnica de n nmeros positivos.
Variables
Ejemplo: Desarrollar un algoritmo para calcular la media armnica de n nmeros positivos.
+1/xn]
Sin leer N
Ejercicio
3.1 Para cada uno de los siguientes problemas: a) Comer una hamburguesa. b) Leer un libro. c) Bajar de peso. e) Elaborar un emparedado. f) Comer en el comedor universitario. g) Comprar el Libro 6 de Harry Potter. Fase 1: Anlisis y Diseo: DES, DF, DRE y LV. Sealar en DF o DRE: Estructuras Bsicas de Programacin. Realizar una corrida en fro.
Programacin Prof. Gonzalo Mller Clase 3 GM - 55
Ejercicio
3.2 Para cada uno de los siguientes problemas: a) Restar el mayor del menor de 2 nmeros b) Sumar 2 nmeros si son iguales y de lo contrario, reste el mayor del menor. c) Dividir 2 nmeros (0?), el menor entre el mayor. Fase 1: Anlisis y Diseo: DES, DF, DRE y LV. Sealar en DF o DRE: Estructuras, Contadores, Acumuladores, Inicializacin, Conteo y Acumulacin. Realizar una corrida en fro.
Programacin Prof. Gonzalo Mller Clase 3 GM - 56
Ejercicio
3.2 Para cada uno de los siguientes problemas: d) Presentar la secuencia de los N nmeros enteros que preceden al 100: 100, 99, 98, 97, ... e) Leer y escribir nmeros hasta que el ledo sea mayor que 5. f) Disminuir un nmero de 2 en 2 hasta que este sea negativo, presentado la secuencia en la salida. Fase 1: Anlisis y Diseo: DES, DF, DRE y LV. Sealar en DF o DRE: Estructuras, Contadores, Acumuladores, Inicializacin, Conteo y Acumulacin. Realizar una corrida en fro.
Programacin Prof. Gonzalo Mller Clase 3 GM - 57
Ejercicio
3.2 Para cada uno de los siguientes problemas: g) Dados 2 nmeros presentar la secuencia de nmeros entre el 1 nmero y el 2 nmero. h) Sumar nmeros hasta que los ltimos dos nmeros ledos sean negativos. Fase 1: Anlisis y Diseo: DES, DF, DRE y LV. Sealar en DF o DRE: Estructuras, Contadores, Acumuladores, Inicializacin, Conteo y Acumulacin Realizar una corrida en fro.
Programacin Prof. Gonzalo Mller Clase 3 GM - 58
Ejercicio
3.3 Para cada uno de los siguientes problemas: a) Promediar los negativos y promediar los no negativos de un conjunto de nmeros dados. b) Hallar el producto de los negativos y el producto de los positivos de un conjunto de nmeros dados. Fase 1: Anlisis y Diseo: DES, DF, DRE y LV. Sealar en DF o DRE: Estructuras, Contadores, Acumuladores, Inicializacin, Conteo y Acumulacin Realizar una corrida en fro.
Programacin Prof. Gonzalo Mller Clase 3 GM - 59
Resumen
Combinacin de Estructuras: Condicionales + Secuenciales, Repetitivas + Secuenciales, Condicional Compuestas: Anidadas y Cascadas, Estructura Repetitiva Anidadas. Algoritmos Propios. Constantes y Variables. Asignacin: =. Usos de las Variables: Contadores y Acumuladores. Lista de Variables.
Programacin Prof. Gonzalo Mller Clase 3 GM - 60