Este documento describe los conceptos básicos de la programación estructurada y modular, incluyendo: 1) La descomposición de un problema en módulos más simples y el uso de estructuras de control como secuencial, alternativa y repetitiva, 2) Las partes básicas de un programa como entrada, proceso y salida de datos, y 3) El uso de diagramas de flujo como organigramas y ordinogramas para diseñar algoritmos de manera gráfica mediante símbolos estándar.
1. Concepto y representaciones
de un Algoritmo.
Estructura y elementos básicos
de un programa.
Diagramas de Flujo
JOAQUÍN LARA SIERRA
2. 1 Programación estructurada y
modular
Desde el nacimiento de la informática y
con el sucesivo paso de los años, se han
ido desarrollando métodos y herramientas
con el objetivo de facilitar y mejorar el
diseño y resolución de programas. Estos
adelantos en el ámbito de la
programación, originaron lo que
actualmente conocemos como
programación estructurada o modular
3. 1.1 Programación estructurada
● Hace referencia a un conjunto de
técnicas que incorporan:
● Diseño descendente ( Top-down)
● Posibilidad de descomponer una acción
compuesta o compleja en términos de
acciones más simples.
● El uso de estructuras básicas de control
(secuencial, alternativa y repetitiva).
4. 1.2 Programación modular.
● Hacemos referencia a la división de un
programa en módulos de manera que
cada uno de ellos tenga encomendada
la ejecución de una única tarea,
simplificando la solución del problema al
máximo.
● Cada módulo se caracteriza por ser
programado y depurado con
independencia del resto de los módulos
5. 1.3 En resumen
● De todo ello podemos concluir:
1)Se minimiza la complejidad del problema y por tanto se
reducen errores en la fase fe codificación o
construcción.
2)Aumenta considerablemente la productividad, no sólo
en el diseño y desarrollo inicial de la aplicación. sino
también en sucesivas fases o etapas en las que se
requiera una modificación o actualización del producto
desarrollado facilitando así la depuración y puesta a
punto de los programas.
7. 2 Partes de un programa
● Entrada de datos, En este bloque se engloban todas aquellas
instrucciones que toman datos de un dispositivo o periféricos
externo, depositándolos posteriormente en memoria central o
principal para poder ser procesados.
● Proceso o algoritmo. Engloba todas aquellas intrucciones
encargadas de procesar la información o aquellos datos
pendientes de elaborar y que previamente habían sido
depositados en memoria principal para su posterior tratamiento.
Finalmente, todos los resultados obtenidos en el tratamiento de
dicha información son depositados nuevamente en memoria
principal, quedando de esta manera disponible.
● Salida de datos o resultados. Este bloque está formado por todas
aquellas instrucciones que toman los resultados depositados en
memoria principal una vez proceado los datos de entrada,
enviándolos seguidamente a un dispositivo o periférico externo.
8. 3 Algoritmos
● Un algoritmo se puede definir como la descripción abstracta de
todas las acciones u operaciones que debe realizar un
computador de forma clara y detallada. así como el orden en el
que éstas deberán ejecutarse junto con la descripción de todos
aquellos datos que deberán ser manipulados por dichas
acciones y que nos conducen a la solución del problema
facilitando así su posterior traducción al lenguaje de
programación correspondiente.
● El diseño de todo algoritmo debe reflejar tres partes de un
programa que son entrada, proceso y salida.
● Es importante tener en cuenta que todo algoritmo debe ser
totalmente independiente del lenguaje de programación.
9. 3.1 Para tener en cuenta
● La dificultad a la hora de conseguir una
solución a un problema en concreto
reside en la fase de diseño, no en la
traducción del algoritmo a un lenguaje
de programación determinado, por ello,
se debe dar mayor importancia y prestar
mas atención al desarrollo de algoritmo
que a la propia codificación, ya que al
conseguir un buen diseño nos facilitará
totalmente su traducción.
10. 3.2 Características
● Debe ser conciso y detallado, es decir debe reflejar con el
máximo detalle el orden de ejecución de cada acción u
operación que vaya a realizar el computador.
● Nunca debe ser rígido en su diseño, debiendo mantener esta
cualidad o característica de flexibilidad en sus representaciones
gráficas , permitiendo y facilitando así las futuras modificaciones
o actualizaciones del diseño realizado.
● Debe tener un comienzo y un final. Por ello se puede decir que
es infinito o limitado.
● Al aplicar el algoritmo n veces con los mismos datos de entrada,
se deben obtener los mismos resultados o datos de salida. Por
ello se puede decir que es exacto o preciso.
● Debe ser lo mas claro y sencillo posible para facilitar su
entendimiento y comprensión por parte del personal informático
11. 4 Diagramas de Flujo
● Para el diseño de los algoritmo se utilizan
técnicas de representación. Una de esas
técnicas son los denominados diagramas de
flujo, que se definen como la representación
gráfica que mediante el uso de símbolos
estándar conectados o unidos mediantes
lineas de flujo, muestran la secuencia lógica de
las operaciones o acciones que debe realizar
un computador, así como la corriente o flujo de
datos en la resolución de un programa.
12. 4 Diagramas de Flujo
● Los diseños deben ser normalizados para
facilitar el intercambio de documentación entre
el personal informático Para ello existen
normas en las que basarse, dictadas por
distintas organizaciones como la ISO
(International Standard Organization), ANSI
(American National Standard Institute)..
13. 4 Diagramas de Flujo
● Los diagramas de flujo se pueden clasificar en
dos grandes grupos:
– Organigramas
– Ordinogramas
● Una de las principales diferencias entre
ambos, es que pertenecen a distintas fases o
etapas de la resolución de un programa.
Mientras que los organigramas corresponden a
las fase de análisis, los ordinogramas
corresponden a la fase de diseño.
14. 4.1 Organigramas
Todo organigrama debe reflejar:
(a) Las distintas áreas o programas en los que se
divide el problema, así como el nombre de
cada uno de ellos.
(b) Las Entradas y Salidas de cada área,
indicando los soportes que serán usados para
el almacenamiento tanto de los datos
pendientes de elaborar o procesar, como de
los resultados obtenidos.
(c) El flujo de los datos.
15. 4.1 Organigramas
REGLAS DE REPRESENTACIÓN
(1) En la parte central del diseño debe figurar el símbolo del
proceso.
(2) En la parte superior del diseño y, siempre por encima del
símbolo de proceso deben figurar los soportes de Entrada.
(3) En la parte inferior del diseño, y siempre por debajo del
símbolo de proceso deben figurar los soportes de Salida.
(4) A la izquierda y derecha del diseño, y por tanto, a ambos
lados del símbolo de proceso, figurarán los soportes que
son tanto de entrada como de salida.
17. 4.2 Ordinogramas
● Son representaciones gráficas que muestran la
secuencia lógica y detallada de las operaciones
que se van a realizar para la resolución de un
problema por medio del ordenador.
● El diseño de un ordinograma debe ser totalmente
independiente del lenguaje de programación
empleado en la codificación del algoritmo,
evitando hacer cualquier referencia a la sintaxis
del lenguaje.
18. 4.2 Ordinogramas
● Todo ordinograma debe reflejar:
(a) Un principio o inicio que marca el comienzo de
ejecución del programa y que viene determinado por
la palabra INICIO.
(b) La secuencia de operaciones, que debe ser lo más
detallada posible y siguiendo siempre el orden en el
que se deberán ejecutar (de arriba abajo y de
izquierda a derecha).
(c) Un fin que marca la finalización de ejecución del
programa y que viene determinado por la palabra
FIN.
19. 4.2 Ordinogramas
REGLAS DE REPRESENTACIÓN :
(1) Todos los símbolos empleados en el diseño deben
estar conectados por medio de líneas de conexión o
líneas de flujo de datos.
(2) El diseño debe realizarse de arriba-abajo y de
izquierda-derecha
(3) Queda terminantemente prohibido el cruce de líneas
de conexión, pues indicaría un ordinograma mal
diseñado. Ejemplos: 1.Diseño Correcto 2. Incorrecto
21. 4.2 Ordinogramas
A un símbolo de proceso pueden llegarle
varias líneas de conexión, pero de él sólo
puede salir una:
22. 4.2 Ordinogramas
A un símbolo de decisión pueden llegarle
varias líneas de conexión, pero de él sólo
pueden salir 2 líneas que corresponden
una a cada posibilidad de las existentes:
23. 4.2 Ordinogramas
A un símbolo de inicio no llega ninguna
línea de conexión y de él sólo puede partir
una línea:
24. 4.2 Ordinogramas
A un símbolo de final de proceso o
ejecución de programa pueden llegar
muchas líneas de conexión, pero de él no
puede partir ninguna:
25. 5 Simbologia de organigramas y
ordinogramas
● Símbolos de
soporte de
información o
dispositivos físicos
26. 5 Simbologia de organigramas y
ordinogramas
● 1) Símbolos de
soporte de
información o
dispositivos físicos
27. 5 Simbologia de organigramas y
ordinogramas
● 2) Símbolos de
proceso
28. 5 Simbologia de organigramas y
ordinogramas
● 3) Líneas de flujo
de datos
29. 5.1 Símbolos usados en los
ordinogramas:
1) Símbolos de operación o proceso:
30. 5.1 Símbolos usados en los
ordinogramas:
2) Símbolos de
estructuras de
control
(alternativas y
bucles):
31. 5.1 Símbolos usados en los
ordinogramas:
3) Líneas de
flujo y símbolos
de conexión: