Professional Documents
Culture Documents
DIAGRAMAS DE FLUJO
1
Algoritmos y diagramas de flujo
“ Formalmente definimos un algoritmo como un conjunto de pasos,
procedimientos o acciones que nos permiten alcanzar un resultado o
resolver un problema”
Diagramas de flujo
• Un diagrama de flujo representa la esquematización gráfica de un
algoritmo.
• En realidad muestra gráficamente los pasos o procesos a seguir para
alcanzar la solución de un problema.
• Su correcta construcción es sumamente importante porque, a partir
del mismo se escribe un programa en algún lenguaje de programación.
• Si el diagrama de flujo está completo y correcto, el paso del mismo a
un lenguaje de programación es relativamente simple y directo.
• A continuación, presentamos los símbolos que utilizaremos y una
explicación de los mismos. Estos satisfacen las recomendaciones de la
ISO y la ANSI.
Algoritmos y diagramas de flujo
Símbolo utilizado para marcar el inicio y el fin del diagrama flujo.
Variables
Entero var1, x , y Definición de variables Entero var1, x, y
Real a, b Real a, b
Escribir
Impresión de mensajes
“Mensaje 1” Escribir (“Mensaje 1”)
Leer
var1,x, y Lectura de mensajes Leer (var1, x, y)
Transformación de datos
a=3*x+ y Operaciones sobre los datos a=3*x+ y
b = a / var1 b = a / var1
Si a > b Entonces
Instrucciones
F V Bifurcación en la ejecución de
Sino
Si a > b instrucciones
Instrucciones
Fin si
Conector
8
Pseudocodigo
• Ejemplo 1: Sumar dos números.
• Desarrollo
Inicio
Escribir, “Ingrese los 2 números a sumar”
Leer num1,num2
resultado = num1 + num2
Escribir, “La suma es:”, resultado
Fin
9
Pseudocodigo
• Ejemplo 2: Determinar el mayor de dos
números.
• Desarrollo
Inicio
Escribir, “Ingrese los 2 números”
Leer num1,num2
Si (num1 > num2) entonces
Escribir,“El mayor es:”, num1
Si no
Escribir,“El mayor es:”, num2
Fin
10
Pseudocodigo
• Ejemplo 3: Sumar del 1 al 1000.
• Desarrollo
Inicio
x = 1
resultado = 0
Mientras (x =< 1000) hacer
resultado = resultado + x
x = x + 1
Fin Mientras
Escribir, “La suma es:”, resultado
Fin
11
Pseudocodigo
• Ejemplo 4: Determinar el mayor de TRES
números.
Inicio
Escribir, “Ingrese los 3 números”
Leer X1,X2,X3
mayor = X1 El valor de X1 se
Si (mayor < X2) entonces almacena en mayor
mayor = X2
Fin si
Si (mayor < X3) entonces
mayor = X3
Fin si
Escribir, “El mayor es:” mayor
Fin
12
Diagramas de Flujo
• Son diagramas que modelan un algoritmo,
se aprecia en ellos el flujo de los datos y
las acciones que los procesan.
• Hay de 3 tipos:
1.- Secuenciales
2.- Selectivos
3.- Repetitivos
13
Diagramas de Flujo Secuenciales
Inicio acción 1
acción 1
acción 2
acción 2
…
…
acción n
Fin acción n
14
EJEMPLO 1.-Hallar el cuadrado de un número previamente leído
SOLUCION (a)
Pseudocódigo
a: entero
leer (a)
a = a*a a = a*a
escribir (a)
Escribir a
Fin
Solución ( b)
Memoria
Pantalla
a, b: entero
1 leer (a) a b
2 B = a*a 10100
XX XX
100
3 escribir (b)
Para resolver
a,b,s,p: real
I II III
leer (a) leer(b) leer(b)
leer (b) leer(a) p =a*b
S =a+b p =a*b leer(a)
P =a*b escribir(p) escribir(p)
escribir(s) s =a+b s =a+b
escribir(p) escribir(s) escribir(s)
Diagrama de flujo Selectivos
Diagrama de Flujo
En Visual Basic
If (condición)Then
sí
Condición Sentencia
End if
no
Sentencia
Pseudocodigo
Si <condición> entonces
Sentencia
fin_si
20
Diagramas de Flujo - Selectivo Doble
21
Diagramas de Flujo - Selectivo Doble
Fin si
acción 1 acción 2
22
SELECCIÓN
Tengo un buen trabajo ?????
No Si
EJEMPLO 1. Determinar el mayor de dos números
24
EJEMPLO 2
Memoria
si a>=b AND
& a>=c
a>=c
entonces
entonces
mayor = :=aa
sino
si b>=a AND
& b>=c
b>=c
entonces
entonces
mayor = :=bb
sino
mayor =
fin_si
:=cc a b c
fin_si XXX
5máximo
XXX
2 XXX
10
escribir (“maximo”)
escribir (mayor)
10
mayor
XXX
10
a, b, c : entero
mayor: entero
leer (a)
leer (b)
leer (c)
Memoria
si a>=b AND
& a>=c
a>=c
entonces
entonces
mayor = :=aa
sino
si b>=a AND
& b>=c
b>=c
entonces
entonces
mayor = :=bb
sino
mayor =
fin_si
:=cc a b c
fin_si XXX
2 máximo
XXX
9 XXX
4
escribir (“maximo”)
escribir
9
escribir (mayor)
(mayor)
mayor
XXX
9
EJEMPLO 4
35
Algoritmo
Inicio
Real Nota1, Nota2, Nota3
Real Promedio
String Mensaje
Leer Nota1, Nota2, Nota3
Promedio = (Nota1 + Nota2 + Nota3) / 3
Si promedio >= 11 entonces
Mensaje = “Alumno Aprobado”
si no
Mensaje = “Alumno Reprobado”
Fin si
Escribir Mensaje
Fin
36
EJEMPLO 5
En un almacén se hace un 20% de descuento a los clientes cuya
compra supere los $1000 ¿ Cual será la cantidad que pagara una
persona por su compra?
37
Algoritmo
Inicio
Entero Compra
Real Descuento, Tot_Pagar
Leer Compra
Si Compra > 1000 entonces
Descuento = Compra * 0.2
si no
Descuento = 0
Fin si
Tot_Pagar = Compra – Descuento
Escribir Tot_pagar
Fin
38
EJEMPLO 6
Un obrero necesita calcular su sueldo, el cual se obtiene de la sig. manera:
Si trabaja 40 horas o menos se le paga s/.6 soles por hora trabajada
Si trabaja mas de 40 horas se le paga s/.10 soles por cada una de las
primeras 40 horas trabajadas y s/. 20 soles por cada hora extra.
39
Algoritmo
Inicio
Entero Hora_trabajada, Hora_extra, Sueldo
Leer Hora_trabajada
Escribir Sueldo
Fin
40
Diagrama de flujo Repetitivas
(Mientras)
En Visual Basic
Diagrama de Flujo
while (condición)
no sentencia
condición
End While
sí
Sentencia
41
TRADUCCION MIENTRAS
PSEUDOCODIGO
mientras <condición> hacer
<bloque instrucciones>
fin_mientras
Diagramas de Flujo Repetitivos
Ejemplo: Sumar números del 1 al 1000
Pseudo-Lenguaje Diagrama de Flujo
Inicio x = 0
x = 1 suma = 0
suma = 0
Mientras (x =< 1000)
suma = suma + x no
x = x + 1 x=<1000
Fin Mientras
“La suma es:”, suma
Fin sí
suma=suma+x
X=x+1
Escribir,
suma
43
EJEMPLO. Desarrolle un algoritmo que realice la sumatoria de los números
enteros comprendidos entre el 1 y el 10, es decir, 1 + 2 + 3 + …. + 10.
44
Ejercicios
1. Desarrolle un programa que permita calcular 1 + 2 + 3 + ..........+ N
Imprime X, Y.
6.- Solución de ecuación de la forma Ax2 + Bx + C = 0