Esta página contiene ejercicios prácticos sobre el uso de funciones en JavaScript.
Ejercicio 1: Días de los Meses
Función que devuelve la cantidad de días de cada mes.
Resultado:
Código del ejercicio:
var salida="";
salida=salida+"Enero tiene "+ diasmes(1) +" días\n";
salida=salida+"Febrero tiene "+ diasmes(2) +" días\n";
salida=salida+"Marzo tiene "+ diasmes(3) +" días\n";
salida=salida+"Abril tiene "+ diasmes(4) +" días\n";
salida=salida+"Mayo tiene "+ diasmes(5) +" días\n";
salida=salida+"Junio tiene "+ diasmes(6) +" días\n";
salida=salida+"Julio tiene "+ diasmes(7) +" días\n";
salida=salida+"Agosto tiene "+ diasmes(8) +" días\n";
salida=salida+"Septiembre tiene "+ diasmes(9) +" días\n";
salida=salida+"Octubre tiene "+ diasmes(10) +" días\n";
salida=salida+"Noviembre tiene "+ diasmes(11) +" días\n";
salida=salida+"Diciembre tiene "+ diasmes(12) +" días\n";
alert(salida);
/* Función "diasmes" */
function diasmes(mes)
{
var dias;
switch(mes)
{
case 2:
dias=28;
break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
dias=31;
break;
case 4:
case 6:
case 9:
case 11:
dias=30;
break;
}
return dias;
}
Observaciones:
• El programa principal, con la sentencia "diasmes(1)" llama a la función "diasmes" y ésta devuelve el número 31.
• Observa la estructura "switch": si el "case" 1, 3, 5, 7, 8, 10 no contienen nada, se ejecuta el siguiente "case" que sí contiene algo: en nuestro caso el "case 12", que da a la variable "días" el valor 31.
Ejercicio 2: Números Primos (sin función)
Programa que determina si un número es primo.
Resultado:
Código del ejercicio:
var num,resto;
num=prompt("Escribe un número entero","");
num=parseInt(num,10);
for (i=2;i<num-1;i++)
{
resto=num % i;
if ((resto==0) && (num != 2))
{
alert(num+" no es primo");
break;
}
}
alert("Si no ha aparecido un mensaje de que no es primo, entonces el número "+num+" es primo");
El operador %:
num % i, nos da el resto de la división entre num y i.
Ejercicio 3: Números Primos (con función)
Programa que determina si un número es primo utilizando una función.
Resultado:
Código del ejercicio:
var num;
num=prompt("Escribe un número entero","");
num=parseInt(num,10);
if (primo(num)=="S")
{
alert(num+" es primo");
}
else
{
alert(num+" no es primo");
}
function primo(x)
{
var resto;
for (i=2;i<x-1;i++)
{
resto=x % i;
if ((resto==0) && (x != 2))
{
return "N";
}
}
return "S";
}