Professional Documents
Culture Documents
DIAGRAMAS DE FLUJO
1
Algoritmo
2
Un algoritmo es una lista de actividades que se preparan para la realización
de una tarea.
Esta idea no sólo está relacionada con las computadoras, sino que pertenece
al campo de casi todas las actividades humanas.
Ejemplos:
Receta de Cocina
Mapa del Tesoro
Partitura Musical
Qué es un algoritmo?
3
Es una secuencia ordenada de pasos, sin ambigüedades,
que conducen a la solución de un problema dado.
La exactitud es determinante.
Un algoritmo es el planteamiento
general de la solución, mientras el
programa es la solución misma y
contiene todos sus detalles en forma
ejecutable.
11
Codificación del
ANÁLISIS
algoritmo
Compilación y
ejecución del
Desarrollo de programa
Algoritmos
Prueba y
Depuración
Verificación del
Algoritmo
Documentación
DISEÑO
Mantenimiento
IMPLEMENTACIÓN
Seudocódigo
Para expresar el contenido
de un programa de
computadora, se requiere
el uso de un lenguaje de
programación.
EJEMPLO #1
Solucionar ecuaciones cuadráticas
de la forma: AX2 + BX + C = 0
Análisis:
• Conocer los coeficientes A, B, C.
•Se aplica la fórmula del Álgebra:
B B 2 4 AC • ESTE ES EL ALGORITMO.
X • Para este problema.
2A
1 - 13 28/05/2018
EJEMPLO#1: Ecuaciones cuadráticas
DATOS PROCESAMIENTO
DE • Cálculos SALIDA
(resultados)
ENTRADA • Relaciones lógicas
A, B, C A 0, D 0
X
B B 2 4 AC X1, X2
2A
Este es el esquema (diagrama) genérico
1 - 14 28/05/2018
REPRESENTACIÓN DE ALGORITMOS
Escribir x1, x2
Fin
1 - 15 28/05/2018
ENTORNO DE
PROGRAMACIÓN/2
• BARRA DE TÍTULO Y
CONTROL
• BARRA DE
HERRAMIENTAS
EXPLORADOR
DE
PROYECTOS
1 - 16 28/05/2018
Interfaz gráfica en Visual Basic
Programa genérico:
Dim a,b,c,d,x1,x2 As double
A = Textbox1.text
B = Textbox2.text
C = texrtbox3.text
D = B^2 - 4 * A * C
If sqrt(D) >= 9 then
X1 = (-B + sqr(D)) / (2 * A)
X2 = (-B - sqr(D)) / (2 * A)
Else
Messagebox.Show(“ No
existe raíces reales”
End if
Textbox4.text= X1
Textbox5.text= X2
1 - 17 28/05/2018
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
18
Estructura Secuencial
Inicio acción 1
acción 1
acción 2
acción 2
…
…
acción n
Fin acción n
19
Estructuras de Control Selectivas
SIMPLE
Condició
n No
Verdader
a? Si < Condición >
Si
<Acción>
Fin_Si
Acción
20
Estructuras de Control Selectivas
DOBLE
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 No Si < Condición >
Verdader
a?
< Acción 1 >
Sino
Si
< Acción 2 >
Acción 1 Acción 2 Fin_Si
21
Estructuras de Control Selectivas
MULTIPLE
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.
Si < Condición 1 >
< Acción 1 >
Cond. 1
Verdader
No Sino_Si < Condición 2 >
a? < Acción 2 >
Sino
Cond. 2 No
Si < Acción 3 >
Verdader
a?
Acción 1
Fin si
Fin_Si
Si
Acción 2 Acción 3
22
Estructuras de Control Selectivas
Múltiple
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.
23
Estructuras de Control Repetitivas.
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.
Condició
n No
Verdader
a? Mientras < Condición >
< Acción >
Si
Fin_Mientras
Acción
24
Estructuras de Control Repetitivas.
Acción
Hacer
< Acción >
Condició
Mientras < Condición >
n No
Verdader
a?
Si
25
Estructuras de Control Repetitivas.
Inicio
Si
Acción
1. Inicio
2. Declaración de variables:
cve, ht: entero
pht, sueldo: real (flotante)
3. Leer cve, ht, pht
4. sueldo = ht * pht
5. Imprimir cve, sueldo
6 Fin
Algoritmos y diagramas de flujo
Diagrama de flujo del algoritmo, ejemplo 1:
inicio
cve, ht
pht
sueldo = ht * pht
cve fin
sueldo
Ejemplo No 2.- desarrollar un algoritmo que permita leer un número
en radianes e imprima su equivalencia en grados; así mismo, leer un
número en grados e imprima su equivalencia en radianes.
Algoritmo Convierte radianes a grados y grados a radianes
1. Inicio
2. Declaración de variables:
PI = 3.145926536: real (flotante)
rad, grad, numrad, numgrad: real (flotante)
3. Leer rad, grad
4. numgrad = rad * (180 / PI)
5. numrad = grad * (PI / 180)
6. Imprimir numgrad, numrad
7. Fin
Algoritmos y diagramas de flujo
Diagrama de flujo del algoritmo, ejemplo 2:
inicio
rad
grad
numgrad
numrad = grad * (PI / 180) fin
numrad
Ejemplo No 3.- desarrollar un algoritmo para calcular el promedio de
un estudiante, se pedirá la matricula del estudiante y cuatro
calificaciones de los exámenes. Se imprimirá la matricula del
estudiante y el promedio.
Algoritmo calcular promedio de un estudiante
1. Inicio
2. Declaración de variables
matest: entero
cal1, cal2, cal3, cal4, calfin: real (flotante)
3. Leer matest, cal1, cal2, cal3, cal4
4. calfin = (cal1 + cal2 + cal3 + cal4) / 4
5. Imprimir matest, calfin
6. Fin
Algoritmos y diagramas de flujo
Diagrama de flujo del algoritmo, ejemplo 3:
inicio
matest, cal1
cal2, cal3
cal4
matest fin
calfin
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)
EJEMPLO 2. Determinar el mayor de dos números
35
EJEMPLO 3
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
EJEMPLO 5
43
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
44
EJEMPLO 6
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?
45
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
46
EJEMPLO 7
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.
47
Algoritmo
Inicio
Entero Hora_trabajada, Hora_extra, Sueldo
Leer Hora_trabajada
Escribir Sueldo
Fin
48
Diagramas de Flujo Repetitivos
Ejemplo 8: 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
49
EJEMPLO 9. 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.
50
Ejercicios Propuestos
1. Desarrolle un programa que permita calcular 1 + 2 + 3 + ..........+ N
Imprime X, Y.
6) Un alumno desea saber cual será su nota final en el curso de Física I.
Dicha nota se compone de los siguientes porcentajes:
10) Tres personas deciden invertir su dinero para fundar una empresa. Cada una
de ellas invierte una cantidad distinta. Obtener el porcentaje que cada quien
invierte con respecto a la cantidad total invertida.
11) Un alumno desea saber cual será su promedio general en los tres
cursos más difíciles que cursa y cual será el promedio que obtendrá
en cada una de ellas. Estas materias se evalúan como se muestra a
continuación: