Você está na página 1de 10

Repblica Bolivariana de Venezuela

Ministerio de Poder Popular para la Educacin Universitaria


Universidad Politcnica Territorial del Estado Lara
Andrs Eloy Blanco
PNF Informtica
Trayecto I Perodo 2
Unidad Curricular: Algortmica y Programacin

PROGRAMACIN MODULAR

Material con fines didcticos, compilado por:


MSc. Ing. Sullin Santaella

Barquisimeto, Septiembre 2013

INTRODUCCIN

Uno de los problemas habituales del programador ocurre cuando los


programas alcanzan un tamao considerable en cuanto a lnea de cdigo. El
problema se puede volver tan complejo que fuera inabordable.
Para mitigar este problema apareci la programacin modular. En ella el
programa se divide en mdulos de tamao manejable. Cada mdulo realiza
una funcin 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 programacin modular implementa el paradigma divide y
vencers, tan importante en la programacin. El programa se descompone en
mdulos. Los mdulos se puede entender que son pequeos programas.
Reciben datos y a partir de ellos realizan un clculo o una determinada tarea.
Una vez el mdulo es probado y validado se puede utilizar las veces que haga
falta en el programa sin necesidad de tener que volver a programar.

Tcnicas de Diseo

Top Down: Tambin conocida como de arriba-abajo y consiste en


establecer una serie de niveles de mayor a menor complejidad (arribaabajo) que den solucin al problema. Este diseo 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 utilizacin

de la tcnica

de diseo

Top-Down tiene

los

siguientes objetivos bsicos:


- Simplificacin del problema y de los subprogramas de cada descomposicin.
- 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 mdulos lo
que hace ms sencilla su lectura y mantenimiento.

La programacin modular est basada en la tcnica de diseo


descendente (Top-Dow), que como ya vimos consiste en dividir el problema
original en diversos subproblemas que se pueden resolver por separado, para
despus recomponer los resultados y obtener la solucin al problema.

Ejemplo:

NOTAS ALUMNOS

INSCRIBIR ALUMNOS

LISTAR ALUMNOS

ENCONTRAR ALUMNOS

INCLUIR ALUMNOS

IMPRIMIR ALUMNOS

BUSCAR ALUMNOS

Un subproblema se denomina mdulo y es una parte del problema que


se puede resolver de manera independiente. Que un mdulo sea
independiente nos permite, por un lado, concentrarnos en su resolucin
olvidndonos del resto del problema, y por otro lado, permite reutilizar la
solucin obtenida para otra parte del programa u otro programa distinto.
Cada mdulo se codifica dentro del programa como un subprograma, es
decir, una seccin de cdigo independiente que realiza una tarea especfica
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.

Definicin de FUNCIN
C++ es un lenguaje modular, y por esta razn, se puede dividir en varios
mdulos, cada uno de los cuales realiza una tarea determinada. Cada mdulo
es un subprograma llamado funcin 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 cdigo varias veces; permiten
aislar mejor los problemas; escribir programas ms rpido y programas ms
fciles de mantener (ms legibles y ms cortos).
En una funcin hay que distinguir dos aspectos fundamentales:
La definicin de la funcin: Es la especificacin de los parmetros de entrada
y salida y las sentencias de la funcin.
La llamada a la funcin: Es una sentencia que pasa el control del programa a
la funcin. Cuando la funcin acaba su ejecucin, el control vuelve a la
sentencia siguiente a la llamada.

Estructura de una funcin


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

2. Parmetros: Los parmetros permiten la comunicacin de la funcin con el


resto del programa mediante transferencia de datos. Una funcin puede
necesitar o devolver datos. A estos datos se les denomina parmetros. Los
parmetros pueden ser de entrada o de salida. Los parmetros que se
incluyen en la definicin de la funcin se denominan parmetros formales. Los
parmetros que se pasan a la funcin en la llamada se denominan parmetros
reales.

mbito de los Identificadores (Variables o Constantes)


Un identificador declarado en una funcin es accesible nicamente
desde esa funcin y todos los bloques incluidos en l (se considera local a
esa funcin). Un parmetro formal se considera tambin una declaracin local
al bloque de la funcin.
Los identificadores declarados fuera de cualquier bloque se consideran
globales y pueden ser utilizados desde cualquier punto del programa.

Ejercicios resueltos

1. Funcin que No reciben ni retornan parmetros, para sumar dos nmeros


enteros.
#include<iostream>
using namespace std;
void sumar()
{
int num1, num2, r;
cout << "Numero 1: "; cin >> num1;
cout << "Numero 2: "; cin >> num2;
r = num1 + num2;
cout << "La suma es " << r;
}
int main()
{
sumar();
}
2. Funcin que Reciben y No Retornan parmetros, para sumar dos nmeros
enteros.

#include<iostream>
using namespace std;
void sumar(int num1, int num2)
{
int r;
r = num1 + num2;
cout << "La suma es " << r;
}
int main()
{
int num1, num2;
cout << "Numero 1: "; cin >> num1;
cout << "Numero 2: "; cin >> num2;
sumar(num1, num2);
}
3. Funcin que Retornan y No Reciben parmetros, para sumar dos nmeros
enteros.
#include<iostream>
using namespace std;
int sumar()
{
int num1, num2, r;
cout << "Numero 1: "; cin >> num1;
cout << "Numero 2: "; cin >> num2;
r = num1 + num2;
return r;
}
int main()
{
int r;
r = sumar();
cout << "La suma es " << r;
}
4. Funcin que Reciben y Retornan parmetros, para sumar dos nmeros
enteros.
#include<iostream>
using namespace std;
int sumar(int num1, int num2)

{
int r;
r = num1 + num2;
return r;
}
int main()
{
int num1, num2, r;
cout << "Numero 1: "; cin >> num1;
cout << "Numero 2: "; cin >> num2;
r = sumar(num1, num2);
cout << "La suma es " << r;
}

Ejercicio Propuesto
5. Escribir un programa que, utilizando funciones con parmetros, lea desde
el teclado las unidades y el precio que quiere comprar, y segn las unidades
introducidas le haga un descuento o no (cuando las unidades excedan media
docena se aplicar 4% y el 10% cuando excedan la docena).

Se recomienda realizar todos los ejercicios practicados


utilizando funciones con y sin parmetros.
Referencias

Barber, F.

y Ferrs, R. TEMA 5: Subprogramas, Programacin Modular.

[Documento

en

lnea].

Disponible:

http://informatica.uv.es/iiguia/AED/oldwww/2004_05/AED.Tema.05.pdf
[Consulta: 2013, Agosto 20].

Garca, Y. (2009). Programacin Modular. Funciones en C++. [Documento en


lnea].

Disponible:

http://gpd.sip.ucm.es/yolanda/ProgI0910/P1-004.pdf.

[Consulta: 2013, Agosto 20]

10