FUNDAMENTOS DE LA PROGRAMACIÓN MAT 1104
CAPÍTULO III
ALGORITMOS, DIAGRAMAS DE FLUJO
3.1 ALGORITMO
Es la descomposición en pasos u operaciones elementales de cualquier problema para su
resolución óptima. El algoritmo se define también como el proceso que debe ser
previamente conocido y entendido para proceder luego a la resolución de un determinado
problema. Es la forma en la que debe encararse la respuesta a un problema.
El algoritmo no es un concepto proveniente del campo de la computación, sino que es un
término matemático.
En computación, los algoritmos se suelen representar en forma gráfica y entonces reciben el
nombre de, diagramas de flujo.
3.2 DIAGRAMAS DE FLUJO
Son los diferentes pasos de un programa expresados a través de gráficos que expresan en
forma secuencial y ordenada las diferentes etapas que conducen a la resolución de un
problema. Los diagramas de Flujo utilizan los siguientes símbolos
INICIO FIN
Estos bloques se utilizan para delimitar el inicio o el fin de un programa
S = S + I/10
C=
FD = I / 10
Este bloque es utilizado para la asignación de valores o fórmulas
N
Mediante este bloque se solicitan datos al programa, los mismos deben ser ingresados por
teclado (o terminal)
C>0
no
si
Este Bloque llamado de decisión permite la bifurcación condicional del control del programa,
sigue la salida por si cuando la condición es verdadera y por no en caso contrario.
25
FUNDAMENTOS DE LA PROGRAMACIÓN MAT 1104
Permite la bifurcación a una de varias salidas del control del programa de acuerdo a como
se evalúa una llave o selector N que direcciona el control del programa hacia una de las
opciones de salida
I=1 →N
Este bloque se utiliza para ciclos iterativos que permiten que una o varias sentencias se
ejecuten un determinado número de veces, el círculo con la letra I delimita el fin de ciclo.
S
La salida o impresión de datos por pantalla se hace con este bloque.
β
Bloque utilizado como conector que indica que el diagrama de flujo se interrumpe y continúa
en los lugares mostrados con este bloque
Este símbolo se utiliza para mostrar salidas impresas.
Todos los bloques antes detallados se combinan para conformar un diagrama de flujo que
muestra los pasos de un programa. Las flechas indican la dirección en que se desarrolla el
programa
INICIO
Ejemplo 1.
Haga el diagrama de flujo de un programa
que permita calcular el área de un círculo r
dado su radio.
A = 3.1416 * r2
AREA
FIN
26
FUNDAMENTOS DE LA PROGRAMACIÓN MAT 1104
Ejemplo 2
Haga el diagrama de flujo de un programa que permita determinar cuál de tres números
enteros y diferentes introducidos por teclado es el menor de los tres.
INICIO
A,B,C
A<B A<C A ES MENOR
si si
no no
C ES MENOR
B ES MENOR B<C
si
no
C ES MENOR FIN
n
o
Ejemplo 3
Haga el diagrama de flujo de un programa que permita resolver ecuaciones de segundo
grado.
INICIO
A,B,C
D = BB-4AC
X1 = (-B + SQRT(D))/2A
D >= 0
si X2 = (-B – SQRT(D)/2A
no
Raices RAICES X1, X2
Imaginarias MAYOR
FIN
27
FUNDAMENTOS DE LA PROGRAMACIÓN MAT 1104
3.3 OPERADORES AND, OR , XOR
Casi todos los lenguajes de programación permiten el uso de estos operadores que
funcionan de manera similar a las operaciones de: conjunción, disyunción y disyunción
exclusiva. Estos operadores pueden ser incluidos en un bloque de decisión, la salida por si
se efectúa cuando las condiciones permiten que el valor final sea verdadero.
Las tablas de verdad de estos operadores son:
AND (CONJUNCIÓN) OR (DISYUNCIÓN) XOR (DISYUNCIÓN EXCLUSIVA)
p AND q p OR q p XOR q
V V V V V V V F V
V F F V V F V V F
F F V F V V F V V
F F F F F F F F F
Ejemplo 4
Haciendo uso del operador apropiado, haga el diagrama de flujo de un programa que
permita hallar el mayor de tres números introducidos por teclado, dos o los tres números
pueden ser iguales, en cuyo caso el programa debe anunciar como mayor a cualquiera de
ellos.
INICIO
A,B,C
A>=B and A>=C A ES MAYOR
si
no
B>=A and B>=C B ES MAYOR
si
no
n
o
C>=B and C>=A C ES MAYOR
si
no
FIN
28
FUNDAMENTOS DE LA PROGRAMACIÓN MAT 1104
Ejemplo 5
Haga el diagrama de flujo de un programa que permita hallar el valor intermedio de tres
números enteros y diferentes introducidos por teclado.
INICIO
A,B,C
A>B and B< C B ES INTERME
si
no
C >B and B > A B ES INTERME
si
no
no
A > C and C > B C ES INTERME
si
no
B > C and C > A C ES INTERME
si
no
B >A and A > C A ES INTERME
si
no
no
C >A and A > B A ES INTERME
si
no
FIN
29
FUNDAMENTOS DE LA PROGRAMACIÓN MAT 1104
Ejemplo 6
Haga el diagrama de flujo de un programa INICIO
que permita hallar la suma e imprimir la
serie de los primeros 100 números naturales I = 1 →100
I =100 I+
no
si
I=
S=S+ I
FIN
Ejemplo 7
Haga el diagrama de flujo de un programa que permita transformar un entero de base 10 a
base 8 INICIO
M =1
N >= 8
no
si
F = fracción de N/8
B8 = F * M
M = M * 10
N = entero de N/8
B8
FIN
30