Você está na página 1de 6

SEMANA 2

ACTIVIDAD AUTOAPRENDIZAJE
Programa: Programacin Orientada a Objetos con el Lenguaje C++
Curso: Lenguaje de Programacin C++ nivel II
Unidad didctica: Parmetros.
Nombre de la actividad: Evaluacin del comportamiento de los parmetros
Aprendiz: Dayannara Hernndez
Tema 1. Declaracin de parmetros.
Objetivo especfico de aprendizaje

Analizar el material de apoyo para entender el concepto de parmetro, como se declara, sus
caractersticas y tipos de parmetros.
Entregar un reporte donde muestre un anlisis sobre parmetros,
sus caractersticas y su comportamiento, fundamentando su opinin.
Un parmetro en C++ es una variable que puede pasar su valor a un procedimiento
desde el principal o desde otro procedimiento.
Existen ocasiones en que es necesario mandar al procedimiento ciertos valores para
que los use en algn proceso.
Estos valores que se pasan del cuerpo principal del programa o de un
procedimiento a otros procedimientos se llaman parmetros.
Entonces la declaracin completa de un procedimiento es :
Void Nom_Proc(lista de parmetros)
{ cuerpo de instrucciones;};
Donde lista de parmetros es una o mas variables separadas por coma,
REGLAS PARA EL USO DE PARMETROS
1.- Cuando se usan variables como parmetros, la variable que se manda debe ser
declarada dentro del principal o del procedimiento de donde se esta enviando.

2.- La variable que se manda tiene un nombre, la que se recibe puede tener otro
nombre o el mismo nombre por claridad de programa, pero recordar que
internamente en la memoria del computador existirn dos variables diferentes.
3.- La cantidad de variables que se envan deben ser igual en cantidad, orden y tipo
a las variables que reciben.
4.- La variable que se recibe tiene un mbito local dentro del procedimiento, es
decir solo la puede usar ese procedimiento.
5.- Se puede mandar a un procedimiento un dato, una variable o una expresin
algebraica (no ecuacin o formula, pero siempre se debern recibir en una variable.
TIPOS DE PARMETROS
Parmetros "por valor". Esto quiere decir que cuando el control pasa a la
funcin, los valores de los parmetros en la llamada se copian a "objetos" locales
de la funcin, estos "objetos" son de hecho los propios parmetros.
Ejemplo:
int funcin(int n, int m);
int main() {
int a, b;
a = 10;
b = 20;
cout << "a,b ->" << a << ", " << b << endl;
cout << "funcin(a,b) ->"
<< funcin(a, b) << endl;
cout << "a,b ->" << a << ", " << b << endl;
cout << "funcin(10,20) ->"
<< funcin(10, 20) << endl;
return 0;
}
int funcin(int n, int m) {
n = n + 2;
m = m - 5;
return n+m;
}

Empezamos haciendo a = 10 y b = 20, despus llamamos a la funcin "funcin" con


las objetos a y b como parmetros. Dentro de "funcin" esos parmetros se llaman
n y m, y sus valores son modificados. Sin embargo al retornar a main, a y b
conservan sus valores originales porque lo que pasamos no son los objetos a y b,
sino que copiamos sus valores a los objetos n y m.
cuando llamamos a la funcin con parmetros constantes, es lo que pasa en la
segunda llamada a "funcin". Los valores de los parmetros no pueden cambiar al
retornar de "funcin", ya que esos valores son constantes.
Si los parmetros por valor no funcionan as, no sera posible llamar a una funcin
con valores constantes o literales.

Parmetros por referencia


significa que se pasa la posicin de memoria donde esta guardada la variable, por
lo que la funcin puede saber cunto vale, pero adems puede modificarla de
cualquier manera.
Ejemplo
int sumar(int &num1,int &num2)
{ return num1+num2;
}
cuando la llamamos suponiendo que tuviramos dos variables enteras
int a, b, res;
res=sumar(a,b);
al hacer esta llamada num1 seria como un alias de a, y num2 seria un alias de b...
esto quiere decir que a y num1 son dos nombres diferentes que referencian a la
misma celda de memoria es decir si no modificamos num1 es como si estuviramos
modificando a, y si modificamos num2 es como si estuviramos modificando b
Parmetros por referencia puntero
Ejemplo:
int sumar(int *num1,int *num2)
{ return *num1+*num2;
}
int a, b, r, *p1, *p2;
p1=&a;
p2=&b;
r=sumar(p1,p2);
al hacer esto lo que ocurre es que se esta usando punteros (direcciones de memoria)
de las variables a y b para esto se debe saber los dos operadores que se aplican a
punteros
el * que se utiliza para declarar un puntero y tambin para obtener el valor al que
apunta el mismo y el operador & que obtiene la direccin de memoria de alguna
variable
p1=&a;

quiere decir que p1 esta guardando la direccin de la variable a.


Cuando se usa un puntero solo se puede apuntar al tipo de dato para el que fue
creado.

2.Contestar las siguientes preguntas justificando la respuesta.


1. Si tienes una funcin, llamada Tipo, que dados los lados de un tringulo regresa
el tipo de tringulo que se trata, cul de las siguientes opciones puede ser usada
para mandarla llamar?

RTA.
a. triang=Tipo(int L1, int L2, int L3);

________________________________________________
2. Qu valores se imprimen en el siguiente programa

RTA.

a = 17 b = -9 c = 9
________________________________________________
3. Qu imprime el siguiente segmento de cdigo

RTA. 3 x = 12 y = 1/3

z= 3

_________________________________________
4. Cul de los siguientes comentarios es verdadero:
a. Los argumentos son los que reciben a los parmetros
b. Los parmetros reciben a los argumentos
c. Los parmetros son los que se envan al mdulo
d. Los parmetros pueden ser constantes
RTA. d. Los parmetros pueden ser constantes
____________________________________________
5. Dadas las siguientes declaraciones de funcines, explique el significado de cada
una:
a. float f(float a, float b);
RTA. es una funcin llamada (f) que devuelve un float, y recibe como
parmetros un( float a) y un( float b).
________________________________________________
b. char f(void);
RTA. es una funcin llamada f que devuelve un char
_______________________________________________
c. double f(double a, int b);
RTA. Es una funcin llamada (f) que devuelve un double, y recibe como
parmetros un (double a) y un (int b)

________________________________________________
d. int f(int a) ;
RTA. Es una funcin llamada f que devuelve un entero y recibe un entero
como parametro
__________________________________________________
e. unsigned f(unsigned a, unsigned b);
RTA. Es una funcin llamada f que devuelve un dato sin signo y toma por
parmetros 2 datos sin signo.

Você também pode gostar