TECNOLÓGICO NACIONAL DE MÉXICOInstituto Tecnológico Superior de Guasave
Ingeniería en Sistemas Computacionales
Fundamentos de Programación
Unidad V: Modularidad
Retícula ISIC-2010-224: Programa: AED-1285
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fundamentos de Programación - Unidad V: Modularidad
1. TECNOLÓGICO NACIONAL DE MÉXICO
Instituto Tecnológico Superior de Guasave
Ingeniería en Sistemas Computacionales
Fundamentos de Programación
Unidad V: Modularidad
Mtro. José Antonio Sandoval Acosta
Retícula ISIC-2010-224: Programa: AED-1285
itsguasave.edu.mx
3. Modularidad
• La modularidad se basa en la descomposición de un problema en una serie
de sub problemas; dividiéndolo en módulos que resultan de segmentar el
problema en funciones lógicas que son perfectamente diferenciadas.
• Esta división exige la presencia de un módulo denominado módulo de base
o principal a objeto de que controle y se relacione con los demás.
FUNDAMENTOS DE PROGRAMACIÓN
4. • Es una técnica de programación que todavía se utiliza tanto para la
construcción de algoritmos computacionales básicos así como apoyo al
desarrollo de sistemas de gestión (en el diseño de diagramas modulares).
• Modularizar significa que el algoritmo se fragmenta en partes llamadas
módulos. En realidad, es un método de diseño que tiende a dividir el
problema, de forma lógica, en partes perfectamente diferenciadas que
pueden ser analizadas, programadas y puestas a punto independiente.
FUNDAMENTOS DE PROGRAMACIÓN
5. • Módulo: Es aquél que está constituido por una o varias instrucciones
físicamente contiguas y lógicamente encadenadas, las cuales se pueden
referenciar mediante un nombre y pueden ser llamadas desde diferentes
puntos de un programa.
Un módulo puede ser:
• Un programa
• Una función
• Una subrutina (o procedimiento)
FUNDAMENTOS DE PROGRAMACIÓN
6. Principios para asegurar diseños
modulares
• Soporte de lenguaje para unidades
modulares
• Pocas interfaces
• Interfaces pequeñas (Acoplamiento
débil)
• Interfaces explícitas
• Ocultación de la información
FUNDAMENTOS DE PROGRAMACIÓN
9. Sintaxis para un declarar un módulo
Tipo Nombre(lista de parámetros) //Cabecera de la función
{
Declaraciones Instrucciones //Cuerpo de la función
return valor;
}
• Donde tipo es el tipo del dato de salida, nombre es un identificador que
representa el nombre de la función, lista de parámetros es una lista de
parámetros separados por comas, donde cada parámetro se declara como
en una declaración de variables normal, y valor es aquel dato que
regresaremos y debe coincidir con el tipo declarado al inicio.
FUNDAMENTOS DE PROGRAMACIÓN
11. Ámbito de un identificador: Conjunto de sentencias donde puede utilizarse
ese identificador.
Reglas para el cálculo del ámbito de un identificador:
1. Un identificador declarado en un bloque es accesible únicamente desde
ese bloque y todos los bloques incluidos en él (se considera local a ese
bloque). Un parámetro formal se considera también una declaración local
al bloque de la función.
2. Los identificadores declarados fuera de cualquier bloque se consideran
globales y pueden ser utilizados desde cualquier punto del programa.
3. Cuando tenemos un bloque dentro de otro bloque y en ambos
se declaran identificadores con el mismo nombre, el del bloque
interno "oculta" al del bloque externo. (En C++ se admite la
declaración de variables en cualquier bloque).
FUNDAMENTOS DE PROGRAMACIÓN
12. #include <iostream.h>
int z; // Global
int Sumar(int x, int y);
int main()
{
int suma; // Local a main
z = 3;
suma = Sumar(2, 3);
cout << suma << endl << z;
return 0;
}
int Sumar(int x, int y)
{
int z; // Local a Sumar.
// Oculta la z global
z = x + y;
return z;
}
FUNDAMENTOS DE PROGRAMACIÓN
Ejemplo
13. Reglas de uso de funciones:
• En una función sólo se deben utilizar variables locales a la función o
parámetros(que también son variables locales). Las variables globales no se
deben utilizar nunca.
• La razón es porque de esta manera la función es independiente del
programa principal.
• La independencia permite que sea más fácil hacer cambios al programa,
que la función pueda ser reutilizada en otros programas y que sea más fácil
trabajar en equipo.
FUNDAMENTOS DE PROGRAMACIÓN
14. • Ejercicio: Utilizando programación modular realizar un programa que sume
dos números, la suma debe ser realizada en una función independiente de
la rutina principal y su resultado debe ser desplegado en la rutina principal.
FUNDAMENTOS DE PROGRAMACIÓN
15. • Ejercicio: realice un programa que determine si un número es primo o no,
se debe capturar un valor por teclado y por medio de una función realizar
el proceso correspondiente, la función debe regresar 1 en caso de ser
número primo y 0 en caso de no ser número primo, y en la rutina principal
se debe desplegar el mensaje correspondiente para cada caso.
FUNDAMENTOS DE PROGRAMACIÓN
16. • Ejercicio: desarrolle un programa que contenga una función que calcule el
total de impuestos (IVA) a pagar en una factura. Se deben solicitar un total
de 3 productos, cada producto paga su IVA por separado por lo que se debe
utilizar la misma rutina para el cálculo, al final se debe de mostrar el total
de IVA a pagar, subtotal de la compra y el total a pagar.
FUNDAMENTOS DE PROGRAMACIÓN
17. • Tarea: Desarrolle un programa para administración de habitaciones de un
hotel, debe solicitar por habitación el costo por noche, total de noches,
total de alimentos consumidos, y total de servicios extras. Una vez teniendo
estos datos los cálculos se realizan de la siguiente forma:
1) Costo por hospedaje: paga IVA al 16 % e IH al 2% (se debe usar un solo
módulo para el cálculo de ambos impuestos).
2) El total de alimentos y el total de servicios extras pagan 16% de IVA
3) Sumar todos los conceptos para presentar el subtotal
4) Sumar todo el IVA para presentar total de IVA
5) Presentar total de IH
6) Presentar total a pagar
FUNDAMENTOS DE PROGRAMACIÓN