¿Alguna vez has jugado a adivinar el número en el que tu amigo o amiga estaba
pensando? Hoy volverás a tu infancia y harás exactamente eso. ¡Pero ahora, el
juego será contra la propia computadora!
Debes crear un pequeño programa que comience con un valor específico
predefinido entre 0 y 10 para el número que vas a adivinar (por ejemplo, el 7).
A continuación, el programa te preguntará cuál es el valor que deseas adivinar y,
si aciertas, te felicitará. Si te equivocas, te dará 2 intentos más.
Al final, si no aciertas en ninguno de los intentos, imprimirá cuál era el número
inicial.
Después de que el programa esté funcionando, intenta usar un número aleatorio
en lugar de uno predefinido.
CONSEJO
Piensa muy bien en qué estructura de repetición utilizarás para hacer que tu
programa se ejecute hasta que se agoten las 3 oportunidades o hasta que la
persona acierte el número.
Recuerda que siempre puedes personalizar tu programa como desees.
No olvides compartirlo en tu GitHub y en tus redes sociales con el hashtag
#7DaysOfCode.
EXTRA
Échale un vistazo a este site para aprender más sobre estructuras de repetición.
Para hacer que la propia máquina elija el número a adivinar, puedes utilizar algo
llamado Math.random().
Para ello, utiliza el siguiente código:
Math.floor(Math.random() * (máximo - mínimo + 1) + mínimo)
Donde, por supuesto, tendrás que cambiar los valores de mínimo y máximo por los
límites inferior y superior, respectivamente.
Puedes leer más sobre Math.random() en esta página.
¿Sabes cuando vas al supermercado con una lista de compras y terminas yendo y
volviendo por los mismos pasillos hasta completar la lista?
Necesitas una manzana y vas al área de frutas. El siguiente ítem es una leche y
te diriges a los lácteos. Pero luego anotaste una pera, y necesitas regresar de
nuevo al área de frutas.
¡Después de resolver el desafío de hoy, con certeza no harás más eso!
Al igual que nuestra lista de compras, es muy común que los programas trabajen
con listas de string, números y objetos.
Piensa en cada catálogo de e-commerce que has visto, en la lista de eventos de
tu Google Calendar, o incluso en tu bandeja de entrada de correos electrónicos.
Todos estos sitios utilizan listas para mostrar información de una manera simple y
fácil de entender.
Además, puedes aprovechar las listas para hacer filtros, ordenaciones y otras
funcionalidades muy útiles.
En este punto, ya debes haber notado que trabajar con estas colecciones es algo
que necesitarás dominar, ¿verdad?
Entonces hoy, para facilitar tu visita al supermercado, debes crear un programa
en Javascript que pregunte si deseas agregar un alimento a tu lista de compras, y
debes poder responder con "sí" o "no".
A continuación, preguntará qué alimento deseas agregar, y escribirás su nombre,
como por ejemplo "zanahoria".
Después, deberá preguntar en qué categoría se encaja ese alimento, con algunas
opciones ya predefinidas, como frutas, lácteos, congelados, dulces y lo
que más creas interesante. Así podrás separar todo en su respectivo grupo.
Por último, en caso de que ya no quieras agregar nada más a la lista de compras
y respondas "no" a la primera pregunta, se mostrará una lista con todos los ítems
agrupados, de la siguiente manera:
Si añades a tu lista:
banana, leche en polvo, tomate, leche vegetal, chicle, gominola, manzana, uva,
aguacate y leche de vaca.
El programa debería imprimir, por ejemplo:
Lista de compras:
Frutas: banana, tomate, manzana, uva, aguacate
Lácteos: leche vegetal, leche de vaca, leche en polvo
Congelados:
Dulces: chicle y gominola
CONSEJO
Existe un objeto dentro del lenguaje Javascript que se usa justamente para crear
listas de elementos, llamado Array. ¡Úsalo y abusa de él!
Recuerda que siempre puedes estilizar tu programa de la manera que desees,
incluso utilizando otras tecnologías para ello, como HTML y CSS.
Sin embargo, eso no es obligatorio en nuestra lista de lógica de programación con
Javascript. Como mencioné en los días anteriores, puedes utilizar recursos
como console.log, alert y prompt para desarrollar tu programa.
No olvides compartir tu código en tu GitHub y en tus redes sociales con el
hashtag #7DaysOfCode.
EXTRA
Para crear un array vacío, puedes usar corchetes. Y luego, para insertar algo en un
array, puedes usar la función .push(). Por ejemplo:
let miArray = [];
miArray.push(elemento1);
Después de eso, el array ya no estará vacío, tendrá el elemento 1.
Para aprender más sobre arrays en Javascript, échale un vistazo a este site.
¿Recuerdas el pequeño programa que creaste ayer para hacer tu propia lista de
compras? ¡Hoy tu desafío es hacerlo aún más interesante!
Ya viste cómo trabajar con arrays de forma sencilla, añadiendo elementos a tu
lista de compras.
Otra operación muy común es la eliminación de elementos de la lista, y por eso
es muy importante que sepas cómo hacerlo.
Pensándolo bien, existen muchas maneras de eliminar un elemento de una lista.
Puedes eliminar el primer elemento, el último, o cualquier otro del medio de la
lista. Cada una de estas operaciones tiene su propio método en la documentación
de arrays de Javascript. Vamos a hablar más sobre estos métodos en la sección
de "Consejos".
Deberás crear la opción de eliminar algún elemento de la lista, que se mostrará
junto con la pregunta: “¿deseas añadir un alimento a la lista de compras?”.
A partir de ahí, si la persona elige esa opción, el programa imprimirá los elementos
presentes en la lista actual, y la persona deberá escribir cuál de ellos desea eliminar.
Después de eso, el programa eliminará el elemento de la lista e imprimirá la
confirmación de que el elemento realmente ya no está allí.
Finalmente, el programa volverá al ciclo inicial de preguntas.
Si, al intentar eliminar el elemento, este no se encuentra en la lista, deberás
mostrar un mensaje advirtiendo de ello.
Por ejemplo: “¡No fue posible encontrar el elemento en la lista!”.
Recuerda que la opción de eliminar un elemento solo deberá estar disponible a
partir del momento en que exista al menos un elemento en la lista de compras.
CONSEJO
Puedes buscar el elemento que la persona desea eliminar de la forma que
prefieras, utilizando métodos de Javascript para ello.
Existe el método .includes(elemento), que devuelve true o false si el array en
cuestión contiene dicho elemento o no.
Existe también el método .indexOf(elemento), que devuelve la posición de
ese elemento dentro del array, o `-1` si no lo encuentra.
Para la eliminación en sí, existen diferentes métodos. El método shift, por
ejemplo, elimina siempre el primer elemento de la lista; el método pop elimina el
último; mientras que el método splice elimina un cierto número de elementos a
partir de una determinada posición. Elige el que consideres que tiene más sentido
para tu pequeño programa.
EXTRA
Para aprender más sobre métodos para arrays en Javascript, echa un vistazo
a este site.
Recuerda que siempre puedes personalizar tu pequeño programa de la manera
que te parezca mejor, y no olvides compartirlo en tu GitHub y en tus redes
sociales con la etiqueta #7DaysOfCode.
Esta ha sido una semana y tanto, ¿verdad?
Has practicado muchas cosas sobre lógica de programación con Javascript, pero
aún falta algo muy importante: organizar tu código.
Y sí, esto es algo obligatorio para aprender como desarrollador, pues tarde o
temprano en tu carrera necesitarás dar mantenimiento al código que creaste, o
incluso arreglar algo en el código que escribió otra persona.
¿Te imaginas si ese código estuviera todo desordenado?
Una excelente práctica es siempre separar cada sección de tu código que realice
una función específica en bloques de código aún más pequeños, que podrán ser
reutilizados y llamados en cualquier otro momento a lo largo de tu programa. Son
las llamadas funciones.
Para el ejercicio de hoy: ¿te has detenido a pensar cómo funciona una calculadora?
Te pide que ingreses un número, luego seleccionas un tipo de operación, otro
número, y ella sola realiza el cálculo para mostrarte el resultado. ¡Increíble,
verdad?
En este último desafío, mi propuesta para ti es: crea tu propia calculadora, pero
con un detalle muy importante: cada operación debe ser una función diferente en tu
código.
Primero, la persona debe elegir una opción de operación impresa por el programa
en la pantalla.
Luego, debe ingresar los dos valores que desea utilizar, y el programa imprimirá el
resultado de la operación en cuestión.
Las opciones disponibles deben ser: suma, resta, multiplicación, división, y salir. En
esta última, el programa debe detenerse y mostrar un mensaje "Hasta la
próxima".
CONSEJO
Cada operación debe tener una función diferente en tu código, que recibirá los
valores ingresados como parámetros y devolverá el resultado de la operación.
No olvides usar estructuras de repetición para que la calculadora imprima la
elección de operación hasta que la persona desee detener el programa.
Recuerda también que, además de if y else, también tenemos switch, que es
muy interesante de utilizar en casos como este, de múltiples opciones.
Personaliza tu calculadora de la manera que te parezca más adecuada, y no
olvides compartirla en tu GitHub y en tus redes sociales con el hashtag
#7DaysOfCode.
EXTRA
Para aprender más sobre funciones en Javascript, echa un vistazo a este site.
Si aún no has estudiado sobre el `switch`, también revisa este site.