Programming
T03-001-01 - Funciones, procedimientos y métodos.
Enunciado
Parámetros y argumentos
La mayoría de las funciones usan PARÁMETROS de ENTRADA, que serán usados en el código del algoritmo que encierran para poder generalizar el problema que resuelven.
Math.pow(double a, double b)Estos parámetros de entrada no son más que variables internas de la función que representan de manera genérica a los datos que necesita el algoritmo de la función para resolver el problema que resuelve.
Estas variables internas de la función, llamadas parámetros, solo tienen existencia dentro de la función, y pueden usarse solamente dentro de la misma, en el código de su algoritmo.
Estas variables especiales internas de la función, llamadas parámetros, tomarán sus valores concretos y reales en el momento de usar la función, cuando se llama a la misma, pudiendo ser éstos distintos en cada uso de la función. Los valores que se pasan a la función en el momento de la llamada reciben el nombre de ARGUMENTOS de entrada.
Es decir, los parámetros de una función son variables internas de la misma que toman como valor inicial (INICIALIZACIÓN) los valores pasados como argumentos en en el momento de la llamada a la función.
Ejemplo
Sería interesante que, tanto en la cabecera como en el pie de las tablas, apareciera el número correspondiente a la tabla de multiplicar que encierran.
Podríamos intentar concatenar la variable
contadoren el mensaje:
static void cabeceraTablaMultiplicar() {
System.out.println("** INICIO TABLA " +contador+ " **");
}Pero, esto generaría el error
"cannot find symbol", ya que contador es una variable local al métodomain()y no puede ser utilizada fuera del bloque correspondiente a dicho métodomain().La manera correcta de pasar el valor de la variable contador al método
cabeceraTablaMultiplicar()es a través de la invocación:
cabeceraTablaMultiplicar(contador)Pero, debe haber una correlación entre los argumentos que se envían entre los paréntesis y los que son recogidos por el método invocado, por lo que deberemos modificar las declaraciones de los métodos
cabeceraTablaMultiplicar()ypieTablaMultiplicar():
static void cabeceraTablaMultiplicar(int contador) {
System.out.println("** INICIO TABLA " + contador + " **");
}Hay que señalar que no es necesario que las variables que se utilizan en la invocación y la que se utiliza en la definición del método tengan el mismo nombre.
Ejercicio
Además de incorporar el contador al método
pieTablaMultiplicar(), traslada el código que genera cada tabla de multiplicar completa a un métodotablaDeUnNumero(contador).
Solución
package tablasmultiplicar;
import java.util.Scanner;
public class TablasMultiplicar {
public static void main(String[] args) {
int contador = 1, seguir = 1;
Scanner sc = new Scanner(System.in);
while (seguir != 0) {
// Invocamos el método cabecera
cabeceraTablaMultiplicar(contador);
tablaDeUnNumero(contador);
// Invocamos el método pie
pieTablaMultiplicar(contador);
contador++;
seguir = sc.nextInt();
}
}
static void cabeceraTablaMultiplicar(int contador) {
System.out.println("** INICIO TABLA " + contador + " **");
}
static void pieTablaMultiplicar(int contador) {
System.out.println("** FIN TABLA " + contador + " **\n");
}
static void tablaDeUnNumero(int contador) {
for (int i = 0; i <= 10; i++) {
System.out.println(contador + " x " + i + " = " + contador * i);
}
}
}
Input
1 1 1 0
1 1 1 1 0
Output
** INICIO TABLA 1 ** 1 x 0 = 0 1 x 1 = 1 1 x 2 = 2 1 x 3 = 3 1 x 4 = 4 1 x 5 = 5 1 x 6 = 6 1 x 7 = 7 1 x 8 = 8 1 x 9 = 9 1 x 10 = 10 ** FIN TABLA 1 ** ** INICIO TABLA 2 ** 2 x 0 = 0 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18 2 x 10 = 20 ** FIN TABLA 2 ** ** INICIO TABLA 3 ** 3 x 0 = 0 3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15 3 x 6 = 18 3 x 7 = 21 3 x 8 = 24 3 x 9 = 27 3 x 10 = 30 ** FIN TABLA 3 ** ** INICIO TABLA 4 ** 4 x 0 = 0 4 x 1 = 4 4 x 2 = 8 4 x 3 = 12 4 x 4 = 16 4 x 5 = 20 4 x 6 = 24 4 x 7 = 28 4 x 8 = 32 4 x 9 = 36 4 x 10 = 40 ** FIN TABLA 4 **
** INICIO TABLA 1 ** 1 x 0 = 0 1 x 1 = 1 1 x 2 = 2 1 x 3 = 3 1 x 4 = 4 1 x 5 = 5 1 x 6 = 6 1 x 7 = 7 1 x 8 = 8 1 x 9 = 9 1 x 10 = 10 ** FIN TABLA 1 ** ** INICIO TABLA 2 ** 2 x 0 = 0 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10 2 x 6 = 12 2 x 7 = 14 2 x 8 = 16 2 x 9 = 18 2 x 10 = 20 ** FIN TABLA 2 ** ** INICIO TABLA 3 ** 3 x 0 = 0 3 x 1 = 3 3 x 2 = 6 3 x 3 = 9 3 x 4 = 12 3 x 5 = 15 3 x 6 = 18 3 x 7 = 21 3 x 8 = 24 3 x 9 = 27 3 x 10 = 30 ** FIN TABLA 3 ** ** INICIO TABLA 4 ** 4 x 0 = 0 4 x 1 = 4 4 x 2 = 8 4 x 3 = 12 4 x 4 = 16 4 x 5 = 20 4 x 6 = 24 4 x 7 = 28 4 x 8 = 32 4 x 9 = 36 4 x 10 = 40 ** FIN TABLA 4 ** ** INICIO TABLA 5 ** 5 x 0 = 0 5 x 1 = 5 5 x 2 = 10 5 x 3 = 15 5 x 4 = 20 5 x 5 = 25 5 x 6 = 30 5 x 7 = 35 5 x 8 = 40 5 x 9 = 45 5 x 10 = 50 ** FIN TABLA 5 **

