Curso Practico de Javascript PDF
Curso Practico de Javascript PDF
JavaScript
(Manual)
Manual de JavaScript
Antes de empezar:
-
Manual F.V.
Significa manual prctico de informtica, pero realmente realmente PRCTICO.
Todos los programas y ejercicios del manual han sido probados sin problema en el Microsoft
Internet Explorer 5.0
Mi consejo, es que escribas de nuevo tal como te indico en el texto, cada uno de los programas
utilizando el Bloc de Notas del Windows. Slo en el caso de que el programa no te funcione y
no descubras cul es el error, cpialo a partir del Word en el Bloc de Notas y grbalo con otro
nombre; para poder compararlo con el tuyo y as descubrir el error.
Piensa que se aprende ms descubriendo los propios errores, que avanzar sin hacer ningn error.
NDICE
1. Introduccin a la programacin en JavaScript .................................................................................... 3
Ejercicios de autoevaluacin 1 ............................................................................................................... 18
2. Estructuras de Programacin .............................................................................................................. 23
Ejercicios de autoevaluacin 2 ............................................................................................................... 46
3. Funciones y Arrays ............................................................................................................................. 51
Ejercicios de autoevaluacin 3 ............................................................................................................... 74
4. Programacin Visual .......................................................................................................................... 79
Ejercicios de autoevaluacin 4 ............................................................................................................... 93
5. Programacin en HTML..................................................................................................................... 95
Ejercicios de autoevaluacin 5 ............................................................................................................... 136
6. Programacin Orientada a Objetos .....................................................................................................139
7. JavaScript y la Web ............................................................................................................................ 173
Soluciones autoevaluacin 1 .................................................................................................................. 191
Soluciones autoevaluacin 2 .................................................................................................................. 199
Soluciones autoevaluacin 3 .................................................................................................................. 211
Soluciones autoevaluacin 4 .................................................................................................................. 227
Soluciones autoevaluacin 5 .................................................................................................................. 237
Manual de JavaScript
De todos los servicios que ofrece INTERNET, no cabe duda de que el ms popular es la WWW
(World Wide Web).
La WWW no es ms que millones de pginas en formato electrnico, con los contenidos y temticas
ms diversas a las que podemos acceder gracias a un ordenador + modem + browser (navegador).
Una pgina WEB no es ms que un fichero de texto (ASCII), escrito en formato HTML (Hyper Text
Markup Language = lenguaje etiquetado de hipertexto).
El HTML es un lenguaje basado en pares de tags (etiquetas). Un tag es un cdigo entre <>, si es de
apertura o un cdigo entre </ > si es de cierre.
Los browsers (navegadores de Internet), son capaces de traducir estas etiquetas (tags) de forma que
presentan visualmente la pgina.
Manual de JavaScript
Escribe:
<HTML>
<HEAD>
<TITLE>PROG000.HTM</TITLE>
</HEAD>
<BODY>
<P>Esto aparecer en el navegador porque es un prrafo</P>
<P>Esto es otro prrafo</P>
<P>Observa lo que aparece en la lnea de ttulo</P>
<P>La lnea de ttulo es la frase que aparece en el marco
del navegador, lnea superior</P>
<P>Est claro para qu sirven los tags P, /P?</P>
</BODY>
</HTML>
La programacin en HTML no tiene ninguna utilidad para un usuario normal, ya que en el mercado
existen herramientas que evitan la necesidad de tener que introducir manualmente los tags:
HotMetal, FontPage, Word, etc.
Lo que s tienen sentido es el estudio de la programacin en JavaScript.
JavaScript es un lenguaje de programacin creado por la empresa Netscape (creadora de uno de los
navegadores ms conocido)
Es el lenguaje de programacin ms utilizado en Internet para aadir interactividad a las pginas
Web
Un programa en JavaScript se integra en una pgina Web (entre el cdigo HTML) y es el navegador
el que lo interpreta (ejecuta). Es decir el JavaScript es un lenguaje interpretado, no compilado (no
se genera ningn tipo de fichero objeto o exe).
Para programar en JavaScript slo necesitamos un editor de texto (utilizaremos el Bloc de Notas del
Windows) y un navegador (utilizaremos el Microsoft Internet Explorer) para ejecutarlo.
Manual de JavaScript
Es visual: permite la moderna programacin visual (ventanas, botones, colores,
formularios, etc.).
En definitiva: es ideal para un primer curso de introduccin a la programacin.
Y has de tener en cuenta que hay un dicho en informtica, que afirma: Si dominas un
lenguaje de programacin, los conoces todos.
Manual de JavaScript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG002.HTM
var nom;
nom=prompt("Escribe tu nombre ","Paco");
alert("Mucho gusto "+ nom);
</SCRIPT>
</HTML>
-
En definitiva:
- La funcin prompt nos permite introducir "valores", dichos valores se han de guardar en variables,
que previamente hemos de declarar con la palabra reservada "var"
- La funcin "alert" muestra mensajes y/o valores de variables.
Manual de JavaScript
var base,altura;
base=prompt("Escribe la base del Rectngulo","");
altura=prompt("Escribe la altura del Rectngulo","");
alert("El rea del Rectngulo es = "+(base*altura));
</SCRIPT>
</HTML>
Ejectalo varias veces. Sera conveniente utilizar nmeros enteros y tambin decimales (5.72, 0.531:
observa que has de utilizar el punto decimal ingls).
Si has ejecutado el programa una vez, para volverlo a ejecutar, no es necesario que "cierres" el
navegador, basta que hagas:
Men Ver
Actualizar
o si quieres ir ms rpido, pulsa la tecla [F5]
3.- Variables
- Declaracin de variables
Una variable se puede declarar en JavaScript, de dos formas:
Forma Explcita: var nombre Variable;
Forma Implcita: var nombre Variable= valor;
En el ltimo caso no es imprescindible escribir var, pero es conveniente, ya que de esta forma
localizamos rpidamente todas las variables del programa.
El "JavaScript" es un lenguaje de programacin "Case Sensitive", esto es: no es lo mismo las
maysculas que las minsculas. Es decir, para el JavaScript: pepe es distinto de Pepe y distinto de pEpe.
<HTML>
<SCRIPT LANGUAGE=''JavaScript''>
Manual de JavaScript
// PROG004.HTM
/* Programa que utiliza una variable explcita
y dos implcitas */
var Expli;
var pi=3.141592;
var radio=7;
Expli=pi*radio*radio;
alert("rea del Crculo = "+Expli);
</SCRIPT>
</HTML>
-
Ejectalo
Manual de JavaScript
Manual de JavaScript
En el programa anterior aparecen 3 alerts, uno para cada uno de los tres nmeros. No hay ningn
problema para incluir los tres alerts en uno solo....
10
Manual de JavaScript
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// Prog007bb.htm
var x,y,z;
salida="";
var x1="Pepito Grillo", y1="Paquita Gonzlez";
var num1=37, num2=3.752;
x=prompt("Escribe tu nombre:","");
y=prompt("Escribe tu primer apellido:","");
z=prompt("Escribe tu segundo apellido:","");
salida=salida+"Ahora un alert largo ";
salida=salida+x+y+z;
salida=salida+x1+" "+y1;
salida=salida+num1+" "+num2;
salida=salida+" ,ya me he cansado";
alert(salida);
</SCRIPT>
</HTML>
Observa de qu forma acumulamos muchos datos en un solo alert (sta ser la forma de proceder,
cuando necesitemos una salida con muchos valores):
definimos una variable vaca: var salida=;
acumulamos a la variable salida todo lo que queramos: salida=salida+ lo que sea
lo que sea puede ser una cadena (un texto) o una variable (sea numrica o de texto).
salida=salida + x1 + + y1;
salida=salida + ya me he cansado;
Para acabar, un solo alert: alert(salida);
Variables nulas
Cuando una variable no contiene ningn valor, su contenido es nulo
Ejemplo:
miVariable = "Hola";
miVariable= null; // la vaciamos para que no ocupe memoria.
11
Manual de JavaScript
7.- Contadores
Uno de los instrumentos ms utilizados en todo lenguaje de programacin es el llamado contador
Observa:
var x= 10;
x = x+1;
x = x-5;
Declaramos una variable "x", que es numrica y que inicialmente es 10.
La lnea "x = x+1" es un contador, que hemos de leer: El nuevo valor de "x" es igual al anterior valor
de "x" ms una unidad. Es decir, que en estos momentos nuestra variable "x" es igual a 11.
La siguiente lnea: "x = x-5" es otro contador que hemos de leer: el nuevo valor de "x" es igual al
anterior valor de "x" menos 5 unidades. Es decir, que el valor de la variable "x" es ahora 11 - 5 = 6
-
Haz un programa para comprobar lo que hemos dicho sobre los contadores, es decir:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG009.HTM
var x=10;
alert("El valor inicial de x es "+x);
x=x+1;
alert("Despus de x=x+1, x="+x);
x=x-5;
alert("Despus de x=x-5, x="+x);
</SCRIPT>
</HTML>
12
Manual de JavaScript
Ejectalo.
13
Manual de JavaScript
Ejectalo. No funciona como deseamos debido a que el resultado de un prompt, siempre es una
cadena de texto.
parseFloat(cadena)
Toma la "cadena" y la transforma en un nmero en coma flotante, si es posible.
parseFloat ("123.456") = 123.456
parseFloat ("123ABC") = 123
parseFloat ("ABC") = NaN
parseInt(cadena, nmero)
Devuelve nmeros enteros, el segundo argumento nos permite escoger la base de numeracin
(entre 2 y 36)
parseInt ("ABC",16) = 2748
ABC16 = 274810
Si no especificamos el segundo argumento, por defecto es 10.
Si la cadena empieza por 0x y no existe el segundo argumento, se entiende que es 16.
Si la cadena empieza por 0 y no existe el segundo argumento, se entiende que es 8
toString(argumento)
Si argumento = nmero
Devuelve una cadena que contiene el nmero
Puede haber un argumento opcional:
(13).toString(16) =d siendo
1310 = d16
(13).toString(2) = 1101 siendo 1310 = 11012
-
A partir de este momento hemos de tener claro si los prompts corresponden a nmeros enteros,
decimales o de texto:
14
Manual de JavaScript
En el ejercicio Prog007.htm habamos visto una forma de convertir un nmero en base 8 o base 16 en
base 10. Pero dichos nmeros debamos de escribirlos implcitamente, es decir en el programa. Nos
gustara hacer un programa que:
- Nos preguntara un nmero en base 16 (prompt)
- Nos diera como resultado el nmero anterior pero en base 10
Vamos a ver si lo conseguimos:
-
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// Prog012bb.htm
var m,n,x;
m=prompt("Escribe un nmero en base 16","");
n=parseInt(m,16);
alert("El nmero "+m+" en base 16, es igual a "+n+" en base 10");
</SCRIPT>
</HTML>
Grbalo con el nombre Prog012bb.htm en TuCarpeta y ejectalo para el nmero FF32, a ver si es
verdad que nos da 65330 como resultado.
15
Manual de JavaScript
n =parseInt(m,16)
La variable n guardar el nmero en base 10
Es decir: parseInt(cadena, 16), transforma la cadena, en nuestro ejemplo un nmero escrito
en base 16, en el correspondiente nmero (no cadena) pero en base decimal.
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// Prog012bbb.htm
var m7,n7;
var m4,n4;
var m6,n6;
m7=prompt("Escribe un nmero en base 7","");
n7=parseInt(m7,7);
m4=prompt("Escribe un nmero en base 4","");
n4=parseInt(m4,4);
m6=prompt("Escribe un nmero en base 6","");
n6=parseInt(m6,6);
alert("El nmero "+m7+" en base 7, es igual a "+n7+" en base 10\n"+
"El nmero "+m4+" en base 4, es igual a "+n4+" en base 10\n"+
"El nmero "+m6+" en base 6, es igual a "+n6+" en base 10");
</SCRIPT>
</HTML>
Grbalo con el nombre Prog012bbb.htm y ejectalo, probndolo con los nmeros anteriores.
Veamos el problema inverso: dado un nmero en base 10, nos interesa convertirlo a base 7, por ejemplo.
Matemticamente:
Sea 593 un nmero en base 10
16
Manual de JavaScript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// Prog012bbbb.htm
var m,n;
n=parseInt(prompt("Escribe un nmero entero en base 10",""));
m=(n).toString(7);
alert("El nmero "+n+" en base 10, es igual a "+m+" en base 7");
</SCRIPT>
</HTML>
-
17
Manual de JavaScript
Autoevaluacin I
1) Haz un programa de nombre Eval1A.htm, que has de grabar en TuCarpeta que sirva para restar dos
nmeros cualesquiera, sean enteros o reales. Qu sucede si en lugar de restar dos nmeros,
intentamos restar dos textos?.
Haz un programa de nombre Eval1Ab.htm, que demuestre el nico caso en que podemos restar dos
cadenas de texto.
2) Haz un programa de nombre Eval1B.htm, que has de grabar en TuCarpeta, que sirva para dividir
dos nmeros.
Qu sucede si en lugar de dividir dos nmeros, intentamos dividir dos textos?
Qu sucede si el divisor es el nmero 0?
3) Haz un programa de nombre Eval1C.htm, que has de grabar en TuCarpeta, que funcione de la
siguiente forma:
- El programa nos pregunta nuestro nombre.
- El programa nos pregunta nuestra edad.
- El programa da como resultado nuestro nombre y a continuacin los das que hemos vivido hasta el
momento (debers multiplicar la edad por 365).
4) Haz un programa de nombre Eval1D.htm, que has de grabar en TuCarpeta, que funcione de la
siguiente forma:
- El programa nos pide un nmero.
- El programa nos muestra en una nica pantalla (un nico alert), el doble, el triple y cuadrple del
nmero que habamos introducido.
5) El siguiente programa tiene errores. Escrbelo (grbalo con el nombre Eval1E.htm en TuCarpeta) y
corrgelo para que funcione y explica para qu sirve:
<HTML>
<SCRIPT LANGUAGE="JavaScrip">
/* EVAL1E.HTM
var a,b;
a=prompt("Escribe la base:")
b=promp("Escribe la altura:")
alert("rea= "+(a*b/2);
</SCRIP>
</HTML>
6) Haz un programa de nombre Eval1F.htm, que has de grabar en TuCarpeta, que sirva para calcular la
longitud de una circunferencia y el rea del crculo correspondiente.
7) Haz un programa de nombre Eval1G.htm, que has de grabar en TuCarpeta, que sirva para calcular
un determinante de 2 orden.
8) Haz un programa de nombre Eval1H.htm, que has de grabar en TuCarpeta, igual que el Eval1G,
pero que presente los 4 elementos del determinante tabulados en 2 filas y 2 columnas.
18
Manual de JavaScript
9) Haz un programa de nombre Eval1I.htm, que has de grabar en TuCarpeta, que funcione de la
siguiente forma:
- El programa nos pide nuestro nombre.
- El programa nos pide nuestro primer apellido.
- El programa nos pide en qu poblacin vivimos.
- El programa presenta una pantalla aproximadamente igual a la siguiente:
==================================
Hola nombre Apellido
Adis habitante de Poblacin
==================================
10) Haz un programa de nombre Eval1J.htm, que has de grabar en TuCarpeta, que funcione de la
siguiente forma:
- El programa nos pide un nmero.
- Utiliza tres contadores:
Un contador: suma 5
Otro contador: suma 21
Otro contador: resta 4
- El programa nos presenta los 4 nmeros de la siguiente forma:
La primera lnea: el nmero introducido.
La segunda lnea: los tres nmeros tabulados, que han resultado de los tres contadores.
De forma que si introducimos el n 5 debera aparecer:
11) Haz un programa de nombre Eval1K.htm, que has de grabar en TuCarpeta, que funcione de la
siguiente forma:
- El programa nos pide un nmero entero.
- El programa nos da como resultado el mismo nmero pero en base 16
- Y por ltimo nos lo escribe en base 5
Comprueba el programa para el nmero 52. Debers calcular en primer lugar matemticamente el valor
de 52 en base 16 y en base 5.
12) Haz un programa de nombre Eval1L.htm, que has de grabar en TuCarpeta, que funcione de la
siguiente forma:
- El programa nos pide un nmero en base ocho
- El programa nos lo escribe en base decimal.
- Y por ltimo en base 2.
Comprueba el programa para el nmero 6561 8. Debers resolver en primer lugar el problema
matemticamente.
13) Haz un programa de nombre Eval1M.htm que has de grabar en TuCarpeta, que funcione de la
siguiente forma:
- El programa nos pide un nmero entero.
- El programa nos pide la base
- El programa nos escribe el nmero introducido en la "base" deseada.
19
Manual de JavaScript
Comprueba el programa para el nmero 100, en base 2, 3 y 11. Debers resolver en primer lugar el
problema matemticamente.
14) Qu es la WWW?
16) Escribe un fichero HTML (que no sea un programa JavaScript), que presente la frase: "Hola que tal"
y debajo tu nombre y apellidos.
24) Cmo se llaman y cmo funcionan las dos formas de definir una variable en JavaScript?
20
Manual de JavaScript
</HTML>
Grbalo con el nombre Eval1N.htm en TuCarpeta.
30) Calcula el nmero 9AC1 que est en base 16 a base 10, matemticamente
31) Calcula el nmero 7640 que est en base 8 a base 10, matemticamente.
32) Utiliza programas ya hechos para comprobar los dos ejercicios anteriores.
36) Haz un programa de nombre Eval1o.htm, que sirva para calcular el producto escalar de dos vectores
del plano.
La salida ha de ser de la siguiente forma:
Comprueba el funcionamiento del programa,
utilizando el caso concreto que aparece en la
ilustracin.
37) Haz un programa de nombre Evalip.htm, que sirva para calcular el coseno del ngulo que forman
dos vectores del plano, sabiendo que Math.sqrt(x) calcula la raz cuadrada de x.
La salida ha de ser de la siguiente forma:
21
Manual de JavaScript
22
Manual de JavaScript
Ejectalo.
23
Manual de JavaScript
Significado:
Si se cumple la condicin, se ejecutan las sentencias 1, 2 y 3 y si no se cumple se ejecutan las sentencias
4, 5, 6. La opcin else es opcional.
- Observa la diferencia entre = y ==
a = 3*9 es una asignacin, es decir la variable a es 27. En cambio if(a==5) es una condicin: si a es
idntico a 5 (si el valor de a es el nmero 5)
Ejecuta el programa para los siguientes casos, observando detenidamente lo que aparece:
1) a=70, b=2
2) a=50, b=30
3) a=7, b=11
4) a=100, b=50
5) a=50, b=100
Observa:
a==b a es igual a b
a != b a es diferente a b
(a>b) && (100>a)
a es mayor que b y adems 100 es mayor que a-
El else correspondiente a la condicin anterior, sera equivalente a no(a>b) || no(100>a), es decir
la negacin de la primera condicin o la negacin de la segunda (o las dos negaciones a la vez).
24
Manual de JavaScript
25
Manual de JavaScript
Ejecuta el programa, es importante que tengas claro el funcionamiento del Prog016.htm: compara el
listado del programa con lo que sucede al ejecutarlo. Observa cmo conseguimos escribir toda la
salida en un nico alert (variable res).
Programa que repite un texto cualquiera, el nmero de veces que queramos, utilizando un while
-
Recuerda que en el ParseInt no es necesario escribir el 10, ya que por defecto (si no lo escribimos),
es base 10.
26
Manual de JavaScript
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG018.HTM
var num;
var sum=0;
var pro=1;
var respuesta="";
num=prompt("Escribe un nmero diferente de cero=","");
num=parseFloat(num);
while(num != 0)
{
sum=sum+num;
pro=pro*num;
respuesta=respuesta+num+"\tsuma parcial:"+sum+"\tproducto parcial:"+pro+"\n";
num=prompt("Escribe otro nmero (para acabar introduce cero)","");
num=parseFloat(num);
}
alert(respuesta);
</SCRIPT>
</HTML>
27
Manual de JavaScript
Observa que el contador o ndice del for (en nuestro caso la i), es una variable que no es necesario
declararla, ya que la expresin i=1 la declara e inicializa.
Programa que repite un texto cualquiera en nmero de veces que queramos, utilizando un for
-
Graba el fichero en TuCarpeta, con el nombre Prog019.htm y ejectalo unas cuntas veces.
Programa que calcula todos los mltiplos de 11 menores de 3000 y por ltimo nos da la suma de
todos ellos.
-
28
Manual de JavaScript
</SCRIPT>
</HTML>
Programa que calcula los 10 primeros mltiplos del nmero que queramos, por ltimo nos da la
suma de todos ellos.
-
</SCRIPT>
</HTML>
-
29
Manual de JavaScript
Al ejecutar el programa anterior, nos podemos encontrar con una serie de problemas, por ejemplo si
introducimos en el valor menor de x (x1), un valor que sea mayor que el introducido en la variable
x2, o tambin puede suceder que en la variable paso escribamos un nmero negativo.
Vamos a solucionar estos posibles problemas, es decir vamos a mejorar el programa anterior.
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG024.HTM
var x1,x2,paso;
var salida="";
var y;
x1=prompt("Escribe el menor valor de x de la tabla","");
x1=parseFloat(x1);
x2=prompt("Escribe el mayor valor de x de la tabla","");
x2=parseFloat(x2);
if (x1>=x2)
{
alert("No tiene sentido lo que intentas hacer");
}
else
{
30
Manual de JavaScript
Grbalo con el nombre Prog024.htm en TuCarpeta y ejectalo, convendra probar los casos x1>=x2
y paso<0
Observa de qu forma salimos del programa si introducimos datos que no tienen sentido.
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG025.HTM
var cat1,cat2,hipo;
31
Manual de JavaScript
</SCRIPT>
</HTML>
-
Graba el fichero con el nombre Prog025.htm en TuCarpeta y ejectalo unas cuantas veces.
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG026.HTM
var opcion="S";
var cat1,cat2,hipo;
while(opcion=="S" || opcion=="s")
{
cat1=prompt("Escribe el valor de un cateto","");
cat2=prompt("Escribe el valor del otro cateto","");
cat1=parseFloat(cat1);
cat2=parseFloat(cat2);
hipo=Math.sqrt(cat1*cat1+cat2*cat2);
alert("La hipotenusa del tringulo de catetos "+cat1+" y "+cat2+" es "+hipo);
opcion=prompt("Quieres calcular otra hipotenusa? (S/N)","");
}
alert("Adis muy buenas");
</SCRIPT>
</HTML>
-
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG027.HTM
var a,b,c;
var discri;
var x1,x2;
a=prompt("Escribe el coeficiente de la x^2","");
a=parseFloat(a);
b=prompt("Escribe el coeficiente de la x","");
32
Manual de JavaScript
b=parseFloat(b);
c=prompt("Escribe el trmino independiente","");
c=parseFloat(c);
discri=b*b-4*a*c;
if(discri<0) alert("Soluciones Imaginarias");
if(discri==0)
{
x1=-b/(2*a);
alert("Solucin doble que es "+x1);
}
if(discri>0)
{
x1=(-b+Math.sqrt(discri))/(2*a);
x2=(-b-Math.sqrt(discri))/(2*a);
alert("Las soluciones son = "+x1+" y "+x2);
}
</SCRIPT>
</HTML>
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG028.HTM
var gra,rad;
var salida="";
for(gra=0;gra<=360;gra=gra+10)
{
rad=3.141592*gra/180;
salida=salida+gra+"\t\t"+Math.sin(rad)+"\n";
}
alert(salida);
</SCRIPT>
</HTML>
-
Escribe:
<HTML>
33
Manual de JavaScript
<SCRIPT LANGUAGE="JavaScript">
// PROG029.HTM
var num;
var opc,base;
num=prompt("Escribe un nmero positivo","");
num=parseFloat(num);
opc=prompt("1 Logaritmo Neperiano. 2 Logaritmo Decimal. 3 Logaritmo en base a\nEscribe el
nmero de la opcin","");
opc=parseInt(opc,10);
if(opc==1)
{
alert("El logaritmo Neperiano de "+num+" es "+Math.log(num));
}
if(opc==2)
{
alert("El logaritmo Decimal de "+num+" es "+(Math.log(num)/Math.log(10)));
}
if(opc==3)
{
base=prompt("Introduce el valor de la base a","");
base=parseFloat(base);
alert("El Logaritmo en base "+base+" del nmero "+num+" es
"+(Math.log(num)/Math.log(base)));
}
</SCRIPT>
</HTML>
-
Graba el fichero anterior con el nombre Prog029.htm en TuCarpeta y ejectalo varias veces.
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG029a.HTM
var bas,exp,resul
bas=parseFloat(prompt("base de la potencia?",""));
exp=parseFloat(prompt("escribe el exponente",""));
resul=Math.pow(bas,exp)
alert(bas+" elevado a "+exp+" es igual a "+resul)
</SCRIPT>
</HTML>
34
Manual de JavaScript
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG029b.HTM
var ind,rad,resul
ind=parseFloat(prompt("ndice de la raz?",""));
rad=parseFloat(prompt("escribe el radicando",""));
resul=Math.pow(rad,1/ind)
alert("La raz "+ind+" de "+rad+" es igual a "+resul)
</SCRIPT>
</HTML>
35
Manual de JavaScript
Nmeros Aleatorios
-
36
Manual de JavaScript
Adivinanzas
Vamos a hacer un programa que nos pregunte un nmero entero del 1 al 10, y el usuario del programa
tiene 5 tentativas para adivinarlo.
-
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG029e.HTM
var x,num;
var i=0;
var control=0;
x=Math.round(9*Math.random()+1);
while(i<5)
{
i++;
num=parseInt(prompt("Escribe un entero entre 1 y 10, intento "+i,""));
if(num==x)
{
alert("Lo has acertado en "+i+" tentativas");
i=5;
control=1;
}
}
if(control==0)
{
alert("Lo siento pero se han acabado tus 'vidas', el nmero era "+x);
}
</SCRIPT>
</HTML>
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG029f.HTM
var x,y,z;
var nota=0;
for(i=1;i<=5;i++)
{
x=Math.round(9*Math.random()+1);
y=Math.round(9*Math.random()+1);
z=parseInt(prompt(x+" + "+y+" = ",""));
if(z==x+y)
{
alert("Muy bien");
37
Manual de JavaScript
nota=nota+1;
}
else
{
alert("Lo siento, pero "+x+" + "+y+" = "+(x+y));
}
}
alert("Tu nota es "+(2*nota));
</SCRIPT>
</HTML>
-
38
Manual de JavaScript
Graba el programa con el nombre Prog030a.htm y ejectalo varias veces para comprobar que
funciona correctamente.
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG031.HTM
var opc="0";
var num;
while (opc != "10")
{
opc=prompt("Escribe la opcin que desees: (1)El Triple-(2)El Cuadrado-(3)El Logaritmo
Neperiano(4)El Seno-(5)El Coseno-(10)SALIR","");
switch(opc)
{
case "1":
39
Manual de JavaScript
num=prompt("Escribe el nmero","");
num=parseFloat(num);
alert("El triple de "+ num +" es " +(3*num));
break;
case "2":
num=prompt("Escribe el nmero","");
num=parseFloat(num);
alert("El cuadrado de "+ num +" es " +(num*num));
break;
case "3":
num=prompt("Escribe el nmero","");
num=parseFloat(num);
alert("El Logaritmo Neperiano de "+ num +" es " +(Math.log(num)));
break;
case "4":
num=prompt("Escribe el ngulo en radianes","");
num=parseFloat(num);
alert("El seno de "+ num +" es " +Math.sin(num));
break;
case "5":
num=prompt("Escribe el ngulo en radianes","");
num=parseFloat(num);
alert("El coseno de "+ num +" es " +Math.cos(num));
break;
}
}
</SCRIPT>
</HTML>
-
La estructura switch-case
switch(x)
{
case valor 1:
sentencia1;
sentencia2;
;
;
break;
case valor 2:
sentencia3;
;
;
break;
}
Segn el valor que tome la variable x, se ejecutarn las lneas de programa del case correspondientes.
Observa que cada case termina con break.
40
Manual de JavaScript
El programa nos pide el nmero total de preguntas y el nmero de respuestas acertadas. A partir de
aqu y utilizando la estructura "switch-case", el programa nos da la "nota" cualitativa.
- Grbalo con el nombre Prog031a.htm en TuCarpeta y ejectalo varias veces para comprobar que
funciona.
41
Manual de JavaScript
Do
{
sentencia1;
sentencia2;
sentencia3;
} while(condicin);
Mientras se cumpla la condicin, se repetir la ejecucin de las sentencias 1, 2 y 3.
Como la evaluacin de la condicin se efecta al acabarse el ciclo, el do-while se ejecutar siempre
como mnimo una vez. sta es la diferencia que hay entre la estructura do-while y la while.
-
42
Manual de JavaScript
}
salida=salida+"\ndo while:\n";
x=1;
do
{
x=x+1;
salida=salida+x+"\t";
} while (x>5);
alert(salida);
</SCRIPT>
</HTML>
-
43
Manual de JavaScript
// Clculo de factoriales
var fin;
var num=2;
var fact;
var solucion="";
fin=prompt("Factoriales hasta el nmero?","");
fin=parseFloat(fin);
while (num<=fin)
{
fact=1;
for (i=1;i<=num;i++)
{
fact=fact*i;
}
solucion=solucion+" - "+fact;
num++;
}
alert(solucion);
</SCRIPT>
</HTML>
-
44
Manual de JavaScript
{
auxiliar=lado3;
lado3=lado2;
lado2=lado1;
lado1=auxiliar;
}
if (lado3<lado2)
{
auxiliar=lado2;
lado2=lado3;
lado3=auxiliar;
}
/* Vamos a ver si la ordenacin es la correcta */
solucion=solucion+lado1+"\t"+lado2+"\t"+lado3+"\n";
/* Clasificacin del tringulo */
if (lado3>=lado1+lado2)
{
solucion=solucion+"Esto no es un tringulo";
}
else
{
if ((lado1==lado2)&&(lado2==lado3))
{
solucion=solucion+"Tringulo Equiltero";
}
else
{
if ((lado1==lado2)||(lado1==lado3)||(lado2==lado3))
{
solucion=solucion+"Tringulo Issceles";
}
else
{
solucion=solucion+"Tringulo Escaleno";
}
if ((lado3<lado1+lado2)&&(lado3*lado3==lado1*lado1+lado2*lado2))
{
solucion=solucion+" adems Rectngulo";
}
}
}
alert(solucion);
</SCRIPT>
</HTML>
-
45
Manual de JavaScript
Autoevaluacin II
1) El siguiente programa tiene errores. Escrbelo y corrgelo para que funcione (grbalo con el nombre
Eval2A.htm en TuCarpeta):
<SCRIPT>
<HTML LANGUAGE="JavaScript"
// EVAL2A.HTM
var farenheit,celsius,
var s="";
for(i=-2;i<=12:i++)
{
celsius=10*i;
farenheit=32+(celsius*9)/5;
s=s+"C= "+celsius+" F= "+farenheit+"\n";
if (celsius==0) s=s+"Punto congelacin del Agua\n";
if (celsius==100) s=s+"Punto de ebullicin del Agua\n";
}
alert(s;
<//SCRIPT>
<HTML>
2) Haz un programa que funcione de la siguiente forma:
- El programa nos pide que escribamos dos nmeros positivos menores de 57
- El programa nos da como resultado el producto de los dos nmeros
- Si los nmeros no son positivos o son mayores de 57, el programa nos lo dice.
- El programa nos pregunta al final si queremos volver a empezar.
Graba el programa con el nombre Eval2B.htm en TuCarpeta
3) Escribe un programa que nos vaya pidiendo nmeros. Si escribimos el nmero 9999 se acaba; por
ltimo el programa nos da como resultado el nmero de nmeros introducidos, exceptuando el 9999.
Graba el programa con el nombre Eval2C.htm en TuCarpeta.
4) Haz un programa que haga lo mismo que el anterior, pero adems nos d la suma de todos los
nmeros introducidos, exceptuando el 9999
Graba el programa con el nombre Eval2D.htm en TuCarpeta.
5) Haz un programa que haga lo mismo que el anterior, pero adems nos d el producto de los nmeros
introducidos, exceptuando el 9999.
Graba el programa con el nombre Eval2E.htm en TuCarpeta.
6) Haz un programa que escriba todos los mltiplos de 23 inferiores a 1000 y por ltimo nos d la suma
de todos ellos.
Graba el programa con el nombre Eval2F.htm en TuCarpeta.
7) Haz un programa que sirva para hacer una tabla de valores de la funcin y=sen(7x-5)
- El programa nos pide los dos valores de x (valores mximo y mnimo).
- El programa nos pide el incremento (variacin) de la x.
Graba el programa con el nombre Eval2G.htm en TuCarpeta.
46
Manual de JavaScript
8) Haz un programa que sirva para calcular un cateto de un tringulo rectngulo a partir del otro cateto y
la hipotenusa, de la siguiente forma:
- El programa nos pide el valor de la hipotenusa.
- El programa nos pide el valor de un cateto.
- Si el cateto es mayor que la hipotenusa, el programa nos da un mensaje de error y se acaba.
- El programa nos da como resultado el valor del otro cateto y nos pregunta si queremos volver a
empezar.
Graba el programa con el nombre Eval2H.htm en TuCarpeta.
9) Haz un programa que sirva para resolver ecuaciones de 2 grado del tipo ax2 + bx = 0.
Graba el programa con el nombre Eval2I.htm en TuCarpeta.
(Modifica el Prog027.htm, que resolvia el caso general)
10) Haz un programa que sirva para resolver sistemas de ecuaciones del tipo:
ax + by = c
dx + ey = f
11) Haz un programa con la posibilidad de hacer el Eval2I.htm o el Eval2J.htm (debes utilizar la
estructura switch)
Graba el programa con el nombre Eval2K.htm en TuCarpeta.
12) Haz un programa que escriba la tabla de valores de la funcin y = ax2 + bx + c, el programa nos pide
los valores de a, b, c y el nmero natural v.
El programa construye la tabla de valores entre
los valores de -v y v con un incremento de
una unidad.
Graba el programa con el nombre Eval2L.htm
en TuCarpeta.
La salida para el caso a = 1, b = -2, c=3, v=5
ha de ser de la siguiente forma:
47
Manual de JavaScript
13) Haz un programa que escriba los 15 primeros mltiplos de 7, su suma y su producto. El programa ha
de tener la posibilidad de volver a empezar.
Graba el programa con el nombre Eval2M.htm en TuCarpeta.
14) El siguiente programa tiene errores, indcalos y explica detalladamente lo que hace el programa:
<htmL>
<SCRITP>
// Eval2N.htm
var i=0;
var s=;
wile(i<5);
{
s=s+i
i++;
}
alert(s);
</SCRIPT>
<HTLM>
Graba el programa corregido con el nombre Eval2N.htm en TuCarpeta.
15) Haz un programa que sirva para calcular el rea de un tringulo o el rea de un rectngulo o el rea
de un crculo. El programa ha de tener la posibilidad de volver a empezar.
Graba el programa con el nombre Eval2O.htm en TuCarpeta.
16) Haz un programa tal que: dados dos vectores del espacio calcule su producto escalar, producto
vectorial y adems nos d el mdulo de los dos vectores y tambin el mdulo del producto vectorial.
Graba el programa con el nombre Eval2P.htm en TuCarpeta.
v =(a , b , c) w=(d , e , f)
Producto Escalar = ad + be + cf
Producto vectorial = (bf-ec , dc-af , ae-bd)
Mdulo de v =
a2
b2
c2
17) Haz un programa que dibuje un rectngulo de asteriscos a partir de la base y la altura.
Graba el programa con el nombre Eval2Q.htm en TuCarpeta.
18) Haz un programa que dibuje un cuadrado, con el carcter que quieras, a partir del lado.
Graba el programa con el nombre Eval2R.htm en TuCarpeta.
19) Haz un programa que nos pida un nmero y d como resultado la tabla de multiplicar del nmero
introducido.
Graba el programa con el nombre Eval2S.htm en TuCarpeta.
48
Manual de JavaScript
22) En matemticas no se puede dejar un resultado numrico sin racionalizar, ya que el resultado sin
racionalizar tiene un error mayor.
Haz un programa para comprobar la afirmacin anterior, concretamente para las fracciones:
3
2
3 2
2
23) Haz un programa que nos pregunte 10 multiplicaciones aleatoriamente y al final nos d la nota
cualitativa.
Graba el programa con el nombre Eval2W.htm
49
Manual de JavaScript
50
Manual de JavaScript
Graba el programa anterior con el nombre Prog039.htm en TuCarpeta y ejectalo varias veces.
51
Manual de JavaScript
sentencia2();
// Fin del programa Principal
function mediageo()
{
sentencia3;
...;
....;
}
</SCRIPT>
</HTML>
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG040.HTM
var opc="0";
while (opc != "T")
{
opc=prompt("Escribe la letra de la opcin deseada: (S) Sumar - (R) Raz Cuadrada - (L)
Logaritmo Neperiano - (A) Ayuda - (T) Terminar","");
if (opc=="S") suma();
if (opc=="R") raiz();
if (opc=="L") logaritmo();
if (opc=="A") ayuda();
}
function suma()
{
var a,b;
a=prompt("Escribe el primer sumando","");
a=parseFloat(a);
b=prompt("Escribe el segundo sumando","");
b=parseFloat(b);
alert("La suma de "+ a +" y "+ b +" es "+(a+b));
}
function raiz()
{
var a;
a=prompt("Escribe el radicando ","");
a=parseFloat(a);
alert("La raz cuadrada de "+ a +" es "+Math.sqrt(a));
}
function logaritmo()
{
var x;
x=prompt("Escribe un nmero positivo","");
x=parseFloat(x);
alert("El logaritmo neperiano de "+ x +" es "+Math.log(x));
}
52
Manual de JavaScript
function ayuda()
{
alert("Es bastante tonto que me pidas ayuda\npero aqu la tienes:\n\tPulsa S si quieres
sumar\n\tPulsa R para la raz cuadrada\n\tPulsa L para el logaritmo neperiano\n\tPulsa A para
acceder a la ayuda\n\tPulsa T para acabar");
}
</SCRIPT>
</HTML>
Graba el programa con el nombre Prog040.htm en TuCarpeta y ejectalo unas cuantas veces.
53
Manual de JavaScript
54
Manual de JavaScript
El programa principal, con la sentencia diames(1) llama a la funcin diames y sta
devuelve el nmero 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
das el valor 31.
El operador %:
num %i, nos da el resto de la divisin entre num y i.
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG044.HTM
var num;
num=prompt("Escribe un nmero entero","");
num=parseInt(num,10);
if (primo(num)=="S")
{
alert(num+" es primo");
}
55
Manual de JavaScript
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";
}
</SCRIPT>
</HTML>
56
Manual de JavaScript
num=parseFloat(num);
numDecimales=prompt("Escribe el nmero de decimales","");
numDecimales=parseInt(numDecimales,10);
alert("El nmero "+num+" con "+numDecimales+" decimales =
"+Aproxi(num,numDecimales));
function Aproxi(n,d)
{
cifra=1;
for(i=1;i<=d;i++)
{
cifra *= 10;
/* recuerda que "cifra *= 10" es equivalente a "cifra=cifra*10" */
}
return Math.round(n*cifra)/cifra;
}
</SCRIPT>
</HTML>
57
Manual de JavaScript
<SCRIPT LANGUAGE="JavaScript">
// PROG048.HTM
var x,y,aux,resto;
x=prompt("Escribe un nmero","");
x=parseInt(x,10);
y=prompt("Escribe el otro nmero","");
y=parseInt(y,10);
if (x<y)
{
aux=x;
x=y;
y=aux;
}
if ((x % y)==0) resto=y;
while ((x % y) != 0)
{
resto=x%y;
x=y;
y=resto;
}
alert("El MCD es "+resto);
</SCRIPT>
</HTML>
-
58
Manual de JavaScript
if ((a%b)==0) resto=b;
while((a%b) !=0)
{
resto=a%b;
a=b;
b=resto;
}
return resto;
}
</SCRIPT>
</HTML>
-
Graba el fichero en TuCarpeta con el nombre Prog049.htm y ejectalo para comprobar que
funciona.
Programa que calcula los 10 primeros mltiplos del nmero que queramos, utilizando una funcin
que retorna parmetro.
-
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG049a.HTM
function mult10(x)
{
var salida="Mltiplos 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 nmero entero",""));
alert(mult10(a));
</SCRIPT>
</HTML>
Observa:
En primer lugar se encuentra la funcin y a continuacin el programa, que en nuestro caso consta de
2 nicas instrucciones. En la prctica veremos que la o las funciones siempre estarn en el <HEAD>
</HEAD> de la pgina HTML.
Programa que construye una tabla de valores de y=mx+n utilizando una funcin
-
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
59
Manual de 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>
-
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG049c.HTM
function hipot(c1,c2)
{
return Math.sqrt(c1*c1+c2*c2);
}
var x,y;
x=parseFloat(prompt("Escribe el valor de un cateto",""));
y=parseFloat(prompt("Escribe el valor del otro cateto",""));
alert("La hipotenusa del tringulo de catetos "+x+" , "+y+" es = "+hipot(x,y));
</SCRIPT>
</HTML>
Grbalo con el nombre Prog049c.htm y ejectalo varias veces para asegurarte que funciona.
Programa que resuelve una ecuacin de segundo grado utilizando tres funciones
-
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG049d.HTM
function imagi()
{
return "Soluciones Imaginarias";
}
function doble(a,b)
{
60
Manual de JavaScript
return -b/(2*a);
}
function dos(a,b,disc)
{
var x1,x2;
x1=(-b+Math.sqrt(disc))/(2*a);
x2=(-b-Math.sqrt(disc))/(2*a);
return "x1 = "+x1+" , "+"x2 = "+x2;
}
var x,y,z,d;
var salida="";
x=parseFloat(prompt("Ecuacin ax+bx+c=0\nEscribe el valor de 'a'",""));
y=parseFloat(prompt("Ecuacin ax+bx+c=0\nEscribe el valor de 'b'",""));
z=parseFloat(prompt("Ecuacin ax+bx+c=0\nEscribe el valor de 'c'",""));
d=y*y-4*x*z;
if(d<0)
{
alert(imagi());
}
if(d==0)
{
alert("Una solucin, que es "+doble(x,y));
}
if(d>0)
{
alert("Dos soluciones:\n"+dos(x,y,d));
}
</SCRIPT>
</HTML>
-
Grbalo con el nombre Prog049d.htm y ejectalo varias veces (como mnimo una para cada uno de
los tres casos).
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 raz",""));
e=parseFloat(prompt("Escribe el ndice de la raz",""));
resul="La raz "+e+"-sima de "+b+" es "+Math.pow(b,1/e);
61
Manual de JavaScript
alert(resul);
}
var opc="s"
while(opc != "S")
{
opc=prompt("Escribe la opcin que desees:\n(P)Calcular una potencia (R)Calcular una
raz (S)Salir del programa","S");
switch(opc)
{
case "P":
case "p":
pot();
break;
case "R":
case "r":
raiz();
break;
}
}
</SCRIPT>
</HTML>
Programa que nos da la nota cualitativa a partir de la cuantitativa utilizando una funcin
-
62
Manual de JavaScript
return "Notable";
break;
case 9:
return "Excelente";
break;
case 10:
return "Matricula de Honor";
break;
}
}
var num,bien,nota,notacual;
num=parseInt(prompt("Escribe el nmero total de preguntas",""));
bien=parseInt(prompt("Escribe el nmero de resouestas acertadas",""));
nota=parseInt(10*bien/num);
alert("La nota cualitativa es "+cuali(nota));
</SCRIPT>
</HTML>
Grbalo con el nombre Prog049f.htm y prubalo varias veces para comprobar que funciona.
63
Manual de JavaScript
alert(salida);
</SCRIPT>
</HTML>
-
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
//PROG051a.HTM
var x=new Array();
var med;
64
Manual de JavaScript
var y=0;
var i=0;
var sum=0;
while(y != 9999)
{
y=parseFloat(prompt("Introduce un valor\npara acabar escribe 9999","9999"));
x[i]=y;
i++;
}
x[i]=0;
for(j=0;j<i-1;j++)
{
sum=sum+x[j];
}
med=sum/j;
alert("La media es "+med);
</SCRIPT>
</HTML>
-
Grbalo con el nombre Prog051a.htm y ejectalo varias veces para comprobar que funciona.
Programa que calcula la media aritmtica de un nmero determinado de valores utilizando una
funcin
-
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
//PROG051b.HTM
function media(n)
{
var x=new Array(n);
var sum=0;
for(i=0;i<n;i++)
{
num=parseFloat(prompt("Escribe un valor de la serie ("+(i+1)+"):",""));
x[i]=num;
sum=sum+x[i];
}
return sum/n;
}
var valores;
valores=parseInt(prompt("Escribe el nmero de elementos de la serie",""));
alert("La media de todos los valores es: "+media(valores));
</SCRIPT>
</HTML>
Grbalo con el nombre Prog051b.htm y ejectalo varias veces para comprobar que funciona.
65
Manual de JavaScript
<SCRIPT LANGUAGE="JavaScript">
//PROG051c.HTM
function media(n)
{
var x=new Array(n);
var sum=0;
var salida="";
for(i=0;i<n;i++)
{
num=parseFloat(prompt("Escribe un valor de la serie ("+(i+1)+"):",""));
x[i]=num;
salida=salida+x[i]+" - ";
sum=sum+x[i];
}
salida=salida+"\nLa Media Aritmtica de estos "+n+" nmeros es "+(sum/n);
return salida;
}
var valores;
valores=parseInt(prompt("Escribe el nmero de elementos de la serie",""));
alert(media(valores));
</SCRIPT>
</HTML>
Programa que calcula, dada una serie de 20 nmeros, la media aritmtica, las desviaciones respecto
a la media, la desviacin media, la varianza y la desviacin tpica.
Recuerda:
Dada la serie estadstica: x1, x2, x3, ... , xn
Media aritmtica: x = (x1+x2+x3+ ......)/n
Desviaciones respecto a la media: d1=|x1-x|, d2=|x2-x|, ....
Desviacin media: es la media aritmtica de las desviaciones
Varianza: es la media aritmtica de las desviaciones al cuadrado.
Desviacin tpica: es la raz cuadrada de la varianza.
-
Escribe:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
//PROG051d.HTM
var x=new Array(20);
var sum=0;
var med;
var des=new Array(20);
var sum1=0;
var sum2=0;
var desmed,vari,dt;
var salida="VALORES:\n";
var salida1="DESVIACIONES RESPECTO A LA MEDIA:\n";
for(i=0;i<20;i++)
{
66
Manual de JavaScript
Grbalo con el nombre Prog051d.htm y ejectalo varias veces para comprobar que funciona.
67
Manual de JavaScript
68
Manual de JavaScript
// PROG054.HTM
var Matriz2D= new Array(5);
for (i=0;i<5;i++)
{
var Aux=new Array(5);
for (j=0;j<5;j++)
{
Aux[j]="E"+i+j;
}
Aux[4] += "\n";
Matriz2D[i]=Aux;
}
alert(Matriz2D);
</SCRIPT>
</HTML>
69
Manual de JavaScript
70
Manual de JavaScript
var salida="";
var letras=new Array();
var numeros=new Array();
x=prompt("Escribe una palabra o frase","");
for(i=0;i<=x.length;i++)
{
numeros[i]=x.charCodeAt(i);
letras[i]=String.fromCharCode(numeros[i]);
salida=salida+letras[i]+" = "+numeros[i]+"\n";
}
alert(salida);
alert(SumaASCII(x));
function SumaASCII(frase)
{
var aux=0;
for(i=0;i<frase.length;i++)
{
aux += frase.charCodeAt(i);
}
return aux;
}
</SCRIPT>
</HTML>
-
71
Manual de JavaScript
}
return false
}
alert(BuscaEmail([email protected]));
6.- Temporizadores
Los temporizadores son objetos sin representacin fsica que se encargan de ejecutar una tarea al cabo de
cierto tiempo que se le debe indicar.
NombreTemp= setTimeout(nombrefuncin(), tiempo);
Para detener el temporizador: clearTimeout(NombreTemp);
-
72
Manual de JavaScript
{
letras=new Array();
var texto="Uso de cadenas con JavaScript para efectos dinmicos";
for(i=0;i<texto.length;i++)
{
letras[i]=texto.charAt(i);
}
mueveLetras();
}
var TextoAct="";
var n=-1;
function mueveLetras()
{
n++;
TextoAct += letras[n];
document.forms[0].TextoDinamico.value=TextoAct;
if(n==letras.length-1)
{
n=-1;
TextoAct="";
}
setTimeout("mueveLetras()",velocidad);
}
</SCRIPT>
<BODY onload=animar();>
<FORM>
<INPUT TYPE="text" NAME="TextoDinamico" VALUE="" SIZE="120">
</FORM>
</BODY>
</HTML>
-
73
Manual de JavaScript
Autoevaluacin III
1) Haz un programa de nombre Eval3A.htm, que calcule el mnimo comn mltiplo de dos nmeros
utilizando la funcin MCD del Prog049.htm y sabiendo que mcm(x,y) = x*y/MCD(x,y)
2) Haz un programa de nombre Eval3B.htm, que sirva para simplificar una fraccin numrica, debes
utilizar la funcin MCD del ejercicio anterior.
Observa:
a
a/MCD(a,b)
----- = ----------------b
b/MCD(a,b)
Comprueba el funcionamiento del programa para el
caso:
3) Haz un programa de nombre Eval3C.htm, que sirva para sumar o restar dos fracciones y despus
simplifique el resultado.
Observa:
a
b
c
d
a(mcm(b, d ) / b) c(mcm(b, d ) / d )
mcm(b, d )
4) Haz un programa de nombre Eval3D.htm, que sirva para calcular el mdulo de un vector en el
espacio, utilizando una funcin.
5) Haz un programa de nombre Eval3E.htm, que sirva para calcular el rea de un tringulo en el
espacio, utilizando la funcin del ejercicio anterior.
Recuerda:
A=(a1,a2,a3), B=(b1,b2,b3), C=(c1,c2,c3)
AB=(b1-a1,b2-a2,b3-a3), AC=(c1-a1,c2-a2,c3-a3)
rea del tringulo ABC: mitad del producto vectorial de AB y AC (consulta el Eval2P.htm)
Comprubalo para el siguiente caso:
74
Manual de JavaScript
m
n
m!
n!(m n)!
75
Manual de JavaScript
0
0
1 1
0 1
2 2 2
0 1 2
......
4) El programa nos ha de preguntar de entrada el nmero de filas del tringulo.
10) Haz un programa de nombre Eval3J.htm que lea un sistema de tres ecuaciones con tres incgnitas y
nos escriba la matriz ampliada. Suponiendo que todos los coeficientes son positivos y constan de un
nico dgito. Debers utilizar la funcin texto.charAt(num)
11) Haz un programa de nombre Eval3K.htm, que calcule un determinante de tercer orden.
Recuerda:
a b c
d e f
= aei + dch + bfg - gec - hfa - dbi
g h i
Comprubalo para el caso:
12) Haz un programa de nombre Eval3L.htm, que sirva para discutir un sistema de tres ecuaciones con
tres incgnitas, slo en los casos compatible determinado e incompatible y lo resuelve en el caso
compatible determinado.
De la siguiente forma:
1) Crea una funcin que sirva para calcular un determinante de tercer orden (ejercicio anterior).
2) Dado el sistema: ax+by+cz=j
dx+ey+fz=k
gx+hy+iz=l
76
Manual de JavaScript
j b c
detx= k e f
l h i
a j c
dety= d k f
g l i
a b j
detz= d e k
g h l
13) Haz un programa de nombre Eval3M.htm, que simule una tirada aleatoria de cinco dados de parchs.
14) Haz un programa de nombre Eval3N.htm, que resuelva un sistema de dos ecuaciones con dos
incgnitas por el mtodo de Cramer.
Crea una funcin que calcule un determinante de 2 orden
Comprubalo para el caso:
3x-y=1
x+y=3
15) Haz un programa de nombre Eval3O.htm, que escriba un nmero en base 2 o 3 en base 10.
Repasa el primer captulo
16) Haz un programa de nombre Eval3P.htm, que calcule los 50 primeros trminos de la sucesin de
termino general: (3n + 1) / ( 2n 1)
77
Manual de JavaScript
17) Haz un programa de nombre Eval3Q.htm, que calcule la raz cuarta de un nmero, utilizando una
funcin.
18) Haz un programa de nombre Eval3R.htm, que cuente el nmero de vocales que contiene un texto
cualquiera.
19) Haz un programa de nombre Eval3S.htm, que haga lo mismo que el anterior, pero al final el
programa nos da el nmero de a, nmero de e, nmero de i, y lo mismo con las o y u.
78
Manual de JavaScript
Texto
<!-//-->
Permite escribir comentarios en una pgina web (no en un programa JavaScript).
<BR>
Es equivalente a un [Return]. No existe el correspondiente tag de cierre.
<H1> </H1>
<H2> </H2>
<H3> </H3>
Nos sirven para escribir ttulos.
<P>
</P>
Prrafo normal (justificacin izquierda).
<P ALIGN=CENTER>
Prrafo centrado.
</P>
Colores
<BODY BGCOLOR=CdigoColor> </BODY>
La pgina quedar coloreada con el color de fondo correspondiente a CdigoColor
La sintaxis de CdigoColor es #XXYYZZ
XX es un nmero en hexadecimal de 00 a FF correspondiente al rojo
YY es un nmero en hexadecimal de 00 a FF correspondiente al verde
ZZ es un nmero en hexadecimal de 00 a FF correspondiente al azul
Ejemplos:
#FF0000
#9900DD
#FF00FF
rojo
violeta
magenta
#0000FF
#00FF00
azul
verde
<FONT COLOR=CdigoColor>
</FONT>
La letra aparecer en el color correspondiente a CdigoColor.
Otros
<HR>
Dibuja una lnea horizontal.
<B>
</B>
Letra en negrita.
79
Manual de JavaScript
Casi todos los programas que hemos hecho hasta ahora se han caracterizado en que su salida ha sido
siempre utilizando la ventana alert de JavaScript. Vamos a ver en el siguiente programa que podemos
enviar la salida a la misma pantalla del navegador.
80
Manual de JavaScript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG063.HTM
var nom;
nom=prompt("Escribe tu nombre","");
var salida="";
for(i=2;i<=14;i=i+2)
{
salida=salida+"<BR>"+"i= "+i+" Hola "+nom;
}
document.write("<H1><P align='CENTER'>Uso de DOCUMENT.WRITE</H1>");
document.write("<BR><BR>");
document.write(salida);
</SCRIPT>
</HTML>
Utilizando los tags propios del HTML, podemos mejorar la salida de cualquier programa JavaScript, en
efecto:
-
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG063.HTM
var nom;
nom=prompt("Escribe tu nombre","");
var salida="";
for(i=2;i<=14;i=i+2)
{
salida=salida+"<BR>"+"i= "+i+" - Hola "+nom;
}
document.write("<BODY BGCOLOR='#00FF00'><FONT COLOR='#FF0000'>");
document.write("<H1><P align='CENTER'>Uso de DOCUMENT.WRITE</H1>");
document.write("<BR><BR>");
document.write("<B>"+salida+"</B>");
</SCRIPT>
</HTML>
81
Manual de JavaScript
Cuadros de Texto:
<FORM>
<INPUT TYPE=text SIZE=10 NAME=pepe>
</FORM>
Crea un cuadro de texto de nombre pepe y tamao 10 caracteres.
<FORM>
<INPUT TYPE=text onBlur=programa JavaScript>
</FORM>
Crea otro cuadro de texto tal que, al salir de l se ejecuta el programa JavaScript.
<HTML>
<!-- PROG065.HTM //-->
<BODY>
<FORM>
ESCRIBE LO QUE QUIERAS:
<INPUT TYPE="text" SIZE="50" NAME="uno">
<BR><BR>
PULSA TAB para pasar al siguiente cuadro de texto:
<BR><BR>
VUELVE A ESCRIBIR LO QUE TE VENGA EN GANA:
<INPUT TYPE="text" onBlur="alert('vale');">
<BR>
<INPUT TYPE="text" VALUE="PUES ESO">
</FORM>
</BODY>
</HTML>
82
Manual de JavaScript
<HTML>
<!-- PROG066.HTM //-->
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function a(x,y)
{
return (parseFloat(x)*parseFloat(y)/2);
}
</SCRIPT>
</HEAD>
<BODY>
<FORM>
<BR>
Base: <INPUT TYPE="text" SIZE="5" NAME="bas">
<BR>
Altura: <INPUT TYPE="text" SIZE="5" NAME="alt"
onBlur="document.forms[0].result.value=a(document.forms[0].bas.value,this.value);">
<BR>
83
Manual de JavaScript
<BR>
rea: <INPUT TYPE="text" SIZE="10" NAME="result">
</FORM>
</BODY>
</HTML>
4) Para acabar, es conveniente mejorar el diseo visual del programa: ttulos, colores, etc.
-
<HTML>
<!-- PROG067.HTM //-->
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function a(x,y)
{
return (parseFloat(x)*parseFloat(y)/2);
}
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#0000FF">
<FONT COLOR="#FF0000">
<H1><P ALIGN="CENTER">Calculo del rea de un Tringulo</H1>
<HR>
</FONT>
<FONT COLOR="#FFFFFF"><P>
Escribe el los siguientes cuadros la base y la altura del tringulo.
Para pasar de un cuadro al siguiente pulsa la tecla de tabulacin
[Tab]. Al situarte en el ltimo cuadro, automticamente aparecer
el valor del rea.
Para escribir un dato en decimales, debes utilizar el "punto decimal",
no la coma.
<BR>
<HR>
<FONT COLOR="YELLOW">
<FORM>
<P ALIGN="CENTER">
Base del tringulo: <INPUT TYPE="text" SIZE="5" NAME="bas">
<BR>
Altura del tringulo: <INPUT TYPE="text" SIZE="5" NAME="alt"
onBlur="document.forms[0].result.value=a(document.forms[0].bas.value,this.value);">
<BR>
<BR><HR><P ALIGN="CENTER"><B>
rea del tringulo: <INPUT TYPE="text" SIZE="10" NAME="result">
<HR>
</FORM>
</FONT></B>
</BODY>
</HTML>
84
Manual de JavaScript
Observa que en lugar de utilizar un cdigo de color, tambin podemos utilizar el nombre del color en
ingls.
Botones
Otro elemento interesante en la programacin visual es el uso de botones:
<FORM>
<INPUT TYPE=button VALUE=Pepito onClick=programaJS;>
</FORM>
El tag <INPUT TYPE...> anterior crea un botn de comando, donde aparece escrito el texto Pepito y al
hacer clic en dicho botn (onClick), se ejecuta el programaJS.
Vamos a ver como funciona...
-
<HTML>
<!-- PROG068.HTM //-->
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function Saludo()
{
alert("Hola Mundo!");
}
</SCRIPT>
</HEAD>
<BODY>
<P ALIGN="CENTER">
<FORM>
<INPUT TYPE="button" VALUE="Hazme Clic" onClick="Saludo();">
</FORM>
</P>
</BODY>
</HTML>
-
<HTML>
<!-- PROG069.HTM //-->
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function Saludo(nom)
{
alert("Hola "+nom);
}
</SCRIPT>
</HEAD>
<BODY>
<P ALIGN="CENTER">
<FORM>
Escribe tu nombre:
<INPUT TYPE="text" NAME="x">
<BR><BR>
85
Manual de JavaScript
EJEMPLOS visuales
Para acabar este tema se trata de repetir una serie de programas ya hechos en captulos anteriores, pero
utilizando las posibilidades visuales que acabamos de ver.
Ejemplo1: Tabla de valores de la funcin y=x2-5x+10
El programa correspondiente era el Prog023.htm que ya tienes en TuCarpeta:
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG023.HTM
var x1,x2,paso;
var salida="";
var y;
x1=prompt("Escribe el menor valor de x","");
x1=parseFloat(x1);
x2=prompt("Escribe el mayor valor de x","");
x2=parseFloat(x2);
paso=prompt("Escribe el incremento de x:","");
paso=parseFloat(paso);
for(i=x1;i<=x2;i=i+paso)
{
y=i*i-5*i+10;
salida=salida+i+" "+y+"\n";
}
alert(salida);
</SCRIPT>
</HTML>
Es conveniente ejecutar el Prog023.htm, para tener claro su funcionamiento.
Bien, vamos a seguir el proceso para transformar el programa anterior en visual:
1) Programa JavaScript en forma de funcin:
<SCRIPT LANGUAGE="JavaScript">
function valores(x1,x2,paso)
{
var y;
var salida="";
x1=parseFloat(x1);
x2=parseFloat(x2);
paso=parseFloat(paso);
for(i=x1;i<=x2;i=i+paso)
{
y=i*i-5*i+10;
salida=salida+"x= "+i+"
}
y="+y+"<BR>";
86
Manual de JavaScript
document.write(salida);
}
</SCRIPT>
2) Elementos visuales:
Tres cuadros de texto para introducir x1, x2 y paso
Un botn para ejecutar el programa
Es decir:
<FORM>
Primer o mnimo valor de X:<INPUT TYPE="text" NAME="min">
<BR>
ltimo o mximo valor de X:<INPUT TYPE="text" NAME="max">
<BR>
Incremento o Variacin entre los valores de X: <INPUT TYPE="text" NAME="incr">
<BR>
<HR>
<INPUT TYPE="button" VALUE="Tabla de Valores"
onClick="valores(document.forms[0].min.value,document.forms[0].max.value,document.forms[0].incr.v
alue);">
<HR>
<BR>
</FORM>
<HTML>
<!-- PROG070.HTM //-->
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function valores(x1,x2,paso)
{
var y;
var salida="";
x1=parseFloat(x1);
x2=parseFloat(x2);
paso=parseFloat(paso);
for(i=x1;i<=x2;i=i+paso)
{
y=i*i-5*i+10;
salida=salida+"x= "+i+" y="+y+"<BR>";
}
document.write(salida);
}
</SCRIPT>
</HEAD>
<BODY>
<FORM>
Primer o mnimo valor de X:<INPUT TYPE="text" NAME="min">
<BR>
ltimo o mximo valor de X:<INPUT TYPE="text" NAME="max">
<BR>
Incremento o Variacin entre los valores de X: <INPUT TYPE="text" NAME="incr">
<BR>
87
Manual de JavaScript
<HR>
<INPUT TYPE="button" VALUE="Tabla de Valores"
onClick="valores(document.forms[0].min.value,document.forms[0].max.value,document.forms[0].i
ncr.value);">
<HR>
<BR>
</FORM>
</BODY>
</HTML>
Escribe:
<HTML>
<!-- PROG071.HTM //-->
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function valores(x1,x2,paso)
{
var y;
var salida="";
x1=parseFloat(x1);
x2=parseFloat(x2);
paso=parseFloat(paso);
for(i=x1;i<=x2;i=i+paso)
{
y=i*i-5*i+10;
salida=salida+"x= "+i+" y="+y+"<BR>";
}
document.write("<P ALIGN='CENTER'><FONT COLOR='red'><B>"+salida);
}
</SCRIPT>
</HEAD>
<BODY BGCOLOR="GREEN"><FONT COLOR="YELLOW"><H1><P ALIGN="CENTER">
Tabla de Valores de la funcin: Y=X*X-5*X+10</H1>
<FORM>
Primer o mnimo valor de X:<INPUT TYPE="text" NAME="min">
<BR>
ltimo o mximo valor de X:<INPUT TYPE="text" NAME="max">
<BR>
Incremento o Variacin entre los valores de X: <INPUT TYPE="text" NAME="incr">
<BR>
<HR><P ALIGN="CENTER">
<INPUT TYPE="button" VALUE="Tabla de Valores"
onClick="valores(document.forms[0].min.value,document.forms[0].max.value,document.forms[0].i
ncr.value);">
<HR>
<BR>
</FORM>
</BODY>
</HTML>
88
Manual de JavaScript
Es interesante probarlo con valores relativamente grandes, por ejemplo: x1=1, x2=200, paso=1
</SCRIPT>
</HTML>
Ejecuta varias veces el Prog021.htm, para tener claro su funcionamiento.
Vamos all:
1) Programa en forma de funcin:
<SCRIPT LANGUAGE="JavaScript">
function factorial(num)
{
var fact=1;
num=parseInt(num);
for(i=1;i<=num;i++) fact=fact*i;
return fact;
}
</SCRIPT>
2) Elementos visuales:
Un cuadro de texto para introducir un nmero.
Un cuadro de texto para recoger el resultado (el factorial)
Un botn para ejecutar el programa
-
Escribe:
<HTML>
<!-- PROG072.HTM //-->
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function factorial(num)
{
var fact=1;
num=parseInt(num);
89
Manual de JavaScript
for(i=1;i<=num;i++) fact=fact*i;
return fact;
}
</SCRIPT>
</HEAD>
<BODY>
<FORM>
Escribe el nmero:<INPUT TYPE="text" NAME="x">
<BR><BR>
<INPUT TYPE="button" VALUE="Calcular el Factorial"
onClick="document.forms[0].f.value=factorial(document.forms[0].x.value);">
<BR><BR>
<INPUT TYPE="text" NAME="f">
</FORM>
</BODY>
</BODY>
</HTML>
Escribe:
<HTML>
<!-- PROG073.HTM //-->
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function factorial(num)
{
var fact=1;
num=parseInt(num);
for(i=1;i<=num;i++) fact=fact*i;
return fact;
}
</SCRIPT>
</HEAD>
<BODY>
<FORM>
Escribe el nmero:<INPUT TYPE="text" NAME="x">
<BR><BR>
<INPUT TYPE="button" VALUE="Calcular el Factorial"
onClick="document.forms[0].f.value=factorial(document.forms[0].x.value);">
<BR><BR>
<INPUT TYPE="text" NAME="f">
<BR><BR>
<INPUT TYPE="button" VALUE="OTRO"
onClick="document.forms[0].x.value='';document.forms[0].f.value='';">
</FORM>
</BODY>
</BODY>
</HTML>
90
Manual de JavaScript
Escribe:
<HTML>
<!-- PROG074.HTM //-->
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function factorial(num)
{
var fact=1;
num=parseInt(num);
for(i=1;i<=num;i++) fact=fact*i;
return fact;
}
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#000000"><FONT COLOR="WHITE">
<H1><P ALIGN="CENTER">CLCULO DEL FACTORIAL DE UN NMERO</H1>
<BR>
<H3>El factorial de un nmero es el producto del nmero por los sucesivos
enteros anteriores, hasta llegar a la unidad.
Es decir, el factorial de 5 ser 5*4*3*2*1 por lo tanto 120.</H3>
<HR>
<FORM>
<H2><P ALIGN="CENTER"><FONT COLOR="RED">
Escribe el nmero:<INPUT TYPE="text" NAME="x">
<BR><BR>
<INPUT TYPE="button" VALUE="Calcular el Factorial"
onClick="document.forms[0].f.value=factorial(document.forms[0].x.value);">
<INPUT TYPE="button" VALUE="Otra vez"
onClick="document.forms[0].x.value='';document.forms[0].f.value='';">
<BR><BR>
<INPUT TYPE="text" NAME="f">
<BR><BR>
</FORM>
</BODY>
</BODY>
</HTML>
91
Manual de JavaScript
Escribe:
<HTML>
<!-- PROG075.HTM //-->
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function MCD(a,b)
{
var resto,aux;
if(a<b)
{
aux=a;
a=b;
b=aux;
}
if ((a%b)==0) resto=b;
while((a%b) !=0)
{
resto=a%b;
a=b;
b=resto;
}
return resto;
}
</SCRIPT>
</HEAD>
<BODY BGCOLOR="YELLOW"><FONT COLOR="RED">
<H1><P ALIGN="CENTER">SIMPLIFICACIN DE FRACCIONES</H1>
<FORM><B>
<p align="center">Numerador : <input type="text" size="9"
name="num1"> <br>
Denominador: <input type="text" size="9" name="den1"
onblur="document.forms[0].num2.value=document.forms[0].num1.value/MCD(document.forms[0]
.num1.value,this.value);document.forms[0].den2.value=this.value/MCD(document.forms[0].num1.v
alue,this.value);">
<br>
</p>
<hr>
<p align="center"><br>
<input type="text" size="7" name="num2"> <br>
<input type="text" size="7" name="den2"> <br><br>
<INPUT TYPE="button" VALUE="Otra Fraccin"
onClick="document.forms[0].num1.value='';document.forms[0].den1.value='';document.forms[0].
num2.value='';document.forms[0].den2.value='';">
</p>
</form>
</body>
</html>
92
Manual de JavaScript
Autoevaluacin IV
1) En el programa Eval1A.htm habamos hecho un programa que restaba dos nmeros.
Has de hacer un programa visual de nombre Eval4A.htm, que haga lo mismo, de la siguiente
forma:
- Dos cuadros de texto para introducir los dos nmeros
- Un botn para ejecutar el programa
- Un cuadro de texto para el resultado
- El programa debe quedar bonito, es decir: ttulos, colores, etc.
2) En el programa Eval1C.htm tenamos un programa que nos preguntaba el nombre y la edad y que
nos daba por resultado los das vividos hasta el momento.
Repite el programa pero visualmente (grbalo con el nombre Eval4B.htm) de la siguiente forma:
- Dos cuadros de texto para introducir el nombre y la edad en aos.
- Al pulsar [Tab] en el 2 cuadro de texto aparece en un tercer cuadro de texto el nombre introducido
en el primer cuadro y los das vividos hasta el momento.
- El programa debe incluir ttulos, colores, etc.
3) En el Prog028.htm habamos hecho un programa que construa una tabla de senos.
Haz un programa de nombre Eval4C.htm, que construya la tabla de senos anterior, pero su salida en
lugar de ser por un alert, que sea por la pantalla del navegador. Mejora dicha salida, por ejemplo: letra
en negrita, color rojo (fondo negro) y centrado.
4) Repite el Eval1F.htm (rea y longitud de una circunferencia), pero visualmente de la siguiente
forma:
- Un cuadro de texto para recoger el radio.
- Dos botones para calcular la longitud y el rea
- Dos cuadros de texto para escribir la longitud y el rea
- Un btn para volver a empezar.
- El programa debe incluir ttulos, colores, etc.
Grbalo con el nombre Eval4D.htm
5) Repite el Eval1H.htm (clculo de un determinante de 2 orden), pero visualmente.
Grbalo con el nombre Eval4E.htm
6) Repite el Eval1I.htm pero visualmente. Grbalo con el nombre Eval4F.htm
7) Haz un programa visual que sirva para pasar un nmero de una base de numeracin cualquiera a
otra base de numeracin cualquiera. Bsate en los ejercicios Eval1K, Eval1L y Eval1M.
Graba el programa con el nombre Eval4g.htm
8) Repite el programa Eval2H.htm (clculo de un cateto a partir de la hipotenusa y el otro cateto), pero
visualmente.
Graba el programa con el nombre Eval4h.htm
9) Repite el programa Eval2f.htm (clculo de los mltiplos de 23 inferiores a 1000 y su suma), pero
visualmente.
Graba el programa con el nombre Eval4i.htm
93
Manual de JavaScript
94
Manual de JavaScript
Nombre y Apellidos:
Direccin:
Cdigo Postal:
Poblacin:
Versin completa del JavaScript (Manual FV)
2) Envame el formulario anterior por correo ordinario junto con un billete (lo que
consideres justo por un disquete, gastos de manipulacin, envo y estmulo por mi parte
para que continue colgando en Internet, mis manuales).
A mi direccin que es:
F.V.
c) Valencia 21-25, 2 , 4
08915 Badalona (Barcelona)
Espaa
95