Juan Ignacio Talpone1 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al...

20
Juan Ignacio Talpone 1 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO Programación, Algoritmos y Estructuras de Datos. Curso 2011. Introducción teórica al Trabajo Práctico 2. Tema: Diagramas de Flujo y Pseudocódigo.

Transcript of Juan Ignacio Talpone1 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al...

Page 1: Juan Ignacio Talpone1 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO Programación,

Juan Ignacio Talpone 1

Programación, Algoritmos y Estructuras de Datos.Introducción teórica al Trabajo Práctico 6.

DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO

Programación, Algoritmos y Estructuras de Datos. Curso 2011.Introducción teórica al Trabajo Práctico 2.Tema: Diagramas de Flujo y Pseudocódigo.

Page 2: Juan Ignacio Talpone1 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO Programación,

Juan Ignacio Talpone 2

Programación, Algoritmos y Estructuras de Datos.Introducción teórica al Trabajo Práctico 6.

DIAGRAMAS DE FLUJO

Programación, Algoritmos y Estructuras de Datos. Curso 2011.Introducción teórica al Trabajo Práctico 2.Tema: Diagramas de Flujo y Pseudocódigo.

Page 3: Juan Ignacio Talpone1 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO Programación,

Juan Ignacio Talpone 3

Programación, Algoritmos y Estructuras de Datos. Curso 2011.Introducción teórica al Trabajo Práctico 2.Tema: Diagramas de Flujo y Pseudocódigo.

• Es una notación gráfica para implementar algoritmos.

• Se basa en la utilización de unos símbolos gráficos denominados bloques, en los que escribimos las acciones que tiene que realizar el algoritmo.

• Estos bloques están conectados entre sí por líneas y eso nos indica el orden en el que tenemos que ejecutar las acciones.

• En todo algoritmo siempre habrá un bloque de inicio y otro de fin, para el principio y final del algoritmo.

Introducción.

Page 4: Juan Ignacio Talpone1 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO Programación,

Juan Ignacio Talpone 4

Programación, Algoritmos y Estructuras de Datos. Curso 2011.Introducción teórica al Trabajo Práctico 2.Tema: Diagramas de Flujo y Pseudocódigo.

Líneas de flujo: Es una línea con una flecha (y solo una flecha) que permite conectar los bloques del diagrama. La flecha indica la secuencia en la que se van a ejecutar las acciones.

Símbolos Utilizados.

Principio y Fin: Todo algoritmo y por lo tanto, todo diagrama de flujo tiene un principio y un fin (y son únicos). Dentro de este bloque se coloca la palabra “INICIO” o “FIN” según corresponda.

"INICIO” o “FIN”

Proceso: Aquí dentro se escribe la acción que debe realizar el programa. Si son varias, se escriben una debajo de la otra, sin olvidarse que se ejecutan una a una en forma secuencial según en qué orden fueron escritas.

Acciones

Page 5: Juan Ignacio Talpone1 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO Programación,

Juan Ignacio Talpone 5

Programación, Algoritmos y Estructuras de Datos. Curso 2011.Introducción teórica al Trabajo Práctico 2.Tema: Diagramas de Flujo y Pseudocódigo.

Condición: Dentro de este bloque se escribe una condición. Si ésta es verdadera, entonces el algoritmo tomará una de sus salidas, de lo contrario, tomará la siguiente. Permite representar estructuras del tipo selectivas y repetitivas.

Símbolos Utilizados.

Entrada y Salida: Representa acciones de entrada salida desde un teclado o hacia una pantalla respectivamente. Es decir, si debemos ejecutar una acción que consiste en leer un dato que se ingresa mediante el teclado de una PC y almacenarlo en la variable de nombre “a”, entonces dicha acción se describe dentro de este bloque como “leer a”.

Condición Verdadera

?

Leer o Escribir

Si No

Page 6: Juan Ignacio Talpone1 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO Programación,

Juan Ignacio Talpone 6

Programación, Algoritmos y Estructuras de Datos. Curso 2011.Introducción teórica al Trabajo Práctico 2.Tema: Diagramas de Flujo y Pseudocódigo.

Conectores: Permiten “unir” diagramas de flujo cuando éstos no caben en una misma columna de la hoja por completo. Es decir, cuando debemos, por cuestiones de espacio en la hoja, fragmentar el programa entonces utilizamos estos bloques para indicar los puntos de unión. Cada par de puntos que se deben unir llevarán dentro de este bloque el mismo número.

En la misma hoja: En otra hoja:

Símbolos Utilizados.

Comentarios: Es una aclaración para comprender mejor el código del programa, pero no forma parte del código, es decir, no se ejecuta.

Page 7: Juan Ignacio Talpone1 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO Programación,

Juan Ignacio Talpone 7

Programación, Algoritmos y Estructuras de Datos. Curso 2011.Introducción teórica al Trabajo Práctico 2.Tema: Diagramas de Flujo y Pseudocódigo.

RECORDAR: CONCEPTO DE ALGORITMO: Un algoritmo es un conjunto de pasos o secuencia de instrucciones que, ejecutadas en un determinado orden, permiten resolver un problema determinado.

Diagrama de Flujo Elemental.

INICIO

Declaración e Inicialización de

Variables

Entrada de Datos

Presentación de Resultados en

Pantalla

Procesamiento de Datos

FIN

Esto es un comentario.

Page 8: Juan Ignacio Talpone1 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO Programación,

Juan Ignacio Talpone 8

Programación, Algoritmos y Estructuras de Datos. Curso 2011.Introducción teórica al Trabajo Práctico 2.Tema: Diagramas de Flujo y Pseudocódigo.

Diagrama de Flujo Elemental.INICIO

Declaración e Inicialización de

Variables

Entrada de Datos

Presentación de Resultados en

Pantalla

FIN

Condición Verdadera

?

Si No

Acción 1 Acción 2

Ejemplo de DF de un algoritmo genérico que incluye una bifurcación.

Si la Condición es Verdadera, se ejecuta la Acción 1 y en caso contrario (Falsa) la Acción 2.

Page 9: Juan Ignacio Talpone1 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO Programación,

Juan Ignacio Talpone 9

Programación, Algoritmos y Estructuras de Datos.Introducción teórica al Trabajo Práctico 6.

PSEUDOCÓDIGO

Programación, Algoritmos y Estructuras de Datos. Curso 2011.Introducción teórica al Trabajo Práctico 2.Tema: Diagramas de Flujo y Pseudocódigo.

Page 10: Juan Ignacio Talpone1 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO Programación,

Juan Ignacio Talpone 10

Programación, Algoritmos y Estructuras de Datos. Curso 2011.Introducción teórica al Trabajo Práctico 2.Tema: Diagramas de Flujo y Pseudocódigo.

• El pseudocódigo es una manera de escribir algoritmos de forma poco estricta (con una sintaxis relajada) o estructuras de datos poco detalladas, pero intentando acercar las ideas del algoritmos a estructuras y sintaxis parecidas a las de los lenguajes de alto nivel en los que vamos a programar el algoritmo.

• Es para ser leído por personas, por tanto no se preocupa en detalles sintácticos.

• Es un lenguaje de especificación de algoritmos, pero muy parecido a cualquier lenguaje de programación, por lo que luego su traducción al lenguaje de programación es muy sencillo, pero con la ventaja de que no se rige por las normas de un lenguaje en particular. Nos centramos más en la lógica del problema.

• El pseudocódigo también va a utilizar una serie de palabras claves o palabras especiales que va indicando lo que significa el algoritmo.

Pseudocódigo.

Page 11: Juan Ignacio Talpone1 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO Programación,

Juan Ignacio Talpone 11

Programación, Algoritmos y Estructuras de Datos. Curso 2011.Introducción teórica al Trabajo Práctico 2.Tema: Diagramas de Flujo y Pseudocódigo.

1. INICIO y FIN: Por donde empieza y acaba el algoritmo.

2. DATOS: Aquí se declaran e inicializan las variables que utilizará el algoritmo.

3. ALGORITMO: En esta sección se escribe el algoritmo.

Pseudocódigo - Sintaxis Utilizada.

Pseudocódigo de un algoritmo genérico:

INICIO.DATOS: ** esto es un comentario **

entero a ; ** declaración de una variable entera ** real b = 0 ; ** declaración e inicialización de una variable **

ALGORITMO: leer a ; b = a + 5 ; escribir b ;

FIN.

Page 12: Juan Ignacio Talpone1 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO Programación,

Juan Ignacio Talpone 12

Programación, Algoritmos y Estructuras de Datos. Curso 2011.Introducción teórica al Trabajo Práctico 2.Tema: Diagramas de Flujo y Pseudocódigo.

Si: Si la Condición es Verdadera, se ejecuta la Acción, sino el algoritmo continua con su ejecución.

Estructuras de Control Selectivas.

Condición Verdadera

?

Si

No

Acción

Si < Condición > <Acción>Fin_Si

Page 13: Juan Ignacio Talpone1 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO Programación,

Juan Ignacio Talpone 13

Programación, Algoritmos y Estructuras de Datos. Curso 2011.Introducción teórica al Trabajo Práctico 2.Tema: Diagramas de Flujo y Pseudocódigo.

Si – Sino: Si la Condición es Verdadera, se ejecuta la Acción 1, sino el algoritmo ejecuta la Acción 2. Luego el algoritmo continua con su ejecución.

Condición Verdadera

?

Si

No

Acción 1 Acción 2

Si < Condición > < Acción 1 >Sino < Acción 2 >

Fin_Si

Estructuras de Control Selectivas.

Page 14: Juan Ignacio Talpone1 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO Programación,

Juan Ignacio Talpone 14

Programación, Algoritmos y Estructuras de Datos. Curso 2011.Introducción teórica al Trabajo Práctico 2.Tema: Diagramas de Flujo y Pseudocódigo.

Si – Sino – Si: Si la Condición 1 es Verdadera, se ejecuta la Acción 1, sino el algoritmo evalúa la Condición 2. Si es Verdadera, ejecuta la Acción 2 y sino la Acción 3.

Cond. 1 Verdadera

?

Si

No

Acción 1

Acción 3

Cond. 2 Verdadera

?

Acción 2

Si

NoSi < Condición 1 > < Acción 1 >Sino_Si < Condición 2 > < Acción 2 >Sino < Acción 3 >

Fin_Si

Estructuras de Control Selectivas.

Page 15: Juan Ignacio Talpone1 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO Programación,

Juan Ignacio Talpone 15

Programación, Algoritmos y Estructuras de Datos. Curso 2011.Introducción teórica al Trabajo Práctico 2.Tema: Diagramas de Flujo y Pseudocódigo.

Según (alternativa múltiple): Se evalúa una condición o expresión que puede tomar “n” valores. Según el valor que la expresión tenga en cada momento se ejecutan las acciones correspondientes al valor. El valor con el que se compara la expresión, va a depender de los lenguajes, de lo que sea ese valor. En general ese valor puede ser un valor constante, un rango de valores o incluso otra condición.

Expresión o

Condición

Acción 1 Acción “n”Acción 2

Según <expresión>

< Valor 1 >: < Acción 1 >< Valor 2 >: < Acción 2 >< Otro >: < Acciones >

Fin_Según

Estructuras de Control Selectivas.

Page 16: Juan Ignacio Talpone1 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO Programación,

Juan Ignacio Talpone 16

Programación, Algoritmos y Estructuras de Datos. Curso 2011.Introducción teórica al Trabajo Práctico 2.Tema: Diagramas de Flujo y Pseudocódigo.

Mientras: Se evalúa la Condición. Si es Verdadera, se ejecuta la Acción y se evalúa nuevamente la Condición. En el momento en el que la Condición sea Falsa se sale del bucle y se continua con la ejecución del algoritmo. Al evaluarse la Condición, al principio, antes de entrar en el bucle, si la condición es Falsa, nunca se entrará en el bucle. Por lo tanto se utiliza obligatoriamente este tipo de bucle en el caso de que exista la posibilidad de que el bucle pueda ejecutarse 0 veces.

Estructuras de Control Repetitivas.

Condición Verdadera

?

Si

No

Acción

Mientras < Condición >< Acción >

Fin_Mientras

Page 17: Juan Ignacio Talpone1 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO Programación,

Juan Ignacio Talpone 17

Programación, Algoritmos y Estructuras de Datos. Curso 2011.Introducción teórica al Trabajo Práctico 2.Tema: Diagramas de Flujo y Pseudocódigo.

Hacer - Mientras: En primera instancia se ejecuta la Acción. Posteriormente, se evalúa la Condición. Si es Verdadera, se ejecuta nuevamente la Acción. Si es Falsa, se continúa con la ejecución del algoritmo. Se repite el bucle mientras la condición sea Verdadera. La Condición se evalúa siempre al final del bucle, si es Verdadera se ejecuta nuevamente la Acción, si es Falsa se sale del bucle. Como la Condición se evalúa al final, incluso aunque la primera vez ya sea Falsa, el bucle (la Acción) se habrá ejecutado al menos una vez.

Condición Verdadera

?

Si

No

AcciónHacer < Acción >Mientras < Condición >

Estructuras de Control Repetitivas.

Page 18: Juan Ignacio Talpone1 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO Programación,

Juan Ignacio Talpone 18

Programación, Algoritmos y Estructuras de Datos. Curso 2011.Introducción teórica al Trabajo Práctico 2.Tema: Diagramas de Flujo y Pseudocódigo.

Desde - Hasta: Se utiliza cuando se sabe el número exacto de veces que hay que iterar. Para ello el bucle llevará asociado una variable “índice”, a la que se le asigna un valor inicial y se determina cual va a ser su valor final y además se va a incrementar (o decrementar) en cada iteración de bucle en un valor constante.

Condición Verdadera

?

Si

No

Acción

Acción

No

Si

Inicio

Acción 2Para variable = Vi, variable < Vf, Inc n <Acción>Fin_Para

Estructuras de Control Repetitivas.

Page 19: Juan Ignacio Talpone1 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO Programación,

Programación, Algoritmos y Estructuras de Datos. Curso 2011.Introducción teórica al Trabajo Práctico 2.Tema: Diagramas de Flujo y Pseudocódigo.

Ejemplo: Mostrar el producto de números enteros positivos entrados por teclado hasta el ingreso de un número negativo.

Pseudocódigo:

Módulo: Principal

INICIODATOS:

P, num: entero

ALGORITMO:

P 1

Leer num

Mientras num >= 0 P p * num Leer num Fin_mientras

Escribir pFIN

INICIO

Entero P, numP = 1

Leer num

P = P * num

FIN

Num >= 0?

Leer num

Escribir num

Si

No

Page 20: Juan Ignacio Talpone1 Programación, Algoritmos y Estructuras de Datos. Introducción teórica al Trabajo Práctico 6. DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO Programación,

Juan Ignacio Talpone 20

Programación, Algoritmos y Estructuras de Datos.Introducción teórica al Trabajo Práctico 6.

PREGUNTAS?

Programación, Algoritmos y Estructuras de Datos. Curso 2011.Introducción teórica al Trabajo Práctico 2.Tema: Diagramas de Flujo y Pseudocódigo.