You are on page 1of 55

SEMANA 02

DIAGRAMAS DE FLUJO

1
Programa de Aplicación

Programa que permite resolver la ecuación de primer grado

Algoritmo EC 1er Grado


Programa Variables
que permite a,b,x de tipo entero
resolver la Inicio
ecuación de Escribir(“Ingrese valores de EC”)
primer grado Leer (a,b)
Si a = 0 entonces
escribir (“Error”) Dim a,b,x as integer
sino
x=-b/a MessageBox.Show(“Ingrese valores
Escribir (“La solución es:”,x) de EC”);
Fin a= Textbox1.Text
ax+b=0 Escribir(“Fin programa”) b= Textbox2.Text
Fin if a = 0 Then
MessageBox.Show (“error”)
else
a x=-b/a
? x = -b / a MessageBox.Show(“La
b solución es : ”,x)
End If
MessageBox.Show(“Fin programa”);
2
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.

Símbolo utilizado para introducir los datos de entrada/salida.

Símbolo utilizado para representar un proceso.

Símbolo utilizado para representar una decisión.

Símbolo utilizado para expresar conexión dentro de una misma


página.
Símbolos utilizados para expresar la dirección del flujo del
diagrama

Símbolo utilizado para expresar conexión entre páginas diferentes.


Algoritmos y diagramas de flujo

Símbolo utilizado para representar una decisión múltiple. En su interior


se almacena un selector y dependiendo del valor de dicho selector se
sigue por una de las ramas o caminos alternativos.
Diagrama de Flujo y Pseudo-Código
DIAGRAMA DE FLUJO NOMENCLATURA PSEUDO-CÓDIGO

Inicio Inicio de Algoritmo Inicio


Inicio

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

Fin Fin de algoritmo Fin


Algoritmos y diagramas de flujo
Reglas
1. Todo diagrama de flujo debe tener un inicio y un fin.
2. Las líneas utilizadas para indicar la dirección del flujo del diagrama
deben ser rectas verticales y horizontales.
3. Todas las líneas utilizadas para indicar la dirección del flujo del
diagrama deben estar conectadas.
4. El diagrama de flujo debe ser construido de arriba hacia abajo
(top-down) y de izquierda a derecha (right to left).
5. La notación utilizada en el diagrama de flujo debe ser
independiente del lenguaje de programación.
6. Si el diagrama de flujo requiere más de una hoja para su
construcción, debemos utilizar los conectores adecuados y
enumerar las páginas convenientemente.
7. No puede llegar más de una línea a un símbolo.
Pseudocódigo

Es un lenguaje artificial e informal útil para el


desarrollo de algoritmos. No es un lenguaje
de programación verdadero y, por lo tanto,
no puede ser compilado y ejecutado.

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: 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
11
Pseudocodigo
• Ejemplo 4: 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

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

Pseudo-Lenguaje Diagrama de Flujo

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

Se requiere un programa que calcule la


suma y el producto de dos números.
Cuales de los siguientes segmentos
producen el resultado correcto:
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

Simples: Las estructuras condicionales simples se


les conoce como “Tomas de decisión”.
Diagrama de flujo de Selección - Simple

Diagrama de Flujo
En Visual Basic

If (condición)Then

Condición Sentencia
End if
no
Sentencia
Pseudocodigo

Si <condición> entonces
Sentencia
fin_si
20
Diagramas de Flujo - Selectivo Doble

Dobles: Las estructuras condicionales dobles


permiten elegir entre dos opciones o alternativas
posibles en función del cumplimiento o no de una
determinada condición.

21
Diagramas de Flujo - Selectivo Doble

Pseudocodigo Diagrama de Flujo


Si (condición) entonces
acción 1
Si no si no
acción 2 condición

Fin si
acción 1 acción 2

22
SELECCIÓN
Tengo un buen trabajo ?????

No Si
EJEMPLO 5. Determinar el mayor de dos números

24
EJEMPLO 6

Dado un número previamente leído,


si el numero es mayor que cero hallar
la suma , caso contrario hallar el producto
a, b: entero
leer (a) Memoria
si a >0
entonces a b
b := a+a
40 80XXX
XXX 80
sino
b := a*a
fin_si
escribir (b)
a, b: entero
leer (a)
Memoria
si a >0
entonces a b
b := a+a 100
-10 XXX
XXX 100
sino
b := a*a
fin_si
escribir (b)
Diagrama de Flujo - Selección Múltiple
En Visual Basic
if (condición 1)Then
accion1
Elseif (condición 2)Then
accion2
Elseif (condición 3)Then
accion3
...............
..............
Elseif (condicion N) Then
accion N-1
Else
accion N
End if
29
Pseudocodigo
• si <condición1> entonces
• <acciónes1>
• si_no si <condición2> entonces
• <acciones2>
• si_no si <condición3> entonces
• <acciones3>
• ………………
• ……………..
• si_no
• <accionesX>
• fin_si
EJEMPLO 7

Dados tres números


enteros, calcular el mayor
Pseudocódigo
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
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 (mayor)
9
mayor
XXX
9
Ejercicio
Ejercicio 12
• Diseñe un Diagrama de Flujo que determine la
edad menor de tres edades ingresadas
Ejercicio
Ejercicio 23
• Un curso se evalúa en base a cuatro notas de
práctica de las cuales se elimina la nota menor
y se promedian las tres notas más altas diseñe
un diagrama de flujo que determine la nota
eliminada y el promedio final de alumno.
Ejercicio 3
Una institución benéfica tiene un comedor de niños y un
centro de salud. La institución recibe anualmente una
donación proveniente de Europa que se reparte en la
siguiente forma:
• Si el monto de la donación es menor que $ 10000
entonces 35% se destina al centro de salud y 65% al
comedor de niños.
• Si el monto de la donación es de $ 10000 o más
entonces 30% se destina al centro de salud , 60% al
comedor de niños y el resto se invierte en la bolsa de
valores
Diseñe un diagrama de flujo
INICIO

dona

si no
dona< 1000

cent_salud = dona * 0.35 cent_salud = dona * 0.30


com_niños = dona * 0.65 com_niños = dona * 0.60

bol_valores = dona * 0.10

cent_salud,
com_niños,
bol_valores

FIN
Ejercicio 4
• En un estacionamiento cobra S/. 2.5 por hora
o fracción de hora. dado el tiempo de
estacionamiento de un vehículo expresado en
el formato HH:MM. Haga un diagrama de
flujo para determinar el importe a pagar por
concepto de estacionamiento.
Ejercicio 5
•Diseñe un Diagrama de Flujo que determine la
categoría de un estudiante en base a su
promedio ponderado, de acuerdo a la siguiente
tabla.
PROMEDIO CATEGORÌA

P >= 17 A
P >= 14 B
P >= 12 C
P < 12 D
Ejercicio 6
• Diseñe un diagrama de flujo que lea un
numero entero en el intervalo de 1 a 7,
correspondiente a un día de la semana, y
determine el nombre del día. Considere: 1
para lunes, 2 para martes,…., 6 para sábado, 7
para domingo. Si el número no está en el
intervalo de 1 a 7, imprima un mensaje de
error
Ejercicio 7
En una oficina de empleos categorizan a los
postulantes en función del sexo y de la edad de
acuerdo a lo siguiente:
• Si la persona es de sexo femenino: categoría FA si
tiene menos de 23 años y FB en caso contrario.
• Si la persona es de sexo masculino: categoría MA
si tiene menos de 25 años y MB en caso
contrario.
Diseñe un diagrama de flujo que determine la
categoría de un postulante.
Ejercicio 8
En la playa de estacionamiento de un centro comercial cobran una tarifa fija por
hora o fracción de acuerdo a la siguiente tabla :

DÌA TARIFA

Lunes a Jueves S/. 3.5

Viernes y Sábado S/. 4.5

Domingo S/. 2.5

Cuando un vehículo entra al estacionamiento se anota la hora de


entrada y al retirase se toma nota de la hora de salida, ambas en horas y
minutos. Diseñe un diagrama de flujo que determine cuanto debe pagar
un cliente por el estacionamiento de su vehículo.
Ejercicio 9
En una universidad los alumnos están categorizados en cuatro tipos de
categorías, correspondiendo a cada categoría una pensión mensual distinta a la
siguiente tabla:
CATEGORIA PENSION
A S/. 550
B S/. 500
C S/. 460
D S/. 400
Semestralmente la universidad efectúa rebajas en las pensiones de sus
estudiantes a partir del segundo ciclo en base al promedio ponderado al ciclo
anterior en porcentajes dados en la tabla siguiente:

PROMEDIO DESCUENTO
0 a 13.99 No hay descuento
14.00 a 15.99 10%
16.00 a 17.99 12%
18.00 a 20.00 15%
Diseñe un diagrama de flujo que determine cuanto de rebaja recibirá un
estudiante sobre su pensión actual y a cuanto asciende su nueva pensión
Ejercicios
1. Desarrolle un programa que permita calcular 1 + 2 + 3 + ..........+ N

2.- Área de un triangulo cualquiera en función de sus tres lados

3.- Calculo de las tres alturas de un triangulo cualquiera en función de


sus tres lados

4.- Dado como dato el sueldo de un trabajador calcule su aumento según


el siguiente criterio.
Sueldo < S/. 1,000  aumento 30%
S/. 1,000 < = Sueldo < = S/. 1,500  aumento 25%
Sueldo > S/. 1,500  aumento 20% Imprime el nuevo sueldo del
trabajador.
5.- Dado como dato Y calcule el resultado de la siguiente funcion:

3*Y+30 Si 0 < Y <= 11


X= Y*Y-10 Si 11< Y <= 33
Y*Y*Y+Y*Y-1 Si 33< Y <= 64
0 Para cualquier otro valor de y

Imprime X, Y.
6.- Solución de ecuación de la forma Ax2 + Bx + C = 0

7.- Lea un numero entero N y calcule el resultado de la siguiente


serie:
1 + ½ + 1/3 + ¼ + .................+ 1/N

8.- Lea un numero entero N y calcule el resultado de la siguiente


serie:
1 – ½ + 1/3 – ¼ + ................ + 1/N

9.- Dado como dato N números enteros, determine cuantos de ellos


son pares y cuanto impares.

You might also like