SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

1.4 software numerico
1.4 software numerico1.4 software numerico
1.4 software numericomorenito9001
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaRolf Pinto
 
Tabla comparativa de programacion orientada , objetos y estructurada.
Tabla comparativa de programacion orientada , objetos y estructurada.Tabla comparativa de programacion orientada , objetos y estructurada.
Tabla comparativa de programacion orientada , objetos y estructurada.Sandy Montoya Reyes
 
Procedimientos especiales
Procedimientos especialesProcedimientos especiales
Procedimientos especialesAnel Sosa
 
Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresAlvaro Enrique Ruano
 
Unidad no. 2 búsqueda en espacio de estados
Unidad no. 2   búsqueda en espacio de estadosUnidad no. 2   búsqueda en espacio de estados
Unidad no. 2 búsqueda en espacio de estadosMilton Klapp
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosMario Villaseñor
 
Logica Difusa Introduccion
Logica Difusa IntroduccionLogica Difusa Introduccion
Logica Difusa IntroduccionESCOM
 
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.Bryan Aguilar Yaguana
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
Glosario de ing. de software
Glosario de ing. de softwareGlosario de ing. de software
Glosario de ing. de softwareGeorge Corona
 
APLICACION DEL CALCULO EN LA INFORMATICA
APLICACION DEL CALCULO EN LA INFORMATICAAPLICACION DEL CALCULO EN LA INFORMATICA
APLICACION DEL CALCULO EN LA INFORMATICAJoseph Mendoza
 

What's hot (20)

1.4 software numerico
1.4 software numerico1.4 software numerico
1.4 software numerico
 
Recursividad
RecursividadRecursividad
Recursividad
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Herencia Y Polimorfismo
Herencia Y PolimorfismoHerencia Y Polimorfismo
Herencia Y Polimorfismo
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Conceptos poo (presentación1)
Conceptos poo (presentación1)Conceptos poo (presentación1)
Conceptos poo (presentación1)
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
 
Tabla comparativa de programacion orientada , objetos y estructurada.
Tabla comparativa de programacion orientada , objetos y estructurada.Tabla comparativa de programacion orientada , objetos y estructurada.
Tabla comparativa de programacion orientada , objetos y estructurada.
 
Procedimientos especiales
Procedimientos especialesProcedimientos especiales
Procedimientos especiales
 
Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructores
 
Unidad no. 2 búsqueda en espacio de estados
Unidad no. 2   búsqueda en espacio de estadosUnidad no. 2   búsqueda en espacio de estados
Unidad no. 2 búsqueda en espacio de estados
 
Top down
Top downTop down
Top down
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a Objetos
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Logica Difusa Introduccion
Logica Difusa IntroduccionLogica Difusa Introduccion
Logica Difusa Introduccion
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
Glosario de ing. de software
Glosario de ing. de softwareGlosario de ing. de software
Glosario de ing. de software
 
APLICACION DEL CALCULO EN LA INFORMATICA
APLICACION DEL CALCULO EN LA INFORMATICAAPLICACION DEL CALCULO EN LA INFORMATICA
APLICACION DEL CALCULO EN LA INFORMATICA
 

Similar to 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
 

Similar to 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
 
Programacion Modular
Programacion ModularProgramacion Modular
Programacion Modular
 
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
 

More from 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
 

More from 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
 

Recently uploaded

TERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOL
TERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOLTERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOL
TERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOLdanilojaviersantiago
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdfCristhianZetaNima
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaAlexanderimanolLencr
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptCRISTOFERSERGIOCANAL
 
osciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfosciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfIvanRetambay
 
Base de Datos en Microsoft SQL Server 2024
Base de Datos en Microsoft SQL Server 2024Base de Datos en Microsoft SQL Server 2024
Base de Datos en Microsoft SQL Server 2024CESARHERNANPATRICIOP2
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Dr. Edwin Hernandez
 
CONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptx
CONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptxCONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptx
CONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptxBrayanJavierCalle2
 
Ingeniería clínica 1 Ingeniería biomedica
Ingeniería clínica 1 Ingeniería biomedicaIngeniería clínica 1 Ingeniería biomedica
Ingeniería clínica 1 Ingeniería biomedicaANACENIMENDEZ1
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesElianaCceresTorrico
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfs7yl3dr4g0n01
 
clasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesclasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesMIGUELANGEL2658
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptxBRAYANJOSEPTSANJINEZ
 
Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMONICADELROCIOMUNZON1
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptMarianoSanchez70
 

Recently uploaded (20)

TERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOL
TERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOLTERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOL
TERMODINAMICA YUNUS SEPTIMA EDICION, ESPAÑOL
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
 
osciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfosciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdf
 
Base de Datos en Microsoft SQL Server 2024
Base de Datos en Microsoft SQL Server 2024Base de Datos en Microsoft SQL Server 2024
Base de Datos en Microsoft SQL Server 2024
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
CONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptx
CONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptxCONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptx
CONCEPTOS EN HIDROGEOLOGIA-diapositivas varias.pptx
 
Ingeniería clínica 1 Ingeniería biomedica
Ingeniería clínica 1 Ingeniería biomedicaIngeniería clínica 1 Ingeniería biomedica
Ingeniería clínica 1 Ingeniería biomedica
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
clasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesclasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias locales
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
 
Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptx
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
 

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