Hola y bienvenidos.
Vamos a ver a continuación la diferencia entre parámetros y argumentos cuando trabajamos con funciones.
Están listos?
Vamos.
Bien, para aclarar este concepto vamos a trabajar con la misma función que vimos en el ejemplo anterior.
Es simplemente la función llamada imprimir.
Ese es el nombre de nuestra función.
Va a recibir cierta información, en este caso la variable de número.
Esta variable es una variable local.
A este método.
Así que de manera interna.
El cuerpo de esta función simplemente manda a imprimir a consola la información que está recibiendo
en esta variable de número.
Por otro lado, ya sabemos que tenemos que mandar a llamar nuestra función para que realmente se ejecute.
Así que desde el programa principal podemos tener ciertas líneas de código, pero en cierto momento
vamos a mandar a llamar nuestra función.
Sin embargo, para aclarar el concepto entre parámetro y argumento, en primer lugar vamos a definir
una variable.
Esta variable va a ser la información que vamos a pasar a la función de imprimir.
Así que en cierto momento vamos a mandar a llamar la función de imprimir.
Pero en este caso podemos observar que le estamos pasando la variable y entonces la función de imprimir
recibe esta información almacenada en nuestra variable.
Así que aquí viene la aclaración del concepto de argumento.
Un argumento es la información, el valor que se envía a una función.
Así que por ello la información que pasamos a una función se le conoce como argumento.
Y por otro lado, para entender el concepto de parámetro, cuando ejecutamos nuestra función principal
y se manda a llamar la función de imprimir, recordemos que en este caso la función principal se pone
en pausa y ahora se cede el control para que se pueda ejecutar la función de imprimir y en este caso
se crea la variable de número en memoria y a esto se le conoce como parámetro.
Así que los parámetros de una función son las variables locales definidas en nuestra función para poder
recibir el valor de los argumentos.
Así que en este caso la variable de parámetro es una variable local a nuestro método imprimir.
Por lo tanto, la variable de número sería nuestro parámetro y el valor de la variable se le va a asignar
a esta variable de número.
Por lo tanto, el parámetro se inicializa con el valor de 100 y entonces podemos separar los dos conceptos.
La información que se envía a una función van a ser los argumentos y las variables que se definen en
nuestro método son los parámetros.
Así que este parámetro va a recibir la información, en este caso el valor de nuestro argumento, el
valor de 100.
Sin embargo, esta diferencia es bastante técnica.
Simplemente es para que ustedes sepan la diferencia.
Pero pueden encontrarse que en muchos casos parámetro o argumento lo manejan exactamente igual, debido
a que simplemente es información que se pasa a nuestra función.
Por lo tanto, se le puede manejar de manera similar tanto parámetro o argumento, ya que simplemente
es información que se pasa o que se recibe en una función.
Pero al final de cuentas el objetivo es exactamente el mismo simplemente pasar información a nuestra
función.
Bien.
Y entonces, una vez que ya se han inicializado los parámetros de nuestra función, entonces se empieza
a ejecutar el cuerpo de nuestra función.
En este caso se manda a imprimir la variable de número a consola y se imprime el valor de 100.
Una vez que termina de ejecutarse este método, se destruyen los parámetros, las variables que se hayan
definido dentro de este método.
Así que en este caso la variable de parámetro, la variable de número ya se destruyó y se cede el control
de nueva cuenta a nuestra función principal y continúa la ejecución.
Se reanuda la ejecución del programa principal y una vez que termina la ejecución del programa principal,
entonces termina la ejecución de todo nuestro programa.
Y con esto, entonces tenemos la diferencia entre parámetro y argumento.
Ahora vamos a ver la diferencia entre procedimiento y función.
Básicamente, la diferencia es muy sencilla un procedimiento no regresa ningún tipo de información.
Por lo tanto, una función como en este caso la función de imprimir.
Podemos observar que el tipo de retorno es de tipo void.
Esto quiere decir que no va a regresar ningún tipo de información.
En este caso puede recibir información de manera opcional.
Por ello es que estamos definiendo la variable de parámetro y de manera interna solamente manda imprimir
información a consola, pero podemos observar que no va a regresar ningún tipo de información.
Por ello es que no se utiliza la palabra reservada return debido a que no va a regresar ningún tipo
de información.
Y entonces, en primer lugar, se define nuestro procedimiento y cuando se manda llamar nuestro procedimiento
desde el programa principal, podemos ver que simplemente se manda a llamar, pero no está regresando
ningún tipo de información.
Así que cuando se ejecuta el programa, se cede el control a la función de imprimir, se ejecuta la
función de imprimir y al momento en que termina simplemente se mandan a imprimir la información de 100
y entonces al terminar no regresa ningún tipo de información, ningún tipo de valor al programa principal.
Simplemente se cede el control y continuamos con la ejecución de nuestro programa.
Por lo tanto, la función de imprimir solamente regresa el control, pero no recibió ningún otro valor
para procesar.
Así que continuamos con la ejecución de nuestro programa y termina de ejecutarse este procedimiento.
Sin embargo, podemos ver que es prácticamente lo mismo que una función.
La única diferencia es que no va a regresar ningún tipo de información.
Ahora, vamos a ver entonces en qué consiste una función.
Básicamente, una función si regresa un valor al terminar de ejecutarse.
Así que vamos a ver un ejemplo de una función.
Vamos a definir en primer lugar la función de sumar, pero ya desde la definición de esta función podemos
observar que sí va a regresar un tipo de dato, en este caso un valor de tipo entero.
Entonces definimos nuestras variables, por ejemplo, las variables.
Y B, que son los parámetros que va a recibir esta función.
Y entonces el cuerpo de esta función lo que va a hacer es regresar la suma de los valores de A y B.
Así que en este caso definimos una variable llamada resultado de tipo de dato entero y va almacenar
la suma de ambas b.
Ahora, una vez que ya hemos definido esta variable con el resultado de la suma de ambas B, simplemente
regresamos esta variable y entonces Básicamente esta línea es la diferencia entre una función y un procedimiento.
En este caso, si estamos regresando un valor.
Pero este valor tiene que ser exactamente del tipo que hemos indicado al momento de definir nuestra
función.
Así que este valor de resultado tiene que ser un valor de tipo entero.
De lo contrario, va a marcar un error de compilación.
Bien, pero esta es apenas la definición de nuestra función.
Ahora, nuestras funciones no necesariamente se tienen que mandar a llamar desde la función principal.
Podemos mandarla desde cualquier otra función.
Sin embargo, en este caso, como estamos comenzando, las funciones que vamos a definir normalmente
las vamos a mandar a llamar desde la función principal, el método main.
Pero ya sabemos que no tiene que ser así.
Las funciones que definamos las podemos mandar a llamar desde cualquier otra función.
Bien, entonces posteriormente vamos a hacer la llamada de nuestra función desde el programa principal.
Así que vamos a definir nuestras variables A y B, la variable A con el valor de dos y la variable B
con el valor de tres.
Estas variables no tienen que llamarse igual que los parámetros de la función.
Puede ser cualquier otro nombre.
Y además también definimos una variable c.
Esta variable c es la que va a almacenar el resultado que va a regresar la función de sumar.
Así que en este caso podemos observar que la diferencia es que la función de sumar si va a regresar
un valor.
Así que se manda a llamar la función de sumar.
Pasamos los argumentos que están almacenados en las variables A y B.
Recordemos que el argumento es la información que vamos a pasar hacia la función.
Por lo tanto, las variables A y B serán nuestros argumentos, y esas variables A y B serían los parámetros,
es decir, las variables locales que van a recibir la información que le vamos a pasar a nuestra función.
Sin embargo, estas variables, aunque es común que se llamen iguales, no tienen que llamarse exactamente
igual.
Estos pueden ser cualquier otro nombre, y eso también podría ser cualquier otro nombre, pero es común
que se llamen igual.
Y entonces, una vez que ya hemos recibido el valor que regresa a la función, simplemente mandamos
a imprimir el resultado.
Podemos llevar que en este caso, a diferencia del procedimiento, el procedimiento lo que hizo fue
simplemente mandar a imprimir información a consola.
En este caso, la función de sumar no está mandando a imprimir nada, sino que simplemente procesa la
información, es decir, realiza la suma y regresa un resultado, el resultado de la suma.
Por lo tanto, la impresión ya no proviene de la función de sumar, sino proviene del programa principal.
Bien, ahora si ejecutamos entonces nuestro programa principal, se definen nuestras variables en memoria
y entonces, cuando se van a llamar nuestra función de sumar, se pone en pausa.
El programa principal se manda llamar.
La función de sumar.
Se recibe la información de los argumentos y se quedan en memoria nuestros parámetros.
La variable A con el valor de dos y la variable b con el valor de tres.
Sin embargo, estas variables son locales al método de sumar.
Una vez que termina de ejecutarse en nuestro método sumar se van a destruir estas variables y entonces
empieza a ejecutarse el cuerpo de nuestra función.
Así que la función de sumar simplemente realiza la suma de ambas b, es decir, dos más tres, y esta
suma se asigna a la variable de resultado.
Así que esta variable de resultado es la que contiene la información que queremos retornar.
Por lo tanto, utilizamos la palabra reservada return y regresamos el valor que tenga almacenado la
variable de resultado.
Así que esta es la diferencia principal entre procedimiento y función.
Aquí podemos observar que si vamos a regresar un valor tiene que ser de tipo entero.
El mismo tipo con el que declaramos nuestra función.
Se regresa el control a nuestra función principal.
Una vez que ya termina de ejecutarse nuestro método.
Y entonces en este momento la función de sumar.
Si regresa un valor.
En este caso el valor de cinco y se asigna a la variable c.
Así que aunque no es requerido que procesemos el valor que regresa una función, es normal que la información
que regrese a una función la almacenamos en alguna variable.
Sin embargo, esto no requerido es opcional y una vez que ya tenemos este valor de cinco en la variable
C, continúa la ejecución de nuestro programa principal y simplemente termina por imprimir el valor
de cinco.
Pero ya podemos observar la diferencia entre procedimiento.
El procedimiento no regresó ningún tipo de información, simplemente mandó a imprimir información.
En cambio, una función.
Podemos observar que sí está obligada a regresar cierto tipo de información.
Y esos son los conceptos básicos cuando vamos a trabajar con funciones.
Son términos algo técnicos, pero ahora que empecemos a trabajar con las funciones, vamos a ver que
va a ser bastante sencillo.
Simplemente es familiarizarnos al inicio con estos términos, pero una vez que los empecemos a trabajar,
vamos a ver que todo se va a simplificar.
Bien, vamos a tener hasta aquí y vamos a comenzar con ejemplos de funciones en el siguiente vídeo.
Saludos.