tema 3. diagramas de flujo -...
TRANSCRIPT
![Page 1: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/1.jpg)
Diseño de Algoritmos Tema 3: Diagramas de flujo
Presenta: David Martínez Torres
Universidad Tecnológica de la Mixteca
Instituto de Computación
Oficina No. 37
![Page 2: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/2.jpg)
Contenido
1. Definiciones
2. Elementos de un diagrama de flujo
3. Estructuras de control
1. Secuenciales
2. Selectivas
3. Repetitivas
2
![Page 3: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/3.jpg)
Recordando los componentes del diseño de un algoritmo, y ubicando los diagramas de flujo como otra herramienta de diseño.
En este tema se estará estudiando prácticamente todo lo que se trabajó en el tema 2 con pseudocódigos, pero ahora con diagramas de flujo.
Introducción
3
Diseñodescendente
Refinamientopor pasos
Herramienta deprogramación:
Diseñode un
algoritmo
* diagrama de flujo* pseudocódigo
Secciones de un algoritmo, reeditado de [3]
![Page 4: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/4.jpg)
4
1. Definiciones
Si un diagrama de flujo está completo y correcto, el paso del mismo a un lenguaje de programación es simple y directo [2].
Un diagrama de flujo representa de manera gráfica un algoritmo, es decir, los pasos de la solución de un problema.
![Page 5: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/5.jpg)
2. Elementos de un diagrama de flujo.
5
![Page 6: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/6.jpg)
2.1 Reglas para la construcción de un diagrama de flujo [2].
1. Todo diagrama de flujo debe tener un inicio y un fin.
6
2. Las líneas que indican la dirección del flujo del diagrama deben ser rectas, verticales y horizontales.
![Page 7: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/7.jpg)
2.1 Reglas para la construcción de un diagrama de flujo [2].
7
3. Toda línea que indica la dirección del flujo del diagrama debe estar conectada.
4. El diagrama de flujo debe construirse de arriba hacia abajo y de izquierda a derecha
5. La notación utilizada en el diagrama de flujo debe ser independiente del lenguaje de programación.
6. Es conveniente poner comentarios para ayudar a entender lo que hicimos.
7. Se puede utilizar más de una hoja, utilizando los conectores adecuados y numerando las páginas.
![Page 8: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/8.jpg)
2.1 Reglas para la construcción de un diagrama de flujo [2].
8
8. No pueden llegar más de una línea a un símbolo.
![Page 9: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/9.jpg)
Conceptos fundamentales de los diagramas de flujo
9
Para realizar diagramas de flujo que resuelvan problemas, es importante recordar los siguientes conceptos que se estudiaron en el tema de pseudocódigos.
1. Tipos de datos.
2. Identificadores, constantes y variables.
3. Operadores aritméticos y su jerarquía.
4. Operadores relacionales
5. Operadores lógicos
6. Jerarquía de todos los operadores.
7. Bloque de asignación
![Page 10: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/10.jpg)
3. Estructuras de control
10 10
Nuevamente recuerde que las estructuras de control indican el flujo o camino estándar que debe seguir un proceso de solución de un problema.
Se clasifican en: estructuras de control secuencial, selectivas y repetitivas.
![Page 11: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/11.jpg)
3.1 Estructura de control secuencial
11
La estructura de control secuencial, es la más simple de todas. Se utiliza cuando se tiene que ejecutar una instrucción tras otra, sin tener que evaluar una expresión.
Representación en algoritmo.
acción 1
acción 2
…
acción n
Ejemplo1
1. suma 0
2. Imprimir “Teclea un numero”
3. Leer en variable num
4. suma suma + num
![Page 12: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/12.jpg)
12
Ejemplo 3.1.1 A continuación se
presenta el primer diagrama de flujo.
Supongamos que las variables i, acum
y j son de tipo entero, rea y sum de
tipo real, car de tipo caracter y band
de tipo booleano. Considerar que se
tienen que realizar las siguientes
asignaciones donde utilizan símbolos
de proceso..
3.1 Estructura de control secuencial
![Page 13: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/13.jpg)
Prueba de escritorio del diagrama de flujo.
13
enteros: i, acum, j
caracter: car
real: rea, sum
boolean: band
![Page 14: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/14.jpg)
3.1 Estructura de control secuencial
14
A continuación se presentan dos ejemplos más de diagramas de flujo que usan estructuras de control secuencial y posteriormente se solicita realice algunos ejercicios.
![Page 15: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/15.jpg)
3.1 Estructura de control secuencial
Ejemplo 3.1.2 Dado por teclado tres caracteres, imprímalos en orden inverso. Realice el análisis, diagrama de flujo y una prueba de escritorio.
Análisis.
Datos de entrada: ejemplo x, y, z
variables a,b,c: caracter
Proceso
no aplica.
Salida:
imprimir z, y, x.
15
“Programa que imprime tres caracteres invertidos”
“Inicio”
“Fin”
“Teclea tres caracteres: ”
a, b, c
“Los caracteres invertidosson: ”,c,b,a
![Page 16: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/16.jpg)
16
Prueba de escritorio
“Programa que imprime tres caracteres invertidos”
“Inicio”
“Fin”
“Teclea tres caracteres: ”
a, b, c
“Los caracteres invertidosson: ”,c,b,a
3.1 Estructura de control secuencial
Ejemplo 3.1.2 Dado por teclado tres caracteres, imprímalos en orden inverso. Realice el análisis, diagrama de flujo y una prueba de escritorio.
![Page 17: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/17.jpg)
3.1 Estructura de control secuencial
Ejemplo 3.1.3 Dado por teclado un número entero, calcular e imprimir el cuadrado y el cubo del número.
Realice el análisis, diagrama de flujo y una prueba de escritorio.
Análisis.
Datos de entrada: ejemplo 3
variables num: entero
Proceso
variables cuadrado, cubo: entero
cuadrado=num*num
cubo=num*num*num.
Salida:
imprimir cuadrado= 9, cubo = 27
17
![Page 18: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/18.jpg)
3.1 Estructura de control secuencial: Prueba de escritorio
18
Prueba de escritorio
![Page 19: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/19.jpg)
3.1 Estructura de control secuencial
Para cada uno de los siguientes ejercicios, desarrollar su análisis del problema, diagrama de flujo y prueba de escritorio con dos corridas.
1. Dado por teclado la matrícula y 4 calificaciones de su primera evaluación, calcule e imprima el promedio y la matrícula.
2. Calcular el área de un trapecio, dado por teclado base mayor, base menor y altura. A=(B+b)h/2.
3. Dado por teclado el radio y la altura de un cilindro, calcule, e imprima el volumen correspondiente. V=(pi*r2)h
19
![Page 20: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/20.jpg)
3.1 Estructura de control secuencial
4. Dado por teclado una cantidad en pesos y el tipo de cambio de un dólar, calcule la conversión e imprima la cantidad correspondiente en dolares.
5. Dado por teclado el peso de un producto en gramos, calcule e imprima el peso en kilogramos.
6. Suponga que le prestan un dinero x a un porcentaje y. Calcule e imprima los intereses que tiene que pagar en un año.
7. Le solicitan que vaya a comprar x litros de gasolina, donde cada litro cuesta y pesos. Calcule e imprima el total a pagar.
20
![Page 21: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/21.jpg)
3.2 Estructura de control selectiva
21
Esta toma de decisión se basa en la evaluación de una o más condiciones que señalarán como alternativa o consecuencia, la rama a seguir.
Esta estructura de control se utiliza en la solución de problemas donde se necesite tomar una decisión.
En ocasiones la toma de decisiones se realiza en cascada. Es decir, se toma una decisión, se marca la rama correspondiente a seguir, se vuelve a tomar otra decisión y así sucesivamente.
![Page 22: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/22.jpg)
3.2 Estructura de control selectiva
22
Estas estructuras selectivas se clasifican en : 1. Si Entonces (selectiva simple) 2. Si Entonces / Sino (selectiva doble) 3. Si múltiple (selectiva múltiple)
Cuando a las estructuras selectivas se aplican en cascada, se pueden combinar las estructuras anteriores.
![Page 23: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/23.jpg)
3.2.1 Selectiva simple (si entonces)
23
Esta estructura permite que el flujo del diagrama siga un camino específico si se cumple una condición o un conjunto de condiciones. Si al evaluar la condición (o condiciones) el resultado es verdadero, entonces se ejecuta(n) cierta(s) operación(es). Luego se continúa con la secuencia normal del diagrama.
![Page 24: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/24.jpg)
3.2.1 Selectiva simple (si entonces).
24
Ejemplo 3.2.1.1 Dada una calificación
por teclado, escriba "aprobado" en caso
que la calificación sea mayor o igual
que 6.
Realice el análisis, diagrama de flujo y
prueba de escritorio.
Análisis del problema
Datos entrada: ejemplo 8.5
Variable cal : real
Proceso
Si cal>=6 entonces
alumno aprobó
Salida
Imprimir Aprobado
Después mejorar la condición, donde la
calificación aprobatoria sea mayor o
igual a 6 y menor o igual a 10.
Diagrama de flujo
![Page 25: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/25.jpg)
3.2.1 Selectiva simple (si entonces). Prueba de escritorio
25
Ejemplo 3.2.1.1 Dada una
calificación por teclado, escriba
"aprobado" en caso que la
calificación sea mayor o igual que 6.
Prueba de escritorio
Diagrama de flujo
![Page 26: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/26.jpg)
3.2.1 Selectiva simple (si entonces)
26
Diagrama de flujo
Ejemplo 3.2.1.2. Dado un sueldo de un trabajador por teclado, calcule un aumento del
15% si su sueldo es menor a $1000, e imprima en este caso el nuevo sueldo.
Realice el análisis, diagrama de flujo y prueba de escritorio.
Análisis del problema
Datos entrada: ejemplo 850
Variable sueldo : real
Proceso
Si sueldo<1000 entonces
aumento<-sueldo*0.15
sueldo=sueldo+aumento
Salida
Imprimir sueldo
![Page 27: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/27.jpg)
3.2.2 Selectiva doble (si entonces / sino)
27
Esta estructura de control permite que el diagrama de flujo se bifurque por dos ramas diferentes en el punto de la toma de decisión. Si al evaluar la condición, resulta verdadera, entonces se sigue un camino específico y se ejecutan ciertas operaciones. En caso que la condición sea falsa, se sigue otro camino y se ejecutan otras operaciones.
![Page 28: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/28.jpg)
3.2.2 Selectiva doble (si entonces / sino)
28
Diagrama de flujo
Análisis del problema
Datos entrada: ejemplo 9.2
Variable cal : real
Proceso
Si cal>=6 y cal<=10 entonces
alumno aprobó
Sino
alumno reprobó
Salida
Imprimir aprobó
Ejemplo 3.2.2.1 Dada una calificación por teclado, escriba "aprobado" en caso que
la calificación sea mayor o igual que 6, en otro caso imprima "reprobado".
Realice el análisis, diagrama de flujo y prueba de escritorio.
![Page 29: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/29.jpg)
3.2.2 Selectiva doble (si entonces / sino)
29
Ejemplo 3.2.2.2. Dado un sueldo de
un trabajador por teclado, calcule
un aumento del 15% si su sueldo es
menor a $1000 y 12% en caso
contrario. Imprima el nuevo sueldo
del trabajador.
Realice el análisis, diagrama de
flujo y prueba de escritorio.
Análisis del problema
Datos entrada: ejemplo 850
Variable sueldo : real
Proceso
Si sueldo<1000 entonces
aumento<-sueldo*0.15
Sino
aumento<-sueldo*0.12
sueldo=sueldo+aumento
Salida
Imprimir sueldo
![Page 30: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/30.jpg)
3.2.2 Selectiva doble (si entonces / sino)
30
Ejemplo 3.2.2.3. Dados tres números por teclado encontrar e imprimir el mayor de ellos.
Realice el análisis, diagrama de flujo y prueba de escritorio.
![Page 31: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/31.jpg)
3.2.3 Selectiva múltiple (si multiple)
31
Permite que el flujo del diagrama se bifurque por varias ramas en el punto de la toma de decisión, esto en función del valor que tome el selector (entero o carácter). Así, si el selector toma:
el valor 1, se ejecutará la acción 1,
si toma el valor 2, se ejecutará la acción 2,
si toma el valor N se realizará la acción N.
Se continuará con el flujo normal del diagrama realizándose la acción N+1
![Page 32: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/32.jpg)
3.2.3 Selectiva múltiple (si multiple)
32
![Page 33: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/33.jpg)
3.2.3 Selectiva múltiple (si multiple)
33
Ejemplo 3.2.3.1 Dado por teclado los datos categoría y el sueldo de un trabajador, calcule el aumento correspondiente teniendo en cuenta la siguiente tabla. Imprima la categoría del trabajador y su nuevo sueldo.
Realice el análisis, diagrama de flujo y prueba de escritorio.
![Page 34: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/34.jpg)
3.2.3 Selectiva múltiple (si multiple)
34
Diagrama de flujo
![Page 35: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/35.jpg)
3.2.3 Selectivas en cascada (anidadas) [2]
35
En muchos casos en la solución de problemas, después de tomar una decisión y marcar el camino a seguir, es necesario tomar otra decisión y así sucesivamente.
![Page 36: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/36.jpg)
3.2.3 Selectivas en cascada (anidadas) [2]
36
![Page 37: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/37.jpg)
3.2.3 Selectivas en cascada (anidadas) [2]
37
![Page 38: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/38.jpg)
3.2.3 Selectivas en cascada (anidadas)
38
Ejemplo 3.2.3.2 Dados por teclado tres números enteros diferentes, imprimir los números en orden descendente.
Realice el análisis, diagrama de flujo y prueba de escritorio.
![Page 39: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/39.jpg)
3.2.3 Selectivas en cascada (anidadas)
39
Ejemplo 3.2.3.2 Dados por teclado tres números enteros diferentes, imprimir los números en orden descendente.
Realice el análisis, diagrama de flujo y prueba de escritorio.
![Page 40: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/40.jpg)
Ejercicios de estructuras selectivas
Para cada uno de los siguientes ejercicios, realice su análisis del problema, diagrama de flujo y una prueba de escritorio con dos corridas.
1. Dado por teclado como datos los valores enteros P y Q, determine si los mismos satisfacen la siguiente expresión:
P3+Q4-2*P2 < 680
2. Dado por teclado un número entero, determine e imprima si el número es positivo o negativo.
40
![Page 41: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/41.jpg)
Ejercicios de estructuras selectivas
3. Dado por teclado un número determine e imprima si es par o impar, para esto apóyese de la operación modulo que obtiene el residuo de la operación.
4. Dado por teclado la matrícula y 5 calificaciones de un alumno, calcule e imprima el promedio y la palabra "aprobado" si el alumno tiene un promedio mayor o igual que 6, y la palabra "no aprobado" en caso contrario.
5. Dado por teclado tres números enteros, determine si están en orden decreciente.
41
![Page 42: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/42.jpg)
Ejercicios de estructuras selectivas
6. Dado por teclado el valor de los coeficientes a, b, c de la
expresión que resuelve una ecuación de segundo grado
, encuentre el valor de las raíces x1, x2,
mediante el calculo del discriminante D=b2-4ac, si el
discriminante es >=0 imprima el valor correspondiente a
las raíces son reales, en otro caso, imprimir "las raíces
son imaginarias".
42
![Page 43: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/43.jpg)
Ejercicios de estructuras selectivas
7. En la compra de artículos, dependiendo del monto le aplican un descuento:
Si el monto es menor que $500, no hay descuento.
Si el monto se encuentra entre $500 y menor que $1000, el 5%.
Si el monto se encuentra entre $1000 y menor que $7000, el 11%.
Si el monto se encuentra entre $7000 y menor que $15000, el 18%.
Si el monto es mayor o igual a $15000, el 25%.
43
![Page 44: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/44.jpg)
Ejercicios de estructuras selectivas
8. Realizar las operaciones básicas con 2 números leídos por teclado. Considere que la división por cero es una indeterminación.
9. Dado por teclado el número del 1 al 7, que imprima el correspondiente día de la semana (Ej.: 1. Lunes; 2. Martes; etc). Si ingresa un número fuera del rango, deberá imprimir el mensaje "Error… valor fuera de rango".
10. Dado por teclado dos números reales y el símbolo de una operación básica (+, -, *,/), imprima el resultado correspondiente. Si el símbolo no es correcto, imprima el mensaje "Error en símbolo".
44
![Page 45: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/45.jpg)
3.3 Estructuras de control repetitivas
45
Las instrucciones son las mismas, los datos que operan en ellas son los que varían.
La estructuras repetitivas se clasifican en: mientras, hacer- mientras y para
Se utilizan en algoritmos cuyas operaciones se deben ejecutar un número repetido de veces, llamado ciclo.
Todo ciclo debe terminar de ejecutarse después de un número finito de veces, por tanto, en cada iteración se debe evaluar las condiciones necesarias para decidir si se debe seguir ejecutando el ciclo o detenerse.
![Page 46: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/46.jpg)
3.3.1 Estructuras de control repetitivas: Mientras
46
Esta estructura de control se recomienda utilizar cuando no se sabe cuantas veces se repetirá el ciclo. Tal número depende de las proposiciones que están dentro del ciclo. Algunos ejemplos de problemas: cuando se tiene que obtener el total de una serie de gastos, pero no se sabe exactamente cuántos son; o cuando se tiene que sacar el promedio de calificaciones de un examen, pero tampoco se sabe cuántos alumnos lo aplicaron, el ciclo se repite mientras se tengan calificaciones de alumnos.
![Page 47: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/47.jpg)
3.3.1 Estructuras de control repetitivas: Mientras
47
En la estructura mientras se distinguen dos partes:
Ciclo: conjunto de instrucciones que se ejecutarán repetidamente.
Condición de terminación. La evaluación de esta condición se realiza al inicio del ciclo y mientras la condición es verdadera se ejecuta el ciclo.
![Page 48: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/48.jpg)
48
Ejemplo 3.3.1.1 Obtener la suma de los gastos que hicimos en el último viaje, pero no sabemos cuántos fueron.
Realice el análisis, diagrama de flujo y prueba de escritorio.
Análisis del problema Datos de entrada: ejemplo 200,150, 250
variable gasto: real
Proceso variable suma=0: real
InicioCiclo Leer gasto suma = suma+gasto
FinCiclo
Salida Imprimir „el total de gastos es‟, suma
3.3.1 Estructuras de control repetitivas: Mientras
Diagrama de flujo
Símbolo de salida
S. de entrada
![Page 49: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/49.jpg)
49
Ejemplo 3.3.1.1 Obtener la suma de los gastos que hicimos en el último viaje, pero no sabemos cuántos fueron.
3.3.1 Estructuras de control repetitivas: Mientras
Diagrama de flujo
Prueba de escritorio
![Page 50: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/50.jpg)
50
Ejemplo 3.3.1.2 Dado un grupo de números naturales positivos, calcule e imprima el cubo de estos números. Termine la entrada de números con -1.
Realice el análisis, diagrama de flujo y prueba de escritorio.
Análisis del problema
Datos de entrada: ejemplo 2
variable num: entero
Proceso
InicioCiclo Leer num Imprimir „el cubo es:‟,
num*num*num FinCiclo
Salida La salida se realiza en el
proceso.
3.3.1 Estructuras de control repetitivas: Mientras
Diagrama de flujo
![Page 51: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/51.jpg)
3.3.2 Estructuras de control repetitivas: Hacer-Mientras
51
Es una estructura de control parecida al ciclo Mientras, la diferencia es que la condición se coloca al final del ciclo.
Esto significa que las instrucciones del ciclo se ejecutan al menos una vez.
A continuación se muestra su diagrama de flujo.
![Page 52: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/52.jpg)
52
Ejemplo 3.3.2.1 Dado un número entero positivo calcular el factorial de ese número. Definición n!: n*n-1*n-2*…*1 Ejemplo 4!=4*3*2*1=24
Realice el análisis, diagrama de flujo y prueba de escritorio para num=4, 5, 0
Análisis del problema
Datos de entrada: ejemplo 4 variable num: entero
Proceso variable resultado<-1: entero
InicioCiclo resultado <-resultado*num num<-num-1
FinCiclo
Salida La salida se realiza en el proceso.
3.3.2 Estructuras de control repetitivas: Hacer-Mientras
![Page 53: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/53.jpg)
3.3.3 Estructuras de control repetitivas: Para
53
Es la estructura de control que ejecuta un ciclo un número definido de veces. Por ejemplo cuando se necesita calcular el promedio de calificaciones de un curso, se debe sumar las N calificaciones de los alumnos y dividir la suma entre N; cuando se necesita calcular la nómina total de la empresa, se tiene que sumar los sueldos de los N empleados de la misma. Es decir, se sabe por anticipado cuántas veces tenemos que repetir una determinada operación, acción o tarea. El número de veces se obtiene del planteamiento del problema o de una lectura.
![Page 54: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/54.jpg)
3.3.3 Estructuras de control repetitivas: Para
54
Ejemplo 3.3.3.1 Dado por teclado los sueldos de 10 trabajadores de una empresa, obtenga el total de la nómina. Realice el análisis, diagrama de flujo y prueba de escritorio. Análisis del problema
Datos de entrada: ejemplo 1000, 1500, 2000
variable sueldo: real
Proceso variable nomina <-0: real
InicioCiclo Leer sueldo nomina<-nomina + sueldo
FinCiclo
Salida Imprimir El total de la nómina es 4500.
![Page 55: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/55.jpg)
55
3.3.3 Estructuras de control repetitivas: Para
Ejemplo 3.3.3.2 Dado por teclado N calificaciones, calcular e imprimir el promedio.
Realice el análisis del problema, diagrama de flujo y prueba de escritorio.
Análisis del problema Datos de entrada: ejemplo 6.8,
8.2, 9.0 variable n: entero,
calif: real
Proceso variable suma<-0: real
i: entero
InicioCiclo Leer calif suma<-suma+calif
FinCiclo prom<-suma/n
Salida Imprimir El promedio es: 8
![Page 56: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/56.jpg)
Ejercicios de estructuras de control repetitivas
Para cada uno de los siguientes ejercicios realice el análisis del problema, el diagrama de flujo previa selección de la estructura de control repetitiva idónea para tal problema y una prueba de escritorio con una corrida.
1. Dado por teclado como datos 10 números enteros, calcular e imprimir la suma de los números impares y el promedio de los números pares.
2. Obtenga la suma e imprima los términos de la siguiente serie:
2, 5, 7, 10, 12, 15, …, 100
56
![Page 57: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/57.jpg)
Ejercicios de estructuras de control repetitivas
57
![Page 58: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/58.jpg)
Ejercicios de estructuras de control repetitivas
5. Dado N números enteros por teclado, calcular lo siguiente:
a) ¿Cuántos números leídos fueron mayores a cero?
b) El promedio de los números positivos
c) El promedio de todos los números.
6. Dado N números enteros por teclado, calcular el mayor y el menor de estos números.
58
![Page 59: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/59.jpg)
Ejercicios de estructuras de control repetitivas
7. Dado por teclado N ventas con los siguientes criterios, imprima cuantas corresponden a cada criterio.
a) Ventas de $200 o menos.
b) Ventas mayores a $200, pero menores a $400
c) Ventas de $400 o más.
8. Dado por teclado un número entero positivo, calcular los términos de la serie de ULAM, la cual consiste en lo siguiente: Si el número es par, divídalo entre 2; si es impar, multiplíquelo por 3 y agréguele 1. Repetir el proceso hasta obtener el número 1.
Ejemplo: sin numero= 26, se obtendrá: 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1.
59
![Page 60: Tema 3. Diagramas de flujo - utm.mxdtorres/cursos/disenioAlgoritmos/Tema3-DiagramasDeFlujo.pdfConceptos fundamentales de los diagramas de flujo 9 Para realizar diagramas de flujo que](https://reader033.vdocuments.co/reader033/viewer/2022051011/5fee0434a3f92748a20a48be/html5/thumbnails/60.jpg)
Referencias
1. Zapata Ospina, Carlos A. “Fundamentos de programación, Guía de autoenseñanza”. Alfaomega Ra-Ma. 2006
2. Cairó Osvaldo. “Metodología de la programación”. Alfaomega, 3ª edición. 2005.
3. Joyanes Aguilar, Luis. “Fundamentos de programación”. McGraw-Hill, 4ª edición. 2008.
60