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
#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.