La computadora debe ser una herramienta que ayude a
las personas a resolver sus problemas y aumentar la productividad. Puedes
desarrollar una solución eficiente a los problemas si:
- Usas
módulos—partir el todo en partes, cada parte tiene una función específica.
- Usas
las cuatro estructuras lógicas para asegurarte que la solución fluye sin
dificultad de una instrucción a otra, en lugar de saltar de un punto de la
solución hacia otro.
a. La estructura
secuencial ejecuta instrucciones, una desoués de otra, en una secuencia.
b. La estructura
de decisión se ramifica para ejecutar uno de dos posibles grupos de
ejecuciones.
c. La estructura
loop ejecuta un grupo de instrucciones muchas veces.
d. La estructura
case ejecuta un grupo de instrucciones fuera de varios grupos. (Este es un
caso especial de la estructura de decisión).
- Eliminas
lo que se repite de un proceso idéntico usando módulos.
- Usas
técnicas para que la programación sea legible, nombrando apropiadamente
las variables, creando documentación interna y usando la sangría
apropiadamente.
La tarea más difícil al desarrollar la solución a un problema es dividir la solución en módulos. La primera pregunta que viene a la mente es sobre qué deberá incluirse dentro del módulo. Los módulos han de ser funcionalmente independientes y han de ejecutar una sola tarea. Por otra parte, los módulos tienen que conectarse entre sí. Estos conceptos opuestos se conocen como cohesión y emparejamiento o acoplamiento.
La cohesión se refiere a la independencia
funcional del módulo y a la ejecución de una sola tarea dentro del módulo. Se
trata de separar el problema en partes de tal forma que cada parte forme un
módulo al que se le asigna completar una tarea independiente, como entrar
datos, imprimir datos, inicializar datos, y así sucesivamente. Cada módulo es
independiente de los otros módulos, con una sola entrada y una salida.
El acoplamiento permite a
los módulos conectarse mediante una interfase, la cual facilita al programador
transferir datos d un módulo a otro. Hay tres técnicas de acoplamiento: los
parámetros usados en las funciones, los nombres de las funciones, y los datos a
los que todos los módulos pueden accesar. El acoplamiento permite la
comunicación entre los módulos.
Por ejemplo, si el Módulo 1 ejecuta la tarea 1
con éxito, se le puede requerir que provea datos para el Módulo 2. La cohesión
resulta de tener módulos separados; el acomplamiento resulta cuando los datos
se pasan del Módulo 1 al Módulo 2.
La tarea del programador es similar a la del escritor de un libro. El escritor piensa primero en el tema (el programador estudia el problema). A continuación, divide el tema en capítulos (el programador rompe el problema en módulos). Una vez los capítulos están organizados y ordenados—bosquejo, el autor empieza a escribir (una vez los módulos están en el orden correcto el programador escribe el algoritmo para cada módulo). Un programador bueno evalúa el algoritmo de cada módulo, antes de escribir el siguiente.
Reglas para el diseño de los módulos
Cada
módulo tiene una identidad aparte. Tiene una entrada y una salida. El proceso
empieza arriba y termina abajo. El proceso no salta del medio de un módulo
a otro módulo. - Cada
módulo tiene una función particular, como imprimir, calcular o entrar
datos.
- Cada
módulo debe ser bastante corto para poder leerlo con facilidad y modificarlo.
- El
tamaño del módulo lo determina su función y el número de instrucciones que
tiene que ejecutar para llevar a cabo su función.
Tipos de módulos
Los tipos de módulos más frecuentes son los
siguientes:
- Módulo
de Control—Este módulo presenta el flujo total de los
datos a través del programa. Es el módulo director o raíz. El resto de
módulos están subordinados a él.
- Módulo
de Inicialización—También se le llama Módulo de Preparación,
procesa instrucciones que se ejecutan una sola vez al principio del
programa. Estas instrucciones incluyen abrir archivos, precisar los
valores de las variables a usarse en el proceso e imprimir l
encabezamiento de los informes.
- Módulo
de Proceso de Datos—Estos módulos se procesan una sola vez;
también pueden ser parte de un loop, que se procesa más de una vez
durante la solución. Los módulos de proceso pueden ser:
- Módulos
de Cálculo, que hace cálculos
aritméticos, acumulaciones (suma el total de los cálculos), numeraciones,
manipulación de datos numéricos, colocar números en orden numérico, poner
una lista de valres en orden alfanumérico, entre otras tareas.
- Módulos
Print o Módulos de salida, que imprimen
como ouput líneas (el resultado del proceso, línea por línea), incluyendo
encabezamientos y compendios.
- Módulos
Read o Módulos de Validación de Datos, que
lee o input datos en la memoria interna de la computadora, valida datos,
entra datos desde el teclado... Los Módulos de Validación de Datos
generalmente se separan de los Módulos Read.
- Módulo
de Cierre—Este módulo prepara la salid, procesa todas
las instrucciones que se ejecutan una sola vez al final del programa.
Estas instrucciones incluyen cerrar archivos e imprimir totales, entre
otras cosas.
Estas dos variables se definen en los módulos. La
diferencia entre ambas variables radica en el alcance de las mismas. Las
variables locales se usan únicamente por el módulo donde se declaran.
Otros módulos no las reconocen. Es lo que permite la cohesión del módulo. Si
otros módulos necesitan usar el valor de la variable, los módulos deben estar
emparejados mediante el uso de parámetros o retorno de valores.
Al contrario de las variables locales, todos los
módulos reconocen las variables globales. Estas variables son globales al
programa y pueden ser usadas por todos los módulos. El programador debe ser
cuidadoso y no poner el mismo nombre a una variable local y global. El uso de
las variables globales frustra uno de los propósitos de la cohesión del módulo.
Cohesión
Acoplamiento
Variables
locales
Variables
globales
Estructuras
logicas
Parámetros
Tipos
de módulos
Preguntas
de discusión
- ¿Qué es un módulo?
- ¿Qué significa cohesión
y acoplamiento de los módulos?
- Menciona los tipos más
importantes de módulos y explica sus funciones.
- Menciona y explica las
cuatro estructuras lógicas.
No comments:
Post a Comment