SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Clases 2 dfd y basico 2011
Clases 2  dfd y basico 2011Clases 2  dfd y basico 2011
Clases 2 dfd y basico 2011seolivares
 
Programación de nivel básico 3. c1. p3.
Programación de nivel básico 3. c1. p3.Programación de nivel básico 3. c1. p3.
Programación de nivel básico 3. c1. p3.DENIRAMIREZANDRADE
 
Solucion ecuacion de laplace
Solucion ecuacion de laplaceSolucion ecuacion de laplace
Solucion ecuacion de laplaceAchig Angel
 
Guía didáctica estructura secuenciales
Guía didáctica estructura secuencialesGuía didáctica estructura secuenciales
Guía didáctica estructura secuencialesLeany González
 
Metodologia de la programación Capitulo 1: Conceptos Generales
Metodologia de la programación Capitulo 1: Conceptos GeneralesMetodologia de la programación Capitulo 1: Conceptos Generales
Metodologia de la programación Capitulo 1: Conceptos GeneralesVideoconferencias UTPL
 
Est de control topdown
Est de control topdownEst de control topdown
Est de control topdownMarianita Ah
 
Métodos en programacion
Métodos en  programacionMétodos en  programacion
Métodos en programacioncrisricguepi
 
Unidad 5 Estructuras algoritmicas
Unidad 5 Estructuras algoritmicasUnidad 5 Estructuras algoritmicas
Unidad 5 Estructuras algoritmicasCarlos M. Sandoval
 
Diagramas De Flujo
Diagramas De FlujoDiagramas De Flujo
Diagramas De Flujocarlospaul
 
Solver Basico
Solver BasicoSolver Basico
Solver Basicojmnvit
 
Matlab
MatlabMatlab
MatlabDRIKSH
 
Guia de aprendizaje VS2005-2010
Guia de aprendizaje VS2005-2010Guia de aprendizaje VS2005-2010
Guia de aprendizaje VS2005-2010Duvan Aguilera
 
2.2 el modelo primal y dual
2.2 el modelo primal y dual2.2 el modelo primal y dual
2.2 el modelo primal y dualDavid Mar
 
Tutorial estructuras algoritmicas instruciones secuenciales
Tutorial estructuras algoritmicas instruciones secuenciales    Tutorial estructuras algoritmicas instruciones secuenciales
Tutorial estructuras algoritmicas instruciones secuenciales Michele André
 
Tema 3. Método gráfico guía teórica
Tema 3. Método gráfico guía teóricaTema 3. Método gráfico guía teórica
Tema 3. Método gráfico guía teóricaSistemadeEstudiosMed
 
Guia didactica programacion estructurada unidad 4
Guia didactica programacion estructurada unidad 4Guia didactica programacion estructurada unidad 4
Guia didactica programacion estructurada unidad 4Sol Hernández
 

La actualidad más candente (20)

Clases 2 dfd y basico 2011
Clases 2  dfd y basico 2011Clases 2  dfd y basico 2011
Clases 2 dfd y basico 2011
 
Programación de nivel básico 3. c1. p3.
Programación de nivel básico 3. c1. p3.Programación de nivel básico 3. c1. p3.
Programación de nivel básico 3. c1. p3.
 
Solucion ecuacion de laplace
Solucion ecuacion de laplaceSolucion ecuacion de laplace
Solucion ecuacion de laplace
 
Guía didáctica estructura secuenciales
Guía didáctica estructura secuencialesGuía didáctica estructura secuenciales
Guía didáctica estructura secuenciales
 
Unidad ii construiralgoritmos
Unidad ii construiralgoritmosUnidad ii construiralgoritmos
Unidad ii construiralgoritmos
 
Metodologia de la programación Capitulo 1: Conceptos Generales
Metodologia de la programación Capitulo 1: Conceptos GeneralesMetodologia de la programación Capitulo 1: Conceptos Generales
Metodologia de la programación Capitulo 1: Conceptos Generales
 
Est de control topdown
Est de control topdownEst de control topdown
Est de control topdown
 
Métodos en programacion
Métodos en  programacionMétodos en  programacion
Métodos en programacion
 
Unidad 5 Estructuras algoritmicas
Unidad 5 Estructuras algoritmicasUnidad 5 Estructuras algoritmicas
Unidad 5 Estructuras algoritmicas
 
16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales
 
Diagramas De Flujo
Diagramas De FlujoDiagramas De Flujo
Diagramas De Flujo
 
Solver Basico
Solver BasicoSolver Basico
Solver Basico
 
Matlab
MatlabMatlab
Matlab
 
Uso y manejo de DFD - Una aproximación
Uso y manejo de DFD - Una aproximaciónUso y manejo de DFD - Una aproximación
Uso y manejo de DFD - Una aproximación
 
Guia de aprendizaje VS2005-2010
Guia de aprendizaje VS2005-2010Guia de aprendizaje VS2005-2010
Guia de aprendizaje VS2005-2010
 
2.2 el modelo primal y dual
2.2 el modelo primal y dual2.2 el modelo primal y dual
2.2 el modelo primal y dual
 
Tutorial estructuras algoritmicas instruciones secuenciales
Tutorial estructuras algoritmicas instruciones secuenciales    Tutorial estructuras algoritmicas instruciones secuenciales
Tutorial estructuras algoritmicas instruciones secuenciales
 
Tema 3. Método gráfico guía teórica
Tema 3. Método gráfico guía teóricaTema 3. Método gráfico guía teórica
Tema 3. Método gráfico guía teórica
 
Guia didactica programacion estructurada unidad 4
Guia didactica programacion estructurada unidad 4Guia didactica programacion estructurada unidad 4
Guia didactica programacion estructurada unidad 4
 
Matrices pseint
Matrices   pseintMatrices   pseint
Matrices pseint
 

Destacado (9)

Manual de redes. equipo 7
Manual de redes. equipo 7Manual de redes. equipo 7
Manual de redes. equipo 7
 
Ladie's hoodie stock sweatshirts
Ladie's hoodie stock sweatshirts Ladie's hoodie stock sweatshirts
Ladie's hoodie stock sweatshirts
 
CV-English Lecturer-Rasheed Ali
CV-English Lecturer-Rasheed AliCV-English Lecturer-Rasheed Ali
CV-English Lecturer-Rasheed Ali
 
Constructivist Teaching
Constructivist TeachingConstructivist Teaching
Constructivist Teaching
 
CRITHINKEDU Overview (Lithuanian)
CRITHINKEDU Overview (Lithuanian)CRITHINKEDU Overview (Lithuanian)
CRITHINKEDU Overview (Lithuanian)
 
Presentation PDAC March 6, 2017
Presentation PDAC March 6, 2017Presentation PDAC March 6, 2017
Presentation PDAC March 6, 2017
 
Anyela chacon 21002780 Serie Fourier
Anyela chacon 21002780 Serie FourierAnyela chacon 21002780 Serie Fourier
Anyela chacon 21002780 Serie Fourier
 
Metodologia de projetos
Metodologia de projetosMetodologia de projetos
Metodologia de projetos
 
Social Studies Chapter 7- healthcare
Social Studies Chapter 7- healthcareSocial Studies Chapter 7- healthcare
Social Studies Chapter 7- healthcare
 

Similar a Programación modular

Similar a 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
 
Silabo programación ii 2015-i
Silabo programación ii 2015-iSilabo programación ii 2015-i
Silabo programación ii 2015-i
 
Matlab introducción
Matlab   introducciónMatlab   introducción
Matlab introducción
 
Programación modular estructurada.ppt
Programación modular estructurada.pptProgramación modular estructurada.ppt
Programación modular estructurada.ppt
 
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
 
Metodologia de la Programción
Metodologia de la ProgramciónMetodologia de la Programción
Metodologia de la Programción
 
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
 
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
 

Último

La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
Flores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaFlores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaJuan Carlos Fonseca Mata
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirPaddySydney1
 

Último (20)

La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Flores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaFlores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - Botánica
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartir
 

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