fbpx
Wikipedia

Argumento (informática)

En ciencias de la computación, un parámetro es una variable utilizada para recibir valores de entrada en una rutina, subrutina o método. Dichos valores, que serán enviados desde la rutina invocante, son llamados argumentos. La subrutina usa los valores asignados a sus parámetros para alterar su comportamiento en tiempo de ejecución. La mayor parte de los lenguajes de programación pueden definir subrutinas que aceptan cero o más argumentos.

Paso de argumentos

 
Diagrama del funcionamiento de una subrutina.

Existen 3 formas de pasar un argumento a una función (subrutina) o procedimiento: por valor, por referencia, por resultado, por valor-resultado y por nombre.

Paso por valor

El paso de parámetros por valor consiste en copiar el contenido de la variable que queremos pasar en otra dentro del ámbito local de la subrutina, consiste pues en copiar el contenido de la memoria del argumento que se quiere pasar a otra dirección de memoria, correspondiente al argumento dentro del ámbito de dicha subrutina. Se tendrán dos valores duplicados e independientes, con lo que la modificación de uno no afecta al otro.

Paso por referencia

El paso de parámetros por referencia consiste en proporcionar a la subrutina a la que se le quiere pasar el argumento la dirección de memoria del dato. En este caso se tiene un único valor referenciado (o apuntado) desde dos puntos diferentes, el programa principal y la subrutina a la que se le pasa el argumento, por lo que cualquier acción sobre el parámetro se realiza sobre la misma posición de memoria.

El paso de la dirección de memoria debe ser transparente al programador. Los lenguajes que permiten tratar con direcciones de memoria, como C, permiten simular el paso de argumentos por referencia, sin disponer realmente de esta característica.

Paso por valor resultado

Es un tipo poco usado en los lenguajes de programación actuales. Se basa en que dentro de la función se trabaja como si los argumentos hubieran sido pasados por valor pero al acabar la función los valores que tengan los argumentos serán copiados a las variables que pertenecían.

Este tipo puede ser simulado en cualquier lenguaje que permita el paso de valores por referencia de la siguiente forma:

void EjemploValorRes(int& a1, int& a2, int& a3) { int aux1 = a1, aux2 = a2, aux3 = a3; // código trabajando con aux1, aux2 y aux3 a1 = aux1; a2 = aux2; a3 = aux3; // Dependiendo del compilador la copia se realiza en un sentido o en el otro } 

Tal y como indica el ejemplo de simulación de valor-resultado, el orden de copia depende del compilador, lo que implica que la misma función pueda dar resultados diferentes según el compilador usado.

Ejemplo de diferencias entre los distintos pasos de parámetros

Aquí se exponen unos ejemplos que demuestran las diferencias de estos tipos:

void función(int a, int b) { ++a; b += 2; } int a = 0; función(a, a); 
  • Argumentos pasados por valor: a = 0
  • Argumentos pasados por referencia: a = 3
  • Argumentos pasados por valor-resultado:
    • Si el compilador copia los resultados de derecha a izquierda: a = 1
    • Si el compilador copia los resultados de izquierda a derecha: a = 2

Véase también

  •   Datos: Q1410440

argumento, informática, ciencias, computación, parámetro, variable, utilizada, para, recibir, valores, entrada, rutina, subrutina, método, dichos, valores, serán, enviados, desde, rutina, invocante, llamados, argumentos, subrutina, valores, asignados, parámetr. En ciencias de la computacion un parametro es una variable utilizada para recibir valores de entrada en una rutina subrutina o metodo Dichos valores que seran enviados desde la rutina invocante son llamados argumentos La subrutina usa los valores asignados a sus parametros para alterar su comportamiento en tiempo de ejecucion La mayor parte de los lenguajes de programacion pueden definir subrutinas que aceptan cero o mas argumentos Indice 1 Paso de argumentos 1 1 Paso por valor 1 2 Paso por referencia 1 3 Paso por valor resultado 2 Ejemplo de diferencias entre los distintos pasos de parametros 3 Vease tambienPaso de argumentos Editar Diagrama del funcionamiento de una subrutina Existen 3 formas de pasar un argumento a una funcion subrutina o procedimiento por valor por referencia por resultado por valor resultado y por nombre Paso por valor Editar El paso de parametros por valor consiste en copiar el contenido de la variable que queremos pasar en otra dentro del ambito local de la subrutina consiste pues en copiar el contenido de la memoria del argumento que se quiere pasar a otra direccion de memoria correspondiente al argumento dentro del ambito de dicha subrutina Se tendran dos valores duplicados e independientes con lo que la modificacion de uno no afecta al otro Paso por referencia Editar El paso de parametros por referencia consiste en proporcionar a la subrutina a la que se le quiere pasar el argumento la direccion de memoria del dato En este caso se tiene un unico valor referenciado o apuntado desde dos puntos diferentes el programa principal y la subrutina a la que se le pasa el argumento por lo que cualquier accion sobre el parametro se realiza sobre la misma posicion de memoria El paso de la direccion de memoria debe ser transparente al programador Los lenguajes que permiten tratar con direcciones de memoria como C permiten simular el paso de argumentos por referencia sin disponer realmente de esta caracteristica Paso por valor resultado Editar Es un tipo poco usado en los lenguajes de programacion actuales Se basa en que dentro de la funcion se trabaja como si los argumentos hubieran sido pasados por valor pero al acabar la funcion los valores que tengan los argumentos seran copiados a las variables que pertenecian Este tipo puede ser simulado en cualquier lenguaje que permita el paso de valores por referencia de la siguiente forma void EjemploValorRes int amp a1 int amp a2 int amp a3 int aux1 a1 aux2 a2 aux3 a3 codigo trabajando con aux1 aux2 y aux3 a1 aux1 a2 aux2 a3 aux3 Dependiendo del compilador la copia se realiza en un sentido o en el otro Tal y como indica el ejemplo de simulacion de valor resultado el orden de copia depende del compilador lo que implica que la misma funcion pueda dar resultados diferentes segun el compilador usado Ejemplo de diferencias entre los distintos pasos de parametros EditarAqui se exponen unos ejemplos que demuestran las diferencias de estos tipos void funcion int a int b a b 2 int a 0 funcion a a Argumentos pasados por valor a 0 Argumentos pasados por referencia a 3 Argumentos pasados por valor resultado Si el compilador copia los resultados de derecha a izquierda a 1 Si el compilador copia los resultados de izquierda a derecha a 2Vease tambien EditarVariable Subalgoritmo Datos Q1410440Obtenido de https es wikipedia org w index php title Argumento informatica amp oldid 136656926, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos