If you're seeing this message, it means we're having trouble loading external resources on our website.

Si estás detrás de un filtro de páginas web, por favor asegúrate de que los dominios *.kastatic.org y *.kasandbox.org estén desbloqueados.

Contenido principal

Procedimientos con parámetros

Cuando programamos, utilizamos procedimientos para hacer nuestro código más reutilizable y para organizarlo mejor. A menudo pasamos parámetros a un procedimiento para poder cambiar la salida del código.

La necesidad de parámetros

Considera este código JavaScript:
var greeting1 = "Hello, Jackson, how are you?";
println(greeting1);
var greeting2 = "Hello, Mr. H, how are you?";
println(greeting2);
var greeting3 = "Hello, Stranger, how are you?";
println(greeting3);
Hay mucha repetición en ese código: almacena continuamente una cadena con un saludo en una variable y luego la muestra en la pantalla. Sin embargo, también hay variación en el código: el nombre cambia cada vez.
Podemos crear un procedimiento con parámetros para manejar tanto la repetición como la variación.
Para especificar parámetros en JavaScript, escribimos el nombre del parámetro (o parámetros) dentro de los paréntesis después del nombre que sigue al nombre de la función. Luego hacemos referencia al parámetro dentro de la función.
function sayHello(person) {
  var greeting = "Hello," + person + ", how are you?";
  println(greeting);
}
Ahora podemos llamar a esa función y pasar el valor deseado para el parámetro:
sayHello("Jackson");
sayHello("Mr. H");
sayHello("Stranger");
Esa sintaxis debería parecer familiar, ya hemos llamado a una función con parámetros desde el principio: println()!
println("Hello");
println("World");
Ahora podemos empezar a utilizar parámetros en nuestras propias funciones definidas por el usuario y hacerlas mucho más personalizables.
✏️ El siguiente programa genera nombres divertidos con una función que toma un solo parámetro. Intenta llamar a la función más veces y modifica el código dentro de la función para ver qué cambia.
📝 Mira código similar en: App Lab | Snap | Python

Múltiples parámetros

¿Qué pasa si un parámetro no es suficiente para personalizar nuestro procedimiento como queremos? ¡No es un problema, podemos especificar más parámetros!
En JavaScript, podemos especificar múltiples parámetros con una lista separada por comas dentro de los paréntesis, asegurándonos de dar a cada parámetro un nombre único.
En el siguiente código, la función reportGrade acepta dos parámetros, y los utiliza para reportar la puntuación de un estudiante en un examen de 30 preguntas:
function reportGrade(studentName, numCorrect) {
  var score  = (numCorrect/30) * 100;
  var report = studentName + " earned: " + score;
  println(report);
}

reportGrade("Sally", 27);
reportGrade("Wilbur", 24);
📝 Mira código similar en: App Lab | Snap | Python
Siempre que escribimos procedimientos con parámetros, presta atención a los nombres de los parámetros, pues es necesario hacer referencia a esos nombres exactos dentro del procedimiento. Ayuda hacer que los nombres sean muy descriptivos.
✏️ ¿Has jugado Mad Libs? El siguiente programa utiliza un procedimiento con once parámetros para generar una historia. Pídele a un compañero de clase valores de parámetros y ¡mira qué historia aparece!
📝 Mira código similar en: App Lab | Snap | Python

Pasar variables como parámetros

En los ejemplos anteriores, pasamos cadenas literales y valores numéricos como parámetros, como "Sally" y 27. Podemos pasar cualquier expresión programática que evalúe un valor, como una variable.
Este procedimiento muestra el resultado de multiplicar dos números:
function showMathFact(num1, num2) {
   var multiplied = num1 * num2;
   println(num1 + " x " + num2 + " = " + multiplied);
}
Podemos mostrar fácilmente los múltiplos de un número particular si guardamos el primer número en una variable, y pasamos eso como primer parámetro:
var firstNum = 9;
showMathFact(firstNum, 1);
showMathFact(firstNum, 2);
showMathFact(firstNum, 3);
✏️ Intenta cambiar el valor de la variable firstNum en el siguiente programa, y observa cómo afecta a cada llamada de la función.
📝 Mira código similar en: App Lab | Snap | Python

Parámetros en pseudocódigo

Este pseudocódigo representa un procedimiento que toma dos parámetros llamados parámetro1 y parámetro2:
PROCEDURE nombre (parámetro1, parámetro2)
{
     <instrucciones>
}
Este es pseudocódigo para el procedimiento y llamadas a reportGrade:
PROCEDURE reportGrade (studentName, numCorrect) {
    score ← ( numCorrect / 30 ) * 100
    report ← CONCAT(CONCAT(studentName, " earned: "), score)
    DISPLAY(report))
}

reportGrade("Sally", 27)
reportGrade("Wilbur", 24)

🙋🏽🙋🏻‍♀️🙋🏿‍♂️¿Tienes alguna pregunta sobre este tópico? Nos encantaría contestarte; ¡simplemente pregunta en el area de preguntas abajo!