Está en la página 1de 22

Algoritmos y diagramas de flujo

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


lectura.

Símbolo utilizado para representar un proceso. En su interior se


expresan asignaciones, operaciones aritméticas, cambios de valor
de celdas en memoria, etc.

Símbolo utilizado para representar una decisión. En su interior se


almacena una condición y dependiendo del resultado de la evaluación
de la misma se sigue por una de las ramas o caminos alternativos:
verdadero o falso.
Algoritmos y diagramas de flujo

Símbolo utilizado para representar la impresión de un resultado.


Expresa escritura.

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.
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= Console.ReadLine()
ax+b=0 Escribir(“Fin programa”) b= Console.ReadLine()
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”);

5
Diagrama de Flujo y Pseudo-Código
DIAGRAMA DE FLUJO NOMENCLATURA PSEUDO-CÓDIGO

Inicio Inicio de Algoritmo 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
Estructura y diseño de un algoritmo
• Existe una gran cantidad de problemas que requieren de un análisis
profundo y de un pensamiento flexible y estructurado para la
solución.

• La idea es ofrecer un conjunto de técnicas y herramientas


metodológicas que permitan flexibilizar y estructurar el
razonamiento utilizado en la solución de problemas, esto provocará
finalmente la construcción de algoritmos eficientes.

• A continuación en la figura podemos observar las etapas que debemos


seguir para la solución de un problema
Algoritmos y diagramas de flujo

Problema

Análisis Construcción Verificación


profundo del del el
problema algoritmo algoritmo

Nota.- Por verificación del algoritmo entendemos el seguimiento del mismo con datos que
sean representativos del problema que queremos resolver
Algoritmos y diagramas de flujo
• La secuenciación es una estructura de control que permite a la
computadora ejecutar una acción, después otra, luego la que sigue y
así sucesivamente hasta la última.
• Dichas acciones pueden consistir en operaciones primitivas
elementales como declaraciones de variables, leer datos, imprimir
datos o calcular alguna expresión.
• Es conveniente etiquetar cada acción con números desde el uno en
forma ascendente de uno en uno, para denotar el orden secuencial.
• Por lo tanto los elementos básicos que integran la estructura de un
algoritmo son:
Algoritmos y diagramas de flujo
1. Encabezado.- todo algoritmo debe tener un encabezado como
identificación, el cual debe empezar con la palabra Algoritmo
seguida por una descripción del problema a resolver.
2. Inicio.- todo algoritmo debe empezar con la etiqueta 1, que marca
el inicio del mismo.
3. Declaraciones.- después de marcar el inicio se debe hacer las
declaraciones que se necesiten como: variables, constantes, tipos
de datos, etc.
4. Leer, calcular e imprimir.- los siguientes pasos pueden consistir en
acciones tales como: leer datos, calcular algunas expresiones
aritméticas e imprimir datos tantas veces como se requiera y en el
orden apropiado para resolver el problema en cuestión.
Algoritmos y diagramas de flujo
5. Fin del algoritmo.- el último paso del algoritmo consiste en incluir
la indicación fin.
Ejemplo No 1 de algoritmos secuenciales
Calcular e imprimir el sueldo de un empleado, se pedirá la clave del
empleado, las horas trabajadas y el pago por hora trabajada.
Algoritmo Calcular el sueldo de un empleado
1. Inicio 5. Imprimir cve, sueldo
2. Declaración de variables: 6. Fin
cve, ht: entero
pht, sueldo: real (flotante)
3. Leer cve, ht, pht
4. sueldo = ht * pht
Algoritmos y diagramas de flujo
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
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
Reglas para la construcción de diagramas de flujo
• Debemos recordar que un diagrama de flujo debe ilustrar
gráficamente los pasos o procesos a seguir para alcanzar la solución
de un problema.
• Los símbolos colocados adecuadamente, permiten crear una
estructura gráfica flexible que ilustra los pasos a seguir para
alcanzar un resultado específico.
• El diagrama de flujo facilitará más tarde la escritura del programa
en algún lenguaje de programación.
Reglas
1. Todo diagrama de flujo debe tener un inicio y un fin.
Algoritmos y diagramas de flujo
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. La conexión puede ser a un
símbolo que exprese lectura, proceso, decisión, impresión, conexión
o fin de diagrama.
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. Es conveniente cuando realizamos una tarea compleja poner
comentarios que expresen o ayuden a entender lo que hicimos.
Algoritmos y diagramas de flujo
7. 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.
8. No puede llegar más de una línea a un símbolo.
Algoritmos y diagramas de flujo
Diagrama de flujo del algoritmo, ejemplo 1:

inicio

cve, ht
pht

sueldo = ht * pht

cve fin
sueldo
Algoritmos y diagramas de flujo
Diagrama de flujo del algoritmo, ejemplo 2:

inicio

rad
grad

numgrad = rad * (180 / PI)

numgrad
numrad = grad * (PI / 180) fin
numrad
Algoritmos y diagramas de flujo
Diagrama de flujo del algoritmo, ejemplo 3:

inicio

matest, cal1
cal2, cal3
cal4

calfin = (cal1 + cal2 + cal3 + cal4) / 4

matest fin
calfin
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.

También podría gustarte