Está en la página 1de 11

MODULARIDAD Y ARREGLOS EN LA PROGRAMACIÓN

¿QUÉ ES MODULO?

Se puede definir a la programación modular como aquella que usa el concepto de dividir un
problema complejo en sub-problemas más pequeños, hasta que estos sean fáciles de tratar y
resolver por separado. Así las soluciones de los sub-problemas en conjunto dan como
resultado la solución del problema completo

De esta manera, en lugar de resolver una tarea compleja y tediosa, resolvemos otras más
sencillas y a partir de ellas llegamos a la solución. Esta técnica se usa mucho en programación
ya que programar no es más que resolver problemas, y se le suele llamar diseño descendente,
metodología del divide y vencerás.

Es evidente que, si esta metodología nos lleva a tratar con sub-problemas, entonces también
tengamos la necesidad de poder crear y trabajar con subprogramas para resolverlos. A estos
subprogramas se les suele llamar MÓDULOS, de ahí viene el nombre de programación
modular. En la programación modular disponemos de dos tipos de módulos: los
procedimientos y las funciones.

La programación modular está basada en la técnica de diseño descendente, que como ya


vimos, para después recomponer los resultados y obtener la solución al problema.

EJEMPLO

Supongamos que un profesor quiere crear un programa para gestionar las notas de sus
alumnos. Quiere que dicho programa le permita realizar tareas tales como asignar notas,
cambiar notas, ver las notas según distintas calificaciones, etc.

0
Esquema que representa una de las posibles divisiones del problema en módulos.

Un sub-problema se denomina módulo y es una parte del problema que se puede resolver de
manera independiente. Que un módulo sea independiente nos permite, por un lado,
concentrarnos en su resolución olvidándonos del resto del problema, y, por otro lado, permite
reutilizar la solución obtenida para otra parte del programa u otro programa distinto.

Cada módulo se codifica dentro del programa como un subprograma, es decir, una sección
de código independiente que realiza una tarea específica dentro del programa.

¿QUÉ ES MODULARIDAD?

El modularidad es la capacidad que tiene un sistema de ser estudiado, visto o entendido como
la unión de varias partes que interactúan entre sí y que trabajan solidariamente para alcanzar
un objetivo común, realizando cada una de ellas una tarea necesaria para la consecución de
dicho objetivo. Cada una de esas partes en que se encuentre dividido el sistema recibe el
nombre de módulo. Idealmente un módulo debe poder cumplir las condiciones de caja negra,
es decir, ser independiente del resto de los módulos y comunicarse con ellos (con todos o
sólo con una parte) a través de unas entradas y salidas bien definidas.

1
OBJETIVOS DE LA PROGRAMACIÓN MODULAR

a) Dividir la complejidad de un problema convirtiendo problemas complejos en un conjunto


de problemas más simples y por tanto más sencillos de implementar.

b) Reutilizar el código de un programa en cualquier momento de la ejecución del mismo.

c)Evidentemente la división de un problema en módulos no tiene por qué ser ni única ni


obligatoria, pero si es claramente aconsejable a la hora de abordar un problema para lo cual
que se aplican diversos conceptos y técnicas entre las que se encuentran el diseño
descendente, el proceso de modularización y el paso de parámetros, por mencionar algunos.

VENTAJAS Y DESVENTAJAS

Ventajas

 Aumentar la legibilidad y comprensión del programa


 Reducir el tiempo de desarrollo, aprovechando módulos ya existentes
 Permitir la resolución del problema por varios programadores a la vez
 Facilitar la depuración del programa
 Facilitar el mantenimiento
 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.
 Es fácil de mantener y modificar.
 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.

2
LÉXICO Y SINTAXIS DE LA PROGRAMACIÓN MODULAR

(PARÁMETROS, ESTRUCTURA EL MÓDULO)

En el tratamiento de funciones o subprogramas hay que distinguir tres instancias


fundamentales:
 La declaración de la función
 La definición de la función
 La llamada a la función

Un sub-problema se denomina módulo y es una parte del problema que se puede resolver de
manera independiente. Que un módulo sea independiente nos permite, por un lado,
concentrarnos en su resolución olvidándonos del resto del problema, y, por otro lado, permite
reutilizar la solución obtenida para otra parte del programa u otro programa distinto.
Cada módulo se codifica dentro del programa como un subprograma, es decir, una sección
de código independiente que realiza una tarea específica dentro del programa.
El concepto de subprograma es una evolución del antiguo concepto de subrutina, presente en
lenguajes como ensamblador, Basic o primeras versiones de Fortran.
Una subrutina es una sección de código separada del programa principal que puede ser
llamada en un momento dado (llamada a subrutina) y que una vez acabada su ejecución
vuelve al punto donde se realizó la llamada.
Un subprograma hace el papel de un programa. Puede tener una sección de declaraciones
(variables, constantes, etc…) y posee también unos datos de entrada y de salida. Esto permite,
como ya veremos, que el subprograma sea totalmente independiente del programa principal.

3
En un subprograma hay que distinguir dos aspectos fundamentales:
• La definición del subprograma: Es la especificación de los parámetros de entrada y salida
y las sentencias del subprograma.
• La llamada al subprograma: Es una sentencia que pasa el control del programa al
subprograma. Cuando el subprograma acaba su ejecución, el control vuelve a la sentencia
siguiente a la llamada.
Un subprograma puede necesitar o devolver datos. A estos datos se les denomina parámetros.
Los parámetros pueden ser de entrada o de salida.
Los parámetros que se incluyen en la definición del subprograma se denominan parámetros
formales. Los parámetros que se pasan al subprograma en la llamada se denominan
parámetros reales.
EJEMPLO DE MODULO EN PSEUDOCÓDIGO Y C#
En C la técnica de programación modular se implementa mediante la utilización de
funciones. Una función permite agrupar un conjunto de instrucciones en un bloque que
típicamente realizara una tarea elemental. Por lo general en C, los programas se escriben
combinando nuevas funciones que el programador diseña, con funciones “pre-empacadas”.
Las funciones permiten modularizar un programa y se invocan mediante una llamada de
función que específica el nombre de la misma y proporciona información (en forma de
argumentos) que la función llamada necesita a fin de llevar a cabo la tarea que tiene
designada.

4
EJEMPLO EN PSEUDOCÓDIGO C#
Ejercicio programa de una librería
Realizar un algoritmo que resuelva el programa abajo descrito y que introduzca:
- Programación por módulos.
- Declaración de variables, utilizando la asignación por paquetes
- Salida del programa controlada por el usuario.
Una librería dispone de un archivo donde se guarda información relativa a un lote de libros
estructurada de la siguiente manera:
Dato (1) = [Número de ISBN, 10 dígitos]
Dato (2) = [Precio de venta al público, en euros]
Dato (3) = [Señalero, -33 Libro de menos de un año de antigüedad
-66 Libro de uno a tres años de antigüedad
-99 Libro de más de tres años de antigüedad]
Dato (4) = [Número de ISBN]
*
*
*
Dato (n – 1) = [Señalero -33, -66, -99]
Dato(n) = [Señalero -500, Fin del lote]
Se desea desarrollar un programa que permita:
a) Consultar el precio de un libro dado su ISBN.
b) Conocer el precio del lote de libros en conjunto.
Teniendo en cuenta lo siguiente: si el libro tiene menos de un año de antigüedad su precio
coincide con el registrado. Si tiene entre uno y tres años deberá aplicarse un descuento del
15%. Si tiene más de tres años deberá aplicarse una rebaja del 25%.
SOLUCIÓN

Pseudocódigo:

5
6
ARREGLOS EN PROGRAMACION
¿QUE ES UN ARREGLO?
Un arreglo es un conjunto de datos o una estructura de datos homogéneos que se encuentran
ubicados en forma consecutiva en la memoria RAM (sirve para almacenar datos en forma
temporal).
Un arreglo puede definirse como un grupo o una colección finita, homogénea y ordenada de
elementos. Los arreglos pueden ser de los siguientes tipos:
 De una dimensión.
 De dos dimensiones.
 De tres o más dimensiones.
TIPOS DE ARREGLOS
 Arreglos unidimensionales.
 Arreglos multidimensionales.
 Arreglo con múltiples subíndices.

Arreglos unidimensionales
Es un tipo de datos estructurado que está formado de una colección finita y ordenada de datos
del mismo tipo. Es la estructura natural para modelar listas de elementos iguales. Están
formados por un conjunto de elementos de un mismo tipo de datos que se almacenan bajo un
mismo nombre, y se diferencian por la posición que tiene cada elemento dentro del arreglo
de datos. Al declarar un arreglo, se debe inicializar sus elementos antes de utilizarlos. Para
declarar un arreglo tiene que indicar su tipo, un nombre único y la cantidad de elementos que
va a contener.
 Es una lista o vector
 Declaración
-Tipo dato nom_arreglo [tamaño];
-Tipo dato: de que tipo serán los elementos.
Recordar que todo son del mismo tipo
-Nom_arreglo: nombre para la variable tipo
arreglos
- []: nos indica que su dimensionalidad es uno
-Tamaño: la cantidad de elementos que a los
más podrá contener el arreglo.

7
Arreglos bidimensionales
Es un tipo de dato estructurado, que está compuesto por dimensiones. Para hacer referencia
a cada componente del arreglo es necesario utilizar n índices, uno para cada dimensión. El
término dimensión representa el número de índices utilizados para referirse a un elemento
particular en el arreglo. Los arreglos de más de una dimensión se llaman arreglos
multidimensionales.

8
Operaciones con arreglos
Las operaciones en arreglos pueden clasificarse de la siguiente forma:
Lectura: este proceso consiste en leer un dato de un arreglo y asignar un valor a cada uno de
sus componentes
Escritura: Consiste en asignarle un valor a cada elemento del arreglo.
Asignación: No es posible asignar directamente un valor a todo el arreglo
Actualización: Dentro de esta operación se encuentran las operaciones de eliminar, insertar
y modificar datos. Para realizar este tipo de operaciones se debe tomar en cuenta si el arreglo
está o no ordenado.
Ordenación.
Búsqueda.
Insertar.
Borrar.
Modificar.

Diferencia entre un arreglo


unidimensional y bidimensional

9
CONCLUSIONES
La conclusión final de este informe era de abarcar y dar una idea entendible de lo que es
modularidad y arreglos en la programación, con este fin se desarrolló el tema dando por
entendido la importancia de utilizar los mecanismos necesarios para la resolución,
clasificación y simplificación de los problemas que se presentan en la programación, así
como la solución de estos mediante los usos de las herramientas en los distintos tipos de
lenguaje de programación, específicamente en el C#.

Las utilizaciones de estas herramientas en la programación ayudaran al Ing. o especialista en


programación a entender mejor el problema, ya que de otra manera le sería más difícil de
utilizar las herramientas en los distintos tipos de lenguajes de programación porque si no
comprendemos y simplificamos un problema seriamos menos eficientes a la hora de resolver
problemas.

Es por ello la importancia de saber manejar los arreglos en la programación, los mecanismos
que utilizan módulos de simplificación de problemas y los usos que se les puede dar en los
distintos lenguajes de programación.

10