SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
Programación
Modular
Objetivos:
1. Desarrollar habilidades de programación básicas bajo el paradigma de programación modular y
recursiva.
2. Modularizar programas a través de la implementación de procedimientos y funciones.
Antecedentes Históricos
Fue a finales de los años sesenta y comienzos de la década de los setenta que nace
la programación estructurada. Con ella se incorporaron estructuras de control de
flujo, que permitieron que un programa fuera más fácil de trazar.
A partir de allí surgió un nuevo inconveniente.
Los desarrolladores vieron que en el funcionamiento de programas grandes y
complejos, era imperioso dividir el programa en unidades más pequeñas.
Es allí precisamente donde surge el concepto de la programación modular.
¿Programación Modular?
Es el proceso de subdividir un programa de computadora en subprogramas
separados a los que llamamos Módulos.
Un módulo: es un componente de software separado. A menudo se puede usar en
una variedad de aplicaciones y funciones con otros componentes del sistema.
Tecno-explicación sobre la programación modular
Tecno-explicación sobre la programación modular
1.-Se incorporan a través de interfaces.
2.-Están diseñados de tal manera que minimizan las dependencias entre los
diferentes módulos.
3.-Los equipos pueden desarrollar módulos por separado y no requieren el
conocimiento de todos los módulos del sistema.
4.-Cada aplicación modular, tiene asociado un número de versión.
Estructura sobre programación modular
a) El módulo principal se compila como un ejecutable (EXE).
b) Los módulos auxiliares existen como archivos ejecutables separados.
c) Cada módulo tiene un nombre único asignado en la instrucción PROGRAM.
d) Los nombres de funciones en los módulos deben ser únicos.
Técnicas o Tipos de
Programación Modular
1. Técnicas de programación modular.
1.1 Top-Down o análisis descendente
De arriba hacia abajo. Conocida también como programación descendente.
En la mayoría de los casos esta técnica Top-Down se utiliza en conjunto con pseudocódigo,
para de esta manera poder generar una herramienta de diseño de algoritmos adecuada.
Fue promovido por: Harlan Mills y Niklaus Wirth en los años setenta.
1. Técnicas de programación modular.
1.2 Bottom-Up
De abajo hacia arriba. Toma primero la programación de los módulos del nivel más
bajo, y luego van surgiendo los módulos de niveles superiores.
Dato Importante
La programación orientada a objetos (OOP) es compatible con el concepto de
programación modular en gran medida como un reemplazo más acorde a las
necesidades actuales.
1. Técnicas de programación modular.
1.3 Programación orientada a Objetos
Características esenciales:
1. Modularidad
2. Funcionalidad
3. Variable
4. Procedimental
1. Modularidad
 El programa incluye subprogramas que han sido desarrollados con códigos independientes.
 Cada módulo es un conjunto de sentencias que permiten realizar una acción u operación.
 Gracias a su modularidad, la programación modular permite disponer de pequeños módulos o
sentencias simples que se acoplan a la función principal del software, en reemplazo de una
única función principal larga.
 Cada uno de los módulos es más fácil de comprender, con lo cual es posible al final tener una
gran solución para un problema complejo.
 La comunicación entre estos subprogramas se realiza por medio de parámetro=variable.
2. Funcionalidad
 En la programación modular es necesario utilizar funciones que incluyen definición, comandos y
sentencias.
 Todas las funciones incluyen una sentencia de retorno.
 Las funciones utilizan las sentencias de las variables adicionales.
3. Variable
 La programación modular incluye variables que se encuentran dentro de la función principal del
programa.
 Con cada función que se ejecuta, las variables tienen un valor específico, aunque como su nombre
lo indica, este valor puede cambiar cada vez que se lleva a cabo dicha función.
 Existen dos tipos de variables: Las variables locales y las variables globales. Estas últimas son
definidas de forma externa al programa principal, pero están relacionadas a las funciones que se
encuentran dentro del programa.
4. Procedimental
 Está orientada por completo a la escritura de código para la creación de funciones.
 No toma en cuenta los datos.
2. Procedimientos y funciones.
Los procedimientos y funciones, son definidos como un conjunto de sentencias o
instrucciones que se encargan de desarrollar un proceso específico o particular.
Utiliza el concepto de programación modular, porque inicia de lo general y avanza a
lo particular, conservando la popular frase de “divide y vencerás”
Diferencias entre funciones y procedimientos
Parámetros de entrada Parámetros de salida Proceso
Funciones uno o varios uno sólo más específico
Procedimientos cero o varios uno o varios específico
Las funciones y procedimientos tienen el mismo concepto con las siguientes diferencias:
Funciones:
Definición:
La definición de nuestra función será la
función en sí, es decir el código de la
misma y tiene la siguiente estructura:
3. Paso de parámetros por valor.
Si recordamos un poco al respecto, al realizar la definición de la función
colocamos los parámetros que ésta recibe especificando el tipo de dato de los
mismos.
Luego, cuando hacemos el llamado y especificamos los argumentos, estos se
evalúan y se le pasa a la función una copia de los mismos. A esto es lo que
llamamos paso por valor ya que la función trabajará con los valores de esas
copias. Si pasáramos variables como argumento, éstas no se modificarían por
este sistema de copias.
Ver documento sobre 3. Paso de parámetros por valor y referencia.pdf en plataforma Moodle
3. Paso de parámetros por referencia.
Si recordamos un poco al respecto, al realizar la definición de la función
colocamos los parámetros que ésta recibe especificando el tipo de dato de los
mismos.
Luego, cuando hacemos el llamado y especificamos los argumentos, estos se
evalúan y se le pasa a la función una copia de los mismos. A esto es lo que
llamamos paso por valor ya que la función trabajará con los valores de esas
copias. Si pasáramos variables como argumento, éstas no se modificarían por
este sistema de copias.
Ver documento sobre 3. Paso de parámetros por valor y referencia.pdf en plataforma Moodle
Diagramación sobre paso de parámetros
Ver documento sobre 3. Paso de parámetros por valor y referencia.pdf en plataforma Moodle
5. Funciones recursivas.
 Un objeto es recursivo si su definición requiere la definición previa del objeto en un caso más sencillo.
 Una función es recursiva si su resolución requiere la solución previa de la función para casos más sencillos.
 Un algoritmo A que resuelve un problema P es recursivo si está basado directa o indirectamente en sí mismo.
Un diseño recursivo constará de las siguientes etapas:
1. Definición del problema.
2. Análisis de casos. Identificación de la función limitadora.
3. Trascripción algorítmica y verificación de cada caso.
4. Validación de la inducción: la función limitadora decrece estrictamente en las llamadas.
La recursividad y la iteración son los dos mecanismos suministrados por los
lenguajes de programación para describir cálculos que han de repetirse un
cierto número de veces.
Tipos de recursiones
Recursión lineal
Si cada llamada recursiva genera, como mucho otra llamada recursiva.
 FINAL: si la llamada recursiva es la última operación que se efectúa, devolviéndose como resultado lo que se
haya obtenido de la llamada recursiva sin modificación alguna.
 NO FINAL: El resultado obtenido de la llamada recursiva se combina para dar lugar al resultado de la función
que realiza la llamada.
Tipos de recursiones
Recursión multiple
Si alguna llamada puede generar más de una llamada adicional.
Tipos de recursiones
Recursión anidada
Hay recursión anidada cuando uno de los argumentos de la función recursiva es el resultado de la llamada recursiva.
¿Qué lenguaje de programación se utiliza?
En la actualidad uno de los lenguajes de programación más usados que
soportan el concepto de programación modular es Java.
Sin embargo, existen otros lenguajes de programación que Java. Estos son algunos ejemplos:
 C
 Ada
 PL/I
 Erlang
 Pascal
 Algol
 COBOL
 RPG
 Haskell
 Python
 Ruby
 SmallTalk
 Morpho
 Perl
 HyperTalk
 IBM/360
Assembler
 MATLAB
 IBM RPG
Concluyentemente:
Podemos decir que cada módulo es un segmento, una rutina, una subrutina, un subalgoritmo o
un procedimiento que permite ejecutar una tarea específica, y que opera dentro del módulo
principal.
Sin embargo, cabe aclarar que un módulo no es simplemente una función o un procedimiento,
porque en realidad puede contener en sí muchos de ellos.
Por ende, ten en cuenta que cada módulo es un bloque de sentencias que resuelve un problema
particular.
Concluyentemente:
A la hora de diseñar funciones se deben tener en cuenta factores como la cohesión, el
acoplamiento, la estructura del programa y la jerarquía de control.
La recursividad es una de las estrategias más potentes y elegantes en el diseño de soluciones,
entre los inconvenientes que tiene destacan el consumo de memoria y la complejidad en su
diseño.
Para facilitar todo el trabajo con módulos y funciones se crean las librerías (un conjunto
documentado, probado y, en su caso, previamente compilado, de procedimientos y funciones que
es posible invocar desde otro programa). Las librerías son un claro ejemplo de reutilización del
software.
Importancia de la
Programación Modular
Permite resolver un problema dividiéndolo en
problemas más pequeños, más conocidos como
subproblemas. Esto es de mucha importancia
para el desarrollo de aplicaciones modernas.
Para que la programación modular sea exitosa
es que los nombres de las funciones en los
diferentes módulos deben ser únicos (Se hace
más sencillo el acceso para cuando desees
exportar las funciones utilizadas por el módulo
principal)
Actividad de la Semana
Estudiar esta presentación para el cuestionario de la semana.
Referencias
Chávez Soto, Tania L. (octubre de 2017). “Programación Modular” . Recuperado
de https://ri.uaemex.mx/bitstream/handle/20.500.11799/69946/secme-19449_1.pdf?sequence=1
http://informatica.uv.es/iiguia/2000/AED/oldwww/2004_05/AED.Tema.05.pdf
http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro32/glosario.html
¡Inmensas Bendiciones!
Ante consultas pueden incluirlas en “Foro de Consultas sobre la Asignatura”
o a través del e-mail: silvia.moran@católica.edu.sv

Más contenido relacionado

Similar a Unidad III-Programación Modular-introducción al lenguaje programable.pdf

Similar a Unidad III-Programación Modular-introducción al lenguaje programable.pdf (20)

FUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE CFUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE C
 
Modulo 1 algoritmo
Modulo 1 algoritmoModulo 1 algoritmo
Modulo 1 algoritmo
 
Modulo 1 algoritmo
Modulo 1 algoritmoModulo 1 algoritmo
Modulo 1 algoritmo
 
Apun9algol
Apun9algolApun9algol
Apun9algol
 
UNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓNUNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓN
 
Programacion Funcional
Programacion FuncionalProgramacion Funcional
Programacion Funcional
 
Programación modular
Programación modularProgramación modular
Programación modular
 
Paradigmasdeprogramacion
ParadigmasdeprogramacionParadigmasdeprogramacion
Paradigmasdeprogramacion
 
Programación Modular y Estructyrada
Programación Modular y EstructyradaProgramación Modular y Estructyrada
Programación Modular y Estructyrada
 
Clase 2
Clase 2Clase 2
Clase 2
 
Programación Modular
Programación ModularProgramación Modular
Programación Modular
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Paradigmas programacion
Paradigmas programacionParadigmas programacion
Paradigmas programacion
 
Fundamentos de Lenguaje de programacion
Fundamentos de Lenguaje de programacionFundamentos de Lenguaje de programacion
Fundamentos de Lenguaje de programacion
 
Transparencias7
Transparencias7Transparencias7
Transparencias7
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacion
 
Diseño Estructurado
Diseño EstructuradoDiseño Estructurado
Diseño Estructurado
 
Programación modular
Programación modularProgramación modular
Programación modular
 
Programación rientada a Aspectos - David Burbano
Programación rientada a Aspectos - David BurbanoProgramación rientada a Aspectos - David Burbano
Programación rientada a Aspectos - David Burbano
 

Último

REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfIrapuatoCmovamos
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosssuser948499
 
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfCUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfEDUARDO MAMANI MAMANI
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciaferg6120
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria deCalet Cáceres Vergara
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfluisccollana
 
El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)estebancitoherrera
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicaciónJonathanAntonioMaldo
 
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfCritica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfRodrigoBenitez38
 
Unidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaUnidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaSilvia García
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfJC Díaz Herrera
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfIrapuatoCmovamos
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechojuliosabino1
 
HABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfHABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfGEINER22
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresamerca6
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...israel garcia
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfJC Díaz Herrera
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalIngrid459352
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,juberrodasflores
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitariachayananazcosimeon
 

Último (20)

REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdfREPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
REPORTE-HEMEROGRÁFICO-MARZO-2024-IRAPUATO-¿CÓMO VAMOS?.pdf
 
Data Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datosData Warehouse.gestion de bases de datos
Data Warehouse.gestion de bases de datos
 
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdfCUESTIONARIO A ADICCION A REDES SOCIALES.pdf
CUESTIONARIO A ADICCION A REDES SOCIALES.pdf
 
triptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescenciatriptico-de-las-drogas en la adolescencia
triptico-de-las-drogas en la adolescencia
 
bases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria debases-cye-2024(2) una sola descarga en base de feria de
bases-cye-2024(2) una sola descarga en base de feria de
 
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdfPREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
PREGRADO-PRESENCIAL-FASE-C-202401 (1).pdf
 
El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)El Teatro musical (qué es, cuál es su historia y trayectoria...)
El Teatro musical (qué es, cuál es su historia y trayectoria...)
 
tipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicacióntipos de organización y sus objetivos y aplicación
tipos de organización y sus objetivos y aplicación
 
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdfCritica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
Critica 1 Grupo 10 RodrigoBenitez_GinaGadea_AlexisGonzález.pdf
 
Unidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y químicaUnidad 3 Elementos y compuestos. Física y química
Unidad 3 Elementos y compuestos. Física y química
 
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdfLos artistas mexicanos con más ventas de discos en la historia (2024).pdf
Los artistas mexicanos con más ventas de discos en la historia (2024).pdf
 
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdfREPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
REPORTE DE INCIDENCIA DELICTIVA MARZO 2024.pdf
 
LA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derechoLA LEY DE LAS XII TABLAS en el curso de derecho
LA LEY DE LAS XII TABLAS en el curso de derecho
 
HABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfHABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdf
 
La importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresaLa importancia de las pruebas de producto para tu empresa
La importancia de las pruebas de producto para tu empresa
 
Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...Cuáles son las características biológicas que están marcadas en tu individual...
Cuáles son las características biológicas que están marcadas en tu individual...
 
Las mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdfLas mujeres más ricas del mundo (2024).pdf
Las mujeres más ricas del mundo (2024).pdf
 
Técnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dentalTécnica palatina baja, anestesiología dental
Técnica palatina baja, anestesiología dental
 
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
Ivu- taller de diseño arquitectonico l , adicion y sustraccion de cubos,
 
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior UniversitariaSUNEDU - Superintendencia Nacional de Educación superior Universitaria
SUNEDU - Superintendencia Nacional de Educación superior Universitaria
 

Unidad III-Programación Modular-introducción al lenguaje programable.pdf

  • 2. Objetivos: 1. Desarrollar habilidades de programación básicas bajo el paradigma de programación modular y recursiva. 2. Modularizar programas a través de la implementación de procedimientos y funciones.
  • 3. Antecedentes Históricos Fue a finales de los años sesenta y comienzos de la década de los setenta que nace la programación estructurada. Con ella se incorporaron estructuras de control de flujo, que permitieron que un programa fuera más fácil de trazar. A partir de allí surgió un nuevo inconveniente. Los desarrolladores vieron que en el funcionamiento de programas grandes y complejos, era imperioso dividir el programa en unidades más pequeñas. Es allí precisamente donde surge el concepto de la programación modular.
  • 4. ¿Programación Modular? Es el proceso de subdividir un programa de computadora en subprogramas separados a los que llamamos Módulos. Un módulo: es un componente de software separado. A menudo se puede usar en una variedad de aplicaciones y funciones con otros componentes del sistema.
  • 5. Tecno-explicación sobre la programación modular
  • 6. Tecno-explicación sobre la programación modular 1.-Se incorporan a través de interfaces. 2.-Están diseñados de tal manera que minimizan las dependencias entre los diferentes módulos. 3.-Los equipos pueden desarrollar módulos por separado y no requieren el conocimiento de todos los módulos del sistema. 4.-Cada aplicación modular, tiene asociado un número de versión.
  • 7. Estructura sobre programación modular a) El módulo principal se compila como un ejecutable (EXE). b) Los módulos auxiliares existen como archivos ejecutables separados. c) Cada módulo tiene un nombre único asignado en la instrucción PROGRAM. d) Los nombres de funciones en los módulos deben ser únicos.
  • 8. Técnicas o Tipos de Programación Modular
  • 9. 1. Técnicas de programación modular. 1.1 Top-Down o análisis descendente De arriba hacia abajo. Conocida también como programación descendente. En la mayoría de los casos esta técnica Top-Down se utiliza en conjunto con pseudocódigo, para de esta manera poder generar una herramienta de diseño de algoritmos adecuada. Fue promovido por: Harlan Mills y Niklaus Wirth en los años setenta.
  • 10. 1. Técnicas de programación modular. 1.2 Bottom-Up De abajo hacia arriba. Toma primero la programación de los módulos del nivel más bajo, y luego van surgiendo los módulos de niveles superiores.
  • 11. Dato Importante La programación orientada a objetos (OOP) es compatible con el concepto de programación modular en gran medida como un reemplazo más acorde a las necesidades actuales. 1. Técnicas de programación modular. 1.3 Programación orientada a Objetos
  • 12. Características esenciales: 1. Modularidad 2. Funcionalidad 3. Variable 4. Procedimental
  • 13. 1. Modularidad  El programa incluye subprogramas que han sido desarrollados con códigos independientes.  Cada módulo es un conjunto de sentencias que permiten realizar una acción u operación.  Gracias a su modularidad, la programación modular permite disponer de pequeños módulos o sentencias simples que se acoplan a la función principal del software, en reemplazo de una única función principal larga.  Cada uno de los módulos es más fácil de comprender, con lo cual es posible al final tener una gran solución para un problema complejo.  La comunicación entre estos subprogramas se realiza por medio de parámetro=variable.
  • 14. 2. Funcionalidad  En la programación modular es necesario utilizar funciones que incluyen definición, comandos y sentencias.  Todas las funciones incluyen una sentencia de retorno.  Las funciones utilizan las sentencias de las variables adicionales.
  • 15. 3. Variable  La programación modular incluye variables que se encuentran dentro de la función principal del programa.  Con cada función que se ejecuta, las variables tienen un valor específico, aunque como su nombre lo indica, este valor puede cambiar cada vez que se lleva a cabo dicha función.  Existen dos tipos de variables: Las variables locales y las variables globales. Estas últimas son definidas de forma externa al programa principal, pero están relacionadas a las funciones que se encuentran dentro del programa.
  • 16. 4. Procedimental  Está orientada por completo a la escritura de código para la creación de funciones.  No toma en cuenta los datos.
  • 17. 2. Procedimientos y funciones. Los procedimientos y funciones, son definidos como un conjunto de sentencias o instrucciones que se encargan de desarrollar un proceso específico o particular. Utiliza el concepto de programación modular, porque inicia de lo general y avanza a lo particular, conservando la popular frase de “divide y vencerás”
  • 18. Diferencias entre funciones y procedimientos Parámetros de entrada Parámetros de salida Proceso Funciones uno o varios uno sólo más específico Procedimientos cero o varios uno o varios específico Las funciones y procedimientos tienen el mismo concepto con las siguientes diferencias:
  • 19. Funciones: Definición: La definición de nuestra función será la función en sí, es decir el código de la misma y tiene la siguiente estructura:
  • 20. 3. Paso de parámetros por valor. Si recordamos un poco al respecto, al realizar la definición de la función colocamos los parámetros que ésta recibe especificando el tipo de dato de los mismos. Luego, cuando hacemos el llamado y especificamos los argumentos, estos se evalúan y se le pasa a la función una copia de los mismos. A esto es lo que llamamos paso por valor ya que la función trabajará con los valores de esas copias. Si pasáramos variables como argumento, éstas no se modificarían por este sistema de copias. Ver documento sobre 3. Paso de parámetros por valor y referencia.pdf en plataforma Moodle
  • 21. 3. Paso de parámetros por referencia. Si recordamos un poco al respecto, al realizar la definición de la función colocamos los parámetros que ésta recibe especificando el tipo de dato de los mismos. Luego, cuando hacemos el llamado y especificamos los argumentos, estos se evalúan y se le pasa a la función una copia de los mismos. A esto es lo que llamamos paso por valor ya que la función trabajará con los valores de esas copias. Si pasáramos variables como argumento, éstas no se modificarían por este sistema de copias. Ver documento sobre 3. Paso de parámetros por valor y referencia.pdf en plataforma Moodle
  • 22. Diagramación sobre paso de parámetros Ver documento sobre 3. Paso de parámetros por valor y referencia.pdf en plataforma Moodle
  • 23. 5. Funciones recursivas.  Un objeto es recursivo si su definición requiere la definición previa del objeto en un caso más sencillo.  Una función es recursiva si su resolución requiere la solución previa de la función para casos más sencillos.  Un algoritmo A que resuelve un problema P es recursivo si está basado directa o indirectamente en sí mismo. Un diseño recursivo constará de las siguientes etapas: 1. Definición del problema. 2. Análisis de casos. Identificación de la función limitadora. 3. Trascripción algorítmica y verificación de cada caso. 4. Validación de la inducción: la función limitadora decrece estrictamente en las llamadas. La recursividad y la iteración son los dos mecanismos suministrados por los lenguajes de programación para describir cálculos que han de repetirse un cierto número de veces.
  • 24. Tipos de recursiones Recursión lineal Si cada llamada recursiva genera, como mucho otra llamada recursiva.  FINAL: si la llamada recursiva es la última operación que se efectúa, devolviéndose como resultado lo que se haya obtenido de la llamada recursiva sin modificación alguna.  NO FINAL: El resultado obtenido de la llamada recursiva se combina para dar lugar al resultado de la función que realiza la llamada.
  • 25. Tipos de recursiones Recursión multiple Si alguna llamada puede generar más de una llamada adicional.
  • 26. Tipos de recursiones Recursión anidada Hay recursión anidada cuando uno de los argumentos de la función recursiva es el resultado de la llamada recursiva.
  • 27. ¿Qué lenguaje de programación se utiliza? En la actualidad uno de los lenguajes de programación más usados que soportan el concepto de programación modular es Java. Sin embargo, existen otros lenguajes de programación que Java. Estos son algunos ejemplos:  C  Ada  PL/I  Erlang  Pascal  Algol  COBOL  RPG  Haskell  Python  Ruby  SmallTalk  Morpho  Perl  HyperTalk  IBM/360 Assembler  MATLAB  IBM RPG
  • 28. Concluyentemente: Podemos decir que cada módulo es un segmento, una rutina, una subrutina, un subalgoritmo o un procedimiento que permite ejecutar una tarea específica, y que opera dentro del módulo principal. Sin embargo, cabe aclarar que un módulo no es simplemente una función o un procedimiento, porque en realidad puede contener en sí muchos de ellos. Por ende, ten en cuenta que cada módulo es un bloque de sentencias que resuelve un problema particular.
  • 29. Concluyentemente: A la hora de diseñar funciones se deben tener en cuenta factores como la cohesión, el acoplamiento, la estructura del programa y la jerarquía de control. La recursividad es una de las estrategias más potentes y elegantes en el diseño de soluciones, entre los inconvenientes que tiene destacan el consumo de memoria y la complejidad en su diseño. Para facilitar todo el trabajo con módulos y funciones se crean las librerías (un conjunto documentado, probado y, en su caso, previamente compilado, de procedimientos y funciones que es posible invocar desde otro programa). Las librerías son un claro ejemplo de reutilización del software.
  • 30. Importancia de la Programación Modular Permite resolver un problema dividiéndolo en problemas más pequeños, más conocidos como subproblemas. Esto es de mucha importancia para el desarrollo de aplicaciones modernas. Para que la programación modular sea exitosa es que los nombres de las funciones en los diferentes módulos deben ser únicos (Se hace más sencillo el acceso para cuando desees exportar las funciones utilizadas por el módulo principal)
  • 31. Actividad de la Semana Estudiar esta presentación para el cuestionario de la semana.
  • 32. Referencias Chávez Soto, Tania L. (octubre de 2017). “Programación Modular” . Recuperado de https://ri.uaemex.mx/bitstream/handle/20.500.11799/69946/secme-19449_1.pdf?sequence=1 http://informatica.uv.es/iiguia/2000/AED/oldwww/2004_05/AED.Tema.05.pdf http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro32/glosario.html
  • 33. ¡Inmensas Bendiciones! Ante consultas pueden incluirlas en “Foro de Consultas sobre la Asignatura” o a través del e-mail: silvia.moran@católica.edu.sv