paso de parámetros por valor y por referencia
TRANSCRIPT
![Page 1: Paso de parámetros por valor y por referencia](https://reader035.vdocuments.co/reader035/viewer/2022080216/55c6310fbb61eb052d8b465d/html5/thumbnails/1.jpg)
PASO DE PARÁMETROS POR VALOR Y POR REFERENCIA
ALUMNOS:Juan Pablo Duarte Esparza 1103150007
Brayan Luna Ávila 11013150011Vanessa Ramírez Corral 1103150016
PROFESOR:
José Luis Bautista
MATERIA:Programación Estructurada
Software 2° AAula 12, UD-2
Enero – Abril 2012
![Page 2: Paso de parámetros por valor y por referencia](https://reader035.vdocuments.co/reader035/viewer/2022080216/55c6310fbb61eb052d8b465d/html5/thumbnails/2.jpg)
*PASO DE PARÁMETROS POR VALOR
![Page 3: Paso de parámetros por valor y por referencia](https://reader035.vdocuments.co/reader035/viewer/2022080216/55c6310fbb61eb052d8b465d/html5/thumbnails/3.jpg)
Los parámetros formales correspondientes reciben una COPIA de los valores (literales, constantes, variables, resultado de la evaluación de una expresión) de los parámetros actuales; por tanto, los cambios que se produzcan en ellos por efecto de la ejecución de la función no podrán afectar el valor de los parámetros actuales en caso de que estos fueran variables.
![Page 4: Paso de parámetros por valor y por referencia](https://reader035.vdocuments.co/reader035/viewer/2022080216/55c6310fbb61eb052d8b465d/html5/thumbnails/4.jpg)
Ejemplo 1
void DibujarPuntos( int numPuntos ){
30int i;for ( i = 1; i <= numPuntos; i+
+ )printf(".");
}void main(){DibujarPuntos( 30 );}
![Page 5: Paso de parámetros por valor y por referencia](https://reader035.vdocuments.co/reader035/viewer/2022080216/55c6310fbb61eb052d8b465d/html5/thumbnails/5.jpg)
*PASO DE PARÁMETROS POR REFERENCIA
![Page 6: Paso de parámetros por valor y por referencia](https://reader035.vdocuments.co/reader035/viewer/2022080216/55c6310fbb61eb052d8b465d/html5/thumbnails/6.jpg)
Lo que se pasa a la función es la dirección de memoria del parámetro actual, en consecuencia debe ser una variable.
Así, una variable pasada como parámetro actual es compartida; es decir, puede ser accedida y modificada durante la ejecución de la función.
![Page 7: Paso de parámetros por valor y por referencia](https://reader035.vdocuments.co/reader035/viewer/2022080216/55c6310fbb61eb052d8b465d/html5/thumbnails/7.jpg)
#include <stdio.h>void Cuadrado( int num, int &AptCuadrado ){
AptCuadrado = num * num;}
void main( ){int c =12;Cuadrado( 5, c);printf(”El cuadrado de 5 es %i \n",c );}
POR VALOR
POR REFERENCIA
![Page 8: Paso de parámetros por valor y por referencia](https://reader035.vdocuments.co/reader035/viewer/2022080216/55c6310fbb61eb052d8b465d/html5/thumbnails/8.jpg)
*DIFERENCIAS
![Page 9: Paso de parámetros por valor y por referencia](https://reader035.vdocuments.co/reader035/viewer/2022080216/55c6310fbb61eb052d8b465d/html5/thumbnails/9.jpg)
El parámetro por valor está denotado de que los valores que utilice en las funciones dadas, se podrán realizar cambios.
A diferencia del parámetro por referencia en donde el método es quien hará la parte crucial.
Java sólo utiliza el último parámetro mencionado.
![Page 10: Paso de parámetros por valor y por referencia](https://reader035.vdocuments.co/reader035/viewer/2022080216/55c6310fbb61eb052d8b465d/html5/thumbnails/10.jpg)
*¿CÓMO ACTÚAN?
![Page 11: Paso de parámetros por valor y por referencia](https://reader035.vdocuments.co/reader035/viewer/2022080216/55c6310fbb61eb052d8b465d/html5/thumbnails/11.jpg)
El paso de parámetros por referencia permite devolver
varios valores desde un procedimiento a través de los
parámetros actuales.
Si una función devuelve un solo valor usando la
sentencia return, es mejor que todos sus parámetros
sean por valor.
Las variables (parámetro actual) pasadas por valor a
una función no pueden ser cambiadas.
Las variables pasadas por referencia pueden ser
cambiadas dentro de la función.