Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
MODULAR
Uno de los métodos más conocidos para resolver un
problema es dividirlo en problemas más pequeños,
llamados subproblemas. De esta manera, en lugar de
resolver una tarea compleja y tediosa, resolvemos
otras más sencillas y a partir de ellas llegamos a la
solución.
Por
Por notas
apellidos
¿Qué es un Módulo?
Un módulo es un segmento, rutina, subrutina,
subprograma que puede ser definido dentro de un
programa.
Ejecuta una tarea específica.
Puede ser llamado o invocado desde el programa
principal cuando se requiera.
int main()
{
sumar(); //se llama a la función pero no se retorna ningún valor.
getch();
}
Reciben y No retornan
¿Cómo haríamos para pedir los dos números en el main y que la
función haga la suma?
Para eso tenemos que hacer una función capaz de recibir datos,
entonces la sintaxis cambia un poco:
tipo nombre(tipo_var1 nombre_var1, tipo_var2 nombre_var2){ }
„tipo‟ y „nombre‟ se refieren a lo mismo y como no retorna el tipo siempre
es void.
Dentro del paréntesis tenemos otros aspectos:
„tipo_var1′ se refiere al tipo de la variable que nuestra función va a recibir.
„nombre_var1′ se refiere al nombre de esa variable.
Para llamar la función hay que poner la variables que vamos a enviar
dentro del paréntesis en el mismo orden en que las declaramos en la
función:
nombre(var1, var2);
Ejemplo
#include <iostream.h>
#include <conio.h>
//Pedimos los dos números en el main, los enviamos a la función, ésta los suma y los muestra.
void sumar(int num1, int num2) //funcion que recibe los datos de tipo int
{
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);
getch();
}
Retornan y no reciben
Para pedir los números en la función, pero mostrar el
resultado en el main, necesitamos una función que
retorne.
Recibir es enviar datos del main a la función. Retornar
es enviar datos de la función al main. Para retornar
datos hay que hacer dos cosas: no usar void como
tipo y usar return.
De forma general:
tipo nombre() { return var; }
El „tipo‟ tiene que ser del tipo de variable que
queremos retornar, si nuestra variable retorna una
variable int, pues el tipo de la función es int.
Para indicar qué variable estamos retornando
usaremos la palabra return seguido de la variable.
Usualmente esto va al final de la función.
Para llamar a la función hay que preparar un colchón
en donde caiga la variable que está retornando.
var = nombre();
La variable que está retornando nuestra función se
va a almacenar en la variable „var‟. Cabe mencionar
que las variables declaradas entre dos llaves { }
únicamente existen entre esas dos llaves. O sea que
la variable „var‟ de la función no es la misma que la
variable „var‟ de la función
Ejemplo
#include <iostream.h>
#include <conio.h>
int sumar()
{
int num1, num2, r;
cout << "Numero 1: "; cin >> num1;
cout << "Numero 2: "; cin >> num2;
r = num1 + num2;
return r; //retorna el valor de la variable r (r=num1+num2)
}
int main()
{
int r;
r = sumar();
cout << "La suma es " << r;
getch();
}
Reciben y Retornan
Ahora queremos que nuestra función únicamente
sume, el main se va a encargar de pedir los números
y sumar los resultados. Para eso necesitamos que
nuestra función reciba las variables y además retorne
el resultado.
Ejemplo
#include <iostream.h>
#include <conio.h>
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;
}
MANEJO DE
PARAMETROS
Parámetros de una
función
Son variables locales conocidas como parámetros
formales y se utilizan como un medio para
entregarle información a la función.
Los parámetros formales reciben sus valores iniciales
desde los parámetros reales, es decir desde los
valores que se les pasan a través de la llamada.
Ejemplo:
Transferencia de la
Información
por valor: Pasar los parámetros por valor significa
que los valores de las variables enviadas son
copiados a otra dirección de memoria con la etiqueta
indicada en el parámetro formal.
int temp;
temp=x;
x=y;
y=temp;
cout<<x<<y<<temp;
}
int main(){
int a=1,b=2;
cout<<a << b;
intercambio (a,b);
cout<<a << b;
return 0;
}
Parámetros por
referencia y valor