SlideShare una empresa de Scribd logo
Fundamentos de Programación
Unidad 5. Modularidad
14 de noviembre de 2024.
TECNOLÓGICO NACIONAL DE MÉXICO
INSTITUTO TECNOLÓGICO DE TECOMATLÁN.
TÓPICOS.
Unidad Temas Subtemas
5 Modularidad 5.1 Declaración y uso de módulos.
5.2Paso de parámetros o argumentos.
5.3 Implementación.
1.- COMPETENCIA ESPECÍFICA A
DESARROLLAR.
• Conoce y aplica la modularidad en el
desarrollo de programas para la
optimización de los mismos y reutilización
de código.
Genéricas:
Habilidades de gestión de información
(habilidad para buscar y analizar información
proveniente de fuentes diversas).
 Capacidad de análisis y síntesis.
 Capacidad de comunicación oral y escrita.
 Capacidad de aplicar los conocimientos
en la práctica
 Habilidades en el uso de las tecnologías
de la información y de la comunicación.
2.- ACTIVIDADES DE APRENDIZAJE.
•  Investigar las ventajas, desventajas
estructura y usos de la programación
modular y presentar un reporte.
•  Gestionar información sobre la
declaración y el uso de métodos o
funciones y presentarla en un resumen. 
Identificar la diferencia entre parámetros y
argumentos, su estructura e importancia,
mediante una investigación bibliográfica,
presentando ejemplos de programas en
exposición grupal.
•  Realizar una práctica de ejercicios que
involucren la implementación de métodos o
funciones con pase de parámetros en la
resolución de problemas del contexto,
documentar y exponer.
Indicador Puntaje Entrega
Elaborar un resumen sobre
las ventajas, desventajas,
estructura y usos de la
programación modular.
30% 18 de
noviembre de
2024
Práctica 9. Realizar una
práctica de ejercicios que
involucren la implementación
de métodos o funciones con
pase de parámetros en la
resolución de problemas del
contexto, documentar y
exponer.
40%
25 de noviembre
de 2024
Evaluación Escrita 30%
04 de diciembre
de 2024
3.- CRITERIOS DE EVALUACIÓN.
100%
INTRODUCCIÓN
¿Qué es programación modular?
Uno de los métodos más conocidos para resolver un problema es dividirlo
en problemas más pequeños, llamados subproblemas. De esta manera,
en lugar de resolver una tarea compleja y tediosa, resolvemos otras más
sencillas y a partir de ellas llegamos a la solución. Esta técnica se usa
mucho en programación ya que programar no es más que resolver
problemas, y se le suele llamar diseño descendente, metodología
del divide y vencerás o programación top-down.
5.1 Declaración y uso de módulos.
Un módulo es una agrupación de paquetes y recursos a los que se puede
hacer referencia colectivamente por el nombre del módulo.
5.1 Declaración y uso de módulos.
Características que deben tener los módulos
a) Deben esta jerarquizados
b) Deben ser pequeños y sencillos
c) Deben ocultar los detalles poco importantes a módulos superiores en jerarquía.
d) Debe usar tantos módulos de más baja jerarquía como sea necesario para cumplir
con el modo b)
e) Deben usar estructuras de datos y control adecuados para cumplir con el punto b)
f) Deben ser legibles, es decir que no solo el autor pueda entenderlos, sino cualquiera
que tenga acceso a ellos con un conocimiento fundamental de programación
5.1 Declaración y uso de módulos.
Ventajas de la modularidad
El uso de modularidad para diseñar programas tiene varias ventajas:
a) Disminuye la complejidad del problema a resolver.
b) Aumenta la legibilidad y confiabilidad
c) Disminuye costos computacionales.
d) Se obtiene un mejor control del proyecto.
e) Se pueden agregar nuevos módulos.
f) Facilita el mantenimiento
Declaración de un módulo
Los módulos tienen un formato bien definido para su utilización:
 Tiene un tipo de retorno
 Tiene un nombre o identificador.
 Puede tener o no lista de parámetros (elementos de comunicación con el
modulo principal)
 Tiene un cuerpo o conjunto de instrucciones que resuelven una tarea
especifica.
 Pueden o no devolver un valor del algún tipo de dato básico, estructurado o
definido por el usuario.
Esquemáticamente podemos observar el formato de un módulo como el siguiente:
[ Tipo ] Nombre del modulo (tipo param1, tipo param2,… tipo paramn)
Inicio
Sentencia 1;
Sentencia 2;
Sentencia n;
[ Devolver ( expresión ) ]
FinModulo
5.2 Paso de parámetros o argumentos.
Parámetros:
Argumentos:
Los parámetros o argumentos son una forma de intercambiar información con el
método. Pueden servir para introducir datos para ejecutar el método (entrada) o
para obtener o modificar datos tras su ejecución (salida).
Ejemplos de declaraciones de cabeceras de métodos:
// Sin parametros
public double devuelve() {
return ...;
}
// Un parametro, x de tipo double
public void asigna(double x) {
...
}
// Dos parametros, a y b de tipo int
public int elMayor(int a, int b) {
...
}
// Un parametro, v, array real
public static double sumatorio (double [] v) {
...
}
// Un parámetro de la clase Fecha
public boolean caducado (Fecha fechaLimite) {
...
}
El identificador del parámetro se emplea sólo dentro del método para hacer referencia al argumento correspondiente y puede
coincidir con el de un atributo de la misma clase. En tal caso, se dice que oculta a la variable miembro. Esta técnica suele
emplearse en los constructores para inicializar una instancia. Por ejemplo en la clase Circulo:
public class Circulo {
int x, y, radio;
public Circulo(int x, int y, int radio) {
...
}
}
ISC-FP-U5 fundamentos de programación modularidad
ISC-FP-U5 fundamentos de programación modularidad
ISC-FP-U5 fundamentos de programación modularidad
5.3 Implementación.
/**
* Declaracion de la clase CuentaBancaria
* Ejemplo de declaracion de variables
* metodos estaticos y uso de this
*/
public class CuentaBancaria {
// Atributos o variables miembro
private double saldo;
public static int totalCuentas=0;
// Metodos
public CuentaBancaria() {
this(0.0);
}
public CuentaBancaria( double ingreso ) {
saldo = ingreso;
incCuentas();
}
public double saldo() {
return saldo;
}
public static void incCuentas () {
totalCuentas++;
}
// Transfiere todo el dinero de la cuenta origen a la actual
public void transferencia( CuentaBancaria origen ) {
saldo += origen.saldo;
origen.saldo=0;
}
}
Ejercicio. En la clase CuentaBancaria se
implementa un
método transferencia que transfiere el
saldo de una cuenta origen (parámetro
formal explícito) a otra cuenta (parámetro
implícito):
Ejemplo de programa que emplea la clase CuentaBancaria con una llamada al método transferencia:
/**
* Ejemplo de uso de la clase CuentaBancaria
*/
public class PruebaCuentaBancaria {
public static void main (String [] args) {
System.out.println("Total cuentas: " + CuentaBancaria.totalCuentas);
CuentaBancaria c1;
c1 = new CuentaBancaria(17.5);
System.out.println("Nueva cuenta con: " + c1.saldo() + " euros");
System.out.println("Total cuentas: " + CuentaBancaria.totalCuentas);
CuentaBancaria c2;
c2 = new CuentaBancaria(20.0);
System.out.println("Nueva cuenta con: " + c2.saldo() + " euros");
System.out.println("Total cuentas: " + CuentaBancaria.totalCuentas);
System.out.println("Transferencia de cuenta 2 a cuenta 1");
c1.transferencia(c2);
System.out.println("Cuenta 1 con: " + c1.saldo() + " euros");
System.out.println("Cuenta 2 con: " + c2.saldo() + " euros");
} }
La ejecución del código anterior origina la siguiente salida por pantalla:
$>java PruebaCuentaBancaria
Total cuentas: 0
Nueva cuenta con: 17.5 euros
Total cuentas: 1
Nueva cuenta con: 20.0 euros
Total cuentas: 2
Transferencia de cuenta 2 a cuenta 1
Cuenta 1 con: 37.5 euros
Cuenta 2 con: 0.0 euros
¿DUDAS..?

Más contenido relacionado

PDF
Unidad III-Programación Modular-introducción al lenguaje programable.pdf
PDF
Visual .NET - Diseño y Programación de formularios
PPTX
Programación 1: modularización
DOCX
Paradigmas de programación
PDF
Programación Modular
PPTX
Fundamentos de Programación - Unidad V: Modularidad
Unidad III-Programación Modular-introducción al lenguaje programable.pdf
Visual .NET - Diseño y Programación de formularios
Programación 1: modularización
Paradigmas de programación
Programación Modular
Fundamentos de Programación - Unidad V: Modularidad

Similar a ISC-FP-U5 fundamentos de programación modularidad (20)

PDF
Guia programacion modular
DOCX
M o d_u_l_a_r_i_d_a_d
PDF
Estructura de datos c++
DOCX
Funciones lenguaje c modulo4
DOCX
FUNCIONES EN LENGUAJE C
PDF
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
PDF
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
PDF
Unidad 4 preguntas
PPTX
Tema1Instrucciones-DeclaracionAsignacion.pptx
PPT
PDF
Encapsulamiento
PPTX
DOCX
M O D U L A R I D A D
PDF
Programación Modular - Subprogramas o funciones
DOCX
Cuestionario
PDF
Explicacion de como usar e implementar funciones en c++
PDF
Paradigmas de Programación
PPTX
5. PROGRAMACION ESTRUCTURADA C++.pptx
PPT
Modulo 1 algoritmo
PPT
Modulo 1 algoritmo
Guia programacion modular
M o d_u_l_a_r_i_d_a_d
Estructura de datos c++
Funciones lenguaje c modulo4
FUNCIONES EN LENGUAJE C
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
Unidad 4 preguntas
Tema1Instrucciones-DeclaracionAsignacion.pptx
Encapsulamiento
M O D U L A R I D A D
Programación Modular - Subprogramas o funciones
Cuestionario
Explicacion de como usar e implementar funciones en c++
Paradigmas de Programación
5. PROGRAMACION ESTRUCTURADA C++.pptx
Modulo 1 algoritmo
Modulo 1 algoritmo
Publicidad

Último (20)

PPTX
modulo seguimiento 1 para iniciantes del
PDF
Teoría de estadística descriptiva y aplicaciones .pdf
PPTX
Uso responsable de la tecnología - EEST N°1
PDF
capacitación de aire acondicionado Bgh r 410
DOCX
Trabajo grupal.docxjsjsjsksjsjsskksjsjsjsj
DOCX
Trabajo informatica joel torres 10-.....................
PDF
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
PDF
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
PPTX
Control de calidad en productos de frutas
PDF
Taller tecnológico Michelle lobo Velasquez
PPTX
Propuesta BKP servidores con Acronis1.pptx
PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
PPTX
ccna: redes de nat ipv4 stharlling cande
DOCX
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
PPTX
Diapositivas Borrador Rocha Jauregui David Paolo (3).pptx
PPT
Protocolos de seguridad y mecanismos encriptación
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
DOCX
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
PPTX
El uso de las TIC en la vida cotidiana..
PPTX
Curso de generación de energía mediante sistemas solares
modulo seguimiento 1 para iniciantes del
Teoría de estadística descriptiva y aplicaciones .pdf
Uso responsable de la tecnología - EEST N°1
capacitación de aire acondicionado Bgh r 410
Trabajo grupal.docxjsjsjsksjsjsskksjsjsjsj
Trabajo informatica joel torres 10-.....................
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
Control de calidad en productos de frutas
Taller tecnológico Michelle lobo Velasquez
Propuesta BKP servidores con Acronis1.pptx
Presentacion de Alba Curso Auditores Internos ISO 19011
ccna: redes de nat ipv4 stharlling cande
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
Diapositivas Borrador Rocha Jauregui David Paolo (3).pptx
Protocolos de seguridad y mecanismos encriptación
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
El uso de las TIC en la vida cotidiana..
Curso de generación de energía mediante sistemas solares
Publicidad

ISC-FP-U5 fundamentos de programación modularidad

  • 1. Fundamentos de Programación Unidad 5. Modularidad 14 de noviembre de 2024. TECNOLÓGICO NACIONAL DE MÉXICO INSTITUTO TECNOLÓGICO DE TECOMATLÁN.
  • 2. TÓPICOS. Unidad Temas Subtemas 5 Modularidad 5.1 Declaración y uso de módulos. 5.2Paso de parámetros o argumentos. 5.3 Implementación.
  • 3. 1.- COMPETENCIA ESPECÍFICA A DESARROLLAR. • Conoce y aplica la modularidad en el desarrollo de programas para la optimización de los mismos y reutilización de código. Genéricas: Habilidades de gestión de información (habilidad para buscar y analizar información proveniente de fuentes diversas).  Capacidad de análisis y síntesis.  Capacidad de comunicación oral y escrita.  Capacidad de aplicar los conocimientos en la práctica  Habilidades en el uso de las tecnologías de la información y de la comunicación.
  • 4. 2.- ACTIVIDADES DE APRENDIZAJE. •  Investigar las ventajas, desventajas estructura y usos de la programación modular y presentar un reporte. •  Gestionar información sobre la declaración y el uso de métodos o funciones y presentarla en un resumen.  Identificar la diferencia entre parámetros y argumentos, su estructura e importancia, mediante una investigación bibliográfica, presentando ejemplos de programas en exposición grupal. •  Realizar una práctica de ejercicios que involucren la implementación de métodos o funciones con pase de parámetros en la resolución de problemas del contexto, documentar y exponer.
  • 5. Indicador Puntaje Entrega Elaborar un resumen sobre las ventajas, desventajas, estructura y usos de la programación modular. 30% 18 de noviembre de 2024 Práctica 9. Realizar una práctica de ejercicios que involucren la implementación de métodos o funciones con pase de parámetros en la resolución de problemas del contexto, documentar y exponer. 40% 25 de noviembre de 2024 Evaluación Escrita 30% 04 de diciembre de 2024 3.- CRITERIOS DE EVALUACIÓN. 100%
  • 6. INTRODUCCIÓN ¿Qué es programación modular? Uno de los métodos más conocidos para resolver un problema es dividirlo en problemas más pequeños, llamados subproblemas. De esta manera, en lugar de resolver una tarea compleja y tediosa, resolvemos otras más sencillas y a partir de ellas llegamos a la solución. Esta técnica se usa mucho en programación ya que programar no es más que resolver problemas, y se le suele llamar diseño descendente, metodología del divide y vencerás o programación top-down.
  • 7. 5.1 Declaración y uso de módulos. Un módulo es una agrupación de paquetes y recursos a los que se puede hacer referencia colectivamente por el nombre del módulo.
  • 8. 5.1 Declaración y uso de módulos. Características que deben tener los módulos a) Deben esta jerarquizados b) Deben ser pequeños y sencillos c) Deben ocultar los detalles poco importantes a módulos superiores en jerarquía. d) Debe usar tantos módulos de más baja jerarquía como sea necesario para cumplir con el modo b) e) Deben usar estructuras de datos y control adecuados para cumplir con el punto b) f) Deben ser legibles, es decir que no solo el autor pueda entenderlos, sino cualquiera que tenga acceso a ellos con un conocimiento fundamental de programación
  • 9. 5.1 Declaración y uso de módulos. Ventajas de la modularidad El uso de modularidad para diseñar programas tiene varias ventajas: a) Disminuye la complejidad del problema a resolver. b) Aumenta la legibilidad y confiabilidad c) Disminuye costos computacionales. d) Se obtiene un mejor control del proyecto. e) Se pueden agregar nuevos módulos. f) Facilita el mantenimiento
  • 10. Declaración de un módulo Los módulos tienen un formato bien definido para su utilización:  Tiene un tipo de retorno  Tiene un nombre o identificador.  Puede tener o no lista de parámetros (elementos de comunicación con el modulo principal)  Tiene un cuerpo o conjunto de instrucciones que resuelven una tarea especifica.  Pueden o no devolver un valor del algún tipo de dato básico, estructurado o definido por el usuario.
  • 11. Esquemáticamente podemos observar el formato de un módulo como el siguiente: [ Tipo ] Nombre del modulo (tipo param1, tipo param2,… tipo paramn) Inicio Sentencia 1; Sentencia 2; Sentencia n; [ Devolver ( expresión ) ] FinModulo
  • 12. 5.2 Paso de parámetros o argumentos. Parámetros: Argumentos: Los parámetros o argumentos son una forma de intercambiar información con el método. Pueden servir para introducir datos para ejecutar el método (entrada) o para obtener o modificar datos tras su ejecución (salida).
  • 13. Ejemplos de declaraciones de cabeceras de métodos: // Sin parametros public double devuelve() { return ...; } // Un parametro, x de tipo double public void asigna(double x) { ... } // Dos parametros, a y b de tipo int public int elMayor(int a, int b) { ... } // Un parametro, v, array real public static double sumatorio (double [] v) { ... } // Un parámetro de la clase Fecha public boolean caducado (Fecha fechaLimite) { ... } El identificador del parámetro se emplea sólo dentro del método para hacer referencia al argumento correspondiente y puede coincidir con el de un atributo de la misma clase. En tal caso, se dice que oculta a la variable miembro. Esta técnica suele emplearse en los constructores para inicializar una instancia. Por ejemplo en la clase Circulo: public class Circulo { int x, y, radio; public Circulo(int x, int y, int radio) { ... } }
  • 17. 5.3 Implementación. /** * Declaracion de la clase CuentaBancaria * Ejemplo de declaracion de variables * metodos estaticos y uso de this */ public class CuentaBancaria { // Atributos o variables miembro private double saldo; public static int totalCuentas=0; // Metodos public CuentaBancaria() { this(0.0); } public CuentaBancaria( double ingreso ) { saldo = ingreso; incCuentas(); } public double saldo() { return saldo; } public static void incCuentas () { totalCuentas++; } // Transfiere todo el dinero de la cuenta origen a la actual public void transferencia( CuentaBancaria origen ) { saldo += origen.saldo; origen.saldo=0; } } Ejercicio. En la clase CuentaBancaria se implementa un método transferencia que transfiere el saldo de una cuenta origen (parámetro formal explícito) a otra cuenta (parámetro implícito):
  • 18. Ejemplo de programa que emplea la clase CuentaBancaria con una llamada al método transferencia: /** * Ejemplo de uso de la clase CuentaBancaria */ public class PruebaCuentaBancaria { public static void main (String [] args) { System.out.println("Total cuentas: " + CuentaBancaria.totalCuentas); CuentaBancaria c1; c1 = new CuentaBancaria(17.5); System.out.println("Nueva cuenta con: " + c1.saldo() + " euros"); System.out.println("Total cuentas: " + CuentaBancaria.totalCuentas); CuentaBancaria c2; c2 = new CuentaBancaria(20.0); System.out.println("Nueva cuenta con: " + c2.saldo() + " euros"); System.out.println("Total cuentas: " + CuentaBancaria.totalCuentas); System.out.println("Transferencia de cuenta 2 a cuenta 1"); c1.transferencia(c2); System.out.println("Cuenta 1 con: " + c1.saldo() + " euros"); System.out.println("Cuenta 2 con: " + c2.saldo() + " euros"); } } La ejecución del código anterior origina la siguiente salida por pantalla: $>java PruebaCuentaBancaria Total cuentas: 0 Nueva cuenta con: 17.5 euros Total cuentas: 1 Nueva cuenta con: 20.0 euros Total cuentas: 2 Transferencia de cuenta 2 a cuenta 1 Cuenta 1 con: 37.5 euros Cuenta 2 con: 0.0 euros

Notas del editor

  • #1: Esta plantilla se puede usar como archivo de inicio para presentar materiales educativos en un entorno de grupo. Secciones Para agregar secciones, haga clic con el botón secundario del mouse en una diapositiva. Las secciones pueden ayudarle a organizar las diapositivas o a facilitar la colaboración entre varios autores. Notas Use la sección Notas para las notas de entrega o para proporcionar detalles adicionales al público. Vea las notas en la vista Presentación durante la presentación. Tenga en cuenta el tamaño de la fuente (es importante para la accesibilidad, visibilidad, grabación en vídeo y producción en línea) Colores coordinados Preste especial atención a los gráficos, diagramas y cuadros de texto. Tenga en cuenta que los asistentes imprimirán en blanco y negro o escala de grises. Ejecute una prueba de impresión para asegurarse de que los colores son los correctos cuando se imprime en blanco y negro puros y escala de grises. Gráficos y tablas En breve: si es posible, use colores y estilos uniformes y que no distraigan. Etiquete todos los gráficos y tablas.
  • #2: Ofrezca una breve descripción general de la presentación. Describa el enfoque principal de la presentación y por qué es importante. Introduzca cada uno de los principales temas. Si desea proporcionar al público una guía, puede repetir esta diapositiva de información general a lo largo de toda la presentación, resaltando el tema particular que va a discutir a continuación.
  • #3: ¿Qué podrá hacer el público después de completar este curso? Describa brevemente para cada objetivo cómo el público obtendrá beneficios de esta presentación.
  • #4: Si hay vídeos relevantes, como el vídeo de un caso práctico, la demostración de un producto u otro tipo de material educativo, inclúyalos también en la presentación.
  • #19: Ésta es otra opción para una diapositiva Información general que usa transiciones.