La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación Modular (Pseudocódigo)

Presentaciones similares


Presentación del tema: "Programación Modular (Pseudocódigo)"— Transcripción de la presentación:

1 Programación Modular (Pseudocódigo)
Facultad de Ciencia de la Computación Programación Profr. Miguel Rodríguez Hdez. ELEC 330

2 Programación Modular Contenido Introducción Definición de Módulo
¿Cuándo utilizar modularización? Esquema de la Programación Modular Formas de utilizar el enfoque de diseño descendente Características deseable en en los módulos Formato de los módulos Variables locales, globales, argumentos y parámetros Ejemplos y ejercicios 206_C5 ELEC 330

3 Programación Modular Es una técnica que permite diseñar la solución de un problema con base en la modularización o segmentación, dado un enfoque de arriba hacia abajo (Top-Down). Esta solución se divide en módulos que se estructuran jerárquicamente, como si fuera el organigrama de una empresa. Ejemplo: Algoritmo Principal Módulo Uno Dos Tres 206_C5 ELEC 330

4 Programación Modular Cada uno de los módulos ejecuta una tarea especifica. En su momento, el módulo principal, invocará o llamará a los módulos subordinados, es decir, dirigirá su funcionamiento. 206_C5 ELEC 330

5 Definición de Módulo Un módulo es una rutina, subrutina, subalgoritmo, procedimiento o función (en C) que puede definirse dentro de un algoritmo con el fin de ejecutar una tarea específica y puede ser llamado o invocado desde el algoritmo principal cuando sea necesario. 206_C5 ELEC 330

6 ¿Cuándo utilizar modularización?
Este enfoque es útil en dos casos: Cuando existe un grupo de instrucciones o una tarea específica que deba ejecutarse en más de una ocasión. Cuando el problema es complejo o extenso, la solución se divide en módulos, “partes o subtareas más simples o específicas”. Dicha solución se organiza en forma jerárquica. Cada una de las partes ejecutará una tarea específica. El módulo principal dirige o coordina el funcionamiento de los módulos subordinados. 206_C5 ELEC 330

7 Esquema de Programación Modular
Principal S1 S3 S5 S2 S4 206_C5 ELEC 330

8 Forma de utilizar el enfoque de diseño descendente
Cuando el enfoque de diseño descendente o modular se usa efectivamente, se logra una herramienta de diseño de algoritmos muy poderosa. Procedimiento para usar dicha herramienta Se tiene el análisis del problema Se diseña la estructura general del algoritmo utilizando el diseño modular o descendente Se toma cada módulo y se diseña su lógica utilizando el pseudocódigo. 206_C5 ELEC 330

9 Características deseable en los módulos
Deberán estar jerarquizados Deberán ser pequeños y sencillos Deberán ser legibles Deberán usar una estructura de datos y control adecuados 206_C5 ELEC 330

10 Definición de Módulos Plantilla (formato)
Tipo Nombre_Módulo (Lista de argumentos) Inicio Definiciones Cuerpo del módulo (instrucciones) [Retornar Expresión] FinMódulo 206_C5 ELEC 330

11 Variables globales, locales, argumentos y parámetros
A las variables definidas en el contexto general se les llama variables globales y pueden ser utilizadas en cualquier parte del algoritmo. Las variables locales definidas en un determinado módulo sólo pueden utilizarse en el contexto de dicho módulo (o función) La lista de argumentos es un medio de comunicación entre los distintos módulos en forma bidireccional no necesariamente. Los parámetros son variables o valores que son copiados en los argumentos de un módulo, para que éste realice su tarea específica. 206_C5 ELEC 330

12 Tipos de paso de parámetros
Por valor. Se copian los valores de los parámetros en los argumentos, es decir, NO se modifican los valores de los primeros después de la ejecución del módulo. Por referencia. Se copian las direcciones de los parámetros en los argumentos. Después de la ejecución del módulo los parámetros se ven alterados o modificados. Un ejemplo de paso de parámetros por valor es el paso de un vector como argumento de un módulo. En C se requiere el uso de apuntadores, para tal efecto. 206_C5 ELEC 330

13 Un Ejemplo siempre es bueno!
Calcular el área, perímetro y diámetro de un círculo de rádio R. Principal LeerRadio Perímetro Área Diámetro 206_C5 ELEC 330

14 El diseño descendente del ejemplo
Constante Pi=3.1416 Real LeerRadio() Inicio Escribir “ Radio =?” Leer Radio Retornar (Radio); FinLeerRadio Real Area(Real R) Retornar (Pi*R*R); FinArea Real Perimetro(Real R) Retornar (2*Pi*R); Real Diametro(Real R) Inicio Retornar (2*R); FinDiametro // Módulo Principal Principal Real Radio; Radio<-LeerRadio() Escribir “Area=“,Area(Radio); Escribir “Perím =“,Perimetro(Radio); Escribir “Diámetro =“,Diámetro(Radio); FinPrincipal 206_C5 ELEC 330

15 Ejercicios 1.-Elabore un algoritmo modular para calcular la suma, el promedio, el máximo y el mínimo de un vector de 100 elementos. 2.- Elabore un algoritmo modular para leer dos puntos (x , y) y calcular la pendiente, la distancia entre los puntos y el punto medio. 3.- Elabore un algoritmo modular para implementar las operaciones de conjuntos en un vector de tamaño N. Las operaciones son: Unión, Intersección, Pertenencia, Diferencia y Producto cartesiano. 206_C5 ELEC 330

16 Más ejercicios e = 1+1/2!+1/3!+…+ 1/n!
4.-Elabore un algoritmo modular para calcular la serie que aproxima al valor de e con la fórmula siguiente y n términos: e = 1+1/2!+1/3!+…+ 1/n! 5.- Definir una función que calcule el valor de: F = 1/ ax2+bx2+c 6.-Definir la función ABSOLUTO que calcula el valor absoluto de su argumento si éste es un número utilizando una estructura condicional. 206_C5 ELEC 330

17 Más ejercicios 7.-Definir la función FACTORIAL de forma recursiva e iterativa sabiendo que el factorial de N es 1 si N es 0 y en otro caso será N veces el factorial de N-1. 8.-Definir de forma iterativa la EXPONENCIACION de dos números. 9.-Definir un predicado que devuelva T si alguno de sus dos primeros argumentos es menor que el tercero y mayor que el cuarto. 10.-Definir una función que pase de grados centígrados a grados Fahrenheit, sabiendo que: F = (C + 40) x 1.8 – 40 206_C5 ELEC 330

18 Resumen Modularidad o programacion modular
Funciones definidas por el programador Paso de Parémetros Ámbito de las variables Módulo Ventajas ¿Cuándo usar modularidad? Funciones o módulos predefinidos por el sistema 206_C5 ELEC 330

19 ¿Preguntas? 206_C5 ELEC 330


Descargar ppt "Programación Modular (Pseudocódigo)"

Presentaciones similares


Anuncios Google