SlideShare una empresa de Scribd logo
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

FUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE CFUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE C
flaquita_dany
 
Modulo 1 algoritmo
Modulo 1 algoritmoModulo 1 algoritmo
Modulo 1 algoritmo
NiXon M Martinez
 
Modulo 1 algoritmo
Modulo 1 algoritmoModulo 1 algoritmo
Modulo 1 algoritmo
NiXon M Martinez
 
Apun9algol
Apun9algolApun9algol
Apun9algol
pabesacv
 
UNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓNUNIDAD 3 MODULARIZACIÓN
Programacion Funcional
Programacion FuncionalProgramacion Funcional
Programacion Funcional
Facultad de Ciencias y Sistemas
 
Programación modular
Programación modularProgramación modular
Programación modular
Angeles Barrios Gallegos
 
Paradigmasdeprogramacion
ParadigmasdeprogramacionParadigmasdeprogramacion
Paradigmasdeprogramacion
Victor Zapata
 
Programación Modular y Estructyrada
Programación Modular y EstructyradaProgramación Modular y Estructyrada
Programación Modular y Estructyrada
guestefc95b
 
Clase 2
Clase 2Clase 2
Clase 2
Ephikness
 
Programación Modular
Programación ModularProgramación Modular
Programación Modular
lisbeca
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
Eddie Geovanny May Osorio
 
Paradigmas programacion
Paradigmas programacionParadigmas programacion
Paradigmas programacion
Luis Peralta
 
Fundamentos de Lenguaje de programacion
Fundamentos de Lenguaje de programacionFundamentos de Lenguaje de programacion
Fundamentos de Lenguaje de programacion
Germán Sailema
 
Exposicion_U6_Funciones.jjjjjjjjjjjjjjjjjjjjjjjjjjjpptx
Exposicion_U6_Funciones.jjjjjjjjjjjjjjjjjjjjjjjjjjjpptxExposicion_U6_Funciones.jjjjjjjjjjjjjjjjjjjjjjjjjjjpptx
Exposicion_U6_Funciones.jjjjjjjjjjjjjjjjjjjjjjjjjjjpptx
ricardorealhlm
 
Transparencias7
Transparencias7Transparencias7
Transparencias7
karlalopezbello
 
Diseño estructurado
Diseño estructuradoDiseño estructurado
Diseño estructurado
Amael Castellano Orozco
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacion
yamy matin
 
Diseño Estructurado
Diseño EstructuradoDiseño Estructurado
Diseño Estructurado
Drago Díaz
 
Programación modular
Programación modularProgramación modular
Programación modular
KareliaRivas
 

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
 
Exposicion_U6_Funciones.jjjjjjjjjjjjjjjjjjjjjjjjjjjpptx
Exposicion_U6_Funciones.jjjjjjjjjjjjjjjjjjjjjjjjjjjpptxExposicion_U6_Funciones.jjjjjjjjjjjjjjjjjjjjjjjjjjjpptx
Exposicion_U6_Funciones.jjjjjjjjjjjjjjjjjjjjjjjjjjjpptx
 
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
 

Último

CUESTIONARIO N°5. ESTRUCTURA ORGANIZACIONAL
CUESTIONARIO N°5. ESTRUCTURA ORGANIZACIONALCUESTIONARIO N°5. ESTRUCTURA ORGANIZACIONAL
CUESTIONARIO N°5. ESTRUCTURA ORGANIZACIONAL
cygrateron
 
camelidos sudamericanos , fibra de alpaca
camelidos sudamericanos , fibra de alpacacamelidos sudamericanos , fibra de alpaca
camelidos sudamericanos , fibra de alpaca
yanetmc124
 
7 Analisis de oro ensayo al fuego MT.pdf
7 Analisis de oro ensayo al fuego MT.pdf7 Analisis de oro ensayo al fuego MT.pdf
7 Analisis de oro ensayo al fuego MT.pdf
ALCAMARIHUARACHICRIS
 
LA BIOMECANICA DE CODO Y SU ESTUDIO.pptx
LA BIOMECANICA DE CODO Y SU ESTUDIO.pptxLA BIOMECANICA DE CODO Y SU ESTUDIO.pptx
LA BIOMECANICA DE CODO Y SU ESTUDIO.pptx
milerfuentestello1
 
LOS CONTRATOS SWAPS O PERMUTAS FINANCIERAS
LOS CONTRATOS SWAPS O PERMUTAS FINANCIERASLOS CONTRATOS SWAPS O PERMUTAS FINANCIERAS
LOS CONTRATOS SWAPS O PERMUTAS FINANCIERAS
vpanccam
 
Estudio de Redes Sociales 2024, Linkedin, Instagram Facebook y más
Estudio de Redes Sociales 2024, Linkedin, Instagram Facebook y másEstudio de Redes Sociales 2024, Linkedin, Instagram Facebook y más
Estudio de Redes Sociales 2024, Linkedin, Instagram Facebook y más
MariaPazBustamante2
 
Ejemplo de ptt para defensa de tesis 2024
Ejemplo de ptt para defensa de tesis 2024Ejemplo de ptt para defensa de tesis 2024
Ejemplo de ptt para defensa de tesis 2024
GisselleCaceres3
 
Relacion de ingresantes al residenciado médico 2024.pdf
Relacion de ingresantes al residenciado médico 2024.pdfRelacion de ingresantes al residenciado médico 2024.pdf
Relacion de ingresantes al residenciado médico 2024.pdf
evasquezr15
 
CUESTIONARIO N°3. FORMAS DE COMERCIALIZACIÓN Y DISTRIBUCIÓN: LOGÍSTICA DEL ME...
CUESTIONARIO N°3. FORMAS DE COMERCIALIZACIÓN Y DISTRIBUCIÓN: LOGÍSTICA DEL ME...CUESTIONARIO N°3. FORMAS DE COMERCIALIZACIÓN Y DISTRIBUCIÓN: LOGÍSTICA DEL ME...
CUESTIONARIO N°3. FORMAS DE COMERCIALIZACIÓN Y DISTRIBUCIÓN: LOGÍSTICA DEL ME...
cygrateron
 
Informe sobre la Elaboración del yogurt de fresa
Informe sobre la Elaboración del yogurt de fresaInforme sobre la Elaboración del yogurt de fresa
Informe sobre la Elaboración del yogurt de fresa
YuverVicen
 
ESTUDIO IPSOS - Indice Confianza Consumidor junio 2024
ESTUDIO IPSOS - Indice Confianza Consumidor junio 2024ESTUDIO IPSOS - Indice Confianza Consumidor junio 2024
ESTUDIO IPSOS - Indice Confianza Consumidor junio 2024
Derecho alanoticia
 
Taller Programacion estudiante tecnico academico
Taller Programacion estudiante tecnico academicoTaller Programacion estudiante tecnico academico
Taller Programacion estudiante tecnico academico
jesusotho2102
 
Metro de Málaga simulador de conducción.
Metro de Málaga simulador de conducción.Metro de Málaga simulador de conducción.
Metro de Málaga simulador de conducción.
Aopandalucia Agencia de obra pública de la Junta de Andalucía
 
correlación variables, gráficos spss variables
correlación variables, gráficos spss variablescorrelación variables, gráficos spss variables
correlación variables, gráficos spss variables
rutynana25
 
biodiversidad en la libertad del Perú pr
biodiversidad en la libertad del Perú prbiodiversidad en la libertad del Perú pr
biodiversidad en la libertad del Perú pr
alejandrosaiyan123
 
RAZONAMIENTO LOGICO TEST DEDUCTIVO CHALLENGE.pdf
RAZONAMIENTO LOGICO TEST DEDUCTIVO CHALLENGE.pdfRAZONAMIENTO LOGICO TEST DEDUCTIVO CHALLENGE.pdf
RAZONAMIENTO LOGICO TEST DEDUCTIVO CHALLENGE.pdf
KARINACEDENO5
 
La MALA ATENCION EN LOS CENTROS DE SALUD
La MALA ATENCION EN LOS CENTROS DE SALUDLa MALA ATENCION EN LOS CENTROS DE SALUD
La MALA ATENCION EN LOS CENTROS DE SALUD
meylaura6
 
PROGRAMA SESQUI 2024.pdf sicuani Cusco peru
PROGRAMA SESQUI 2024.pdf sicuani Cusco peruPROGRAMA SESQUI 2024.pdf sicuani Cusco peru
PROGRAMA SESQUI 2024.pdf sicuani Cusco peru
KATHERINEJALLO
 
CUESTIONARIO N°1. CLASIFICACIÓN DE LAS CUENTAS CONTABLES
CUESTIONARIO N°1. CLASIFICACIÓN DE LAS CUENTAS CONTABLESCUESTIONARIO N°1. CLASIFICACIÓN DE LAS CUENTAS CONTABLES
CUESTIONARIO N°1. CLASIFICACIÓN DE LAS CUENTAS CONTABLES
cygrateron
 
645025955-Cedula-colombiana-en-blanco.pdf
645025955-Cedula-colombiana-en-blanco.pdf645025955-Cedula-colombiana-en-blanco.pdf
645025955-Cedula-colombiana-en-blanco.pdf
SantiagoPuentes12
 

Último (20)

CUESTIONARIO N°5. ESTRUCTURA ORGANIZACIONAL
CUESTIONARIO N°5. ESTRUCTURA ORGANIZACIONALCUESTIONARIO N°5. ESTRUCTURA ORGANIZACIONAL
CUESTIONARIO N°5. ESTRUCTURA ORGANIZACIONAL
 
camelidos sudamericanos , fibra de alpaca
camelidos sudamericanos , fibra de alpacacamelidos sudamericanos , fibra de alpaca
camelidos sudamericanos , fibra de alpaca
 
7 Analisis de oro ensayo al fuego MT.pdf
7 Analisis de oro ensayo al fuego MT.pdf7 Analisis de oro ensayo al fuego MT.pdf
7 Analisis de oro ensayo al fuego MT.pdf
 
LA BIOMECANICA DE CODO Y SU ESTUDIO.pptx
LA BIOMECANICA DE CODO Y SU ESTUDIO.pptxLA BIOMECANICA DE CODO Y SU ESTUDIO.pptx
LA BIOMECANICA DE CODO Y SU ESTUDIO.pptx
 
LOS CONTRATOS SWAPS O PERMUTAS FINANCIERAS
LOS CONTRATOS SWAPS O PERMUTAS FINANCIERASLOS CONTRATOS SWAPS O PERMUTAS FINANCIERAS
LOS CONTRATOS SWAPS O PERMUTAS FINANCIERAS
 
Estudio de Redes Sociales 2024, Linkedin, Instagram Facebook y más
Estudio de Redes Sociales 2024, Linkedin, Instagram Facebook y másEstudio de Redes Sociales 2024, Linkedin, Instagram Facebook y más
Estudio de Redes Sociales 2024, Linkedin, Instagram Facebook y más
 
Ejemplo de ptt para defensa de tesis 2024
Ejemplo de ptt para defensa de tesis 2024Ejemplo de ptt para defensa de tesis 2024
Ejemplo de ptt para defensa de tesis 2024
 
Relacion de ingresantes al residenciado médico 2024.pdf
Relacion de ingresantes al residenciado médico 2024.pdfRelacion de ingresantes al residenciado médico 2024.pdf
Relacion de ingresantes al residenciado médico 2024.pdf
 
CUESTIONARIO N°3. FORMAS DE COMERCIALIZACIÓN Y DISTRIBUCIÓN: LOGÍSTICA DEL ME...
CUESTIONARIO N°3. FORMAS DE COMERCIALIZACIÓN Y DISTRIBUCIÓN: LOGÍSTICA DEL ME...CUESTIONARIO N°3. FORMAS DE COMERCIALIZACIÓN Y DISTRIBUCIÓN: LOGÍSTICA DEL ME...
CUESTIONARIO N°3. FORMAS DE COMERCIALIZACIÓN Y DISTRIBUCIÓN: LOGÍSTICA DEL ME...
 
Informe sobre la Elaboración del yogurt de fresa
Informe sobre la Elaboración del yogurt de fresaInforme sobre la Elaboración del yogurt de fresa
Informe sobre la Elaboración del yogurt de fresa
 
ESTUDIO IPSOS - Indice Confianza Consumidor junio 2024
ESTUDIO IPSOS - Indice Confianza Consumidor junio 2024ESTUDIO IPSOS - Indice Confianza Consumidor junio 2024
ESTUDIO IPSOS - Indice Confianza Consumidor junio 2024
 
Taller Programacion estudiante tecnico academico
Taller Programacion estudiante tecnico academicoTaller Programacion estudiante tecnico academico
Taller Programacion estudiante tecnico academico
 
Metro de Málaga simulador de conducción.
Metro de Málaga simulador de conducción.Metro de Málaga simulador de conducción.
Metro de Málaga simulador de conducción.
 
correlación variables, gráficos spss variables
correlación variables, gráficos spss variablescorrelación variables, gráficos spss variables
correlación variables, gráficos spss variables
 
biodiversidad en la libertad del Perú pr
biodiversidad en la libertad del Perú prbiodiversidad en la libertad del Perú pr
biodiversidad en la libertad del Perú pr
 
RAZONAMIENTO LOGICO TEST DEDUCTIVO CHALLENGE.pdf
RAZONAMIENTO LOGICO TEST DEDUCTIVO CHALLENGE.pdfRAZONAMIENTO LOGICO TEST DEDUCTIVO CHALLENGE.pdf
RAZONAMIENTO LOGICO TEST DEDUCTIVO CHALLENGE.pdf
 
La MALA ATENCION EN LOS CENTROS DE SALUD
La MALA ATENCION EN LOS CENTROS DE SALUDLa MALA ATENCION EN LOS CENTROS DE SALUD
La MALA ATENCION EN LOS CENTROS DE SALUD
 
PROGRAMA SESQUI 2024.pdf sicuani Cusco peru
PROGRAMA SESQUI 2024.pdf sicuani Cusco peruPROGRAMA SESQUI 2024.pdf sicuani Cusco peru
PROGRAMA SESQUI 2024.pdf sicuani Cusco peru
 
CUESTIONARIO N°1. CLASIFICACIÓN DE LAS CUENTAS CONTABLES
CUESTIONARIO N°1. CLASIFICACIÓN DE LAS CUENTAS CONTABLESCUESTIONARIO N°1. CLASIFICACIÓN DE LAS CUENTAS CONTABLES
CUESTIONARIO N°1. CLASIFICACIÓN DE LAS CUENTAS CONTABLES
 
645025955-Cedula-colombiana-en-blanco.pdf
645025955-Cedula-colombiana-en-blanco.pdf645025955-Cedula-colombiana-en-blanco.pdf
645025955-Cedula-colombiana-en-blanco.pdf
 

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