Guia Programacion Modular

República Bolivariana de Venezuela Ministerio de Poder Popular para la Educación Universitaria Universidad Politécnica T

Views 176 Downloads 68 File size 479KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

República Bolivariana de Venezuela Ministerio de Poder Popular para la Educación Universitaria Universidad Politécnica Territorial del Estado Lara “Andrés Eloy Blanco” PNF Informática Trayecto I – Período 2 Unidad Curricular: Algorítmica y Programación

PROGRAMACIÓN MODULAR

Material con fines didácticos, compilado por: MSc. Ing. Sullin Santaella

Barquisimeto, Septiembre 2013

INTRODUCCIÓN

Uno de los problemas habituales del programador ocurre cuando los programas alcanzan un tamaño considerable en cuanto a línea de código. El problema se puede volver tan complejo que fuera inabordable. Para mitigar este problema apareció la programación modular. En ella el programa se divide en módulos de tamaño manejable. Cada módulo realiza una función muy concreta y se pueden programar de forma independiente. Se basa en concentrar los esfuerzos en resolver problemas sencillos y una vez resueltos, el conjunto de esos problemas soluciona el problema original. En definitiva la programación modular implementa el paradigma divide y vencerás, tan importante en la programación. El programa se descompone en módulos. Los módulos se puede entender que son pequeños programas. Reciben datos y a partir de ellos realizan un cálculo o una determinada tarea. Una vez el módulo es probado y validado se puede utilizar las veces que haga falta en el programa sin necesidad de tener que volver a programar.

Técnicas de Diseño

Top Down: También conocida como de arriba-abajo y consiste en establecer una serie de niveles de mayor a menor complejidad (arribaabajo) que den solución al problema. Este diseño consiste en una serie de

descomposiciones

sucesivas

del

problema inicial, que

recibe el

refinamiento progresivo del repertorio de instrucciones que van a formar parte del programa. La utilización

de la técnica

de diseño

Top-Down tiene

los

siguientes objetivos básicos: - Simplificación del problema y de los subprogramas de cada descomposición. - Las diferentes partes del problema pueden ser programadas de modo independiente e incluso por diferentes personas. - El programa final queda estructurado en forma de bloque o módulos lo que hace más sencilla su lectura y mantenimiento.

2

La programación modular está basada en la técnica de diseño descendente (Top-Dow), que como ya vimos consiste en dividir el problema original en diversos subproblemas que se pueden resolver por separado, para después recomponer los resultados y obtener la solución al problema.

Ejemplo:

NOTAS ALUMNOS

INSCRIBIR ALUMNOS

LISTAR ALUMNOS

ENCONTRAR ALUMNOS

INCLUIR ALUMNOS

IMPRIMIR ALUMNOS

BUSCAR ALUMNOS

Un subproblema se denomina módulo y es una parte del problema que se puede resolver de manera independiente. Que un módulo sea independiente nos permite, por un lado, concentrarnos en su resolución olvidándonos del resto del problema, y por otro lado, permite reutilizar la solución obtenida para otra parte del programa u otro programa distinto. Cada módulo se codifica dentro del programa como un subprograma, es decir, una sección de código independiente que realiza una tarea específica dentro del programa. Un

subprograma

es

una

serie

de

instrucciones

escritas

independientemente del programa principal. Este subprograma está ligado al programa principal mediante un proceso de transferencia/retorno.

3

Definición de FUNCIÓN C++ es un lenguaje modular, y por esta razón, se puede dividir en varios módulos, cada uno de los cuales realiza una tarea determinada. Cada módulo es un subprograma llamado función que es un miniprograma dentro de un programa. Es un conjunto de sentencias que se pueden llamar desde cualquier parte del programa. Las funciones sirven para: realizar tareas concretas y simplificar el programa; sirven para evitar escribir el mismo código varias veces; permiten aislar mejor los problemas; escribir programas más rápido y programas más fáciles de mantener (más legibles y más cortos). En una función hay que distinguir dos aspectos fundamentales: • La definición de la función: Es la especificación de los parámetros de entrada y salida y las sentencias de la función. • La llamada a la función: Es una sentencia que pasa el control del programa a la función. Cuando la función acaba su ejecución, el control vuelve a la sentencia siguiente a la llamada.

Estructura de una función Las funciones trabajan con dos tipos de datos: 1. Variables locales: declaradas en el cuerpo de la función. Estas variables solo son conocidas dentro de la función y se crean y se destruyen con la función.

4

2. Parámetros: Los parámetros permiten la comunicación de la función con el resto del programa mediante transferencia de datos. Una función puede necesitar o devolver datos. A estos datos se les denomina parámetros. Los parámetros pueden ser de entrada o de salida. Los parámetros que se incluyen en la definición de la función se denominan parámetros formales. Los parámetros que se pasan a la función en la llamada se denominan parámetros reales.

Ámbito de los Identificadores (Variables o Constantes) Un identificador declarado en una función es accesible únicamente desde esa función y todos los bloques incluidos en él (se considera local a esa función). Un parámetro formal se considera también una declaración local al bloque de la función. Los identificadores declarados fuera de cualquier bloque se consideran globales y pueden ser utilizados desde cualquier punto del programa.

5

6

7

Ejercicios resueltos

1. Función que No reciben ni retornan parámetros, para sumar dos números enteros. #include using namespace std; void sumar() { int num1, num2, r; cout > num1; cout > num2; r = num1 + num2; cout num2; r = num1 + num2; return r; } int main() { int r; r = sumar(); cout num2; r = sumar(num1, num2); cout