gratiszona

Funciones que devuelven parametros en javascript

  • Escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE='JavaScript'>
// PROG041.HTM
/* Programa Principal */
var x,result;
x=prompt('Escribe el primer sumando','');
x=parseFloat(x);
y=prompt('Escribe el segundo sumando','');
y=parseFloat(y);
/* A continuacion llamo a la funcion para calcular
el cuadrado de la suma de x e y */
result=SumaCuadrado(x,y);
alert('El cuadrado de la suma de '+ x +' y '+ y +' es '+result);
// Fin del programa principal
/* A continuacion tengo la definicion de la funcion */
function SumaCuadrado(a,b)
{
return (a*a+b*b+2*a*b);
}
</SCRIPT>
</HTML>
  • Graba el programa en TuCarpeta con el nombre Prog041.htm y ejecutalo varias veces.
  • Estudio del Prog041.htm
function SumaCuadrado(a,b)
{
return (a*a+b*b+2*a*b);
}
Es una funcion con dos argumentos (a y b) que retorna un valor (parametro), que en nuestro caso es el cuadrado de la suma de "a" y "b".
Una funcion que retorna parametros, se caracteriza en que en su interior aparece la sentencia return, que permite devolver valores.
  • Escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE='JavaScript'>
// PROG042.HTM
var salida='';
salida=salida+'Enero tiene '+ diasmes(1) +' dias\n';
salida=salida+'Febrero tiene '+ diasmes(2) +' dias\n';
salida=salida+'Marzo tiene '+ diasmes(3) +' dias\n';
salida=salida+'Abril tiene '+ diasmes(4) +' dias\n';
salida=salida+'Mayo tiene '+ diasmes(5) +' dias\n';
salida=salida+'Junio tiene '+ diasmes(6) +' dias\n';
salida=salida+'Julio tiene '+ diasmes(7) +' dias\n';
salida=salida+'Agosto tiene '+ diasmes(8) +' dias\n';
salida=salida+'Septiembre tiene '+ diasmes(9) +' dias\n';
salida=salida+'Octubre tiene '+ diasmes(10) +' dias\n';
salida=salida+'Noviembre tiene '+ diasmes(11) +' dias\n';
salida=salida+'Diciembre tiene '+ diasmes(12) +' dias\n';
alert(salida);
/* funcion '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;
}
</SCRIPT>
</HTML>
  • Graba el programa con el nombre Prog042.htm en TuCarpeta y ejecutalo.
  • Observa:
  • El programa principal, con la sentencia "diames(1)" llama a la funcion "diames" y esta devuelve el numero 31.
  • Observa la estructura "switch": si el "case" 1, 3, 5, 7, 8, 10 no contienen nada, se ejecuta el siguiente "case" que si contiene algo: en nuestro caso el "case 12", que da a la variable "dias" el valor 31.
Programa que determina si un numero es primo
  • Escribe el siguiente programa:
<HTML>
<SCRIPT LANGUAGE='JavaScript'>
// PROG043.HTM
var num,resto;
num=prompt('Escribe un numero 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 numero '+num+' es primo');
</SCRIPT>
</HTML>
  • Graba el programa con el nombre Prog043.htm en TuCarpeta y ejecutalo varias veces.
  • El operador %:
num %i, nos da el resto de la division entre num y i.
Programa que calcula los 10 primeros multiplos del numero que queramos, utilizando una funcion que retorna parametro.
  • Escribe:
<HTML>
<SCRIPT LANGUAGE='JavaScript'>
// PROG049a.HTM
function mult10(x)
{
var salida='Multiplos de '+x+'\n';
var mult=0;
for(i=1;i<=10;i++)
{
mult=mult+x;
salida=salida+mult+' - ';
}
return salida;
}
a=parseInt(prompt('Escribe un numero entero',''));
alert(mult10(a));
</SCRIPT>
</HTML>
  • Graba el programa con el nombre Prog049a.htm y ejecutalo.
  • Observa:
En primer lugar se encuentra la funcion y a continuacion el programa, que en nuestro caso consta de 2 unicas instrucciones. En la practica veremos que la o las funciones siempre estaran en el <HEAD> </HEAD> de la pagina HTML.
Programa que construye una tabla de valores de y=mx+n utilizando una funcion
  • Escribe:
<HTML>
<SCRIPT LANGUAGE='JavaScript'>
// PROG049b.HTM
function recta(a,b)
{
salida='Tabla de valores de y = '+a+'x + '+b+'\n';
for(i=-5;i<=5;i++)
{
y=a*i+b;
salida=salida+'X = '+i+'\t'+'Y = '+y+'\n';
}
return salida;
}
m=parseFloat(prompt('Tabla de valores de y = mx + n\nEscribe el valor de m',''));
n=parseFloat(prompt('Tabla de valores de y = mx + n\nEscribe el valor de n',''));
alert(recta(m,n));
</SCRIPT>
</HTML>
  • Grabalo con el nombre Prog049b.htm y ejecutalo varias veces.
Programa que calcula potencias y raices utilizando dos funciones
  • Escribe:
<HTML>
<SCRIPT LANGUAGE='JavaScript'>
// PROG049e.HTM
function pot()
{
var b,e;
var resul;
b=parseFloat(prompt('Escribe la base de la potencia',''));
e=parseFloat(prompt('Escribe el exponente',''));
resul=b+' elevado a '+e+' es '+Math.pow(b,e);
alert(resul);
}
function raiz()
{
var b,e;
var resul;
b=parseFloat(prompt('Escribe el radicando de la raiz',''));
e=parseFloat(prompt('Escribe el indice de la raiz',''));
resul='La raiz '+e+'-esima de '+b+' es '+Math.pow(b,1/e);
alert(resul);
}
var opc='s'
while(opc != 'S')
{
opc=prompt('Escribe la opcion que desees:\n(P)Calcular una potencia (R)Calcular una raiz (S)Salir del programa','S');
switch(opc)
{
case 'P':
case 'p':
pot();
break;
case 'R':
case 'r':
raiz();
break;
}
}
</SCRIPT>
</HTML>
  • Grabalo con el nombre Prog049e.htm y ejecutalo varias veces.

Anterior: funciones que no devuelven nada
Siguiente: arrays