Funciones y Procedimientos(Pseudocódigo) M.C. José Andrés Vázquez Flores 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 Módulo Dos Módulo Tres 2 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. 3 ¿Cuándo utilizar modularización? Este enfoque es útil en dos casos: 1. Cuando existe un grupo de instrucciones o una tarea específica que deba ejecutarse en más de una ocasión. 2. 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. 4 Esquema de Programación Modular Principal S1 S3 S2 S4 S5 5 Tipos de Acceso Entrada: en este acceso se copian los valores de las variables pasadas como argumento y aunque se modifiquen dentro del modulo, al terminar permanecen tal cual. Además que son las típicas variables que sirven para realizar cálculos. Salida: en este acceso se mandan las direcciones de memoria de las variables por lo que cualquier modificación dentro del modulo cambia su valor fuera de él. Entrada/Salida: en este acceso se mandan las direcciones de memoria y pueden utilizarse para realizar cálculos y modificar el valor de las mismas dentro del modulo. 6 Definición de Módulos: Funciones Plantilla (formato) TipoDato Nombre_Módulo (Lista de argumentos) Inicio Definiciones Cuerpo del módulo (instrucciones) [Retornar Expresión] FinMódulo Donde Lista de argumentos=TipoAcceso TipoDato Parametro1, TipoAcceso TipoDato Parametro2, TipoAcceso TipoDato Parametro3 TipoAcceso puede ser Entrada o Salida o Entrada/Salida 7 Ejemplo de Función se devuelve el factorial de un // En esta función como parámetro Numero Entero Factorial (Entrada Entero Numero) Inicio Fact1 Para Contador2 hasta Numero incremento 1 FactFact*Contador FinPara Retornar Fact FinFactorial número y recibe hacer En este caso si en el algoritmo principal llamamos a Factorial, debemos asignarlo a una variable por ejemplo: Algoritmo VerFactorial Inicio FactorialNumeroFactorial(5) Escribe FactorialNumero Fin Llamada Escritura en Pantalla Factorial(5) 120 8 Definición de Módulos: Procedimientos Plantilla (formato) Nombre_Módulo (Lista de argumentos) Inicio Definiciones Cuerpo del módulo (instrucciones) FinMódulo Donde Lista de argumentos=Tipo Parametro1, Tipo Parametro2, Tipo Parametro3 TipoAcceso puede ser Entrada o Salida o Entrada/Salida 9 Ejemplo de Procedimiento // En este procedimiento se imprimen los factoriales MaxFactorial, donde MaxFactorial es el parámetro que recibe ImprimeFactoriales (Entrada Entero MaxFactorial) Inicio Para contador1 hasta MaxFactorial Incremento 1 hacer Escribe(Factorial(contador)) Llamada a la función factorial FinPara FinImprimeFactoriales del 1 a En este caso si en el algoritmo principal llamamos a Imprimefactorial, sucederá lo siguiente: Algoritmo VerFactorial Inicio Lee Num //supongamos que Num=6 ImprimeFactoriales(Num) Fin Llamadas Impresión en pantalla Factorial(1) 1 Factorial(2) 2 Factorial(3) 6 Factorial(4) 24 Factorial(5) 120 Factorial(6) 720 10
© Copyright 2024