100% encontró este documento útil (1 voto)
302 vistas63 páginas

Diagramas de Flujo en Algoritmos

Este documento presenta información sobre diagramas de flujo. Explica definiciones, elementos, variables, constantes y estructuras de control como secuenciales, selectivas y repetitivas que se pueden usar en diagramas de flujo. Proporciona ejemplos para ilustrar conceptos y ejercicios prácticos para desarrollar diagramas de flujo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
302 vistas63 páginas

Diagramas de Flujo en Algoritmos

Este documento presenta información sobre diagramas de flujo. Explica definiciones, elementos, variables, constantes y estructuras de control como secuenciales, selectivas y repetitivas que se pueden usar en diagramas de flujo. Proporciona ejemplos para ilustrar conceptos y ejercicios prácticos para desarrollar diagramas de flujo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

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
dtorres@mixteco.utm.mx
Contenido

1. Definiciones
2. Elementos de un diagrama de flujo
3. Variables y constantes
4. Estructuras de control: secuenciales, selectivas y
repetitivas

2
Introducción

Diseño
de un
algoritmo

Diseño Refinamiento Herramienta de


descendente por pasos programación:
* diagrama de flujo
* pseudocódigo

Secciones de un algoritmo, reeditado de [3]

3
1. Definiciones

Un diagrama de flujo
Si un diagrama de flujo está completo y
representa de manera gráfica
correcto, el paso del mismo a un lenguaje
un algoritmo, es decir, los
de programación es simple y directo [2].
pasos de la solución de un
problema.

4
2.
Elementos
de un
diagrama
de flujo.

5
2.1 Reglas para la construcción de un diagrama de
flujo [2].

1. Todo diagrama de 2. Las líneas que indican la


flujo debe tener un dirección del flujo del
inicio y un fin. diagrama deben ser rectas,
verticales y horizontales.

6
2.1 Reglas para la construcción de un diagrama de
flujo [2].

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
adecuandos y numerando las páginas. 7
2.1 Reglas para la construcción de un diagrama de
flujo [2].

8. No pueden llegar más de una línea a un símbolo.

8
3. Conceptos fundamentales: Tipos de datos

1. Tipos de datos. Necesarios para representar


los datos a procesar y se clasifican en:
a) simples: enteros, reales, caracteres, y
booleanos.
b) estructurados: arreglos, cadena de
caracteres y registros.

identificador identificador

Dato Dato
simple estructurado

9
3. Conceptos fundamentales: Tipos de datos

Ejemplos de datos:
Enteros: 128, 1500, -200, 8432, -14321
Reales: 6.4, 138.25, -32.453, 130.65, -8729.32
Carácter: letras del abecedario, dígitos, símbolos
especiales(#,$,^, *,%,/,!,+,-, etc). Cada
carácter debe estar cerrado entre
apóstrofe.
„a‟, B, „$‟, „9‟, „-‟
Cadena de caracteres: “abcd”, “Pedro”,
“5326745”|

10
3. Conceptos fundamentales: Identificadores,
constantes y variables

Identificadores: representan los nombres de


variables, constantes y funciones donde
almacenan los datos.
Constantes: son identificadores que su valor no
cambia durante la ejecución de un programa.
Ejemplo PI 3.1416, TAMANIO 10,
NOMBRE “PESO”
Variables: son identificadores que su valor
normalmente cambia durante la ejecución de
un programa. Pueden ser de los tipos que
estudiaron en la diapositiva anterior.

11
3. Conceptos fundamentales: Operaciones aritméticas

12
3. Conceptos fundamentales: Jerarquía de los
operadores aritméticos

13
3. Conceptos fundamentales: Operadores relacionales

14
3. Conceptos fundamentales: Operadores lógicos

15
3. Conceptos fundamentales: Tabla de verdad de los
operadores lógicos

16
3. Conceptos fundamentales: Jerarquía de todos los
operadores

17
3. Conceptos fundamentales: Bloque de asignación

Un bloque de asignación La asignación es una operación destructiva.


se utiliza para asignar valores Esto es, si una variable tenía un valor
o expresiones a una variable. asignado, éste se destruye, conservando el
nuevo valor.
variable  expresión o valor
Suma  0

Una expresión puede ser


aritmética o lógica, o una
constante o una variable.

18
4. Estructuras de control

Las estructuras de
control indican el flujo o
camino estándar que debe Se clasifican en: estructuras de
seguir un proceso de control secuencial, selectivas y
solución de un problema repetitivas.

19
4.1 Estructura de control secuencial

La estructura de control
secuencial, es la más simple
de todas. Se utiliza cuando se Representación en algoritmo.
tiene que ejecutar una acción 1
instrucción tras otra, sin tener acción 2
que evaluar una expresión. …
acción n

Ejemplo1

1. suma  0
2. Imprimir “Teclea un numero”
3. Leer en variable num
4. suma  suma + num

20
4.1 Estructura de control secuencial
Ejemplo 2. 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.
1. i  0
2. i  i + 1
3. acum  0
4. j  52 / 3
5. car  „a‟
6. acum  j / i
7. rea  acum / 3
8. band  (8 > 5) y (15 <23 )
9. sum  acum * 5 / j2
10. i  i * 3
11. rea  rea / 5
12. band  band o (i = j)
13. i  rea
14. car  j 21
4.1. Estructura de control secuencial: Prueba de
escritorio del ejemplo 2.

enteros: i,
acum, j
caracter: car
real: rea, sum
boolean: band

22
4.1 Estructura de control secuencial

A continuación se presentan dos ejemplos


de diagramas de flujo que usan estructuras
de control secuencial y posteriormente se
solicita realice algunos ejercicios.

23
4.1 Estructura de control secuencial

Ejemplo 3. Dado por teclado tres “Inicio”

caracteres, imprímalos en orden


inverso. Realice el análisis, diagrama “Programa que imprime
tres caracteres invertidos”
de flujo y una prueba de escritorio.

Análisis. “Teclea tres caracteres: ”

Datos de entrada: ejemplo x, y, z


variables a,b,c: caracter a, b, c

Proceso
no aplica. “Los caracteres invertidos
son: ”,c,b,a
Salida:
imprimir z, y, x. “Fin”
24
4.1 Estructura de control secuencial

Ejemplo 4. 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
25
4.1 Estructura de control secuencial:
Prueba de escritorio

26
4.1 Estructura de control secuencial

 Para los siguientes ejercicios, desarrollar análisis,


diagramas de flujo y prueba de escritorio.
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

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

28
4.2 Estructura de control selectiva

Esta toma de decisión se basa en la


Esta estructura de control se evaluación de una o más condiciones que
utiliza en la solución de señalaran como alternativa o consecuencia,
problemas donde se necesite la rama a seguir.
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.
29
4.2 Estructura de control selectiva

Estas estructuras selectivas se clasifican en :

1. Si Entonces (selectiva simple)


2. Si Entonces / Sino (selectiva doble)
3. Si multiple (selectiva múltiple)

Cuando a las estructuras


selectivas se aplican en
cascada, se pueden combinar
las estructuras anteriores.

30
4.2.1 Selectiva simple (si entonces)

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.

31
4.2.1 Selectiva simple (si entonces).

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

Después mejorar la
condición, donde la
calificación aprobatoria
sea mayor o igual a 6 y
menor o igual a 10. 32
4.2.1 Selectiva simple (si entonces). Prueba de
escritorio

33
4.2.1 Selectiva simple (si entonces)

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

34
4.2.2 Selectiva doble (si entonces / sino)
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.

35
4.2.2 Selectiva doble (si entonces / sino)

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

36
4.2.2 Selectiva doble (si entonces / sino)

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

37
4.2.2 Selectiva doble (si entonces / sino)

Ejemplo 9. Dados tres


números por teclado
encontrar e imprimir el
mayor de ellos.
Realice el análisis,
diagrama de flujo y
prueba de escritorio.

38
4.2.3 Selectiva múltiple (si multiple)

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

39
4.2.3 Selectiva múltiple (si multiple)

40
4.2.3 Selectiva múltiple (si multiple)

Ejemplo 10. 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.
41
4.2.3 Selectiva múltiple (si multiple)

42
4.2.3 Selectivas en cascada (anidadas) [2]

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.

43
4.2.3 Selectivas en cascada (anidadas) [2]

44
4.2.3 Selectivas en cascada (anidadas) [2]

45
4.2.3 Selectivas en cascada (anidadas)

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

46
4.2.3 Selectivas en cascada (anidadas). Ejemplo 11

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

47
Ejercicios de estructuras selectivas

 Para los siguientes ejercicios realice el diagrama de flujo


y una prueba de escritorio.

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.

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

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

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

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

52
4.3 Estructuras de control repetitivas

Todo ciclo debe terminar de ejecutarse


Se utilizan en algoritmos después de un número finito de veces,
cuyas operaciones se deben por tanto, en cada iteración se debe
ejecutar un número repetido evaluar las condiciones necesarias para
de veces, llamado ciclo. decidir si se debe seguir ejecutando el
ciclo o detenerse.

Las instrucciones son las mismas,


los datos que operan en ellas son
los que varían.
La estructuras repetitivas se
clasifican en: para, mientras y
hacer mientras

53
4.3.1 Estructuras de control
repetitivas: Para
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.
54
4.3.1 Estructuras de control repetitivas: Para

Ejemplo 12. Dado


por teclado los
sueldos de 10
trabajadores de
una empresa,
obtenga el total
de nómina de la
misma.

Realice el análisis,
diagrama de flujo
y prueba de
escritorio.

55
4.3.1 Estructuras de
control repetitivas: Para

Ejemplo 13. Dado


por teclado las
calificaciones de
N alumnos,
calcular e
imprimir el
promedio.

Realice el análisis,
diagrama de flujo
y prueba de
escritorio.

56
4.3.2 Estructuras de control
repetitivas: Mientras

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.
57
4.3.2 Estructuras de control repetitivas: Mientras
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.

58
4.3.2 Estructuras de control
repetitivas: Mientras

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

59
4.3.2 Estructuras de control
repetitivas: Mientras

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

60
4.3.2 Estructuras de control repetitivas: Hacer-Mientras

Es una estructura de control Esto significa que las instrucciones del ciclo se
parecida al ciclo Mientras, la ejecutan al menos una vez.
diferencia es que la condición A continuación se muestra su diagrama de
se coloca al final del ciclo. flujo.

61
4.3.2 Estructuras de control
repetitivas: Hacer-Mientras

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

Ojo, con esta herramienta regresa al


ciclo cuando la condición es falsa, a
diferencia de lo que indica el diagrama
de flujo y lenguajes de programación
62
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.

63

Diseño de Algoritmos 
Tema 3: Diagramas de flujo 
Presenta: David Martínez Torres 
Universidad Tecnológica de la Mixteca 
Ins
Contenido 
1.
Definiciones 
2.
Elementos de un diagrama de flujo 
3.
Variables y constantes 
4.
Estructuras de control: secue
Introducción 
3 
Diseño
descendente
Refinamiento
por pasos
Herramienta de
programación:
Diseño
de un
algoritmo
* diagrama de
4 
1. Definiciones 
Si un diagrama de flujo está completo y 
correcto, el paso del mismo a un lenguaje 
de programación es si
2. 
Elementos 
de un 
diagrama 
de flujo. 
5
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.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 
diag
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.
3. Conceptos fundamentales: Tipos de datos 
9 
1. Tipos de datos. Necesarios para representar 
los datos a procesar y se clas
3. Conceptos fundamentales: Tipos de datos 
10 
Ejemplos de datos: 
Enteros: 128, 1500, -200, 8432, -14321 
Reales: 6.4, 138.

También podría gustarte