Logo Studenta

Programação Modular: Conceitos e Exemplos

¡Este material tiene más páginas!

Vista previa del material en texto

Programa educativo 
INGENIERÍA EN SISTEMAS 
COMPUTACIONALES 
 
Grupo 
1 “B” 
 
Nombre de la materia 
FUNDAMENTOS DE PROGRAMACIÓN 
 
Nombre del alumno 
CARLOS HUMBERTO GARCIA LIRA 
 
Nombre del trabajo 
MODULARIDAD 
 
Unidad # 5 
MODULARIDAD 
 
Nombre del Profesor 
ISC JORGE PRADO MERCADO 
 
Fecha 
11 de diciembre de 2021 
 
 
 
 
 
 
 
 
 
2 
 
Unidad 5: MODULARIDAD 
 
FUNDAMENTOS DE PROGRAMACIÓN 
 
ÍNDICE 
 
 
 
Introducción 3 
Modularidad 3 
1. Programación modular 3 
1.1. Ventajas 3 
1.2 Desventajas 3 
1.3 Estructura 4 
1.4 Usos 6 
2. Diferencias entre función, método y procedimiento 6 
2.1. Funciones 6 
2.2. Métodos 7 
2.3. Procedimientos 7 
2.4. Tabla comparativa 7 
3. Primer video (POO, Concepto y creación de métodos) 7 
3.1. Qué son y sus componentes 8 
3.2. Notas y observaciones 8 
4. Segundo video (POO, Métodos, parámetros y argumentos) 8 
4.1. Qué son y su función 8 
4.2. Notas y observaciones 9 
5. Ejemplos de métodos 10 
5.1. Ejemplo 1 10 
5.2. Ejemplo 2 10 
5.3. Ejemplo 3 10 
Conclusiones 11 
Bibliografía 12 
 
(Es un ejemplo, sobrescribir y respetar el formato de estructura, fuente tamaño y colores). 
 
 
 
 
 
3 
 
Unidad 5: MODULARIDAD 
 
FUNDAMENTOS DE PROGRAMACIÓN 
 
 
MODULARIDAD 
 
Introducción 
Gracias a los grandes precursores de la administración, que postularon principios, reglas y 
El paradigma de la programación modular es parte fundamental de la programación, simplifica 
tareas y vuelve más legible el código bien utilizada, sin embargo, presenta algunas limitaciones 
como podemos ver en el presente. Otro punto a destacar de la programación modular, es que 
tiene similitudes con la Programación Orientada a Objetos. 
En el presente, se verán las principales ventajas, desventajas de la programación 
modular, sus componentes, las diferencias entre método, función, procedimiento y algunos 
ejemplos de métodos en JAVA. 
1. Programación modular 
1.1. 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. 
1.2. Desventajas 
 No permite modelar directamente los conceptos del dominio del problema, por lo que el 
nivel de abstracción que se puede lograr es menor que en la programación orientada a 
objetos: mientras que el problema se expresa en la terminología de los usuarios (los 
conceptos presentes en el dominio del problema), los programadores expresan el 
programa en su propio léxico. La necesaria traducción desde el dominio del problema al 
dominio de la solución requiere un mayor esfuerzo de compresión. 
 La separación entre datos (variables) y rutinas (procedimientos y funciones) conduce a 
la necesidad de utilizar variables globales e implica que las capacidades de 
encapsulamiento que el paradigma propone sean limitadas: esto conlleva el riesgo 
 
4 
 
Unidad 5: MODULARIDAD 
 
FUNDAMENTOS DE PROGRAMACIÓN 
 
constante de producir efectos colaterales (modificaciones del estado del programa) no 
deseados que suelen introducir errores difíciles de encontrar. 
 Inflexibilidad: es más difícil introducir cambios porque ello requiere mayores 
modificaciones en el código que ya está funcionando. 
 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. 
1.3. Estructura 
La programación modular se compone de varias técnicas y componentes. 
Diseño descendente 
Es una técnica que permite diseñar la solución de un problema con base en la modularización o 
segmentación dándole un enfoque de arriba hacia abajo (Top Down Design). Esta solución 
permite dividir el problema en módulos que se estructuran e integran jerárquicamente (Fig. 1), 
como si fuera el organigrama de una empresa (López Román, 2003). 
 
Fig. 1. Concepción de módulos. 
 
 
Módulo 
 
5 
 
Unidad 5: MODULARIDAD 
 
FUNDAMENTOS DE PROGRAMACIÓN 
 
Es un segmento, rutina, subrutina, subalgoritmo o procedimiento que puede ser definido dentro 
de un algoritmo mayor con el propósito de ejecutar una tarea específica, pudiendo ser llamado 
o invocado desde el módulo principal cuando se requiera. 
Dicha solución se organiza y divide en partes más pequeñas que sean fácilmente 
manejables y que, lógicamente, puedan ser separadas; así cada una de estas partes se dedica 
a ejecutar una determinada tarea, lo que redundará en una mayor concentración, entendimiento 
y capacidad de solución a la hora de diseñar la lógica de cada una de estas. 
Proceso de modularización o segmentación 
El proceso de segmentación consiste en hacer una abstracción del problema, del cual se tiene 
inicialmente el panorama general. Enseguida se procede a “descomponer” o “dividir” el 
problema en partes pequeñas y simples (Fig. 2). 
 
Fig. 2. Descomposición de módulos. 
 
Cohesión y acoplamiento 
Los módulos deben cumplir dos características básicas para ser candidatos a una buena 
división del problema: 
 Alta cohesión: las instrucciones contenidas dentro de un módulo deben contribuir a la 
ejecución de la misma tarea. 
 
6 
 
Unidad 5: MODULARIDAD 
 
FUNDAMENTOS DE PROGRAMACIÓN 
 
 Bajo acoplamiento: a dependencia entre módulos debe ser mínima. Lo que implica que 
no debe haber datos compartidos entre los módulos. 
La estructura de un programa modular constara de un módulo principal desde el que se 
llamara al resto de los módulos. El módulo principal recibe el control al inicio de la ejecución del 
programa. Cuando se invoca un módulo concreto (a través de su nombre y parámetros), el 
control del programa se pasará al módulo. Este módulo mantendrá el control hasta que no se 
finalice su ejecución en cuyo momento devolverá el control a la instrucción siguiente a la que 
realizo la llamada. 
Cada uno de estos módulos puede hacer a su vez llamadas a otros módulos que siempre 
devolverán el control al módulo desde el que fueron llamados, pone freno a la redundancia del 
código, ya que aíslan las secuencias de instrucciones más usadas y que se repiten, se les da 
un nombre y cuando se quieran usar, simplemente se invocara dicho nombre en el lugar donde 
sea necesario. 
1.4. Usos 
La programación modular es solo un concepto. Su práctica se puede aplicar en cualquier 
lenguaje de programación, especialmente los de naturaleza procedimental, que tienen un 
programa compilado por separado. 
Entre los lenguajes de programación que admiten el concepto de programación modular se 
encuentran C, Ada, PL/I, Erlang, Pascal, Algol, COBOL, RPG, Haskell, Python, HyperTalk, 
IBM/360 Assembler, MATLAB, Ruby, IBM RPG, SmallTalk, Morpho, Java (los paquetes se 
consideran módulos), Perl, etc. 
A manera de ejemplo, supongamos que se diseña un programa que calcula el sueldo del 
trabajador de una empresa. Pensar en el problema de inicio a fin es demasiado complejo, ya 
que implica cálculos. Por lo tanto, es mejor dividirlo de tal forma que en la etapa de análisis se 
identifiquen las distintas tareas a resolver para calcular un sueldo: Por ejemplo, cuánto se debe 
de pagar de IMSS, cuánto de ISPT, cuánto de horas extra, si es que las tuvo, etc. Se podría 
diseñar una función (o módulo) independiente parea cada una de estas tareas y al final “armar” 
todas esas funciones en un solo programa. 
2. Diferencias entre función, método y procedimiento 
2.1. Funciones 
Las funciones son un conjunto de líneas de código (instrucciones), encapsulados en un bloque,usualmente reciben parámetros, cuyos valores utilizan para efectuar operaciones y 
adicionalmente retornan un valor. En otras palabras, una función puede recibir parámetros o 
 
7 
 
Unidad 5: MODULARIDAD 
 
FUNDAMENTOS DE PROGRAMACIÓN 
 
argumentos (algunas no reciben nada), hace uso de dichos valores recibidos como sea 
necesario y retorna un valor usando la instrucción return, si no retorna algo, entonces no es una 
función. En java las funciones usan el modificador static. 
2.2. Métodos 
Los métodos y las funciones en Java están en capacidad de realizar las mismas tareas, es 
decir, son funcionalmente idénticos, pero su diferencia radica en la manera en que hacemos 
uso de uno u otro (el contexto). Un método también puede recibir valores, efectuar operaciones 
con estos y retornar valores, sin embargo, en método está asociado a un objeto, siempre, 
básicamente un método es una función que pertenece a un objeto o clase, mientras que una 
función existe por sí sola, sin necesidad de un objeto para ser usada. En Java se debe hablar 
de métodos y no de funciones, pues en Java estamos siempre obligados a crear un objeto para 
usar el método. Para que sea una función esta debe ser static, para que no requiera de un 
objeto para ser llamada. 
2.3. Procedimientos 
Los procedimientos son básicamente un conjunto de instrucciones que se ejecutan sin retornar 
ningún valor, hay quienes dicen que un procedimiento no recibe valores o argumentos, sin 
embargo, en la definición no hay nada que se lo impida. En el contexto de Java un 
procedimiento es básicamente un método cuyo tipo de retorno es void que no nos obliga a 
utilizar una sentencia return. 
2.4. Tabla comparativa 
Funciones Métodos Procedimientos 
 Conjunto de líneas de 
código 
 Pueden recibir 
parámetros 
 Retornan un valor 
 Modificador static para 
ser funciones 
 
 Conjunto de líneas de 
código 
 Pueden recibir 
parámetros 
 Retornan un valor 
 Siempre están 
asociados a un objeto 
 No deben de llevar el 
modificador static 
 
 Conjunto de líneas de 
código 
 Pueden no recibir 
parámetros 
 No retornan un valor 
 Es un método void 
3. Primer video (62. Programación en Java || POO || Concepto y creación de 
métodos). 
3.1. Qué es un método y sus componentes 
 
8 
 
Unidad 5: MODULARIDAD 
 
FUNDAMENTOS DE PROGRAMACIÓN 
 
 
3.2. Notas y observaciones del video 
 Un atributo es la propiedad o datos de una clase/objeto. 
 Los ejemplos de métodos del video según lo anteriormente visto son procedimientos 
porque usan el void 
 Se crea una instancia del objeto desde otra clase 
4. Segundo video (63. Programación en Java || POO || Métodos - parámetros y 
argumentos). 
4.1. Qué son y su función de los parámetros y argumentos 
 Parámetros: Es una declaración de variable u objeto 
 Argumentos: Es un valor que se envía en un método o función 
 
9 
 
Unidad 5: MODULARIDAD 
 
FUNDAMENTOS DE PROGRAMACIÓN 
 
 
4.2. Notas y observaciones del video 
 Ejemplo de parámetros y argumentos 
 
Los argumentos le indica cuanto debe de acelerar a la función acelerar del objeto miAuto 
 Un atributo es la propiedad o datos de una clase/objeto. 
 Los ejemplos de métodos del video según lo anteriormente visto son procedimientos 
porque usan el void 
 
10 
 
Unidad 5: MODULARIDAD 
 
FUNDAMENTOS DE PROGRAMACIÓN 
 
5. Ejemplos de métodos 
5.1. Método para obtener el número mayor de dos números 
public int numeroMayor(int numero1, int numero2){ 
 return numero1 > numero2 ? numero1 : numero2; 
} 
 
5.2. Método para obtener la suma de un arreglo de números 
public int sumarNumeros(int[] numeros){ 
 int suma = 0; 
 for (int i = 0; i < numeros.length; i++) { 
 suma += numeros[i]; 
 } 
 return suma; 
} 
 
5.3. Método para mostrar en forma de tabla los elementos de un arreglo 
multidimensional 
public void mostrarNumeros(int[][] numeros){ 
 for (int i = 0; i < numeros.length; i++) { 
 for (int j = 0; j < numeros[i].length; j++) { 
 System.out.print(numeros[i][j] + " "); 
 } 
 System.out.println(""); 
 } 
} 
 
 
 
 
 
 
 
 
 
 
11 
 
Unidad 5: MODULARIDAD 
 
FUNDAMENTOS DE PROGRAMACIÓN 
 
Conclusiones 
Como pudimos ver, la programación modular ofrece varias ventajas contra la programación 
estructurada y comparte cosas en común con la programación orientada a objetos. En caso de 
la programación modular se llaman funciones y en la POO métodos según lo expuesto en este 
documento. Para finalizar, los videos sirven como introducción a la POO, ya que se ven los 
atributos de una clase u objeto. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12 
 
Unidad 5: MODULARIDAD 
 
FUNDAMENTOS DE PROGRAMACIÓN 
 
Referencias electrónicas 
1.1.3 Programación Modular. (s.f.). Universidad Autónoma del Estado de Hidalgo. 
Recuperado el 11 de diciembre de 2021, de: 
 http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro32/113_programacin_mo
dular.html 
2. VENTAJAS Y DESVENTAJAS (s.f.). Recuperado el 11 de diciembre de 2021, de: 
https://sites.google.com/site/misitiowebprogramacionengambas/home/ventajas-y-
desventajas 
Corvo, H. (2021, 08 de marzo). Programación modular: características, ejemplos, ventajas, 
aplicaciones. Lifeder. Recuperado el 11 de diciembre de 2021, de: 
https://www.lifeder.com/programacion-modular/ 
Chávez, T. (2017 octubre). Programación Modular. Universidad Autónoma del Estado de 
México. Recuperado el 11 de diciembre de 2021, de: 
http://ri.uaemex.mx/bitstream/handle/20.500.11799/69946/secme-
19449_1.pdf?sequence=1&isAllowed=y 
Funciones (Programación modular). (s.f.). Universidad Ámerica Latina. Recuperado el 11 de 
diciembre de 2021, de: 
http://ual.dyndns.org/biblioteca/Programacion_Estructurada_I/Pdf/Unidad_08.pdf 
Meza, J. (2021). Métodos en Java, funciones y procedimientos. Cómo hacerlos y usarlos. 
ProgramarYa. Recuperado el 11 de diciembre de 2021, de: 
https://www.programarya.com/Cursos/Java/Funciones 
PROGRAMACIÓN ESTRUCTURADA Y MODULAR. (2015, 16 de octubre). Centro universitario 
de San Miguelito. Recuperado el11 de diciembre, de: 
http://programacion2crusam.blogspot.com/2015/10/programacion-estructurada-y-
modular.html

Continuar navegando

Materiales relacionados

352 pag.
PYTHON_PROGRAMACION_V2_3_3

SENAC

User badge image

Santiiago Arboleda

166 pag.
DO--FIN-EE-MAI-UC0687-20162

SIN SIGLA

User badge image

Mucha Aprendizaje

1 pag.
13 pag.
MAPA MENTAL PROGRAMACIÓN

SIN SIGLA

User badge image

Georges Flores