Sin lugar a dudas, una de las herramientas con las que cualquier programador debe contar
a la hora de desarrollar código útil,
son las variables. Sin ellas, los lenguajes de programación perderían completamente la
capacidad de resolver problemas complejos,
además de que programar resultaría en una tarea engorrosa y más compleja de lo que
necesitaría serlo.
Para entender mejor el porqué de su importancia sería bueno que lo veamos desde la
perspectiva de un problema: Ahora que ya conocen la sentencia alert para mostrar
mensajes,
consideren que se les pide que su programa muestre en la pantalla un saludo
personalizado. Esto es,
que una persona le dice al programa como se llama y este lo saluda mostrando
“Hola” y a continuación, su nombre. Por ejemplo: “Hola Juan Pérez”.
En principio parece algo sencillo de lograr, pero con lo que sabemos hasta ahora, serían
capaces de resolverlo?
Entonces… ¿Qué son las variables?
Desde el punto de vista de los “fierros” (hardware), una variable no es más que un espacio de
memoria donde podemos guardar datos. Pero, la cosa no termina ahí,
porque lo interesante de las variables es que podemos darles un nombre. De manera que, cada
vez que escribamos ese nombre en nuestros programas,
la computadora va a entender que nos estamos refiriendo a ese exacto espacio de la memoria
donde tenemos guardados los datos.
Aún no parecen muy sorprendidos por la INCREÍBLE revelación de que le podamos dar
nombres a las variables… Para que quede más claro,
les voy a mostrar un pequeño ejemplo de como los fierros entienden los espacios de memoria
VS como lo podemos entender los programadores:
Como pueden ver, hay diferentes formas de referirnos a estos espacios de memoria dependiendo
de la perspectiva que tomemos. Si somos el hardware,
estaremos viendo estos espacios de memoria como una serie de largos números binarios que
identifican a cada espacio. Ahora, si lo vemos como el sistema operativo,
los identificadores cambian de esos largos números binarios, a una serie de números y letras
un poco extraños de leer (sobre todo por esas “x” entre medio de los números)
que se conocen como números hexadecimales. Por último, desde el punto de vista del
programador, nos encontramos con nombres sencillos que identifican a los distintos espacios
de memoria y que nos ahorran el trabajo de tener que recordar en cuál identificador
hexadecimal está guardado el dato de un resultado,
o de cuantos unos y ceros tenemos que escribir para decirle al programa, en números
binarios, donde debe guardar un dato en la memoria.
Se podrán imaginar lo complicado que sería escribir 1010100000 o 0x002b0, cada
vez que queramos guardar o recuperar un dato. Sin mencionar que, tendríamos que recordar esa
secuencia de números para poder usarla en nuestro código… horrible!.
Por qué necesitamos saberlo?
Bien, ahora que ya sabemos que sin las variables estaríamos perdidos, como así también qué es
lo que son… debemos entender el por qué?.
Necesitamos saber usar las variables ya que nos permiten guardar y recuperar datos dentro de
nuestro programa. Desde ya, puedo ver que no les parece mucho...Miren,
volvamos al problema que planteamos al principio del tema: El programa que debe saludar
usando el nombre del usuario.
Ahora debería serles más sencillo pensar una posible solución :).
Veamos, sin entrar mucho en detalle, un paso a paso de lo que deberíamos hacer para lograrlo:
Nuestro programa debería comunicarle al usuario que ingrese su nombre, mediante un
mensaje.
Obtener el nombre del usuario.
Esa información deberíamos guardarla en una variable que tenga un nombre que nos sea
fácil de identificar qué es lo que contiene. Por ejemplo nombreUsuario.
Finalmente, podemos usar dos alert para construir el saludo. En un alert
mostramos el mensaje “hola” y el segundo lo usamos para que muestre el nombre que
guardamos en la variable nombreUsuario.
Y voila! problema resuelto !! :D
Como pueden ver, las variables nos permiten guardar, asignar,
representar y mostrar información relevante en cualquier parte de nuestro código o programa,
de ahí que resultan ser muy importantes para los programadores ;).
Cómo las utilizamos?
Creo que ya pude convencerlos de la importancia de las variables, al punto que se están
muriendo por poder usarlas!! No se preocupen que la espera ya terminó, ya mismo les explico
cómo pueden usarlas en sus programas.
En Javascript existen una serie de palabras que le avisan al lenguaje que estamos creando una
variable. Este tipo de palabras se conocen como “palabras reservadas” y existen en todos los
lenguajes de programación.
Se les dicen palabras reservadas porque éstas no pueden ser usadas para otra cosa, por
ejemplo como nombre de una variable.
Quédense tranquilos que si llegan a hacerlo, la computadora no va a explotar… sólo su
programa no funcionará o Javascript les dirá que hay un error :).
Las palabras reservadas para crear variables son:
var
Si querés que tu código funcione en navegadores antiguos, usala!
let
Variables declaradas con let no pueden ser re-declaradas. Y deben ser
declaradas antes de usarse
const
Tampoco pueden ser re-declaradas, ni tampoco re-asignadas
Tip
Al proceso de crear una variable también se lo conoce como declaración
Veamos como podemos usarlo en el código:
Minidesafio #1 : A partir de la
caja de código usada más arriba, ¿Te parece que los nombres de las variables son adecuados para
la información que están almacenando?¿Te animás a renombrarlas adecuadamente?
Veamos que pasa con el orden de las declaraciones
A la hora de programar, es importante que consideremos la forma en la cual la computadora interpreta nuestro código. En JavaScript,
cada sentencia o instrucción que escribimos sigue un orden, que está definido por la disposición de cada sentencia. Para entender esto, vamos a salir un poco
del campo de la informática y vayamos a la cocina por un momento.
Cuando queremos preparar algún platillo sin tener ningún conocimiento sobre cómo hacerlo,
solemos recurrir a una receta que nos indique el paso a paso para poder realizarlo. De esta manera, (y con receta en mano) solo tenemos que ir al paso 1, luego al paso
2, y así. Aquí aparece una cuestión importante, que es el orden. Porque si no seguimos los pasos ordenadamente, lo más probable es que lo que preparemos termine siendo
incomible. Si batimos antes de agregar los ingredientes, si ponemos en el horno sin haberle agregado los huevos, o si desmoldamos antes de cocinar, el resultado es un desastre.
Podríamos pensar que, al sentarnos a programar en realidad estamos creando una receta que nuestra computadora tiene que preparar. Y si queremos usar una variable deberíamos, en un paso previo,
declararla con la palabra reservada, ó si pretendemos mostrar algo por pantalla, primero tendríamos que tener algo que mostrar. El orden importa!
Un ejemplo:
Minidesafio #2 : El código de más arriba no funciona, ¿Cúal sería el problema?
¿Las sentencias están en el orden adecuado?¿Te animás a corregirlo para que funcione?
Considerando que ya saben usar un poco más las variables. Me parece un buen momento para recordar
el paso a paso que resolvimos ligeramente más arriba:
Nuestro programa debería comunicarle al usuario que ingrese su nombre, mediante un mensaje.
Obtener el nombre del usuario.
Esa información deberíamos guardarla en una variable que tenga un nombre que nos sea fácil
de identificar qué es lo que contiene. Por ejemplo nombreUsuario.
Finalmente, podemos usar dos alert para construir el saludo. En un alert mostramos el
mensaje “hola” y el segundo lo usamos para que muestre el nombre que guardamos en la
variable nombreUsuario.
Este paso a paso debería funcionar … en teoría … si … pero … y quizás alguien ya se haya dado
cuenta … ¿Cómo hacemos para que nuestro programa obtenga esa información del usuario?
Entrada de datos
Hace no mucho tiempo, aprendimos que nuestros programas pueden “comunicarse” con el
usuario mediante los mensajes que muestra por pantalla, la sentencia alert.
Puede que algunos de ustedes ya se lo hayan planteado: Sí hay una forma de hacer
llegar información desde el programa hacia el usuario …
también debería haber una forma que vaya desde el usuario hacia el programa…
no?
Efectivamente, así como existe el alert para que el programa nos entregue
información, también existe una sentencia que nos permite darle datos al programa.
La sentencia prompt le da al usuario una ventana en la cual escribir los datos que
desea hacerle llegar al programa. Por sí sólo,
el prompt no es muy útil ya que luego de que escribamos en él y le demos
aceptar en la ventana, lo que sea que hayamos escrito se perderá en el olvido.
Pero,
si combinamos el poder de las variables con la sentencia prompt podremos ver el
verdadero potencial de las variables!. Con estas dos herramientas de nuestro lado,
el programa ahora es capaz, no sólo de guardar información sino que también, ahora puede
pedirle los datos directamente al usuario!!
Desarrollemos nuestro paso a paso por completo:
Ahora que son duchos con el arte de las variables, ¿Se animan a modificar el programa
anterior para que también pida la edad, la altura del usuario y muestre todos los datos?
Tipos de datos
Dado que ustedes ya la tiene re clara con el concepto de variables y quieren saber más al
respecto, les comento que además de poder guarda datos en una variable,
también podemos especificar que tipo de dato queremos que guarde. Es decir que le puedo
pedir a una variable sólo me deje guardar en ella frutas,
por lo que no voy a poder pedirle que guarde una lechuga… podré guardar un tomate?...
(les dejo la inquietud).
La razón por la que les cuento esto es porque existen lenguajes de programación que
únicamente nos dejan crear una variable sólo si primero le decimos de que tipo va a ser
la información que vamos a almacenar en ella.
A estos lenguajes se les conoce como “fuertemente tipados”.
Javascript se trata de un lenguaje “levemente tipado” por lo que ya se imaginarán que no
le importa mucho que le digamos el tipo que va a tener una variable.
Ahora bien, que a Javascript no le importen los tipos de sus variables no quiere decir
que no Javascript no tenga tipos de datos. Estos le ayudan al lenguaje, y al
programador,
a comprender los datos que está utilizando y como interpretarlos. Podrán entender la
importancia de que Javascript pueda diferencia un texto de unos números, verdad?...No?
Miren la siguiente situación:
Pueden ver que la diferencia en el código es sútil, pero el cambio en el resultado es
bastante importante. En el primer caso Javascript entiende que lo que vamos a guardar es
un texto,
por lo que interpreta que los número que aparecen ahí no son más que caracteres de una
palabra. Mientras que en el otro caso, se entiende que son números y que se esta
realizando una operación matemática con ellos.
Minidesafio #3 : A
partir de la caja de código usada más arriba, ¿Te animás a modificarla para que los
datos los pueda ingrese el usuario con el teclado?
Es capaz de almacenar números de punto flotante entre 2^-1074 y 2^1024,
pero sólo puede almacenar con seguridad números enteros en el rango
-(2^53 - 1) a 2^53 - 1.
El tipo String de JavaScript se utiliza para representar datos
textuales. A diferencia de algunos lenguajes de programación (como en
C), las cadenas de texto en JavaScript son inmutables. Esto significa
que una vez creada la cadena, no es posible modificarla.
El booleano representa una entidad lógica y puede tener dos valores:
verdadero y falso (true, false)
En javaScript no hace falta declarar ningún tipo a la hora de declarar una variable, ya
que es capaz de entender e interpretar el tipo en función del dato que se le pide
almacenar.
Esto nos permite que una variable pueda cambiar el tipo de dato fácilmente dependiendo
de lo que le asignemos:
Minidesafio #4 : A
partir de la caja de código usada más arriba, cambia
let soyUnCamaleon = "Esto es un texto" por
const soyUnCamaleon = "Esto es un texto ¿Qué sucede con los demás alert?¿El
programa sigue funcionando correctamente?¿Te animás a explicar lo que sucede?
Operadores
Bueno, ya incorporamos el concepto de variables, que són y el porqué de su importancia. También sabemos que
hay diferentes tipos de datos que pueden ser tomados por las variables… ya sabemos todo,
no?.
Casi, lo último que nos queda por aprender son los operadores.
Los operadores son las operaciones podemos realizar con los tipos de datos, por ejemplo
si tenemos dos números y queremos multiplicarlos,
simplemente podemos utilizar el operador *. Entonces Javascript va a entender que
se deben multiplicar esos números,
sencillo…Ahora que pasa si usamos el mismo operador pero en lugar de números, usamos
Strings? Cómo se pueden multiplicar dos Strings? Si alguno sabe me avisa porque yo no lo
sé.
Pueden ver que algunos operadores sólo tiene sentido usarlos si los empleamos con los
tipos de datos correctos.
En javascript existen muchos operadores diferentes, pero podemos dividirlos en los
siguientes grupos:
Operadores Aritméticos
Operadores de Asignación
Operadores de Comparación
Operadores Lógicos
Operadores Aritméticos
Los operadores aritméticos se utilizan para realizar operaciones aritméticas con números:
Operador
Descripción
+
suma
-
resta
*
multiplicación
/
división
**
potencia
++
incrementar
--
decrementar
%
módulo
También se aplica
El operador de suma + también se puede usar con String. En ese caso, el
operador pasa de llamarse "suma" a llamarse "concatenar" y su función es la de unir
o concatenar dos o más textos
let texto1 = “hola Pedro”
let texto2 = “cómo estás?”
let texto3 = texto1 + texto2; --> texto3 devuelve "hola Pedro cómo estás?
Veamos un código de ejemplo:
Minidesafio #5 : A partir
de la caja de código usada más arriba, agregale las modificaciones necesarias para que
texto3 concatene 4 variables más, y en el alert
del final muestre como resultado hola Pedro cómo estás? Yo estoy muy bien :)
Operadores de Asignación
Los operadores de asignación asignan valores a las variables de JavaScript:
Operador
Ejemplo
Es lo mismo que
=
x = y
x = y
+=
x += y
x = x + y
-=
x -= y
x = x - y
*=
x *= y
x = x * y
/=
x /= y
x = x / y
%=
x %= y
x = x % y
**=
x **= y
x = x ^ y
También se aplica
El operador += también se puede usar con String. Su función es la de
unir o concatenar dos o más textos en una variable, conservando el valor que ya
contenia la variable originalmente
let texto1 = "Hola Pedro"
let texto2 = "Cómo estás?"
let texto3 = "Mi nombre es Pablo."
texto3 += texto1 + texto2; --> texto3 devuelve "Mi nombre es Pablo. Hola Pedro cómo estás?"
Veamos un código de ejemplo:
Minidesafio #6 : A partir
de la caja de código usada más arriba, agregale las modificaciones necesarias para que el
alert muestre lo mismo. Pero sin hacer uso del operador +=, ¿Te animás?
Operadores de Comparación
Los operadores de comparación se utilizan para comprobar si algo es verdadero o falso:
Operador
Descripción
==
igual a
===
igual valor e igual tipo
!=
no es igual
!==
no es igual en valor ni en tipo
>
mayor que
<
menor que
>=
mayor o igual a
<=
menor o igual a
Veamos un código de ejemplo:
Minidesafio #7 : A
partir de la caja de código usada más arriba, ¿Te animás a agregar un ejemplo más pero
usando el operador !== y que de como resultado true?.
Operadores Lógicos
Los operadores lógicos, al igual que los operadores de comparación, también son usados
para comprobar si algo es verdadero o falso:
Operador
Descripción
&&
'y' lógico (AND)
||
'ó' lógico (OR)
!
'no' lógico (NOT)
Veamos un código de ejemplo:
Minidesafio #8 : A
partir de la caja de código usada más arriba, cambiando
hinchaDeBoca = false,
que valores deberían tener el resto de las variables:
mayorDeEdad, tienePC y esEstudiante para que resultado muestre
true?¿Te animás a resolverlo?.
Videos
A continuación les dejamos un pequeño resumen de los temas que vimos en esta sección en
formato de video!!
Ahora que ya vimos el concepto de variable y como utilizarlo dentro de JavaScript, vamos
a emplear los conocimientos en distintos desafios de programación que involucren
variables. Para ello, ingrese a su CodeSandbox y dentro de la carpeta R2 que hicimos en el encuentro anterior,
cree un archivo por cada ejercicio propuesto más abajo. Cada archivo debe tener por nombre la palabra "ejercicio_nivel_".
Por ejemplo: ejercicio_nivel_0.js - ejercicio_nivel_1.js - ejercicio_nivel_2.js - etc
Nivel 0: Nuestra primera variable sencilla
Ejercicio propuesto:
Crear una variable llamada mensaje para almacenar un mensaje de saludo, asignarle el mensaje: "Esta es mi primera variable! Hola mundo!"
y luego usar dicha variable para mostrar su contenido por pantalla mediante el uso del alert();
Nivel 1: Más variables!
Ejercicio propuesto:
Crear todas las variables que consideres necesarias para poder guardar la siguiente información sobre un producto:
Su nombre
Su precio
Una descripción
Su fabricante
Su modelo
Su país de origen
Asignarle a cada una un valor adecuado y luego, mostrarlas por pantalla usando alert.
Usar nombre de variables representativos!!
Nivel 2: Nuestra primera variable con entrada
Ejercicio propuesto:
Recuerde realizar los ejercicios dentro de la carpeta R2, respetando los nombres de archivo que se especificaron al comienzo de esta sección: ejercicio_nivel_0.js - ejercicio_nivel_1.js - ejercicio_nivel_2.js - etc
Crear una variable para almacenar el nombre de un usuario, hacer que el usuario introduzca
su nombre usando prompt, y luego usar dicha variable para mostrar la información por
pantalla mediante el uso del alert.
Ahora agregue tres variables más al programa y pida al usuario que ingrese un valor numérico, mediante el uso del prompt, para dos de estas. Luego, realice la suma de los
valores numéricos, y almacene su resultado en la tercer variable. Mostrar el resultado por pantalla usando la sentencia alert con el siguiente formato: "El resultado
de la suma de los dos valores es numéricos es", y luego el valor resultante de la suma en otro alert.
Agregar las modificaciones que considere necesarias para que el coódigo anterior, también pueda almacenar y mostrar el resultado de la multiplicación, resta y división de los números
ingresados por el usuario. Mostrar el resultado de cada operación mediante la sentencia alert, anteponiendo un cartelito que diga "El resultado de multiplicación es: y el resultado,
El resultado de la resta es: y el resultado.. y así.
Agregue las modificaciones que considere necesarias en el código anterior, para que además emplee las operaciones de incremento, decremento, potencia
y módulo. Debe mostrar por pantalla los resultados de las operaciones usando alert, pero anteponiendo un mensaje que anuncie la operación que se utilizó para calcular dicho resultado.
Nivel 3: Muchos más datos, muchos más tipos
Ejercicio propuesto:
Se necesita crear un programa que nos permita solicitar y almacenar varios datos de
usuario para poder registrarlo en un sistema, usar prompt para solicitar la
información. Los datos que se necesitan son:
Nombre
Apellido
Edad
DNI
Altura
Luego se deben mostrar los datos por pantalla mediante alert
Nivel 4: Aprender a comparar, comparando :)
Ejercicio propuesto:
Recuerde realizar los ejercicios dentro de la carpeta R2, respetando los nombres de archivo que se especificaron al comienzo de esta sección: ejercicio_nivel_0.js - ejercicio_nivel_1.js - ejercicio_nivel_2.js - etc
Dentro de la carpeta R2 crear un archivo llamado ejercicio_nivel_4_OperadoresComparacion.js, copiar el siguiente código y responder en los comentarios marcados con // Mi respuesta: el resultado que debería devolver cada operación de comparación, sin ejecutar!!.
Luego verficar las respuestas contestadas ejecutando el código y corregirlas de ser necesario.
Dentro de la carpeta R2 crear un archivo llamado ejercicio_nivel_4_IgualDistinto.js, crear un programa que utilice el operador de comparación == y !=, almacenando el resultado en una variable
que luego se muestre por pantalla mediante alert. El programa debe contar con un resultado true y un resultado false para cada operador de comparación. Puede realizarse con cualquier tipo de dato que desee, y los datos pueden
ser escritos directamente en el código, o ser pedidos al usuario mediante la sentencia prompt.
Dentro de la carpeta R2 crear un archivo llamado ejercicio_nivel_4_MayorMenor.js, crear un programa que utilice el operador de comparación >, >=, <, <= almacenando el resultado en una variable
que luego se muestre por pantalla mediante alert. El programa debe contar con un resultado true y un resultado false para cada operador de comparación. Puede realizarse con cualquier tipo de dato que desee, y los datos pueden
ser escritos directamente en el código, o ser pedidos al usuario mediante la sentencia prompt.
Nivel 5: (NOT|AND|OR)
Ejercicio propuesto:
Recuerde realizar los ejercicios dentro de la carpeta R2, respetando los nombres de archivo que se especificaron al comienzo de esta sección: ejercicio_nivel_0.js - ejercicio_nivel_1.js - ejercicio_nivel_2.js - etc
Dentro de la carpeta R2 crear un archivo llamado ejercicio_nivel_5_OperadoresLogicos.js, copiar el siguiente código y responder en los comentarios marcados con // Mi respuesta: el resultado que debería devolver cada operación lógica, sin ejecutar!!.
Luego verficar las respuestas contestadas ejecutando el código y corregirlas de ser necesario.
Dentro de la carpeta R2 crear un archivo llamado ejercicio_nivel_5_AND.js, crear un programa que utilice el operador lógico &&, almacenando el resultado en una variable
que luego se muestre por pantalla mediante alert. El programa debe contar con un resultado true y un resultado false. Puede realizarse con cualquier tipo de dato que desee, y los datos pueden
ser escritos directamente en el código, o ser pedidos al usuario mediante la sentencia prompt.
Dentro de la carpeta R2 crear un archivo llamado ejercicio_nivel_5_OR.js, crear un programa que utilice el operador lógico ||, almacenando el resultado en una variable
que luego se muestre por pantalla mediante alert. El programa debe contar con un resultado true y un resultado false. Puede realizarse con cualquier tipo de dato que desee, y los datos pueden
ser escritos directamente en el código, o ser pedidos al usuario mediante la sentencia prompt.
Dentro de la carpeta R2 crear un archivo llamado ejercicio_nivel_5_NOT.js, crear un programa que utilice el operador lógico !, almacenando el resultado en una variable
que luego se muestre por pantalla mediante alert. El programa debe contar con un resultado true y un resultado false. Puede realizarse con cualquier tipo de dato que desee, y los datos pueden
ser escritos directamente en el código, o ser pedidos al usuario mediante la sentencia prompt.
Dentro de la carpeta R2 crear un archivo llamado ejercicio_nivel_5_AND_OR_NOT.js, crear un programa que utilice una combinación de los operadores lógicos &&, ||,! almacenando el resultado en una variable
que luego se muestre por pantalla mediante alert. El programa debe contar con un resultado true y un resultado false. Puede realizarse con cualquier tipo de dato que desee, y los datos pueden
ser escritos directamente en el código, o ser pedidos al usuario mediante la sentencia prompt.
Nivel 6: Atrapando al tramposo
Ejercicio propuesto:
En un conocido videojuego online hay un usuario que es muy conocido por ser tramposo. Los
desarrolladores del videojuego tienen algunos datos del usuario
deshonesto y te solicitan que les crees un pequeño programita que les alerte a ellos cuando
el tramposo quiere conectarse al juego para que lo puedan bloquear, sólo si
se da el caso de que coincida la información. Usar prompt para pedir la información
al usuario. Los datos del tramposo son:
Ahora que ya estás a full con los ejercicios de variables, te proponemos una serie de
ejercicios adicionales para poner aún más a prueba tus conocimientos y profundizar lo
aprendido. Suerte!
Adicional 1
Ejercicio propuesto: Juntos, no separados
En un programa de una empresa que guarda varios datos de empleados, tienen el problema de
que para poder mostrar los datos necesitan usar un alert por cada dato guardado. ¿Pódrias
ayudarles a que su programa funcione mostrando todos los datos del usuario pero en un solo
alert? Los datos son:
Nombre
Apellido
Legajo
Antigüedad
Teléfono
Adicional 2
Ejercicio propuesto: Programa incompleto
Software INC contrató a un programador para hacer un pequeño programa para que guardara
información importante de sus usuarios. El programador les aviso que ya
habia terminado y se fue. Al ver el programa se dieron cuenta que éste sólo pedía parte de
la información que le habian solicitado. Para no perder el trabajo ya hecho por el
otro programador, Software INC te pide que utilices la información disponible en
el sistema para obtener los datos que faltan.
La información que ya tienen es:
Nombre de usuario
Año de creación de la cuenta
Año de nacimiento
La información que necesitan obtener es:
Años de Antigüedad
Edad
Si es mayor de edad
Adicional 3
Ejercicio propuesto: Las horas del mundo
Una persona de negocios que viaja mucho por el mundo, necesita un programa que le permita
saber, a partir de la hora actual de la Argentina, que hora es
en Tokio (+11 hs), París (+5 hs) y Nueva York (-1 hs).
Adicional 4
Ejercicio propuesto: Conversor de unidades
Una persona que es muy olvidadiza, siempre se le olvida como convertir centímetros a metros.
Necesita que le programes un conversor de unidades que a partir de una cantidad de
de centímetros ingresada por teclado, le convierta y le muestre cuanto equivale en metros.
Recordar que 1 metro = 100 centímetros
Adicional 5
Ejercicio propuesto: El dato del dato del dato del dato del...
Una contadora que tiene un forma de trabajar muy particular, necesita que le hagas un
programa que se acomode a su forma de trabajar:
A partir del monto de una compra (que ingresa el usuario), se necesita guarda el resultado
de esa compra divido por los 12 meses del año. Luego ese resultado es usado para calcular
una proyección de costos, que se calcula multiplicando el valor anterior por 1.28. Ese
último valor es utilizado para el cálculo de un indice de pérdidas que se
calcula usando el monto de compra, multiplicado por la proyección de costos y elevándolo al
cuadrado. Finalmente a ese valor debe extraersele el 50%, que es el valor
del indice estimación de ganacias. Mostrar el resultado final en un alert!!
Desafío Dipli! - ¿Cuál es el Número?
General
Dipli, ¿Cuál es el Número?, es un juego simple donde un contrincante juega contra Dipli.
El juego consiste en adivinar el número que imaginó Dipli realizando diferentes intentos, en los cuales arriesga un valor entre 0 y 100.
Si el contrincante logra acertar, ganará la partida… por el contrario ganará Dipli.
Existen varias modalidades, con distintas innovaciones. La versión internacional, también llamada «pares polacos», está reglamentada por la Federación Internacional de Dipli,
¿Cuál es el Número? y se juega sólo con números pares y valores entre 0 y 200.
También está la modalidad «Andina Patagónica», que admite valores bajo cero entre -20 y 40.
Otras reglas:
El contrincante no debe arriesgar más de un valor en cada intento.
Un jugador siempre deberá ver la respuesta de Dipli, antes de realizar un nuevo intento.
Dipli no puede cambiar de número durante una partida.
Dipli no puede imaginar números fuera del rango del juego.
Si la partida se prolonga por encima de una cantidad de intentos Dipli será quien gana.
¿Cuál será tu versión del juego? Charlalo con tu Facilitador o Facilitadora :)
Para trabajar en el desarrollo del desafio Dipli, seguí los siguientes paso:
Ingresar al entorno Codesandbox, dentro de la carpeta Dipli crear una carpeta R2.
Dentro de la carpeta Dipli/R2, crear un script desafio_dipli_2.js.
Desafío - parte I
Inicia el Juego. Dipli necesita dar la bienvenida al juego, mostrar las reglas, pedir al contrincante que imagine un valor y luego le cuente que había imaginado en 7 ¿Acertaste?.
Finalmente salude invitando a volver a jugar. Restricciones: Dipli prefiere que usemos diferentes mensajes para comunicarse con el contrincante, En este sentido desea que los mensajes sean más de 3 y menos de 6.
Desafío - parte II
Evolucionar el desarrollo anterior para que Dipli imagine un nuevo número en cada ejecución. El juego es igual, solo que el valor que se muestra es generado al azar.
Para ello puede utilizar la siguiente sentencia:
donde unValorMax y unValorMin son variables que nos sirven para que los números que se generen se encuentren entre dentro del rango [unValorMin y unValorMax]. Restricciones: Dipli prefiere que usemos alguna modalidad del juego, por ejemplo «pares polacos», «Andina Patagónica» u otra que se nos ocurra a nosostros.
Desafío - parte III
Evolucionar el desarrollo anterior para que el contrincante pueda ingresar su valor y Dipli le muestre por cuanto falló. Tal vez, puede ser un poco más amable y saludar al contrincante por su nombre.
Restricciones: Dipli prefiere que mostremos mensajes amigables como "Fallaste por …". "Espero que en la próxima estés mejor". Utilizando tres mensajes diferentes.
Desafío - parte IV
Evolucionar el desarrollo anterior para que muestre mensajes como este "Ganó Dipli:False", "Ganó Contrincante:True", "El número que imaginó Dipli es más grande:False". Imagine un nuevo número en cada ejecución. Restricciones: Dipli prefiere que informemos esto usando TRUE / FALSE… cosas de Dipli. Además un mensaje diferente para cada caso.
Repaso!
Recordemos un poco sobre variables
¿Cómo podemos representar a las variables en la memoria Como bloques o cajas, donde cada una posee con un nombre que
la identifica y que dentro contiene el dato o la información
En JavaScript, al declarar variables ¿Es necesario escribir el tipo de dato que va a
almacenar? En la mayoría de los lenguajes de programación, es necesario.
Pero en JavaScript no
¿Cuáles son los tipos datos maneja JavaScript? Number, String, Boolean, Null, Undefined, Symbol>
El operador + si es usado con números, actúa como suma. Pero, ¿Cómo se comporta si
es usado con tipo String? Actúa uniendo ambos String, también se conoce como concatenar
String
¿Cómo hace un programa para saber si algo es verdadero o falso? Se utilizan datos del tipo Boolean, donde true
significa verdadero y false significa falso
Si la variable haceFrio es boolean. ¿Qué operador debería utilizar para definir
otra variable haceCalor, como el opuesto de haceFrio? El operador es de negación ! y sería así: haceCalor =
!haceFrio