Esquema Javascript
Esquema Javascript
Estuaria
by Berna 2007
ESQUEMA-BSICO: JAVASCRIPT
INDICE
1,- Qu es Javascript?
2,- Cmo se ejecuta?
3,- Tipos de comandos o instrucciones u rdenes (con ejemplos comentados para su comprensin)
3,1,- Comandos bsicos y Tipos de datos (var, prompt, alert, parseInt, parseFloat, Math, y detalles)
3,2,- Condicionales ( Estructura if....else... )
3,3,-Bucles o repeticiones
3,3,1,- Estructura while (mientras)
3,3,2,- Estructura for (durante)
3,4.- La Estructura de programacin switch-case (Estructuras de Mens)
4,- Problemas paso a paso (metodologa pedaggica)
5,- Problemas propuestos (variados)
6,-Programas resueltos para analizar (como se han resuelto, donde lo ejecutan, emplean archivos axiliares => bsqueda informacin internet)
I.E.S. Estuaria
by Berna 2007
1,- Qu es Javascript?
Es un lenguaje para programar en las pginas Web y darles dinamismo, y tambin pequeos programas que se ejecutan en la Web.
Un programa en JavaScript se integra en una pgina Web (entre el cdigo HTML) y es el navegador el que lo interpreta (ejecuta). El JavaScript es
un lenguaje interpretado, no compilado (no se genera ningn tipo de fichero objeto o exe), es decir, lo que programamos lo tiene que interpretar un programa
llamado JRE (perteneciente a Sun Microsystem), que lo incorpora los navegadores como Internet Explorer, Mozilla, etc.
Se ejecuta lnea a lnea del cdigo (es decir como leer un libro) si no se le indica lo contrario, caso de los condicionales, bucles o repeticiones, etc.
Nada ms que hace falta un Editor de texto o bloc de notas para programar, y guardarlo como HTML. Permite la moderna programacin visual
(ventanas, botones, colores, formularios, etc., y tambin POO (programacin orientadas a objetos).
Todos los programas lo escribiremos insertados en HTML, utilizando el Bloc de Notas:
Procedimiento normal
Primer programa
<HTML>
<HTML>
<SCRIPT LANGUAGE="JavaScript">
Mi primer programa
<SCRIPT LANGUAGE="JavaScript">
alert("Hola Mundo!");
</HTML>
</script>
</HTML>
Nota.- Tambin se podr utilizar en otras partes del cdigo HTML, para ello repasa un poco el cdigo HTML, como son:
<head>...</head>
(encabezamiento) //
<title>...</title>
(ttulo)
//
<body>...</body>
(cuerpo)
I.E.S. Estuaria
by Berna 2007
3,- Tipos de comandos o instrucciones u rdenes (con ejemplos comentados para su comprensin)
Son parecidos a Java (su hermano mayor, que permite aplicaciones potentes y ejecutables), y en realidad no tienen nada que ver uno con el otro. Los
datos numricos que puedan variar su valor o variables, hay que definirlas antes llamndolas var (Ej: var a) e incluso darles un valor inicial (inicializarlas, Ej:
a=5) ( todo a la vez Ej: var a=5), si no se introduce por el teclado, como resultado de una operacin u otro medio.
parseInt (Sirve para ndicar que es un nmero entero o una variable numrica de tipo entero = n sin decimales)
parseFloat (Sirve para ndicar que es un nmero real o una variable numrica de tipo real = n con decimales)
prompt (....,...) (Sirve para introducir datos por el teclado Emplea parntesis y comillas. Ver ejemplo)
alert (....+ variable u operaciones) (Sirve para que salga por pantalla un mensaje de alerta Emplea parntesis, comillas y/o el operador + )
{.....} (Indica o encierra un bloque de sentencias a aplicar, para un bucle o condicional, etc. Ver ejemplos de condicionales y bucles)
/*,,,*/ (Sirve para hacer comentarios o indicaciones. No se ejecuta ni sale por pantalla. Ayuda a revisar los pasos del programa y sus operaciones)
nombre (Asocia a una variable una serie de caracteres) Ej:a = pepe; indica que a es el nombre pepe. (Se puede operar con letras, usando comillas)
Detalles: Puede salir mensajes con: NaN: siginifica que no es un nmero.
Infinity: infinito, por ejemplo 3/0.
Operaciones aritmticas:
% (resto de divisin entera => da el resto de una divisin antes de sacarle decimales)
Funcin Math: Realiza funciones matemticas. Se expresa: Math.expresion (n variable u operacin)
Raz cuadrada => Ej: raz=Math.sqrt(49) Ej: a=Math.sqrt(7*b)
Potencias => Ej: P=Math.pow(2,3)
(realiza la potencia de 2 elevado a 3, 2 es la base y 3 el exponente)
Redondeo a un n entero => Ej: d=Math.floor(3.42) (resultado = 3, y elimina los decimales) // Math.round (5.2) =5 y Math.round (5.6)= 6
N al azar: => Ej: numerodeundado= ( Math.round(6*Math.random()) )+1
(Math.random() => genera n al azar entre 0 y 1 [0,1,,,0,5,,,,0,9] )
Otros: Math.sin(angulo en radianes) // Math.cos(angulo) // Math.tan(angulo) // Math.PI (nos dara el n pi =3,14159,,,)
I.E.S. Estuaria
by Berna 2007
Ejemplo 1: (Observar los colores para los detalles, cuidado con las maysculas y minsculas ,y los espacios en blanco, puede que por esa causa no
funcione el programa). Puedes copiar el cdigo y probar su funcionamiento.
<HTML>
Programa 1: Definicin de variables numricas - Suma de dos nmeros
<SCRIPT LANGUAGE="JavaScript">
var num1,num2;
/*La coma separa variables y ,el punto y coma indica que finaliza esa sentencia de definir variables*/
num2=parseInt(prompt("Escribe otro nmero","")); /* indica que es un n entero e introduce dato a la vez*/ /*Las dos sentencias de antes, equivale a esta sola*/
alert("La suma es ="+(num1+num2)); /* un mensaje por pantalla - lo de comillas y el resultado de una operacin*/
</SCRIPT>
</HTML>
Ejemplo 2:
<HTML>
Programa 2: Como definir variables e introducir datos
<SCRIPT LANGUAGE="JavaScript">
// Ejemplo 2 (las barras as // tambin son para comentarios, aunque hay que ponerlo al principio de cada lnea o tambien /**/, solo que una al principio y otro al
// final, sin repetirlo en cada lnea )
var nombre; /* Definimos las variables antes */
nombre=prompt("Escribe tu nombre ","Paco"); /* Paco es el nombre por defecto, es decir que saldra, si no ponemos ninguno */
alert("Hola "+ nombre);
</SCRIPT>
</HTML>
I.E.S. Estuaria
by Berna 2007
Ejemplo 3
<HTML>
Programa 3- Programa que clcula el rea de un rectngulo
<SCRIPT LANGUAGE="JavaScript">
var base,altura;
base=prompt("Escribe la base del Rectngulo",""); /* Por defecto sale vaco */
altura=prompt("Escribe la altura del Rectngulo",""); /* No ha hecho falta definir en este caso que tipo de numeros es, porque al operar los identifica*/
alert("El rea del Rectngulo es = "+(base*altura)); /* Al operar identifica que son numeros. Si lo hubisemos puesto sera ms correcto => parseFloat*/
</SCRIPT>
</HTML>
Ejemplo 4
<HTML>
Programa 4: Utilizacin de una variable explcita y otra implcita
<SCRIPT LANGUAGE=''JavaScript''>
var Area,radio;
var pi=3.141592; /* Variable mplicita o definida a priori. Tambin podra haberse puesto: pi= 3.141592 */
radio=prompt("Escribe el radio del crculo","");
Area=pi*radio*radio; /*Antes de sacar por pantalla define una operacin, a la cual le asocia la variable Area, que se defini antes en var */
alert("rea del Crculo = "+Area); /* Area es la variable explcita o definida a posteriori, por una operacin*/
</SCRIPT>
</HTML>
I.E.S. Estuaria
by Berna 2007
3,2,- Condicionales
Los condicionales se emplean para establecer una condicin a cumplir o no. Esta puede ser solo una ( si la cumple ejecuta algo), dos (si la cumple
ejecuta algo y si no la cumple ejecuta otra cosa) y anidada (varias condicones dentro de otras condiciones).
Indentacin: proceso que separa los bloques de sentencias. Observa las llaves ( { } ) y las sentencias como se desplazan para CLARIFICAR el cdigo.
Su estructura es:
Una sentencia
if (condicion)
{
,,,sentencias,,,
}
if (condicion1)
{
,,,sentencias1,,,
}
else
{
if (condicion2)
{
,,,sentecias2,,,
}
else
{
,
,
,
,,, sentenciasN,,,
}
}
Dos sentencias
if (condicion)
{
,,,sentencias1,,,
{
else
{
,,,sentecias2...
}
! No
I.E.S. Estuaria
by Berna 2007
<HTML>
Programa 5: Estructura del condicional If....
<SCRIPT LANGUAGE="JavaScript">
var nota;
nota=parseFloat(prompt("Escribe tu nota",""));
if(nota>=5) /* mayor o igual a 5, y observa que no se pone punto y coma;*/
{ /*observa que se desplaza el texto para clarificar los bloques de sentencias*/
alert("Ests aprobado"); /*solo saldra esto por pantalla si aprueba*/
}
</SCRIPT>
</HTML>
<HTML>
Programa 7: Estructura del condicional If.......Else
<SCRIPT LANGUAGE="JavaScript">
var numero;
numero=parseFloat(prompt("Escribe un nmero",""));
if(numero==100)
{
alert("El nmero que has escrito es 100");
}
else
{
alert("El nmero que has escrito no es 100");
} /* despes de comprobar que no es 100, comprueba si es positivo o no*/
if(numero>0)
{
alert("El nmero que has escrito es positivo");
}
else
{
alert("El nmero es negativo o 0");
}
</SCRIPT>
</HTML>
I.E.S. Estuaria
by Berna 2007
I.E.S. Estuaria
by Berna 2007
Ejemplo 9
<HTML>
Programa 9: Estructura repetitiva While (contar del 0 al 10)
<SCRIPT LANGUAGE="JavaScript">
var contador=0; /* Se define la variable contador y se inicializa su valor =0, si no el programa no funcionara, no sabra donde empezar el valor de contador*/
while(contador<11) /* mientras el valor de contador sea menor que 11, repite las sentencias entre las llaves*/ /*observa tambin que no se pone punto y coma*/
{
alert("Contando hasta 10, vamos por el numero "+contador);
contador=contador+1; /* El contador es 0 al principio, y con esta operacin 0+1 es igual a 1. El valor de contador ahora es 1. y se comprueba otra vez en While*/
} /*El bucle se repetir hasta que contador sea mayor a 10, en este caso en cuanto llegue a 11*/
</SCRIPT>
</HTML>
I.E.S. Estuaria
Ejemplo 10 (Juego de adivinar un numero en 5 intentos)
by Berna 2007
Ejemplo 11 (Empleo del contador con otras operaciones)
<HTML>
<HTML>
Programa 10: Bucle While y Estructura del condicional If.......Else (anidados)
Programa 11: Clculo de la suma y producto de los 100 primeros nmeros pares)
<SCRIPT LANGUAGE="JavaScript">
<SCRIPT LANGUAGE="JavaScript">
var numero, secreto, intentos=0;
var suma=0, producto=0, contador=0; /*hay que inicializar los valores*/
secreto=Math.floor(Math.random()*10); /*Math.floor redondea a un n
entero*/
while(contador<101)
while(intentos<6)
{
{
contador=contador+2; /*contador de dos en dos a partir del cero = n pares*/
numero=parseInt(prompt("Acierta un nmero entre 0 y 10",""));
if(numero==secreto)
/* al poner el contador antes de las operaciones, no tomamos el cero como n par*/
{
suma= suma+contador; /* se efectua la suma anterior ms el valor del contador*/
alert("Acertaste, el numero secreto es "+ secreto);
producto=producto*contador; /*se efectu el producto anterior por el contador*/
intentos=6; /* Se pone para parar el bucle, si no se seguira ejecutando*/
}
}
else
alert(La suma de los 100 primero numeros pares es +suma);
{
alert(El producto de los 100 primero numeros pares es +producto);
if(numero>secreto) /*aqu se establece otra condicin dentro de otra*/
{
</SCRIPT>
alert("El nmero es ms pequeo");
</HTML>
}
else
{
alert("El nmero es ms grande");
}
intentos=intentos+1; /*observa que el contador solo esta en este condiconal*/
alert(Slo tienes 5 intentos, y y este es el +intentos);
}
}
</SCRIPT>
</HTML>
10
I.E.S. Estuaria
by Berna 2007
11
I.E.S. Estuaria
by Berna 2007
<HTML>
Programa 13: Funcin menu o Switch - Case
<SCRIPT LANGUAGE="JavaScript">
var num,opcion="0"; /*Esta vez cogemos caracteres para la variable, en vez de solamente numeros (no definimos parseInt, ni parseFloat)*/
while (opcion != "10") /* se establece la condicin que mientras opcion sea diferente a 10, se repite el men*/
{
opcion=prompt("Escribe la opcin que desees: (1)El Triple-(2)El Cuadrado-(3)El Logaritmo Neperiano -(10)SALIR","");
switch(opcion)
{
case "1":
num=parseFloat(prompt("Escribe el nmero",""));
alert("El triple de "+ num +" es " +(3*num));
break; /* Este comando rompe o termina el programa en case 1, y no ejecuta los dems case, volviendo al bucle while*/
case "2":
num=parseFloat(prompt("Escribe el nmero",""));
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 "10":
alert ("has elegido salir");
break;
default:
alert("la opcin elegida no es valida, vuelve a elegir);
}
} /* si te fijas no se podr salir del bucle hasta que pulses 10. Y hay un case default (caso por fallo), por si no se escribe las opciones existentes*/
</SCRIPT>
</HTML>
12
I.E.S. Estuaria
by Berna 2007
13
I.E.S. Estuaria
by Berna 2007
14.Que saque 6 numeros aleatorios del 1 al 49, para rellenar una primitiva. (MATH.RANDOM // WHILE O FOR)
D) SWITCH CASE (mens)
15. Disear un men que nos pregunte, si queremos jugar al cara y cruz, a los dados, o al black jack (o 21).
16. Disear un men DENTRO DE UN BUCLE que nos calcule el rea de un rectngulo, un tringulo y un crculo. Debe haber una opcin del men que nos permita salir.
14
I.E.S. Estuaria
by Berna 2007
Crear un formulario con botones para hacer una calculadora, con las operaciones bsicas(+,-,*,/,raiz) y borrado de pantalla.
2.
Analizar juegos.
3.
4.
15
I.E.S. Estuaria
by Berna 2007
I.E.S. Estuaria
by Berna 2007
17
I.E.S. Estuaria
by Berna 2007
18
I.E.S. Estuaria
by Berna 2007
RESUMEN DE COMANDOS BSICOS CON EJEMPLOS: (cuidado con maysculas o minsculas, y la sintaxis)
Condicional (si cumples la condicin haz una cosa, si no lo cumples haz otra)
if...else... => si......mas si no.....// La condicn debe ir entre parntesis (ver ejemplo)
(operadores condicionales: < menor que, > mayor, <= menor o igual, == igual, != diferente, && y, || o, ! no )
Ej: if (edad >=18){
alert(eres mayor se edad);
}else{
alert(eres menor de edad);
}
19
I.E.S. Estuaria
by Berna 2007
Bucles o repeticiones (Emplea recurso matemtico contador: opera una cantidad cada vez que repita el bucle )
while =>(mientras)
Men (Se suele emplear la sentencia break (romper), para que no se ejecuten los dems casos)
switch case =>
Ej: var opcion, precio;
opcion=prompt("Escribe la opcin que desees: (1)iva 7 %-(2)iva 16 %-(3)SALIR","");
switch(opcion){
case "1":
precio=parseFloat (prompt("Introduce precio",""));
alert(" el precio sin iva es: "+ precio +" y con iva: " +(1.16*precio));
break;
case "2":
..........
case "3":
alert(Has elegido salir, gracias por utilizar el programa);
default:
alert(La opcin elegida no existe, vuleve a intetarlo);
}
20