SlideShare una empresa de Scribd logo
1 de 18
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
FUNDAMENTOS DE PROGRAMACION
Competencia:
• Conoce y aplica la modularidad en el desarrollo de programas para la
optimización de los mismos y reutilización de código.
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
• 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
• 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
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
FUNDAMENTOS DE PROGRAMACIÓN
FUNDAMENTOS DE PROGRAMACIÓN
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
Ejemplo:
FUNDAMENTOS DE PROGRAMACIÓN
Á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
#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
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
• 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
• 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
• 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
• 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
Bibliografía
Cairó, Osvaldo. (2005). Metodología de la Programación. Tercera edición.
AlfaOmega. México, D. F.
FUNDAMENTOS DE PROGRAMACIÓN

Más contenido relacionado

La actualidad más candente

Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosJosé Antonio Sandoval Acosta
 
Variables de-programación
Variables de-programaciónVariables de-programación
Variables de-programaciónKarenNaranjoH
 
P. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosP. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosGeovanny Yungán
 
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UMLUnidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UMLCindy Adriana Bohórquez Santana
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosJosé Antonio Sandoval Acosta
 
Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.nayis2010
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++Rosbelia Balza
 
ALGORITMOS
ALGORITMOSALGORITMOS
ALGORITMOSjhohamn
 
Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesbasilioj
 
Automatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosAutomatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosRosviannis Barreiro
 
encapsulamiento
encapsulamientoencapsulamiento
encapsulamientozeta2015
 
Principios electricos y aplicaciones digitalesl sesion 1
Principios electricos y aplicaciones digitalesl sesion 1Principios electricos y aplicaciones digitalesl sesion 1
Principios electricos y aplicaciones digitalesl sesion 1Rodolfo Alcantara Rosales
 

La actualidad más candente (20)

Fundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicosFundamentos de Programacion - Unidad 1 conceptos basicos
Fundamentos de Programacion - Unidad 1 conceptos basicos
 
Variables de-programación
Variables de-programaciónVariables de-programación
Variables de-programación
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
P. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosP. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetos
 
Programacion Modular
Programacion ModularProgramacion Modular
Programacion Modular
 
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UMLUnidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
Tipos de datos abstractos
Tipos de datos abstractosTipos de datos abstractos
Tipos de datos abstractos
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Simulación - Unidad 2 numeros pseudoaleatorios
Simulación - Unidad 2 numeros pseudoaleatoriosSimulación - Unidad 2 numeros pseudoaleatorios
Simulación - Unidad 2 numeros pseudoaleatorios
 
Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++
 
ALGORITMOS
ALGORITMOSALGORITMOS
ALGORITMOS
 
Colas
ColasColas
Colas
 
Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relaciones
 
Automatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No DeterministicosAutomatas Finitos Deterministicos y No Deterministicos
Automatas Finitos Deterministicos y No Deterministicos
 
encapsulamiento
encapsulamientoencapsulamiento
encapsulamiento
 
Unidad 2 clases y objetos
Unidad 2 clases y objetosUnidad 2 clases y objetos
Unidad 2 clases y objetos
 
Principios electricos y aplicaciones digitalesl sesion 1
Principios electricos y aplicaciones digitalesl sesion 1Principios electricos y aplicaciones digitalesl sesion 1
Principios electricos y aplicaciones digitalesl sesion 1
 

Similar a Fundamentos de Programación - Unidad V: Modularidad

Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programaciónMay Ibarra
 
Apun9algol
Apun9algolApun9algol
Apun9algolpabesacv
 
Guia programacion modular
Guia programacion modularGuia programacion modular
Guia programacion modularSol Hernández
 
Optimizacioncodigo
OptimizacioncodigoOptimizacioncodigo
OptimizacioncodigoPablo Vargas
 
12 programacion modular
12 programacion modular12 programacion modular
12 programacion modularShadai Black
 
12 programacion modular
12 programacion modular12 programacion modular
12 programacion modularLaura Cruz
 
UNIDAD 2_Tema 1.pdf
UNIDAD 2_Tema 1.pdfUNIDAD 2_Tema 1.pdf
UNIDAD 2_Tema 1.pdfjaimelovato
 
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdfMODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdfannalybautistaruiz
 
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdfMODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdfannalybautistaruiz
 
trabajo tecnología 2 periodo
trabajo tecnología 2 periodo trabajo tecnología 2 periodo
trabajo tecnología 2 periodo MarianaMeja17
 
trabajo tecnología 2 periodo .pdf
trabajo tecnología 2 periodo .pdftrabajo tecnología 2 periodo .pdf
trabajo tecnología 2 periodo .pdfanamariavalencia0215
 
trabajo tecnología 2 periodo
trabajo tecnología 2 periodo trabajo tecnología 2 periodo
trabajo tecnología 2 periodo ivanaMuoz5
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++Tensor
 

Similar a Fundamentos de Programación - Unidad V: Modularidad (20)

Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 MódulosIng. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica, U5 Módulos
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
Apun9algol
Apun9algolApun9algol
Apun9algol
 
Guia programacion modular
Guia programacion modularGuia programacion modular
Guia programacion modular
 
Modulo 1 algoritmo
Modulo 1 algoritmoModulo 1 algoritmo
Modulo 1 algoritmo
 
Modulo 1 algoritmo
Modulo 1 algoritmoModulo 1 algoritmo
Modulo 1 algoritmo
 
Optimizacioncodigo
OptimizacioncodigoOptimizacioncodigo
Optimizacioncodigo
 
12 programacion modular
12 programacion modular12 programacion modular
12 programacion modular
 
12 programacion modular
12 programacion modular12 programacion modular
12 programacion modular
 
Presentación1.pptx
Presentación1.pptxPresentación1.pptx
Presentación1.pptx
 
BORLAND
BORLANDBORLAND
BORLAND
 
UNIDAD 2_Tema 1.pdf
UNIDAD 2_Tema 1.pdfUNIDAD 2_Tema 1.pdf
UNIDAD 2_Tema 1.pdf
 
Programacion Funcional
Programacion FuncionalProgramacion Funcional
Programacion Funcional
 
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdfMODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
 
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdfMODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
MODULO II ALGORITMO Y PROGRAMACIÓN ESTRUCTURA DE PROGRAMA.pdf
 
trabajo tecnología 2 periodo
trabajo tecnología 2 periodo trabajo tecnología 2 periodo
trabajo tecnología 2 periodo
 
trabajo tecnología 2 periodo .pdf
trabajo tecnología 2 periodo .pdftrabajo tecnología 2 periodo .pdf
trabajo tecnología 2 periodo .pdf
 
trabajo tecnología 2 periodo
trabajo tecnología 2 periodo trabajo tecnología 2 periodo
trabajo tecnología 2 periodo
 
trabajo tecnología 2 periodo
trabajo tecnología 2 periodo trabajo tecnología 2 periodo
trabajo tecnología 2 periodo
 
Elementos basicos c++
Elementos basicos c++Elementos basicos c++
Elementos basicos c++
 

Más de José Antonio Sandoval Acosta

Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionJosé Antonio Sandoval Acosta
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosJosé Antonio Sandoval Acosta
 

Más de José Antonio Sandoval Acosta (20)

Linea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptxLinea del tiempo de la inteligencia artificial.pptx
Linea del tiempo de la inteligencia artificial.pptx
 
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptxUNIDAD 2 CLASIFICACION DE LOS  MATERIALES.pptx
UNIDAD 2 CLASIFICACION DE LOS MATERIALES.pptx
 
croquis de aulas UAIM topolobampo FEB 2024
croquis de aulas UAIM topolobampo  FEB 2024croquis de aulas UAIM topolobampo  FEB 2024
croquis de aulas UAIM topolobampo FEB 2024
 
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructurasIng. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
 
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacionIng. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
 
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmosIng. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
 
Manual de prácticas y antología para POO
Manual de prácticas y antología para  POOManual de prácticas y antología para  POO
Manual de prácticas y antología para POO
 
Aplicaciones móviles intro.
Aplicaciones móviles intro.Aplicaciones móviles intro.
Aplicaciones móviles intro.
 
Economia
EconomiaEconomia
Economia
 
ISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptxISCA-quimica-Equipo 2.pptx
ISCA-quimica-Equipo 2.pptx
 
Plantilla presentación.pptx
Plantilla presentación.pptxPlantilla presentación.pptx
Plantilla presentación.pptx
 
kitchenham.pptx
kitchenham.pptxkitchenham.pptx
kitchenham.pptx
 
Diagrama de Casos de Uso UML
Diagrama de Casos de Uso UMLDiagrama de Casos de Uso UML
Diagrama de Casos de Uso UML
 
Introducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UMLIntroducción al Diagrama de Clases UML
Introducción al Diagrama de Clases UML
 
Diagrama de clases UML
Diagrama de clases UMLDiagrama de clases UML
Diagrama de clases UML
 
Diagrama UML Casos de Uso
Diagrama UML Casos de UsoDiagrama UML Casos de Uso
Diagrama UML Casos de Uso
 
Tema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdfTema 3 - Comandos básicos.pdf
Tema 3 - Comandos básicos.pdf
 
Tema 1 - Intro.pdf
Tema 1 - Intro.pdfTema 1 - Intro.pdf
Tema 1 - Intro.pdf
 
Receta de albóndigas de res
Receta de albóndigas de resReceta de albóndigas de res
Receta de albóndigas de res
 

Último

Sistema de Base de Datos (Rubén Alberto)
Sistema de Base de Datos (Rubén Alberto)Sistema de Base de Datos (Rubén Alberto)
Sistema de Base de Datos (Rubén Alberto)mendezruben1901
 
Descubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialDescubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialyajhairatapia
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfJessLeonelVargasJimn
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfIsbelRodrguez
 
trabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidastrabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidasNelsonQuispeQuispitu
 
produccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxproduccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxEtse9
 
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...esandoval7
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionOsdelTacusiPancorbo
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaANDECE
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosJeanCarlosLorenzo1
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasSOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasLeonardoMendozaDvila
 
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...ssuser646243
 
Sistema de Gestión de Freelancers (Base de Datos)
Sistema de Gestión de Freelancers (Base de Datos)Sistema de Gestión de Freelancers (Base de Datos)
Sistema de Gestión de Freelancers (Base de Datos)dianamateo1513
 
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...Arquitecto Alejandro Gomez cornejo muñoz
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.pptVitobailon
 
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptxNayeliZarzosa1
 
NOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptxNOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptxJairReyna1
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEANDECE
 

Último (20)

Sistema de Base de Datos (Rubén Alberto)
Sistema de Base de Datos (Rubén Alberto)Sistema de Base de Datos (Rubén Alberto)
Sistema de Base de Datos (Rubén Alberto)
 
Descubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialDescubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundial
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdf
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdf
 
trabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidastrabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidas
 
produccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxproduccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptx
 
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacion
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de Almería
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasSOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
 
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...
Como de produjo la penicilina de manera masiva en plena guerra mundial Biotec...
 
Sistema de Gestión de Freelancers (Base de Datos)
Sistema de Gestión de Freelancers (Base de Datos)Sistema de Gestión de Freelancers (Base de Datos)
Sistema de Gestión de Freelancers (Base de Datos)
 
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.ppt
 
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
 
NOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptxNOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptx
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
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
  • 2. FUNDAMENTOS DE PROGRAMACION Competencia: • Conoce y aplica la modularidad en el desarrollo de programas para la optimización de los mismos y reutilización de código.
  • 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
  • 18. Bibliografía Cairó, Osvaldo. (2005). Metodología de la Programación. Tercera edición. AlfaOmega. México, D. F. FUNDAMENTOS DE PROGRAMACIÓN