Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Alex

#901
Zona Webmaster / Re:JavaScript (Manual FV)
Noviembre 26, 2012, 08:09:59 PM
3.- Matrices y Arrays

Una matriz es un conjunto de elementos colocados de forma adyacente en la memoria de
manera que nos podemos referir a ellos con un solo nombre común.

- Las matrices se pueden clasificar según su tamaño en:

• Matrices Estáticas: tienen un tamaño fijo e inmutable.
• Matrices Dinámicas: tienen un tamaño variable. En JavaSript las matrices siempre
son dinámicas.
- Las matrices se pueden clasificar según sus dimensiones:
• Arrays: son matrices de una dimensión.
• Matrices: son matrices multidimensionales.

En JavaScript, las matrices son siempre "Arrays", pero veremos que podemos "simular"
matrices multidimensionales.

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG050.HTM
var x=new Array();
var salida="";
for(i=0;i<=10;i++)
{
x[i]=2*i;
salida=salida+"x["+i+"]="+x[i]+"\t";
}
alert(salida);
</SCRIPT>
</HTML>


- Graba el programa con el nombre Prog050.htm en TuCarpeta y ejecútalo.
- Estudio del Prog050.htm

• var x=new Array();
Definimos la variable "x" como un "array" de un número indeterminado de elementos.

• Los elementos de un "array" se indican: NombreArray[índice]= valor
El índice= 0, 1, 2, 3, 4, ...
En nuestro caso:
X[0] será el primer valor del array
X[1] será el segundo.
Etc.

• x = 2*i
Asignamos a cada elemento del array el doble de su índice, es decir: x[0]= 0; x[1]= 2;
x[2]= 4; etc.

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
//PROG051.HTM
var n;
var salida="";
n=prompt("Escribe el número de elementos del Array","");
n=parseInt(n);
var Vector=new Array(n);
for(i=0;i<n;i++)
{
Vector[i]=prompt("Introduce Valor","");
salida=salida+Vector[i]+"\n";
}
alert("Los valores de la matriz son:\n"+salida);
</SCRIPT>
</HTML>


- Graba el programa con el nombre Prog051.htm en TuCarpeta.
- Observa de qué forma, podemos definir un array con un número variable de valores.

Programa que calcula la media aritmética de una serie indeterminada de valores
- Escribe:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
//PROG051a.HTM
var x=new Array();
var med;
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>


- Grábalo con el nombre Prog051a.htm y ejecútalo varias veces para comprobar que
funciona.

Programa que calcula la media aritmética de un número determinado de valores
utilizando una función

- Escribe:

Código: javascript
<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 número de elementos de la serie",""));
alert("La media de todos los valores es: "+media(valores));
</SCRIPT>
</HTML>


- Grábalo con el nombre Prog051b.htm y ejecútalo varias veces para comprobar que
funciona.

- Mejora la "salida" del programa anterior de la siguiente forma:

Código: javascript
<HTML>
<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 Aritmética de estos "+n+" números es "+(sum/n);
return salida;
}
var valores;
valores=parseInt(prompt("Escribe el número de elementos de la serie",""));
alert(media(valores));
</SCRIPT>
</HTML>


- Grábalo con el nombre Prog051c.htm y pruébalo.
#902
Zona Webmaster / Re:JavaScript (Manual FV)
Noviembre 26, 2012, 08:07:41 PM
2.- Funciones que retornan parámetros

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG041.HTM
/* Programa Principal */
var x,y,result;
x=prompt("Escribe el primer sumando","");
x=parseFloat(x);
y=prompt("Escribe el segundo sumando","");
y=parseFloat(y);
/* A continuación llamo a la función 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 continuación tengo la definición de la función */
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 ejecútalo varias veces.
- Estudio del Prog041.htm

Código: javascript
function SumaCuadrado(a,b)
{
return (a*a+b*b+2*a*b);
}


Es una función con dos argumentos (a y b) que retorna un valor (parámetro), que en nuestro
caso es el cuadrado de la suma de "a" y "b".
Una función que retorna parámetros, se caracteriza en que en su interior aparece la sentencia
return, que permite devolver valores.

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG042.HTM
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;
}
</SCRIPT>
</HTML>


- Graba el programa con el nombre Prog042.htm en TuCarpeta y ejecútalo.
- Observa:

• El programa principal, con la sentencia "diames(1)" llama a la función "diames" 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.

Programa que determina si un número es primo

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG043.HTM
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");
</SCRIPT>
</HTML>


- Graba el programa con el nombre Prog043.htm en TuCarpeta y ejecútalo varias veces.

- El operador %:
num %i, nos da el resto de la división entre num y i.
Programa que determina si un número es primo, pero utilizando una función

- Escribe:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG044.HTM
var num;
num=prompt("Escribe un número entero","");
{
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";
}
</SCRIPT>
</HTML>


- Graba el programa con el nombre Prog044.htm en TuCarpeta y ejecútalo.

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG045.HTM
var num,base;
num=prompt("Escribe un número positivo","");
num=parseFloat(num);
base=prompt("Escribe la base del logaritmo","");
base=parseFloat(base);
alert("El logaritmo de "+num+" en base "+base+" es "+logBase(num,base));
/* Función que calcula el logaritmo en cualquier base */
function logBase(x,a)
{
return Math.log(x)/Math.log(a);
}
</SCRIPT>
</HTML>


- Graba el programa en TuCarpeta con el nombre Prog045.htm y ejecútalo varias veces.

Programa que calcula potencias y raices utilizando dos funciones

- Escribe:

Código: javascript
<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 raíz",""));
e=parseFloat(prompt("Escribe el índice de la raíz",""));
resul="La raíz "+e+"-ésima de "+b+" es "+Math.pow(b,1/e);
alert(resul);
}
var opc="s"
while(opc != "S")
{
opc=prompt("Escribe la opción que desees:\n(P)Calcular una potencia
(R)Calcular una raíz (S)Salir del programa","S");
switch(opc)
{
case "P":
case "p":
pot();
break;
case "R":
case "r":
raiz();
break;
}
}
</SCRIPT>
</HTML>


- Grábalo con el nombre Prog049e.htm y ejecútalo varias veces.
#903
Zona Webmaster / Re:JavaScript (Manual FV)
Noviembre 26, 2012, 08:02:48 PM
III.- Funciones y Arrays

1.- Funciones sin retorno de parámetro

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG039.HTM
alert("Programa que ahora llamará a una función");
mediageo();
alert("Se acabó lo que se daba");
/* ¡Atención!: a continuación tenemos la función */
function mediageo()
{
var a,b;
a=prompt("Escribe un número","");
a=parseFloat(a);
b=prompt("Escribe otro número","");
b=parseFloat(b);
alert("La media geométrica de "+ a +" y "+ b +" es "+Math.sqrt(a*b));
}
</SCRIPT>
</HTML>


- Graba el programa anterior con el nombre Prog039.htm en TuCarpeta y ejecútalo varias
veces.

- Estudio del Prog039.htm

Estructura de una función:

Código: javascript
function nombreFunción()
{
sentencia1;
sentencia2;
...;
...;
}


Se dice que la función es sin retorno de parámetros, porque no devuelve nada; para que la
función devuelva un valor, debería haber la instrucción return.
Si una función no retorna nada se le denomina también con el nombre de MÉTODO.
Nuestra función mediageo(), calcula la media geometrica de dos números. Como no retorna
nada, lo que hace en realidad la función es "agrupar" en un lugar determinado del fichero
HTML, una serie de sentencias que por ellas mismas ya forman un programa, se dice también
que es un subprograma.

Código: javascript
<HTML>
<SCRIPT LAN....
// Programa Principal
sentencia1;
mediageo(); // llama a la función y se ejecuta en este lugar
sentencia2();
// Fin del programa Principal
function mediageo()
{
sentencia3;
...;
....;
}
</SCRIPT>
</HTML>


- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG040.HTM
var opc="0";
while (opc != "T")
{
opc=prompt("Escribe la letra de la opción deseada: (S) Sumar - (R) Raíz 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 raíz cuadrada de "+ a +" es "+Math.sqrt(a));
}
function logaritmo()
{
var x;
x=prompt("Escribe un número positivo","");
x=parseFloat(x);
alert("El logaritmo neperiano de "+ x +" es "+Math.log(x));
}
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 raíz 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 ejecútalo unas cuantas
veces.
#904
Zona Webmaster / Re:JavaScript (Manual FV)
Noviembre 26, 2012, 08:00:20 PM
Autoevaluación II

1) El siguiente programa tiene errores. Escríbelo y corrígelo para que funcione (grábalo con el
nombre Eval2A.htm en TuCarpeta):
Código: javascript
<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 congelación del Agua\n";
if (celsius==100) s=s+"Punto de ebullición del Agua\n";
}
alert(s;
<//SCRIPT>
<HTML>


2) Haz un programa que funcione de la siguiente forma:
- El programa nos pide que escribamos dos números positivos menores de 57
- El programa nos da como resultado el producto de los dos números
- Si los números 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 números. Si escribimos el número 9999 se
acaba; por último el programa nos da como resultado el número de números 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 además nos dé la suma de todos
los números 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 además nos dé el producto de
los números introducidos, exceptuando el 9999.
Graba el programa con el nombre Eval2E.htm en TuCarpeta.

6) Haz un programa que escriba todos los múltiplos 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 función y=sen(7x-5)
- El programa nos pide los dos valores de "x" (valores máximo y mínimo).
- El programa nos pide el incremento (variación) de la "x".
Graba el programa con el nombre Eval2G.htm en TuCarpeta.

8) Haz un programa que sirva para calcular un cateto de un triángulo rectángulo 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)
#905
Zona Webmaster / Re:JavaScript (Manual FV)
Noviembre 26, 2012, 07:58:56 PM
11.- Variable Auxiliar

En el programa Prog034 ya utilizábamos una variable auxiliar, vamos a hacer otro programa
que la utilize.

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG036.HTM
/* Programa que lee la longitud de los 3 lados de un
triángulo y analiza qué tipo de triángulo es: no es triángulo,
equilátero, isósceles, escaleno, rectángulo */
var lado1,lado2,lado3,auxiliar;
var solucion="";
lado1=prompt("Primer lado: ","");
lado1=parseFloat(lado1);
lado2=prompt("Segundo lado: ","");
lado2=parseFloat(lado2);
lado3=prompt("Tercer lado: ","");
lado3=parseFloat(lado3);
// Toma nota del uso de la variable auxiliar
if (lado1>lado2)
{
auxiliar=lado1;
lado1=lado2;
lado2=auxiliar;
}
if (lado3<lado1)
{
auxiliar=lado3;
lado3=lado2;
lado2=lado1;
lado1=auxiliar;
}
if (lado3<lado2)
{
auxiliar=lado2;
lado2=lado3;
lado3=auxiliar;
}
/* Vamos a ver si la ordenación es la correcta */
solucion=solucion+lado1+"\t"+lado2+"\t"+lado3+"\n";
/* Clasificación del triángulo */
if (lado3>=lado1+lado2)
{
solucion=solucion+"Esto no es un triángulo";
}
else
{
if ((lado1==lado2)&&(lado2==lado3))
{
solucion=solucion+"Triángulo Equilátero";
}
else
{
if ((lado1==lado2)||(lado1==lado3)||(lado2==lado3))
{
solucion=solucion+"Triángulo Isósceles";
}
else
{
solucion=solucion+"Triángulo Escaleno";
}
if
((lado3<lado1+lado2)&&(lado3*lado3==lado1*lado1+lado2*lado2))
{
solucion=solucion+" además Rectángulo";
}
}
}
alert(solucion);
</SCRIPT>
</HTML>


- Graba el programa con el nombre Prog036.htm en TuCarpeta, y ejecútalo varias veces.
#906
Zona Webmaster / Re:JavaScript (Manual FV)
Noviembre 26, 2012, 07:57:34 PM
10.- Cálculo en forma ITERATIVA

- La llamada sucesión de FIBONACCI es: 0, 1, 1, 2, 3, 5, 8, 13, ...
Es decir, cada término es igual a la suma de los dos anteriores.
Vamos a "programar" la sucesión de Fibonacci.

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG034.HTM
var anterior,ultimo,aux;
anterior=0;
ultimo=1;
var solucion;
solucion="0 - 1";
while (ultimo<=25000000000000)
{
aux=anterior+ultimo;
anterior=ultimo;
ultimo=aux;
if (ultimo>0) solucion=solucion+" - "+ultimo;
}
alert(solucion);
</SCRIPT>
</HTML>


- Graba el programa en TuCarpeta con el nombre Prog034.htm y ejecútalo.
- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG035.HTM
// Cálculo de factoriales
var fin;
var num=2;
var fact;
var solucion="";
fin=prompt("Factoriales hasta el número?","");
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>


- Graba el programa en TuCarpeta con el nombre Prog035.htm y ejecútalo.
#907
Zona Webmaster / Re:JavaScript (Manual FV)
Noviembre 26, 2012, 07:56:26 PM
9.- La Estructura de programación "Do-while"

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG032.HTM
var x=1;
var salida="while:\n";
while (x<5)
{
x=x+1;
salida=salida+x+"\t";
}
salida=salida+"\ndo while:\n";
x=1;
do
{
x=x+1;
salida=salida+x+"\t";
} while (x<5);
alert(salida);
</SCRIPT>
</HTML>


- Graba el programa en TuCarpeta con el nombre Prog032.htm y ejecútalo.
¿Qué diferencia hay entre la estructura while y la do-while?

- Estructura de programación do-while:

Código: javascript
Do
{
sentencia1;
sentencia2;
sentencia3;
} while(condición);


Mientras se cumpla la condición, se repetirá la ejecución de las sentencias 1, 2 y 3.
Como la evaluación de la condición se efectúa al acabarse el ciclo, el do-while se ejecutará
siempre como mínimo una vez. Ésta es la diferencia que hay entre la estructura do-while y la
while.

- Para comprobarlo escribe el siguiente programa (aprovecha el Prog032.htm, porque
prácticamente es el mismo):

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG033.HTM
var x=1;
var salida="while:\n";
while (x<5)
{
x=x+1;
salida=salida+x+"\t";
}
salida=salida+"\ndo while:\n";
x=1;
do
{
x=x+1;
salida=salida+x+"\t";
} while (x>5);
alert(salida);
</SCRIPT>
</HTML>


- Graba el programa en TuCarpeta con el
#908
Zona Webmaster / Re:JavaScript (Manual FV)
Noviembre 26, 2012, 07:55:24 PM
8.- La Estructura de programación "switch-case"

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG031.HTM
var opc="0";
var num;
while (opc != "10")
{
opc=prompt("Escribe la opción que desees: (1)El Triple-(2)El Cuadrado-(3)El Logaritmo
Neperiano(4)El Seno-(5)El Coseno-(10)SALIR","");
switch(opc)
{
case "1":
num=prompt("Escribe el número","");
num=parseFloat(num);
alert("El triple de "+ num +" es " +(3*num));
break;
case "2":
num=prompt("Escribe el número","");
num=parseFloat(num);
alert("El cuadrado de "+ num +" es " +(num*num));
break;
case "3":
num=prompt("Escribe el número","");
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>


- Graba el programa en TuCarpeta con el nombre Prog031.htm y ejecútalo.
- La estructura "switch-case"

Código: javascript
switch(x)
{
case valor 1:
sentencia1;
sentencia2;
...;
...;
break;
case valor 2:
sentencia3;
...;
...;
break;
...
...
...
}


Según el valor que tome la variable "x", se ejecutarán las líneas de programa del "case"
correspondientes. Observa que cada "case" termina con "break".

Programa que nos da la "nota" cualitativa a partir de la cuantitativa

- El programa nos pide el número total de preguntas y el número de respuestas acertadas. A
partir de aquí y utilizando la estructura "switch-case", el programa nos da la "nota"
cualitativa.

- En efecto, escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG031a.HTM
var num,bien,notanum,notacual;
num=parseInt(prompt("Escribe el número total de preguntas",""));
bien=parseInt(prompt("Escribe el número de resouestas acertadas",""));
notanum=parseInt(10*bien/num);
switch(notanum)
{
case 0:
notacual="Muy Deficiente";
break;
case 1:
notacual="Muy Deficiente";
break;
case 2:
notacual="Deficiente";
break;
case 3:
notacual="Deficiente";
break;
case 4:
notacual="Insuficiente";
break;
case 5:
notacual="Suficiente";
break;
case 6:
notacual="Bien";
break;
case 7:
notacual="Notable";
break;
case 8:
notacual="Notable";
break;
case 9:
notacual="Excelente";
break;
case 10:
notacual="Matricula de Honor";
break;
}
alert("La nota cualitativa es "+notacual);
</SCRIPT>
</HTML>


- Grábalo con el nombre Prog031a.htm en TuCarpeta y ejecútalo varias veces para comprobar
que funciona.
#909
Zona Webmaster / Re:JavaScript (Manual FV)
Noviembre 26, 2012, 07:52:47 PM
7.- Las sentencias BREAK y CONTINUE

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG030.HTM
var salida="";
for (x=5;x<15;x++)
{
if (x==8) break;
salida=salida+x+" \n";
}
salida=salida+"\n\n";
for (x=5;x<15;x++)
{
if (x==8) continue;
salida=salida+x+"\t";
}
alert(salida);
</SCRIPT>
</HTML>


- Graba el programa en TuCarpeta con el nombre Prog030.htm

- Ejecútalo varias veces, observando detenidamente lo que sucede
- Estudio del Prog030.htm

La sentencia break nos obliga a salir del ciclo "for". Por esta razón el primer "for" del
programa sólo escribe del 5 hasta el 7
La sentencia continue salta al final del ciclo "for" y continua ejecutando el ciclo. Por esta
razón el segundo ciclo "for" escribe todos los números del 5 al 14, exceptuando el 8.
Las sentencias break y continue funcionan exactamente igual en las estructuras while y
"Do-while" (esta última estructura la veremos próximamente).

- Corrige el Prog029e.htm de la siguiente forma:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG030a.HTM
var x,num;
var i=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");
break;
}
}
if(i==5)
{
alert("Lo siento pero se han acabado tus 'vidas', el número era "+x);
}
</SCRIPT>
</HTML>


- Graba el programa con el nombre Prog030a.htm y ejecútalo varias veces para comprobar
que funciona correctamente.
- Compara el Prog029e con el Prog030a. Observa el uso práctico del "break".
#910
Zona Webmaster / Re:JavaScript (Manual FV)
Noviembre 26, 2012, 07:51:30 PM
6.- El Objeto "Math"

Nos permite trabajar con funciones matemáticas.
Concretamente:
Math.log(x) = ln(x)
Math.exp(x) = ex
Math.sqrt(x) = raiz cuadrada de "x"
Math.pow(a, b) = ab
Math.floor(): número entero más cercano y menor
Math.ceil(): número entero más cercano y mayor
Math.round(): redondea al entero más próximo.
Math.random(): número aleatorio entre 0 y 1
Math.round(y-x)*Math.random()+x: número aleatorio entre "x" e "y".
Math.sin(x)= sin(x) x en radianes
Math.cos(x)= cos(x) x en radianes
Math.tan(x)= tg(x) x en radianes
Math.atan(x)= arctg(x) resultado en radianes
Math.abs(x): valor absoluto de "x"
Math.max(a,b) : máximo valor de los dos
Math.min(a,b): mínimo valor de los dos.

Programa que calcula la hipotenusa de un triángulo rectángulo

- Escribe:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG025.HTM
var cat1,cat2,hipo;
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 triángulo de catetos "+cat1+" y "+cat2+" es
"+hipo);
</SCRIPT>
</HTML>


- Graba el fichero con el nombre Prog025.htm en TuCarpeta y ejecútalo unas cuantas
veces.

Programa que calcula tantas hipotenusas como queramos

- Escribe:

Código: javascript
<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 triángulo de catetos "+cat1+" y "+cat2+" es
"+hipo);
opcion=prompt("¿Quieres calcular otra hipotenusa? (S/N)","");
}
alert("Adiós muy buenas");
</SCRIPT>
</HTML>


- Graba el programa en TuCarpeta con el nombre Prog026.htm y ejecútalo.
Programa que resuelve una ecuación de segundo grado

- Escribe:

Código: javascript
<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","");
b=parseFloat(b);
c=prompt("Escribe el término independiente","");
c=parseFloat(c);
discri=b*b-4*a*c;
if(discri<0) alert("Soluciones Imaginarias");
if(discri==0)
{
x1=-b/(2*a);
alert("Solución 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>


- Graba el programa en TuCarpeta con el nombre Prog027.htm
- Ejecútalo para los casos:

a= 1, b= 1, c= 1
a= 2, b=-6, c= -20
a= 1, b= 4, c= 4

Programa que construye una tabla de senos

- Escribe:

Código: javascript
<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>


- Graba el fichero con el nombre Prog028.htm en TuCarpeta y ejecútalo.
Programa que calcula el logaritmo en base cualquiera de un número dado

- Escribe:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG029.HTM
var num;
var opc,base;
num=prompt("Escribe un número positivo","");
num=parseFloat(num);
opc=prompt("1 Logaritmo Neperiano. 2 Logaritmo Decimal. 3 Logaritmo en base
a\nEscribe el número de la opción","");
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 número "+num+" es
"+(Math.log(num)/Math.log(base)));
}
</SCRIPT>
</HTML>


- Graba el fichero anterior con el nombre Prog029.htm en TuCarpeta y ejecútalo varias
veces.

Números Aleatorios

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG029d.HTM
var a;
var x,y;
var salida="";
salida=salida+"5 números aleatorios entre 0 y 1\n";
for(i=1;i<=5;i++)
{
salida=salida+Math.random()+"\n";
}
salida=salida+"\n\n5 números aleatorios entre 3 y 7\n";
for(i=1;i<=5;i++)
{
salida=salida+(Math.round(7-3)*Math.random()+3)+"\n";
}
salida=salida+"\n\n5 números aleatorios entre 15 y 70\n";
for(i=1;i<=5;i++)
{
salida=salida+(Math.round(70-15)*Math.random()+15)+"\n";
}
alert(salida);
alert("Vamos a ver 5 números aleatorios entre los dos\nque tú quieras");
x=parseFloat(prompt("Escribe el número menor (puede ser decimal)",""));
y=parseFloat(prompt("Escribe el número mayor (puede ser decimal)",""));
salida="";
salida=salida +"5 números aleatorios entre "+x+" y "+y+"\n\n\n";
for(i=1;i<=5;i++)
{
a=Math.round(y-x)*Math.random()+x;
salida=salida+a+"\n";
}
alert(salida);
/* Si quieres números aleatorios enteros basta
cambiar los paréntesis de la siguiente forma:
Math.round((y-x)*Math.random()+x) */
salida="";
salida=salida+"150 números enteros aleatorios entre 2 y 17\n";
for(i=1;i<=150;i++)
{
salida=salida+Math.round((17-2)*Math.random()+2)+" - ";
}
</SCRIPT>
</HTML>
- Grábalo en TuCarpeta con el nombre Prog029d.htm y ejecútalo.
#911
Zona Webmaster / Re:JavaScript (Manual FV)
Noviembre 26, 2012, 07:48:13 PM
5.- La Estructura de programación "For"

Código: javascript
for (contador = valor inicial; condición; expresión de incremento)
{
...;
...;
...;
}


Ejemplo:

Código: javascript
for (i=1;i<=10;i++)
{
sentencia1;
sentencia2;
sentencia3;
}


En palabras significa:

"Desde i=1, hasta i=10 de 1 en 1, repite las sentencias 1, 2 y 3"
Es decir: Repite 10 veces las sentencias 1, 2 y 3
Observa que el contador o índice del "for" (en nuestro caso la "i"), es una variable que no es
necesario declararla, ya que la expresión "i=1" la declara e inicializa.
Programa que repite un texto cualquiera en número de veces que queramos, utilizando
un "for"

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG019.HTM
var texto;
var num;
var salida="";
texto=prompt("Escribe un texto","");
num=prompt("Cuántas veces quieres que lo repita","");
num=parseInt(num,10);
for(i=1;i<=num;i++)
{
salida=salida+texto+"\n";
}
alert(salida);
</SCRIPT>
</HTML>


- Graba el fichero en TuCarpeta, con el nombre Prog019.htm y ejecútalo unas cuántas
veces.
Programa que calcula todos los múltiplos de 11 menores de 3000 y por último nos da la
suma de todos ellos.

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG020.HTM
var salida="";
var sum=0;
for(multi=11;multi<3000;multi=multi+11)
{
salida=salida+multi+" ";
sum=sum+multi;
}
alert(salida+"\nLa Suma de todos ellos es= "+sum);
</SCRIPT>
</HTML>


- Grábalo en TuCarpeta, con el nombre Prog020.htm y ejecútalo.

Programa que calcula el factorial de un número
Recuerda que el factorial del número "x" es: 1*2*3*4*5*...*x

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG021.HTM
var salida="";
var fact=1;
var num;
num=prompt("Cálculo del factorial del numero ","");
num=parseInt(num,10);
for(i=1;i<=num;i++) fact=fact*i;
alert("El factorial de "+num+" es "+fact);
</SCRIPT>
</HTML>


- Grábalo en TuCarpeta con el nombre Prog021.htm y ejecútalo varias veces.
Observa que nuestro "for" no necesita llaves, porque contiene una única sentencia.
Programa que calcula los 10 primeros múltiplos del número que queramos, por último
nos da la suma de todos ellos.

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG022.HTM
var salida="";
var num;
var mult;
var sum=0;
num=prompt("¿Múltiplos de qué número?","");
num=parseInt(num,10);
for(i=1;i<=10;i++)
{
mult=num*i;
salida=salida+mult+" ";
sum=sum+mult;
}
alert(salida+"\nSuma= "+sum);
</SCRIPT>
</HTML>


- Grábalo con el nombre Prog022.htm en TuCarpeta y ejecútalo varias veces.
Tabla de valores de la función y=x2-5x+10

- Escribe el siguiente programa:

Código: javascript
<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>


- Graba el fichero en TuCarpeta con el nombre Prog023.htm y ejecútalo varias veces.

- 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 también puede suceder que en la variable paso escribamos
un número negativo.

- Vamos a solucionar estos posibles problemas, es decir vamos a "mejorar" el programa
anterior.

Escribe:

Código: javascript
<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
{
paso=prompt("Escribe el incremento de x","");
paso=parseFloat(paso);
if (paso<=0)
{
alert("No tine sentido lo que intentas hacer");
}
else
{
for (i=x1;i<=x2;i=i+paso)
{
y=i*i-5*i+10;
salida=salida+i+" "+y+"\n";
}
alert(salida);
}
}
</SCRIPT>
</HTML>


- Grábalo con el nombre Prog024.htm en TuCarpeta y ejecútalo, convendría probar los
casos x1>=x2 y paso<0

- Observa de qué forma salimos del programa si introducimos datos que no tienen sentido.
#912
Zona Webmaster / Re:JavaScript (Manual FV)
Noviembre 26, 2012, 07:45:17 PM
4.- Contadores en JavaScript

a=a+1 es equivalente a escribir a++
a=a-1 es equivalente a escribir a—
num=num+2 es equivalente a escribir num += 2
num=num*2 es equivalente a escribir num *= 2
num=num/2 es equivalente a escribir num /= 2

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG016.HTM
var i=2;
var res="";
var j=7;
while (i<j)
{
res=res+" "+i+" "+j+"\n";
i++;
j--;
}
alert(res);
</SCRIPT>
</HTML>


- Grábalo con el nombre Prog016.htm en TuCarpeta
- 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 cómo
conseguimos escribir toda la salida en un único "alert" (variable "res").
Programa que repite un texto cualquiera, el número de veces que queramos, utilizando
un "while"

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG017.HTM
var nom;
var indice=1;
var num;
var respuesta=" ";
nom=prompt("Escribe tu nombre","");
num=prompt("Cuántas veces quieres que lo repita","");
num=parseInt(num,10); // era una cadena y ahora es un número
while (indice <= num)
{
respuesta=respuesta+nom+"\n";
indice++;
}
alert(respuesta);
</SCRIPT>
</HTML>


- Grábalo en TuCarpeta con el nombre Prog017.htm y ejecútalo

- Recuerda que en el "ParseInt" no es necesario escribir el 10, ya que por defecto (si no lo
escribimos), es base 10.

Programa que acumula la suma y el producto de los números que queramos

- Escribe:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG018.HTM
var num;
var sum=0;
var pro=1;
var respuesta="";
num=prompt("Escribe un número 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 número (para acabar introduce cero)","");
num=parseFloat(num);
}
alert(respuesta);
</SCRIPT>
</HTML>


- Grábalo en TuCarpeta con el nombre Prog018.htm y ejecútalo.

- Observa como acumulamos la suma y el producto:

Contador que acumula la suma de los números "num": sum=sum+num;
Hemos de inicializar a 0 la variable "sum".

Contador que acumula el producto de los números "num": pro=pro*num
Hemos de inicializar a 1 la variable "pro".
#913
Zona Webmaster / Re:JavaScript (Manual FV)
Noviembre 26, 2012, 07:44:40 PM
3.- La estructura de programación "while"

Sintaxis:

Código: javascript
while(condición)
{
setencia1;
sentencia2;
sentencia3;
}


Significado:

"Mientras" se cumpla la condición, se irán repitiendo las sentencias 1, 2 y 3.

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG015.HTM
var x=0;
while(x<6)
{
alert("El valor de x es= "+x);
x=x+1;
}
</SCRIPT>
</HTML>


- Grábalo con el nombre Prog015.htm en TuCarpeta y ejecútalo.
- Estudio del Prog015.htm

• En "palabras", nuestro programa nos dice: "mientras" la x sea inferior a 6;
escribe el valor de "x";
incrementa en una unidad el valor de "x";

• Al principio x=0
Se cumple la condición del while: x<6
Aparece escrito x=0
Al pasar por el contador x=1
Se cumple la condición x<6
Aparece escrito x=1
Al pasar por el contador x=2
Aparece escrito x=2
...
...
Cuando x=6 no se cumple la condición y por lo tanto se acaba el programa.

#914
Zona Webmaster / Re:JavaScript (Manual FV)
Noviembre 26, 2012, 07:44:05 PM
2.- La estructura "if-else"

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG013.HTM
var num;
num=parseFloat(prompt("Escribe un número",""));
if(num==100)
{
alert("El número que has escrito es 100");
}
else
{
alert("El número que has escrito no es 100");
}
if(num>0)
{
alert("El número que has escrito es positivo");
}
else
{
alert("El número es negativo o 0");
}
</SCRIPT>
</HTML>


- Grábalo con el nombre Prog013.htm en TuCarpeta
- Ejecútalo.
- La Estructura de programación "if-else"

Sintaxis:

Código: javascript
if(condición)
{
sentencia1;
sentencia2;
sentencia3;
}
else
{
sentencia4;
sentencia5;
sentencia6;
}


Significado:

Si se cumple la condición, se ejecutan las sentencias 1, 2 y 3 y si no se cumple se ejecutan las
sentencias 4, 5, 6. La opción "else" es opcional.

- Observa la diferencia entre "=" y "=="
a = 3*9 es una asignación, es decir la variable "a" es 27. En cambio if(a==5) es una condición:
si "a" es idéntico a 5 (si el valor de "a" es el número 5)...

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG014.HTM
var a,b;
a=parseFloat(prompt("Escribe el primer número",""));
b=parseFloat(prompt("Escribe el segundo número",""));
if(a==b) alert("Los dos números son iguales");
if(a != b) alert("Los dos números son distintos");
if(a>b)
{
alert("El primer número es mayor que el segundo");
}
else
{
alert("El primer número no es mayor que el segundo");
}
if((a>b) && (100>a))
{
alert("El primero es mayor que el segundo");
alert("Además los dos son menores de 100");
}
else
{
alert("El primero no es mayor que el segundo");
alert("O uno de los dos números es mayor o igual a 100");
}
</SCRIPT>
</HTML>


- Grábalo con el nombre Prog014.htm en TuCarpeta.
- 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 además "100 es mayor que –a-"
El else correspondiente a la condición anterior, sería equivalente a no(a>b) ||
no(100>a), es decir la negación de la primera condición o la negación de la segunda (o las dos
negaciones a la vez).

#915
Zona Webmaster / Re:JavaScript (Manual FV)
Noviembre 26, 2012, 07:43:18 PM
II.- Estructuras de Programación

1.- Operadores Lógicos y Relacionales

>, <, <=, >=
== igualdad
!= diferente
&& y
|| o
! No
#916
Zona Webmaster / Re:JavaScript (Manual FV)
Noviembre 26, 2012, 07:39:07 PM
Autoevaluación I

1) Haz un programa de nombre Eval1A.htm, que has de grabar en TuCarpeta que sirva para
restar dos números cualesquiera, sean enteros o reales. ¿Qué sucede si en lugar de restar
dos números, 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 números.
¿Qué sucede si en lugar de dividir dos números, intentamos dividir dos textos?
¿Qué sucede si el divisor es el número 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 continuación los días que hemos vivido
hasta el momento (deberás 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 número.
- El programa nos muestra en una única pantalla (un único "alert"), el doble, el triple y
cuadrúple del número que habíamos introducido.

5) El siguiente programa tiene errores. Escríbelo (grábalo con el nombre Eval1E.htm en
TuCarpeta) y corrígelo para que funcione y explica para qué sirve:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
/* 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 círculo 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.

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é población vivimos.
- El programa presenta una pantalla aproximadamente igual a la siguiente:
==================================
Hola nombre Apellido
Adiós habitante de Población
==================================

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 número.
- Utiliza tres contadores:
• Un contador: suma 5
• Otro contador: suma 21
• Otro contador: resta 4
- El programa nos presenta los 4 números de la siguiente forma:
• La primera línea: el número introducido.
• La segunda línea: los tres números tabulados, que han resultado de los tres contadores.
De forma que si introducimos el nº 5 debería aparecer:

CitarNumero introducido: 5
contadores: 10 31 27

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 número entero.
- El programa nos da como resultado el mismo número pero en base 16
- Y por último nos lo escribe en base 5
Comprueba el programa para el número 52. Deberás calcular en primer lugar
matemáticamente 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 número en base ocho
- El programa nos lo escribe en base decimal.
- Y por último en base 2.
Comprueba el programa para el número 65618. Deberás resolver en primer lugar el problema
matemáticamente.

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 número entero.
- El programa nos pide la base
- El programa nos escribe el número introducido en la "base" deseada.

Comprueba el programa para el número 100, en base 2, 3 y 11. Deberás resolver en primer
lugar el problema matemáticamente.

14) ¿Qué es la WWW?

15) Cuáles son los "browsers" más conocidos.

16) Escribe un fichero HTML (que no sea un programa JavaScript), que presente la frase: "Hola
que tal" y debajo tu nombre y apellidos.

17) ¿Qué encierra el par de tags: <BODY>, </BODY>?

18) ¿Qué relación hay entre el Java y el JavaScript?

19) ¿Quién creó el lenguaje de programación JavaScript?

20) ¿Cuáles son las características del JavaScript?

21) El JavaScript es un lenguaje ¿compilado o interpretado?. ¿Qué programa hace de
compilador o interprete?

22) ¿Porqué decimos que el JavaScript es un lenguaje de programación barato?

23) ¿Qué indican las siglas POO?

24) ¿Cómo se llaman y cómo funcionan las dos formas de definir una variable en JavaScript?

25) ¿Porqué el JavaScript es un lenguaje "Case Sensitive"?

26) Nombra todos los tipos de datos que existen en JavaScript.

27) ¿Para qué sirve la función typeof?. Inventa un par de ejemplos.

28) ¿Qué es el carácter de escape? ¿Qué es un caráter de control?. Escribe dos caracteres de
control e indica para qué sirven.

29) ¿Qué dará por resultado el siguiente programa, y porqué?

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// EVAL1N.HTM
var num=0xA;
</HTML>


Grábalo con el nombre Eval1N.htm en TuCarpeta.

30) Calcula el número 9AC1 que está en base 16 a base 10, matemáticamente

31) Calcula el número 7640 que está en base 8 a base 10, matemáticamente.

32) Utiliza programas ya hechos para comprobar los dos ejercicios anteriores.

33) ¿Qué diferencia hay entre null y NaN

34) ¿Qué problema hay al sumar en JavaScript?. Explica cómo solucionarlo.

35) Indica a qué es igual los siguientes valores:

a) parseInt("A",16)=
b) parseFloat("31H")=
c) toString(13)=
d) toString(4.273,49)=

#917
Zona Webmaster / Re:JavaScript (Manual FV)
Noviembre 26, 2012, 07:34:00 PM
8.- Conversión entre tipos de datos

Observa:

var var1 = "75";
var var2 = 25;
var var3, var4;
var3 = var1 + var2;
var4 = var2 + var1;

Las varibles var3 y var4 contienen ¿números o textos?
Cuando se suman cadenas de texto con cualquier otra cosa, los otros tipos de datos se
convierten en cadenas de texto. Pero si restamos, multiplicamos o dividimos "cadenas de
texto", ¿sucede lo mismo?. Vamos a descubrirlo en los siguientes programas.

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG010.HTM
var num1="30";
var num2="15";
// Observa que definimos dos cadenas de texto
alert("30+15= "+(num1+num2));
alert("30*15= "+(num1*num2));
</SCRIPT>
</HTML>


- Graba el programa en TuCarpeta con el nombre Prog010.htm
- Ejecútalo.
- La conclusión está clara:

• Si sumamos dos cadenas (aunque contengan números) de texto se produce la
concatenación (unión) de los dos textos.
• Si multiplicamos (o hacemos cualquier operación aritmética que no sea la suma),
dos cadenas de texo que en realidad contienen números, se produce una
conversión implícita de las cadenas a números y aparece el producto aritmético
de los números.

- ¿Qué sucede si introducimos dos números a través de la función prompt?. Vamos a verlo:
- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
//PROG011.HTM
var num1,num2;
num1=prompt("Escribe un número","");
num2=prompt("Escribe otro número","");
alert("La suma es ="+(num1+num2));
</SCRIPT>
</HTML>


- Grábalo en TuCarpeta, con el nombre Prog011.htm

- Ejecútalo. No funciona como deseamos debido a que el resultado de un prompt, siempre es una cadena de texto.
El problema que tenemos pendiente, es ¿cómo sumar en JavaScript?

- Conversión explícita de tipos
parseFloat(cadena)

Toma la "cadena" y la transforma en un número en coma flotante, si es posible.
parseFloat ("123.456") = 123.456
parseFloat ("123ABC") = 123

parseFloat ("ABC") = NaN
parseInt(cadena, número)
Devuelve números enteros, el segundo argumento nos permite escoger la base de
numeración (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 = número
Devuelve una cadena que contiene el número
Puede haber un argumento opcional:
(13).toString(16) ="d" siendo 1310 = d16
(13).toString(2) = "1101" siendo 1310 = 11012

- Vamos a hacer un programa que sume números en JavaScript. Escribe:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
//PROG012.HTM
var num1,num2;
num1=prompt("Escribe un número","");
num1=parseFloat(num1);
num2=prompt("Escribe otro número","");
num2=parseFloat(num2);
alert("La suma es ="+(num1+num2));
</SCRIPT>
</HTML>


- Grábalo en TuCarpeta con el nombre Prog012.htm
- Ejecútalo, utilizando números enteros, naturales y decimales.
A partir de este momento hemos de tener claro si los "prompts" corresponden a números
enteros, decimales o de texto:

- Si "x" ha de ser un número entero escribiremos:
x = parseInt(prompt("Escribe un número entero",""));
- Si "x" ha de ser un número decimal escribiremos:
x = parseInt(prompt("Escribe un número entero o decimal",""));
- Si "x" ha de ser una cadena de texto escribiremos:
x = prompt("Escribe el texto correspondiente","");

- Escribe el siguiente programa:

Código: javascript

<html>
<SCRIPT LANGUAGE="JavaScript">
// Prog012b.htm
var x,y;
x=parseInt(prompt("Escribe un entero ",""));
y=parseInt(prompt("Escribe otro entero ",""));
alert("La suma de "+ x +" + " + y +" es =" + (x+y) +"\n"+
"El producto de "+ x +" y "+ y +" = "+(x*y)+"\n"+
"El promedio de "+ x +" y "+ y +" es "+ (x+y)/2);
</SCRIPT>
</HTML>


Grábalo con el nombre Prog012b.htm, y ejecútalo.

En el ejercicio Prog007.htm habíamos visto una forma de convertir un número en base 8 o
base 16 en base 10. Pero dichos números debíamos de escribirlos implícitamente, es decir en
el programa. Nos gustaría hacer un programa que:

- Nos preguntara un número en base 16 (prompt)
- Nos diera como resultado el número anterior pero en base 10
Vamos a ver si lo conseguimos:
- Escribe:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// Prog012bb.htm
var m,n,x;
m=prompt("Escribe un número en base 16","");
n=parseInt(m,16);
alert("El número "+m+" en base 16, es igual a "+n+" en base 10");
</SCRIPT>
</HTML>


- Grábalo con el nombre Prog012bb.htm en TuCarpeta y ejecútalo para el número "FF32", a
ver si es verdad que nos da "65330" como resultado.
Observa el funcionamiento del programa Prog012bb.htm:

• m = prompt("Escribe un número en base 16", "")
Lo que escribamos (un número en base 16), se guardará en la variable "m" como texto
(ya que no hemos puesto ningún "parseInt" ni "parseFloat").
• n =parseInt(m,16)

La variable "n" guardará el número en base 10
Es decir: parseInt(cadena, 16), transforma la "cadena", en nuestro ejemplo un número
escrito en base 16, en el correspondiente número (no cadena) pero en base decimal.
Vamos a ver si el procedimiento sirve para cualquier otra base...

Antes de todo veamos unos cuantos números en diferentes bases:

367 = 6 + 3.7 = 27 en base 10
1234 = 3 + 2.4 + 1.42 = 27 en base 10
51346 = 4 + 3.6 + 1.62 + 5.63 = 1138 en base 10

- Escribe:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// Prog012bbb.htm
var m7,n7;
var m4,n4;
var m6,n6;
m7=prompt("Escribe un número en base 7","");
n7=parseInt(m7,7);
m4=prompt("Escribe un número en base 4","");
n4=parseInt(m4,4);
m6=prompt("Escribe un número en base 6","");
n6=parseInt(m6,6);
alert("El número "+m7+" en base 7, es igual a "+n7+" en base 10\n"+
"El número "+m4+" en base 4, es igual a "+n4+" en base 10\n"+
"El número "+m6+" en base 6, es igual a "+n6+" en base 10");
</SCRIPT>
</HTML>


- Grábalo con el nombre Prog012bbb.htm y ejecútalo, probándolo con los números
anteriores.

Veamos el problema inverso: dado un número en base 10, nos interesa convertirlo a base 7,
por ejemplo.

Matemáticamente:

Sea 593 un número en base 10

59310 = 15057

En JavaScript deberíamos hacerlo de la siguiente forma, escribe:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// Prog012bbbb.htm
var m,n;
n=parseInt(prompt("Escribe un número entero en base 10",""));
m=(n).toString(7);
alert("El número "+n+" en base 10, es igual a "+m+" en base 7");
</SCRIPT>
</HTML>


- Grábalo con el nombre Prog012bbbb.htm y ejecútalo, probando su funcionamiento con el
número 593
#918
Zona Webmaster / Re:JavaScript (Manual FV)
Noviembre 26, 2012, 07:30:12 PM
7.- Contadores

Uno de los instrumentos más utilizados en todo lenguaje de programación es el llamado
contador

Observa:

var x= 10;
x = x+1;
x = x-5;

Declaramos una variable "x", que es numérica y que inicialmente es 10.
La línea "x = x+1" es un contador, que hemos de leer: El nuevo valor de "x" es igual al
anterior valor de "x" más una unidad. Es decir, que en estos momentos nuestra variable "x"
es igual a 11.
La siguiente línea: "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:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG009.HTM
var x=10;
alert("El valor inicial de x es "+x);
x=x+1;
alert("Después de x=x+1, x="+x);
x=x-5;
alert("Después de x=x-5, x="+x);
</SCRIPT>
</HTML>


- Grábalo en TuCarpeta con el nombre Prog009.htm y ejecútalo.
#919
Zona Webmaster / Re:JavaScript (Manual FV)
Noviembre 26, 2012, 07:29:26 PM
6.- El tipo de datos "Number"

Podemos guardar indistintamente en una variable number un número entero, decimal, positivo
o negativo.

Ejemplos:
var numNatural= 1234;
var numEntero = -479;
var numDecimal = 3.141592;
var numDecimal2 = -0.123;

- Bases de Numeración en JavaScript (números enteros)
Por defecto, el sistema de numeración es el decimal.

• Base Hexadecimal (base 16): anteponemos el prefijo 0X
• Base Octal (base 8): anteponemos un cero

Dígitos del sistema decimal: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Dígitos del sistema hexadecimal: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A (que corresponde al 10 en base
decimal), B (que corresponde al 11 en decimal), C (12), D (13), E (14), F (15)
Ejemplo:
FF32 en base 16 es 2 + 3*16 + 15*162 + 15*163 = 65330 en sistema decimal
Es decir: 0xFF32 (número en base 16, según notación de JavaScript) = FF3216 = 6533010
123458 = 5 + 4*8 + 3*82 + 2*83 + 1*84 = 534910
Es decir: 012345 (número en base 8, según notación de JavaScript) = 123458 = 534910

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE=''JavaScript''>
// PROG007.HTM
var n1=57; // número en base 10
var n2=012345; //base 8, porque empieza por 0
var n3=0xFF32; //base 16, porque empieza por 0x
alert("número decimal= "+n1);
alert("el 12345 en base 8 es en decimal= "+n2);
alert("el FF32 en base 16 es en decimal= "+n3);
/* Observa que al escribir una variable numérica en un "alert"
siempre nos da el número en decimal,
aunque sea en octal o hexadecimal */
</SCRIPT>
</HTML>


- Grábalo en TuCarpeta con el nombre Prog007.htm y ejecútalo.
En el programa anterior aparecen 3 "alerts", uno para cada uno de los tres números. No hay
ningún problema para incluir los tres "alerts" en uno solo....

- En efecto, escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE=''JavaScript''>
// PROG007b.HTM
var n1=57; // número en base 10
var n2=012345; //base 8, porque empieza por 0
var n3=0xFF32; //base 16, porque empieza por 0x
alert("número decimal= "+n1+"\n"+
"el 12345 en base 8 es en decimal= "+n2+"\n"+
"el FF32 en base 16 es en decimal= "+n3);
</SCRIPT>
</HTML>


- Grábalo en TuCarpeta con el nombre Prog007b.htm y ejecútalo.
- Observa que la solución de nuestro problema está:

• Unir texto (entre comillas) y variables (sin comillas), con el signo "+"
• Cada vez que deseemos un cambio de línea, incluimos "\n"

Veamos otra forma de incluir en un "alert" muchos datos ...
- Escribe:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// Prog007bb.htm
var x,y,z;
salida="";
var x1="Pepito Grillo", y1="Paquita González";
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>


- Grábalo en TuCarpeta con el nombre Prog007bb.htm y ejecútalo.
- 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 "vacía": 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 numérica o de
texto).

Código: javascript
salida=salida + x1 + " " + y1;
salida=salida + "ya me he cansado";


• Para acabar, un solo "alert": alert(salida);

Variables nulas
Cuando una variable no contiene ningún valor, su contenido es nulo
Ejemplo: miVariable = "Hola";
miVariable= null; // la vaciamos para que no ocupe memoria.
Valores especiales para variables numéricas
NaN: no es un número.
Infinity: infinito, por ejemplo 3/0

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG008.HTM
var var1="Pepe";
var var2="Paquito";
var var3=5/0;
alert("Pepe es "+var1);
alert("Paquito + 2 es ="+(var2+2));
alert("5/0 es ="+var3);
</SCRIPT>
</HTML>
#920
Zona Webmaster / Re:JavaScript (Manual FV)
Noviembre 26, 2012, 07:26:49 PM
5.- El tipo de dato "String":

En JavaScript los textos se denotan por comillas dobles o comillas simples, pero no ambas a la
vez.

Variable1 = "Pepito"
Variable2 = 'Paquito'

Podemos incluir un carácter de control en una cadena de texto, si utilizamos el llamado
carácter de escape que es: \

Los caracteres de control más usados son:

\n salto de línea
\t tabulador

- Escribe el siguiente programa:

Código: javascript
<HTML>
<SCRIPT LANGUAGE="JavaScript">
// PROG006.HTM
var num;
alert("Hola que tal");
alert("Hola \nque tal");
alert("Hola\t"+"que"+"\n"+"tal");
alert("Hola\n que\n t\nal");
num=prompt("Escribe un número: ","");
alert("El \ndoble\n es: \n"+(num*2));
</SCRIPT>
</HTML>


- Grábalo en TuCarpeta con el nombre Prog006.htm

- Ejecútalo, observando detenidamente la acción de \n y \t

- Si no introducimos un número en el "prompt", en el "alert" correspondiente al doble del número, aparecerá NaN, que quiere decir que no es un número.