SlideShare a Scribd company logo
1 of 5
Download to read offline
Programación modular (Lic. Menfy Morales)
Divide un problema complejo en problemas específicos, a esta división se le llama módulos, que es
un proceso específico. Utiliza distintos denominativos, programación descendente, divide y
vencerás, top-down.
Un diseño modular está estructurado de la siguiente manera:
Donde A es el programa principal, B, C y D son los subprogramas llamados módulos. Los módulos
pueden ser procedimientos o funciones dependiendo de sus entradas y salidas.
Se recomienda definir si un módulo es un procedimiento o es una función, esto depende de los
datos de entrada y los datos de salida.
Por lo tanto si se tienen los siguientes módulos, se define si es procedimiento o función dependiendo
de los datos de entrada y los datos de salida.
Se recomienda empezar definiendo primero si es función, caso contrario se define el procedimiento.
Ejercicio 1: Dado un lote de n número mostrar los dígitos extremos, el dígito menor y el digito mayor
de cada número del lote.
Por ejemplo: si n = 3 y el lote es: 54786, 97124, 37264
La salida: 5, 6 9, 4 3, 4 // dígitos extremos
4 1 2 // dígito menor
8 9 7 // dígito mayor
A
B C D
Entradas Salidas
Función 1, 2, 3, + 1
Procedimiento 0, 1, 2, 3, + 0, 1, 2, 3, +
A B C
D E F
Módulo Tipo Entradas Salidas
A Procedimiento 2 0
B Función 3 1
C Procedimiento 1 2
D Procedimiento 0 1
E Procedimiento 1 2
F Función 2 1
El ejemplo nos muestra los procesos específicos que da este programa y podemos definir los
módulos con las entradas y salidas a cada uno, para posteriormente definir los nombres: extre,
mayor, menor.
Se definen si los módulos son procedimientos o funciones.
Queda realizar el diseño modular.
Ahora usamos la técnica botton up para resolver cada módulo de abajo hacia arriba.
extre54786 5
6
mayor54786 8
menor54786 4
Módulo Tipo Entradas Salidas
extre Procedimiento 1 2
mayor Función 1 1
menor Función 1 1
lote
extre mayor menor
extre ( w, e1, e2)
e2  w % 10
cd  |log(w)|+1
e1  |w/10^(cd-1)|
return
extre54786 5
6
Procedimiento “extre”
mayor( w )
dm  0
w < > 0
d  w % 10
w  | w / 10 |
d>dm
dm  d
return ( dm )
VF
mayor54786 8
Función “mayor”
menor( w )
de  9
w < > 0
d  w % 10
w  | w / 10 |
d < de
de  d
return ( de )
VF
menor54786 4
Función “menor”
Una vez desarrollados todos los módulos se procede a desarrollar el programa principal
Nota: Recordar que la función solo retorna un valor, en cambio los procedimientos definen sus
valores de salida al principio junto con los valores de entrada.
Las funciones que usan la mayoría de los lenguajes, son funciones predefinidas o funciones básicas
(sin, cos, sqrt y otros), pero las que definimos en el camino se llaman funciones definidas por el
usuario.
Los procedimientos utilizan parámetros (variables) de entrada y salida, estos pueden ser parámetros
por valor (solo pasan el valor y los datos originales se mantienen) o por referencia (pasan los datos
y los originales cambian). En este caso se están usando pase por valor.
Ejercicios:
1. Dado un lote de n números, rotar los dígitos extremos a la derecha, según muestra el ejemplo
Si n = 5 y el lote es: 2157, 1293, 426, 7895, 8354
La salida es: 2297, 123, 4896, 7355, 8154
En este caso se utilizan los siguientes módulos, extre, reem, y se describen de esta forma:
inicio
n
i  1, n
x
extre ( x, ei, ed )
dmay  mayor ( x )
dmen  menor ( x )
ei, ed
dmay
dmen
fin
extre2157 2
7
reem
1293
2
7
2297
2. Resolver la siguiente sumatoria, para n términos:
12!
23!
25!
37!
311!
313!
417!
419!
423!
S = -------- - ------- + ------- + ------- - ------- - ------- - ------- + ------- + ------- +/-
11!
23!
13!
13!
25!
35!
25!
15!
15!
Puede usar los siguientes módulos, clásica, primo, facto, signo, subebaja, impar
3. Resolver la siguiente ecuación:
A B!
+ C D!
------------------
F!
Nota: solo puede usar el signo + y -, puede usar lo módulos, multi, expo, facto, divi

More Related Content

What's hot

12 programacion modular
12 programacion modular12 programacion modular
12 programacion modular
Laura Cruz
 
Programacion Estructurada
Programacion EstructuradaProgramacion Estructurada
Programacion Estructurada
ramirezadi
 
Apuntes programacion basica
Apuntes programacion basicaApuntes programacion basica
Apuntes programacion basica
marigelcontreras
 
INTRODUCCIÓN A METODOLOGÍA DE LA PROGRAMACIÓN
INTRODUCCIÓN A METODOLOGÍA DE LA PROGRAMACIÓNINTRODUCCIÓN A METODOLOGÍA DE LA PROGRAMACIÓN
INTRODUCCIÓN A METODOLOGÍA DE LA PROGRAMACIÓN
DianaaLSRojas
 

What's hot (20)

12 programacion modular
12 programacion modular12 programacion modular
12 programacion modular
 
Estructura General de un Programa
Estructura General de un ProgramaEstructura General de un Programa
Estructura General de un Programa
 
Tema 1: Introducción a la programación funcional.
Tema 1: Introducción a la programación funcional.Tema 1: Introducción a la programación funcional.
Tema 1: Introducción a la programación funcional.
 
Programación estructurada
Programación  estructuradaProgramación  estructurada
Programación estructurada
 
Programacion Estructurada
Programacion EstructuradaProgramacion Estructurada
Programacion Estructurada
 
Apuntes programacion basica
Apuntes programacion basicaApuntes programacion basica
Apuntes programacion basica
 
Principios de Programacion
Principios de ProgramacionPrincipios de Programacion
Principios de Programacion
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
INTRODUCCIÓN A METODOLOGÍA DE LA PROGRAMACIÓN
INTRODUCCIÓN A METODOLOGÍA DE LA PROGRAMACIÓNINTRODUCCIÓN A METODOLOGÍA DE LA PROGRAMACIÓN
INTRODUCCIÓN A METODOLOGÍA DE LA PROGRAMACIÓN
 
Metodologia de la Programción
Metodologia de la ProgramciónMetodologia de la Programción
Metodologia de la Programción
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
DEFINICIÓN DE LENGUAJES ALGORÍTMICOS
DEFINICIÓN DE LENGUAJES ALGORÍTMICOSDEFINICIÓN DE LENGUAJES ALGORÍTMICOS
DEFINICIÓN DE LENGUAJES ALGORÍTMICOS
 
Guía de algoritmos teoría
Guía de algoritmos teoríaGuía de algoritmos teoría
Guía de algoritmos teoría
 
GENERALIDADES SOBRE LOS ALGORITMOS
GENERALIDADES SOBRE LOS ALGORITMOS GENERALIDADES SOBRE LOS ALGORITMOS
GENERALIDADES SOBRE LOS ALGORITMOS
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Generalidades Sobre Algoritmos(Ok)
Generalidades Sobre Algoritmos(Ok)Generalidades Sobre Algoritmos(Ok)
Generalidades Sobre Algoritmos(Ok)
 
Programacion primero
Programacion primeroProgramacion primero
Programacion primero
 
Resolución de problemas haciendo uso del computador
Resolución de problemas haciendo uso del computadorResolución de problemas haciendo uso del computador
Resolución de problemas haciendo uso del computador
 
Paradigmasdeprogramacion
ParadigmasdeprogramacionParadigmasdeprogramacion
Paradigmasdeprogramacion
 
Clase de metodologia para analisis y planteamiento de problemas
Clase de metodologia para analisis y planteamiento de problemasClase de metodologia para analisis y planteamiento de problemas
Clase de metodologia para analisis y planteamiento de problemas
 

Viewers also liked

Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
Leydi Hernandez
 

Viewers also liked (11)

Programación modular
Programación modularProgramación modular
Programación modular
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
Programacion MODULAR
Programacion MODULARProgramacion MODULAR
Programacion MODULAR
 
Hawaii zkušenosti | aloha-hawaii.cz
Hawaii zkušenosti | aloha-hawaii.czHawaii zkušenosti | aloha-hawaii.cz
Hawaii zkušenosti | aloha-hawaii.cz
 
Manual de redes yair
Manual de redes yairManual de redes yair
Manual de redes yair
 
знатоки
знатокизнатоки
знатоки
 
El aprendizaje 2
El aprendizaje 2El aprendizaje 2
El aprendizaje 2
 
20 teaching ideas
20 teaching ideas 20 teaching ideas
20 teaching ideas
 
حل المعادلات التفاضلية باستخدام المتسلسلات اللانهائية
حل المعادلات التفاضلية  باستخدام المتسلسلات اللانهائيةحل المعادلات التفاضلية  باستخدام المتسلسلات اللانهائية
حل المعادلات التفاضلية باستخدام المتسلسلات اللانهائية
 
Slideshare y calameo
Slideshare y calameoSlideshare y calameo
Slideshare y calameo
 
Diagrama de flujo lineal
Diagrama de flujo linealDiagrama de flujo lineal
Diagrama de flujo lineal
 

Similar to Programación modular

Curso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.pptCurso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.ppt
angela80121
 
Diagramas de-flujo.
Diagramas de-flujo.Diagramas de-flujo.
Diagramas de-flujo.
Uriel Lopez
 
10. subalgoritmos parte i
10. subalgoritmos parte i10. subalgoritmos parte i
10. subalgoritmos parte i
rcarrerah
 
Curso de introduccion_al_matlab
Curso de introduccion_al_matlabCurso de introduccion_al_matlab
Curso de introduccion_al_matlab
CORPOELEC
 

Similar to Programación modular (20)

Curso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.pptCurso_de_introduccion_al_matlab.ppt
Curso_de_introduccion_al_matlab.ppt
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
 
Silabo programación ii 2015-i
Silabo programación ii 2015-iSilabo programación ii 2015-i
Silabo programación ii 2015-i
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Introducción a Matlab
Introducción a MatlabIntroducción a Matlab
Introducción a Matlab
 
Diagramas de-flujo.
Diagramas de-flujo.Diagramas de-flujo.
Diagramas de-flujo.
 
10. subalgoritmos parte i
10. subalgoritmos parte i10. subalgoritmos parte i
10. subalgoritmos parte i
 
Cap7 2
Cap7 2Cap7 2
Cap7 2
 
Curso de introduccion_al_matlab
Curso de introduccion_al_matlabCurso de introduccion_al_matlab
Curso de introduccion_al_matlab
 
Unidad i
Unidad iUnidad i
Unidad i
 
Intro_Matlab_1.pdf
Intro_Matlab_1.pdfIntro_Matlab_1.pdf
Intro_Matlab_1.pdf
 
ec dif con matlab.pptx
ec dif con matlab.pptxec dif con matlab.pptx
ec dif con matlab.pptx
 
Resolución de ecuaciones diferenciales con MATLAB R2015a
Resolución de ecuaciones diferenciales  con  MATLAB  R2015aResolución de ecuaciones diferenciales  con  MATLAB  R2015a
Resolución de ecuaciones diferenciales con MATLAB R2015a
 
MN01_-_Introduccion_Matlab.pdf
MN01_-_Introduccion_Matlab.pdfMN01_-_Introduccion_Matlab.pdf
MN01_-_Introduccion_Matlab.pdf
 
Curso matlab
Curso matlabCurso matlab
Curso matlab
 
Estructuras de un Algoritmo
Estructuras de un AlgoritmoEstructuras de un Algoritmo
Estructuras de un Algoritmo
 
cap7.pdf
cap7.pdfcap7.pdf
cap7.pdf
 
algoritmos 7 4p.pptx
algoritmos 7 4p.pptxalgoritmos 7 4p.pptx
algoritmos 7 4p.pptx
 

Recently uploaded

6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 

Recently uploaded (20)

activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 

Programación modular

  • 1. Programación modular (Lic. Menfy Morales) Divide un problema complejo en problemas específicos, a esta división se le llama módulos, que es un proceso específico. Utiliza distintos denominativos, programación descendente, divide y vencerás, top-down. Un diseño modular está estructurado de la siguiente manera: Donde A es el programa principal, B, C y D son los subprogramas llamados módulos. Los módulos pueden ser procedimientos o funciones dependiendo de sus entradas y salidas. Se recomienda definir si un módulo es un procedimiento o es una función, esto depende de los datos de entrada y los datos de salida. Por lo tanto si se tienen los siguientes módulos, se define si es procedimiento o función dependiendo de los datos de entrada y los datos de salida. Se recomienda empezar definiendo primero si es función, caso contrario se define el procedimiento. Ejercicio 1: Dado un lote de n número mostrar los dígitos extremos, el dígito menor y el digito mayor de cada número del lote. Por ejemplo: si n = 3 y el lote es: 54786, 97124, 37264 La salida: 5, 6 9, 4 3, 4 // dígitos extremos 4 1 2 // dígito menor 8 9 7 // dígito mayor A B C D Entradas Salidas Función 1, 2, 3, + 1 Procedimiento 0, 1, 2, 3, + 0, 1, 2, 3, + A B C D E F Módulo Tipo Entradas Salidas A Procedimiento 2 0 B Función 3 1 C Procedimiento 1 2 D Procedimiento 0 1 E Procedimiento 1 2 F Función 2 1
  • 2. El ejemplo nos muestra los procesos específicos que da este programa y podemos definir los módulos con las entradas y salidas a cada uno, para posteriormente definir los nombres: extre, mayor, menor. Se definen si los módulos son procedimientos o funciones. Queda realizar el diseño modular. Ahora usamos la técnica botton up para resolver cada módulo de abajo hacia arriba. extre54786 5 6 mayor54786 8 menor54786 4 Módulo Tipo Entradas Salidas extre Procedimiento 1 2 mayor Función 1 1 menor Función 1 1 lote extre mayor menor extre ( w, e1, e2) e2  w % 10 cd  |log(w)|+1 e1  |w/10^(cd-1)| return extre54786 5 6 Procedimiento “extre”
  • 3. mayor( w ) dm  0 w < > 0 d  w % 10 w  | w / 10 | d>dm dm  d return ( dm ) VF mayor54786 8 Función “mayor” menor( w ) de  9 w < > 0 d  w % 10 w  | w / 10 | d < de de  d return ( de ) VF menor54786 4 Función “menor”
  • 4. Una vez desarrollados todos los módulos se procede a desarrollar el programa principal Nota: Recordar que la función solo retorna un valor, en cambio los procedimientos definen sus valores de salida al principio junto con los valores de entrada. Las funciones que usan la mayoría de los lenguajes, son funciones predefinidas o funciones básicas (sin, cos, sqrt y otros), pero las que definimos en el camino se llaman funciones definidas por el usuario. Los procedimientos utilizan parámetros (variables) de entrada y salida, estos pueden ser parámetros por valor (solo pasan el valor y los datos originales se mantienen) o por referencia (pasan los datos y los originales cambian). En este caso se están usando pase por valor. Ejercicios: 1. Dado un lote de n números, rotar los dígitos extremos a la derecha, según muestra el ejemplo Si n = 5 y el lote es: 2157, 1293, 426, 7895, 8354 La salida es: 2297, 123, 4896, 7355, 8154 En este caso se utilizan los siguientes módulos, extre, reem, y se describen de esta forma: inicio n i  1, n x extre ( x, ei, ed ) dmay  mayor ( x ) dmen  menor ( x ) ei, ed dmay dmen fin extre2157 2 7 reem 1293 2 7 2297
  • 5. 2. Resolver la siguiente sumatoria, para n términos: 12! 23! 25! 37! 311! 313! 417! 419! 423! S = -------- - ------- + ------- + ------- - ------- - ------- - ------- + ------- + ------- +/- 11! 23! 13! 13! 25! 35! 25! 15! 15! Puede usar los siguientes módulos, clásica, primo, facto, signo, subebaja, impar 3. Resolver la siguiente ecuación: A B! + C D! ------------------ F! Nota: solo puede usar el signo + y -, puede usar lo módulos, multi, expo, facto, divi