2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. ·...
Transcript of 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. ·...
![Page 1: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/1.jpg)
2. Fundamentos de la Programación
![Page 2: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/2.jpg)
¿Qué es programar?
Una forma de comunicación
• Con el ordenador y con otros programadores
• Extremadamente precisa y clara
• Basada en ideas muy simples
- El ordenador es muy, muy tonto
- Pero muy, muy rápido
• Que se combinan para crear ideas más complejas
![Page 3: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/3.jpg)
¿Qué es programar?
Programar es algo fácil de aprender...
• Ideas sencillas
• Con significados muy claros
...pero difícil de dominar
• Los elementos se pueden combinar de muchas formas
• Hasta el nivel de complejidad que queramos
![Page 4: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/4.jpg)
A tener en mente
Si algo no funciona como esperabas:
- ¡No te frustres!
- NO es culpa del ordenador
- NO es un bug del lenguaje
- ¡El problema está en tu código!
- Respira hondo y repásalo una vez más
![Page 5: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/5.jpg)
Valores y variables
![Page 6: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/6.jpg)
Valores
Los “sustantivos” que entiende el Javascript están divididos en categorías:
• Números
• Booleanos
• Cadenas de texto
• Funciones
• Objetos
• undefined
![Page 7: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/7.jpg)
Valores
Podemos referirnos a un valor simplemente tecleándolo en la consola o en el código
Por ejemplo, para referirnos al número 7
• Abre una consola
• Teclea el número 7 y Enter
![Page 8: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/8.jpg)
Valores
Para referirnos a un valor booleano (verdadero o falso), tecleamos true o false
![Page 9: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/9.jpg)
Valores
Para referirnos a una cadena de caracteres, tecleamos el texto entre comillas (dobles o simples)
![Page 10: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/10.jpg)
Valores
Nos saltamos los objetos y las funciones hasta más adelante...
![Page 11: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/11.jpg)
Valores
undefined significa “¡No lo se (todavía)!”
• Se representa escribiendo undefined
![Page 12: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/12.jpg)
Valores
También podemos expresar un valor como el resultado de una operación con otros valores
Otra manera de referirse al número 7
• Abre una consola
• Teclea: 5 + 2
![Page 13: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/13.jpg)
Valores
¿Cómo puedo referirme al número 7 utilizando solo el dígito 1 y la operación +?
![Page 14: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/14.jpg)
Valores
¿Cómo puedo referirme al número 7 utilizando solo el dígito 1 y la operación +?
![Page 15: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/15.jpg)
Valores
¿Cómo puedo referirme al número 7 sin utilizar el dígito 7 ni la operación +?
![Page 16: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/16.jpg)
Valores
¿Cómo puedo referirme al número 7 sin utilizar el dígito 7 ni la operación +?
![Page 17: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/17.jpg)
Valores
¿Cómo puedo referirme al número 7 sin utilizar el dígito 7 ni la operación +?
![Page 18: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/18.jpg)
Valores
¿Cómo puedo referirme al número 7 sin utilizar el dígito 7 ni la operación +?
![Page 19: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/19.jpg)
Valores
¿Cómo puedo referirme al número 7 sin utilizar el dígito 7 ni la operación +?
![Page 20: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/20.jpg)
Valores
Las operaciones que se pueden aplicar:
• ¡Dependen del tipo del valor!
• Por ejemplo, con números se puede hacer aritmética
• Pero con cadenas no tiene sentido!
![Page 21: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/21.jpg)
Valores
Operaciones con números
Aritmética
Suma: +Resta: -Multiplicación: *División: /Módulo (resto): %
Comparaciones
Mayor-menor: <, >, <=, >=Equivalencia: ==, !=
![Page 22: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/22.jpg)
Valores
¿Es 10 mayor que 1?
¿Es 10 menor o igual que 1?
¿Es 10 igual que 10?
¿Es 10 diferente de 10?
![Page 23: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/23.jpg)
Valores
Agrupar operadores
• Tengo 17 bombones en una caja a repartir entre 4 amigos. ¿A cuántos bombones toca cada amigo? ¿Cuántos me sobran? (un bombón no se puede partir en trozos más pequeños?
![Page 24: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/24.jpg)
Valores
Agrupar operadores
• Tengo 17 bombones en una caja a repartir entre 4 amigos. ¿A cuántos bombones toca cada amigo? ¿Cuántos me sobran? (un bombón no se puede partir en trozos más pequeños?
17 % 4
![Page 25: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/25.jpg)
Valores
Agrupar operadores
• Tengo 17 bombones en una caja a repartir entre 4 amigos. ¿A cuántos bombones toca cada amigo? ¿Cuántos me sobran? (un bombón no se puede partir en trozos más pequeños?
17 - (17 % 4) / 4
![Page 26: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/26.jpg)
Valores
Agrupar operadores
• Tengo 17 bombones en una caja a repartir entre 4 amigos. ¿A cuántos bombones toca cada amigo? ¿Cuántos me sobran? (un bombón no se puede partir en trozos más pequeños?
¿Por qué no funciona?
![Page 27: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/27.jpg)
Valores
Agrupar operadores
• Tengo 17 bombones en una caja a repartir entre 4 amigos. ¿A cuántos bombones toca cada amigo? ¿Cuántos me sobran? (un bombón no se puede partir en trozos más pequeños?
17 - ((17 % 4) / 4) != (17 - (17 % 4)) / 4
![Page 28: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/28.jpg)
Valores
Agrupar operadores
• Tengo 17 bombones en una caja a repartir entre 4 amigos. ¿A cuántos bombones toca cada amigo? ¿Cuántos me sobran? (un bombón no se puede partir en trozos más pequeños?
(17 - (17 % 4)) / 4
(17 - 1) / 4
16 / 4
4
![Page 29: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/29.jpg)
Valores
Haz esto en la consola, en una sola línea
• Piensa en un número
• Añádele 7
• Sustrae 2
• Sustrae tu número original
• Multiplica el resultado por 4
• Sustrae 2
• El resultado es... ¡18!
![Page 30: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/30.jpg)
Valores
Comprueba si es cierto que
La mitad de la cuarta parte de la edad de tu compañero multiplicada por el año en el que estamos es menor o igual que mil veces el resto de dividir tu edad entre el doble de los alumnos de la clase
![Page 31: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/31.jpg)
Valores
Operaciones con cadenas de caracteres
Concatenar: +Equivalencia: ==, !=Comparación: <, >, <=, >=
![Page 32: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/32.jpg)
Valores
Concatenar cadenas
Equivalencia
Comparación
![Page 33: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/33.jpg)
Valores
¿Qué pasa si hacemos esto?
"Jackson " + 5
![Page 34: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/34.jpg)
Valores
Operaciones con booleanos
Combinación: &&, ||Negación: !
![Page 35: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/35.jpg)
Valores
Negación: lo opuesto
![Page 36: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/36.jpg)
Valores
¿Verdadero o falso?
• !( 1 == 1)• !(“Hola” <= “Adios”)• !false == true• !( !false == true )• !!true == !!!false
![Page 37: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/37.jpg)
Valores
Conjunción: ... y ...
Si ambos lados son verdaderos, el total es verdadero
![Page 38: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/38.jpg)
Valores
Disyunción: ... o ...
Si alguno de los lados es verdadero, el total es verdadero
![Page 39: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/39.jpg)
Valores
¿Verdadero o falso?
• true && (true && true)• true && (true || false)• (true && false) || (false && true)• (8 != 7) || (1 > 2) || !(true && true)• (“Morrison” == “Jim”) || (“The Doors” > “Cream”)
![Page 40: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/40.jpg)
Variables
¿Qué era un valor?
![Page 41: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/41.jpg)
Variables
Una variable es un “cajón” con una etiqueta
• Tiene nombre
• Puede alojar un valor “dentro”
• Podemos referirnos al valor que “guarda” usando el nombre de su etiqueta
var nombre = "Hendrix";
![Page 42: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/42.jpg)
Variables
nombre“Hendrix”
![Page 43: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/43.jpg)
Variables
• Se crean con la palabra clave var• Una vez creadas:
- Accedemos al valor que guardan tecleando su nombre
- Asignamos un nuevo valor con =
![Page 44: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/44.jpg)
Variables
Un ejercicio:
• Guarda tu nombre en la variable quien• Guarda tu cantante favorito en la variable idolo• Ejecuta:
quien + " dice que " + idolo + " es un genio!"
![Page 45: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/45.jpg)
Variables
Un ejercicio:
• Ahora cambia quien por el nombre de tu compañero
• Guarda su cantante favorito en idolo• Vuelve a ejecutar:
quien + " dice que " + idolo + " es un genio!"
![Page 46: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/46.jpg)
Variables
Una variable puede contener cualquier tipo de valor
![Page 47: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/47.jpg)
Variables
Empecemos con
¿De qué maneras puedo incrementar el valor de contador?
var contador = 0
![Page 48: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/48.jpg)
Variables
contador = 1
contador = contador + 1
contador += 1
contador++
++contador
![Page 49: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/49.jpg)
Variables
¿De qué maneras puedo decrementar contador?
![Page 50: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/50.jpg)
Variables
¿De qué maneras puedo decrementar contador?
¿De qué maneras puedo decrementar contador de dos en dos?
![Page 51: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/51.jpg)
Variables
Si tenemos que
¿Qué valor tiene que tener otra para que sea cierto lo siguiente?
var cosa = 15
cosa == otra
![Page 52: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/52.jpg)
Variables
¿Cuál es el valor de c al final? ¿Cuál es el valor de a? ¿Por qué?
¿Dónde está el truco?
var a = "Er";a += "ic";var b = a > "John Lennon" || a + " Clapton";a = b;var c = !(a > b || a != b) && a != "Eric";
![Page 53: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/53.jpg)
Variables
Cuál es el valor de...
• true || false• false || true• true || “Layla”• false || “Layla”• “Layla” || “Crossroads”
![Page 54: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/54.jpg)
Variables
Moralejas:
• Para Javascript:
- 0, "", undefined, null y false son falsedades
- Cualquier otra cosa es verdadero
- Ejercicio: demuestra que esto es cierto
• || y && no solo devuelven true o false- ¿Qué valores devuelve cada uno?
![Page 55: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/55.jpg)
Variables
Prueba con:
• true || “Maggie”• “Maggie” || true• false || “Maggie”• false || “Maggie” || “Rod Stewart”
Prueba cambiando los || por &&
![Page 56: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/56.jpg)
Intermedio: Mostrar cosas por pantalla
Las dos formas más sencillas de mostrar mensajes:
• Por consola:
console.log(“tu mensaje aquí”);
• En un popup:
alert(“Una molesta ventana de alerta”);
![Page 57: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/57.jpg)
Intermedio: Mostrar cosas por pantalla
![Page 58: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/58.jpg)
Intermedio: Interactuar con el usuario
Un par de formas rudimentarias de interacción:
• Confirm: ¿Si o no?
confirm(“¿Quieres la pastilla roja?”);
• Prompt: Dime algo
prompt(“Dime una canción de UFO”);
![Page 59: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/59.jpg)
Intermedio: Interactuar con el usuario
![Page 60: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/60.jpg)
Intermedio: Interactuar con el usuario
Ejercicio:
• Crea una nueva página y un nuevo fichero js vacío
• Escribe un programa que:
1. Pregunte al usuario su nombre
2. Guarde el nombre en una variable
3. Pregunte al usuario otra cosa (a tu elección) y guarde la respuesta
4. Muestre un saludo personalizado utilizando sus respuestas
![Page 61: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/61.jpg)
Condicionales
• Tomar una decisión
• Ejecutar una parte del código u otra según una condición
• Las condiciones han de ser valores booleanos, verdadero o falso
• Las condiciones se construyen operando sobre valores y variables
![Page 62: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/62.jpg)
Condicionales
if (expresión) { // Este código solo corre // si expresión es verdadero // ...}
![Page 63: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/63.jpg)
Condicionales
Ejercicio:
Preguntar al usuario si quiere escuchar un consejo
Si el usuario responde que sí: muéstrale un consejo
Si responde que no, no le muestres nada
![Page 64: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/64.jpg)
Condicionales
Ejercicio
• Pídele al usuario que puntúe del 1 al 10 qué opina de los Rolling Stones
• Si su respuesta es mayor o igual que 7, dile “Hot Stuff!”
• Si su respuesta es menor que 7, dile “It’s Only Rock’n’Roll (But I Like It)”
¡Cuidado! ¡Tiene truco!
![Page 65: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/65.jpg)
El truco: cadenas a números
El valor “7” NO es un número!
• Es del tipo cadena de caracteres
• Pero podemos convertirlo en el número que representa
• Con la utilidad parseInt(cadena)
![Page 66: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/66.jpg)
Condicionales
if (expresión) { // Este código solo corre // si expresión es verdadero // ...} else { // Este código solo corre // si expresión es falso // ...}
![Page 67: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/67.jpg)
Condicionales
Reescribe el ejercicio anterior usando else
![Page 68: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/68.jpg)
Condicionales
if (expresión) { // Este código solo corre // si expresión es verdadero // ...} else if (expresión_2){ // Este código solo corre // si expresión es falso // y expresión_2 es verdadero // ...} else { // Este código solo corre // si expresión es falso // y expresión_2 es falso}
![Page 69: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/69.jpg)
Condicionales
• Pregúntale dos cosas al usuario con confirm• Muéstrale un mensaje u otro según sus respuestas
sean verdaderas o falsas
![Page 70: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/70.jpg)
Bucles
• Ejecutar un bloque de código varias veces
• Dos tipos:
- Ejecutar el bloque mientras una condición sea válida
- Ejecutar el bloque un número definido de veces
![Page 71: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/71.jpg)
Bucles
1. Si expresion es verdadero
2. Ejecuta el bloque de código
3. Cuando acabe el bloque, ve al paso 1
while (expresion) { // ...}
![Page 72: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/72.jpg)
Bucles
while (true) { console.log("Socorrooo!!");}
![Page 73: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/73.jpg)
Bucles
¡Cuidado: Bucle Infinito!
while (true) { console.log("Socorrooo!!");}
![Page 74: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/74.jpg)
Bucles
¿Cómo podríamos hacer un bucle que no fuera infinito?
![Page 75: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/75.jpg)
Bucles
var respuesta;var nombre = prompt("Hola. ¿Cómo te llamas?");
while (respuesta != "déjame en paz!") { respuesta = prompt("¡Qué rollo! Cuéntame algo, " + nombre");}
![Page 76: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/76.jpg)
Bucles
Canción para niños “10 botellas verdes”
• Si no conocéis la canción: http://www.youtube.com/watch?v=Xkwx0g1-yPE
• Haz un bucle que muestre en la consola el texto de esta canción, desde 10 botellas hasta 1 botella
![Page 77: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/77.jpg)
Bucles
1. Ejecuta la inicialización
2. Comprueba que la condición es cierta
3. Ejecuta el bloque
4. Ejecuta el incremento
5. Vuelve al paso 2
for (var i=0; i<10; i++) { // ...}
![Page 78: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/78.jpg)
Bucles
for (var i=0; i<10; i++) { // ...}
Inicialización Condición Incremento
![Page 79: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/79.jpg)
Bucles
Ejercicio:
Haz un programa que cuente del 1 al 10 en la consola
![Page 80: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/80.jpg)
Bucles
Ejercicio:
Haz un programa que cuente de 10 a 1 en la consola
![Page 81: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/81.jpg)
Bucles
Ejercicio:
Haz un programa que muestre por consola todos los múltiplos de 7 menores que 500
![Page 82: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/82.jpg)
Bucles
Ejercicio: fizz buzz
• Recorre los números del 1 al 100
• Muestra el número por la consola...
• Pero si el número es divisible entre 3, en vez del número muestra “fizz”
• O si el número es divisible entre 5, muestra “buzz”
• O si el número es divisible entre 3 y 5, muestra “fizz buzz”
![Page 83: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/83.jpg)
Bucles
Ejercicio: fizz buzz
12fizz4buzzfizz78fizz...
![Page 84: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/84.jpg)
Bucles
Ejercicio: Adivina qué número estoy pensando
• Al empezar a jugar, el ordenador piensa un número (1-100)
• El usuario lo intenta adivinar
• Si el número introducido es menor, se informa al usuario y se le pide que lo vuelva a intentar
• Si el número es mayor, lo mismo
• Cuando el usuario acierta, se le felicita, se le comunica cuántos turnos ha tardado en acertar y se le pregunta si quiere volver a jugar
![Page 85: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/85.jpg)
Bucles
Lo que necesitas saber:
Math.random(); número aleatorio entre 0 y 1
Math.floor(); descarta la parte decimal
![Page 86: 2. Fundamentos de la Programaciónyopo.es/recursos/js/js-maquetadores-2.pdf · 2013. 5. 29. · Bucles Ejercicio: Adivina qué número estoy pensando • Al empezar a jugar, el ordenador](https://reader035.fdocuments.ec/reader035/viewer/2022071501/611fd0d7bc74be29bc7c9aff/html5/thumbnails/86.jpg)
Tiempo de vida
Un programa Javascript...
• Se ejecuta en el navegador del usuario
• “Dentro” de la página web
• Tiene acceso a casi todos los elementos de la página
• Cuando el usuario sale de la página, se termina
• Si el usuario refresca la página, vuelve a empezar
• Dos usuarios viendo la misma página ejecutan dos copias independientes del programa. No se afectan entre sí.