PROGRAMACIÓN ESTRUCTURADA Y
PROGRAMACIÓN MODULAR
Programación Estructurada
La programación estructurada es un paradigma de programación orientado a
mejorar la claridad, calidad y tiempo de desarrollo de un programa de
computadora, utilizando únicamente subrutinas y tres estructuras: secuencia,
selección (if y switch) e iteración (bucles for y while).
Origen
A finales de los años 1970 surgió una nueva forma de programar que no
solamente daba lugar a programas fiables y eficientes, sino que además estaban
escritos de manera que facilitaba su mejor comprensión, no sólo proveyendo
ventajas durante la fase de desarrollo, sino también posibilitando una más
sencilla modificación posterior.
El teorema del programa estructurado, propuesto por Böhm-Jacopini, demuestra
que todo programa puede escribirse utilizando únicamente las tres instrucciones
de control siguientes:
v Secuencia
v Instrucción condicional.
v Iteración (bucle de
instrucciones) con condición al principio.
Solamente con estas tres estructuras se pueden escribir todos los
programas y aplicaciones posibles. Si bien los lenguajes de programación tienen
un mayor repertorio de estructuras de control, estas pueden ser construidas
mediante las tres básicas citadas.
Ventajas de la Programación Estructurada
- Los programas son más fáciles de entender, pueden ser leídos de forma secuencial y no hay necesidad de hacer engorrosos seguimientos en saltos de líneas (GOTO) dentro de los bloques de código para intentar entender la lógica.
- La estructura de los programas es clara, puesto que las instrucciones están más ligadas o relacionadas entre sí.
- Reducción del esfuerzo en las pruebas y depuración. El seguimiento de los fallos o errores del programa (debugging) se facilita debido a su estructura más sencilla y comprensible, por lo que los errores se pueden detectar y corregir más fácilmente.
- Reducción de los costos de mantenimiento. Análogamente a la depuración, durante la fase de mantenimiento, modificar o extender los programas resulta más fácil.
- Los programas son más sencillos y más rápidos de confeccionar.
- Se incrementa el rendimiento de los programadores
Desventajas:
- Complejidad para adaptarse
- Mayor cantidad de código.
Lenguajes
Es posible hacer la programación estructurada en cualquier lenguaje de
programación, aunque es preferible usar algo como un lenguaje de programación procedimental.
Algunos de los lenguajes utilizados inicialmente para programación estructurada
incluyen: ALGOL, Pascal, PL/I y Ada —pero la mayoría de los nuevos lenguajes de
programación procedimentales desde entonces han incluido características para fomentar
la programación estructurada y a veces deliberadamente omiten características,
en un esfuerzo para hacer más difícil la programación no estructurada.
PROGRAMACIÓN MODULAR
La programación modular es un paradigma de programación que consiste en dividir
un programa en módulos o subprogramas con el fin de hacerlo más legible y
manejable.
Se presenta históricamente como una evolución de la programación
estructurada para solucionar problemas de programación más grandes y complejos
de lo que ésta puede resolver.
Al aplicar la programación modular, un problema complejo debe ser
dividido en varios subproblemas más simples, y estos a su vez en otros
subproblemas más simples. Esto debe hacerse hasta obtener subproblemas lo
suficientemente simples como para poder ser resueltos fácilmente con algún
lenguaje de programación. Ésta técnica se llama refinamiento sucesivo, divide y
vencerás ó análisis descendente (Top-Down).
Definición y características de un módulo
Un módulo es cada una de las
partes de un programa que resuelve uno de los subproblemas en que se divide el
problema complejo original. Cada uno de estos módulos tiene una tarea bien
definida y algunos necesitan de otros para poder operar. En caso de que un
módulo necesite de otro, puede comunicarse con éste mediante una interfaz de
comunicación que también debe estar bien definida.
Si bien un módulo puede entenderse como una parte de un programa en
cualquiera de sus formas y variados contextos, en la práctica se los suele
tomar como sinónimos de procedimientos y funciones. Pero no necesaria ni
estrictamente un módulo es una función o un procedimiento, ya que el mismo
puede contener muchos de ellos.
Características de un módulo
Tamaño relativamente pequeño: Esto facilita aislar el impacto que pueda tener
la realización de un cambio en el programa, bien para corregir un error, o bien
por rediseño del algoritmo correspondiente.
Independencia modular: Cuanto más independientes son los módulos entre
sí más fácil y flexiblemente se trabajará con ellos, esto implica que para
desarrollar un módulo no es necesario conocer detalles internos de otros
módulos. Como consecuencia de la independencia modular un módulo cumplirá:
·
Características de caja negra, es decir abstracción.
·
Aislamiento de los detalles mediante encapsulamiento.
La independencia modular mejora el rendimiento humano, pudiendo
realizarse programación en equipo y desarrollar módulos paralelamente. También
contribuye a la reutilización de software.
Ventajas y desventajas de la programación modular
Ventajas:
·
Un programa modular es más fácil de escribir y depurar (ejecutar, probar
y poner a punto). Se puede profundizar en las pruebas parciales de cada módulo
mucho más de lo que se hace un programa mayor.
·
Un programa modular es fácil de mantener y modificar.
·
Un programa modular es fácil de controlar. El desglose de un problema en
módulos permite encomendar los módulos más complejos a los programadores más
experimentados y los más sencillos a los programadores más noveles.
·
Posibilita el uso repetitivo de las rutinas en el mismo o en diferentes
programas.
Desventajas:
·
No se dispone de algoritmos formales de modularidad, por lo que a veces
los programadores no tienen claras las ideas de los módulos.
·
La programación modular requiere más memoria y tiempo de ejecución.
Metodología de diseño
METODOLOGÍA DISEÑO ESTRUCTURADA
|
DEFINICIÓN
|
Análisis del problema
|
El propósito del análisis de un problema es ayudar al programador para
llegar a una cierta comprensión de la naturaleza del problema
|
Diseño o Desarrollo de un Algoritmo
|
Una computadora no tiene la capacidad para solucionar más que cuanto
se le proporcionan los sucesivos pasos a realizar. Estos pasos sucesivos que
indican las instrucciones a ejecutar por la maquina constituyen, como ya
sabemos el algoritmo.
|
Codificación
|
Es el algoritmo traspasado a la computadora a través de un lenguaje de
programación, debe ser escrito de acuerdo a las reglas gramaticales o
sintaxis del mismo.
|
Compilación
y Ejecución del Programa
|
Compilación, el lenguaje de programación seleccionado revisa que ya no
halla errores en el código fuente. Ejecución, ejecutar el programa después
del ser compilado.
|
Verificación
y Validación
|
Revisar que el programa de los resultados que el usuario quiere, hay
que revisar si hay algún error el cual puede ser de tipo lógico, de semántica
o ejecución.
|
Depuración
|
Corregir los errores encontrados en la etapa anterior, si hubiese
algún error se tiene que regresar hasta la etapa que sea necesaria para que
la solución sea la que el usuario requiere
|
Mantenimiento
|
Mantenimiento preventivo es que hagamos lo posible por no caer en
errores, la actualización si el usuario tiene la necesidad de quitar o poner
algo; téngase en cuenta que cuando surge mantenimiento tenemos que volver a
hacer todos los pasos anteriores revisando que todas la condiciones sean
favorables alrededor del sistema.
|
Documentación
|
Corregir los errores encontrados en la etapa anterior, si hubiese
algún error se tiene que regresar hasta la etapa que sea necesaria para que
la solución sea la que el usuario requiere.
|
METODOLOGÍA DE
DISEÑO MODULAR
|
DEFINICIÓN
|
Módulo de raíz /Principal
|
Coordina la realización de
todas las funciones lógicas.
|
Módulo de entrada
|
Función de captura de datos
|
Módulo de proceso
|
Características es
porque en el mismo se realiza
un tratamiento o calculo general.
|
Módulo de salida
|
Se caracteriza por que su función consiste propiamente
en efectuar la salida de la
información procesada.
|
Nota: La programación estructurada esta enfocada al desarrollo del programa final y la programación modular es parte del diseño de programación y determina si un datos puede ser entrada o salida de otro proceso.Estos
proceso no debe ser enseñado como si fuera dos programaciones que actúan
independiente, sino como una
sola a la hora de elaborar un programa.
GLOSARIO
PALABRA
|
DEFINICIÓN
|
1.MÓDULO
|
Es una parte
repetitiva, autónoma e intercambiable de un diseño modular.
|
2.LENGUAJE
|
Se entiende a un sistema de comunicación que posee una determinada estructura, contenido y uso. |
3. GOTO
|
Es una instrucción propia de los primeros
lenguajes de programación BASIC
|
4. PROGRAMACIÓN
ESTRUCTURADA
|
La programación estructurada es un paradigma de
programación orientado a mejorar la claridad, calidad y tiempo de desarrollo
de un programa de computadora, utilizando únicamente subrutinas y tres
estructuras: secuencia, selección (if y switch) e iteración (bucles for y
while).
|
5. PROGRAMACIÓN MODULAR
|
La programación modular es un paradigma de programación que
consiste en dividir un programa en módulos o subprogramas con el fin de
hacerlo más legible y manejable.
|
6. DEBUGGING
|
Es el proceso de encontrar y resolver los errores o
defectos que impiden el correcto funcionamiento de los programas informáticos
o un sistema.
|
7. ENTRADA
|
Es la información producida por el usuario con el propósito
del control del programa.
|
8. PROCESO
|
Proceso referido a las instrucciones que ejecutará el
microprocesador mientras lee un programa determinado.
|
9. SALIDA
|
Muestras de
información al usuario después de ser procesado atraves
un programa
|
10. DISEÑO
|
Proyectar, coordinar, seleccionar y organizar un conjunto
de elementos para producir y crear objetos visuales destinados a comunicar
mensajes específicos a grupos determinados.
|
11. MANTENIMIENTO
|
El mantenimiento informático, o también llamado soporte
informático, consiste en una serie de tareas que son llevadas a cabo por
personal interno o por empresas especializadas para mantener en determinados
niveles de servicio los sistemas informáticos.
|
12. RAÍZ
|
Es el primer directorio o carpeta en una jerarquía.
Contiene todos los subdirectorios de la jerarquía.
|
13. INTERFAZ
|
Conexión que se da de manera física y a nivel de utilidad
entre dispositivos o sistemas.
|
14. SUBPROGRAMA
|
Bloque de sentencias ejecutables que es parte de
un programa raíz.
|
15. METODOLOGÍA
|
Conjunto o sistema de métodos, principios y reglas que
permiten enfrentar de manera sistemática el desarrollo de un programa que
resuelve un problema algorítmico.
|
y
ResponderEliminarMuchas Gracias Profesor
ResponderEliminarWoori Casino: Online Casino Games and Slots
ResponderEliminarThe Woori Casino software company gioco digitale focuses on developing the best online casino games. Learn the best games, bonus codes and promotions for 제왕카지노 your 우리카지노 favorite players