Mètodos con Paràmetros
Un método es un algoritmo diseñado para efectuar una tarea particular, bajo la dependencia de un algoritmo u otro método que lo utiliza. De esta manera el método es diseñado para ser utilizado por otros procesos más amplios, dentro de los cuales existe un flujo de entrega y de recibo de información.
PARÁMETROS ACTUALES: Son los argumentos que aparecen en la llamada a un método. Contienen los valores que se le pasan al método. Un parámetro actual puede ser una variable, un objeto, un valor literal válido, etc.
PARÁMETROS FORMALES: Son los argumentos que aparecen en la cabecera del método. Reciben los valores que se envían en la llamada al método. Se utilizan como variables normales dentro del método.
Los parámetros actuales y los formales deben coincidir en número, orden y tipo. Si el tipo de un parámetro actual no coincide con su correspondiente parámetro formal, el sistema lo convertirá al tipo de este último, siempre que se trate de tipos compatibles. Si no es posible la conversión, el compilador dará los mensajes de error correspondientes.
Si el método devuelve un valor, la llamada al método puede estar incluida en una expresión que recoja el valor devuelto.
Existen varias formas de usar los métodos
1. nombre_metodo () => no envía ni recibe parámetros
2. nombre_metodo (parámetros actuales) => envía parámetros, pero no recibe
3. Variable=Nombre método (Parámetros Actuales) =>envía y recibe parámetro
4. variable = nombre_metodo () => no envía, pero si recibe parámetros
NOTA: Para invocar un método en el programa principal o desde otro método se debe poner el nombre del método, con sus parámetros si los tiene.
NOTA2: Un método generalmente retorna un único valor (Ver ejemplo 1), pero también puede retornar un vacío (Ver ejemplo 2)
EJEMPLO 1
Realice un algoritmo donde se entre por pantalla un numero entero. Calcular y mostrar la factorial del número
EJEMPLO 2
Realice un algoritmo donde se entre por pantalla dos numeros. Calcular y mostrar la suma
PASO DE PARÁMETROS POR VALOR VS. PASO DE PARÁMETROS POR REFERENCIA
En programación hay dos formas de paso de parámetros a un método:
Paso de parámetros por valor
Cuando se invoca al método se crea una nueva variable (el parámetro formal) y se le copia el valor del parámetro actual.
El parámetro actual y el formal son dos variables distintas, aunque tengan el mismo nombre.
El método trabaja con la copia de la variable por lo que cualquier modificación que se realice sobre ella dentro del método no afectará al valor de la variable fuera.
En definitiva, el método no puede modificar el valor de la variable original.
Paso de parámetros por referencia
Cuando se invoca al método se crea una nueva variable (el parámetro formal) a la que se le asigna la dirección de memoria donde se encuentra el parámetro actual.
En este caso el método trabaja con la variable original por lo que puede modificar su valor.
Cuando se realiza la llamada a un método, los parámetros formales reservan un espacio en memoria y reciben los valores de los parámetros actuales.
Cuando el argumento es de tipo primitivo (entero,real, caracter,boleano), el paso por valor significa que cuando se invoca al método se reserva un nuevo espacio en memoria para el parámetro formal. El método no puede modificar el parámetro actual.
Cuando el argumento es una referencia a un objeto (por ejemplo, un array o cualquier otro objeto) el paso por referencia significa que el método recibe una copia de la dirección de memoria donde se encuentra el objeto. La referencia no puede modificarse pero sí se pueden modificar los contenidos de los objetos durante la ejecución del método.
Tipos primitivos: no se pueden modificar
Arrays y objetos: se pueden modificar
Es de recordar que los cambios que le hagan al arreglo dentro de la función se reflejaran en el arreglo original es por esto que si se quiere modificar un arreglo en una función no hay necesidad de regresar ningun valor.

