GUIA 2, ALGORITMOS Y DIAGRAMAS DE FLUJO
2.1. Algoritmo.
En un sentido amplio, dado un problema y un dispositivo donde resolverlo, es necesario
proporcionar un método preciso que lo resuelva, adecuado al dispositivo. A tal método
se lo denomina algoritmo (Guerequeta y Vallecillo, 2000). Algoritmo se define como
listas de instrucciones para resolver un problema abstracto, es decir, que un número
finito de pasos convierten los datos de un problema (entrada) en una solución (salida).
De manera más particular, es el método que describe la solución teórica de un problema
computacional mediante una serie de procesos (pasos) definidos y finitos. Un algoritmo
deberá cumplir:
Preciso, indicar el orden de realización en cada caso;
Definido, repetir los pasos n veces para obtener el mismo resultado;
Finito, tiene un número determinado de pasos.
La solución de un algoritmo se define en tres etapas:
Entrada, datos que se necesita para poder ejecutarse;
Proceso, acciones y cálculos necesarios;
Salida, resultado esperado.
Los algoritmos son la base de la programación de ordenadores estructurados en un
orden rígido: no se puede escribir lo que deseáramos; su escritura no debe dejar
posibilidad de duda pero deberá recoger la posibilidad más factible de solución a un
determinado problema.
AUX. DOC. HASSAN ABDUL ALI ORIHUELA 1
Características que deben cumplir un algoritmo:
Debe resolver el problema para el que fuera formulado;
Un algoritmo es independiente del lenguaje de programación;
Debe ser preciso: los resultados de los cálculos deben ser exactos; no es válido
un algoritmo que aproxime una solución;
Debe ser finito: empezar (entrada), procesar y terminar (salir).
Debe ser repetitivo: deben permitir su ejecución tantas veces haga la falta
resolver un problema; no son válidos los algoritmos que al ejecutarse una vez, ya
no se pueda re- utilizarlo.
2.2. Herramientas de un algoritmo
Diagramas de flujo (flow chart); Diagrama de Flujo, es una representación gráfica
que utiliza símbolos por ANSI2 y expresa las sucesivas instrucciones que se deben
realizar para resolver un problema. Las instrucciones no dependen de la sintaxis de
ningún lenguaje de programación, sino sirven únicamente para su codificación en un
lenguaje dado.
Diagramas N-S (Nassi-Schneiderman); conocido también como diagrama de Chapín,
la estructura es similar a la de un diagrama de flujo pero sin visualizar las flechas, se
representa dentro de una sola caja.
Pseudocódigo (falso lenguaje); Permite expresar las instrucciones en un lenguaje
común con la finalidad única de facilitar la escritura, lectura y solución de un
problema (en lo futuro programa). No existen reglas para escribir pseudocódigo.
Es posible que como única regla, el signo igualdad (=) es reemplazado por ←; p.e.
a= b+c ; a ← b+ c.
2.3. Diagrama de Flujo
Los diagramas de flujo son una manera de representar visualmente el flujo de datos a
través de sistemas de tratamiento de información. Los diagramas de flujo describen que
operaciones y en que secuencia se requieren para solucionar un problema dado.
Un diagrama de flujo u organigrama es una representación diagramática que ilustra la
secuencia de las operaciones que se realizarán para conseguir la solución de un problema.
AUX. DOC. HASSAN ABDUL ALI ORIHUELA 1
Los diagramas de flujo se dibujan generalmente antes de comenzar a programar el código
frente a la computadora. Los diagramas de flujo facilitan la comunicación entre los
programadores y la gente del negocio. Estos diagramas de flujo desempeñan un papel
vital en la programación de un problema y facilitan la comprensión de problemas
complicados y sobre todo muy largos. Una vez que se dibuja el diagrama de flujo, llega a
ser fácil escribir el programa en cualquier idioma de alto nivel. Vemos a menudo cómo
los diagramas de flujo nos dan ventaja al momento de explicar el programa a otros. Por
lo tanto, está correcto decir que un diagrama de flujo es una necesidad para la
documentación mejor de un programa complejo.
AUX. DOC. HASSAN ABDUL ALI ORIHUELA 1
2.4. Símbolos matemáticos y lógicos
Dentro de los símbolos fundamentales para la creación de diagramas de flujo, los
símbolos gráficos son utilizados específicamente para operaciones aritméticas y
relaciones condicionales:
+ Suma > Mayor que
- Resta < Menor que
* Multiplicación >= Mayor o igual que
/ División <= Menor o igual que
\ División entera <> Diferente que
^ Exponenciación && Y lógico
= Igualdad || O lógico
Mod Módulo (resto de una ¡ No lógico
división)
Ejercicios de Clase
1. Realizar un diagrama de flujo, para calcular la suma de dos variables ingresadas
por teclado.
2. Hacer leer dos números A y B, evaluar la expresión, T = 2 + A + B, almacenar
resultado en T. Desplegar el resultado.
3. Ingresar el número A, evaluar sucesivamente las siguientes expresiones
(B=A+10; C=2+B+A; D=A+B+C+5) y desplegar los resultados obtenidos.
4. Ingresar un numero X, hallar su cuadrado, cubo, raíz cubica. Desplegar los
resultados.
5. Hacer leer dos números A y B, del mayor restarle el menor, desplegar el
resultado.
AUX. DOC. HASSAN ABDUL ALI ORIHUELA 1
Practica 1.
1. Hacer leer dos números A y B, evaluar la expresión, T = 25 + 2A + B,
almacenar resultado en T. Desplegar el resultado.
2. Realizar un diagrama de flujo, que realice el cálculo del área de un rectángulo.
3. Calcular el salario de un obrero que obtuvo un incremento del 25% sobre el
salario anterior.
4. Hacer Leer un numero entero X, hallar el valor absoluto. Desplegar el
resultado.
5. Realizar un diagrama de flujo para evaluar si un número es par o impar.
6. Hacer leer S en segundos, convertir a minutos. Desplegar resultados.
Bibliografía.
GUEREQUETA, R.; VALLECILLO, A. (2000) [en línea] “Técnicas de Diseño de Algoritmos” Universidad
de Málaga, España. p. 1-6. <[Link] [Acceso: 10, mar. 2011].
FREE SOFTWARE FOUNDATION (2009) [en línea] “[Link] 0.97.1: Programa para Dibujar
Diagramas Estructurados” <[Link] [Acceso: 6, mar. 2011].
VILLALOBOS, R. (2008) “Fundam entos de Programación Java” Ed. Macro, Lima, Perú. p. 28-40.
AUX. DOC. HASSAN ABDUL ALI ORIHUELA 1