Skip to content

Latest commit

 

History

History
226 lines (171 loc) · 13.1 KB

03-estructuras-de-control-condicionales.md

File metadata and controls

226 lines (171 loc) · 13.1 KB

🔀 Estructuras de control: condicionales


if, else, else if

🔢 Número par o impar

  • Crear un programa que pida al usuario ingresar un numero y mostrar en un mensaje si el valor ingresado es par o impar.

💵 Cajero

  • Crear un programa que muestre el dinero inicial, y que permita retirar dinero hasta 3 veces preguntando cuánto se desea retirar, y mostrando el dinero restante a continuación. Si se intenta retirar más dinero del disponible, o no cuenta con dinero disponible, debe mostrar un mensaje alertándolo e impedir seguir retirando.

📆 Días del mes

  • Crear un programa que pida por un mes y devuelva la cantidad de días que ese mes tiene.

👵 A qué generación pertenece

  • Crear un programa que pida al usuario ingresar su año de nacimiento y mostrar en un mensaje a que generación pertenece (baby boomer, gen y, millenial, centennial, o ninguna de ellas).

🍦 Heladería II

  • Crear un programa que pregunte al usuario cuántos kilos de helado va a comprar y mostrar en un mensaje la cantidad de sabores disponibles según la opción elegida. Opciones:
    • 1/4kg: 2 sabores.
    • 1/2kg: 3 sabores.
    • 3/4kg: 4 sabores.
    • 1kg: 5 sabores.

Luego, permitirle ingresar la cantidad de sabores correspondientes por separado y mostrar al finalizar un mensaje con la cantidad de kg y los gustos escogidos.

🔐 Cambio de contraseña

  • Hacer un programa que permita cambiar la contraseña de usuario. Para eso tiene que responder las tres preguntas de seguridad. Si las tres preguntas son respondidas correctamente, tiene que pedir por la nueva contraseña y luego mostrar un mensaje que fue cambiada. En caso de que al menos alguna pregunta fue respondida incorrectamente debe mostrar un mensaje advirtiéndolo. Definir de antemano (hardcodear) preguntas y respuestas.

🏖 Agencia de viajes

  • Hacer un programa que muestre al usuario una lista de destinos con precio por día por persona (ofrecer 3 promos con destinos y precios distintos). Preguntarle cuál desea elegir. Una vez hecho eso, preguntarle cuántas personas y cuántos días desea hospedarse. Mostrarle el precio final y preguntarle si quiere editar algún dato. Si quiere hacerlo, preguntarle cuál de ellos: destino, personas o días, permitirle ingresar un nuevo valor y mostrar un mensaje con las opciones y el precio actualizado.

🍳 Recetas

  • Crear un programa que pregunte por separado si tiene 5 ingredientes. Según los ingredientes que tenga, mostrar un mensaje con todas las comidas que puede cocinar. Debe haber opciones para 5, 4, 3 y 2 ingredientes. Para cada cantidad, debe haber al menos 2 comidas/recetas posibles (excepto para la de 5). Se deben mostrar todas las posibles, incluyendo las que requieran menos ingredientes que las que se tienen (por ejemplo, si se tienen 4 ingredientes, se pueden hacer las de 3 y 2). Si no hay ninguna que pueda hacerse también debe mostrarse un mensaje.

📱 Marcas y modelos

  • Crear un programa que ofrezca a elegir entre 3 marcas distintas para un producto. Una vez elegida la marca debe ofrecer elegir entre dos modelos distintos de la marca. Finalmente debe mostrar el producto elegido. Cada marca debe tener modelos distintos a los de otras marcas (no pueden tener el mismo nombre). P. ej: Philip 3000, Philip 5000, Sony XA, Sony X100, etc.

🎓 Examen aprobado

  • Crear un programa que pida al usuario ingresar la nota un examen y mostrar en un mensaje si el examen está aprobado, si debe recuperar o es un aplazo. Si la nota es mayor a 7 aprueba, si es mayor a 4 recupera y si es menor a 4 es un aplazo.

Grupo de letras

  • Crear un programa que pida al usuario ingresar una letra y mostrar en un mensaje a qué grupo pertenece.
    • grupo A = {a, e, i, o ,u}
    • grupo B = {b, c, d, f, g}
    • grupo C = {h, j, k , l, m}
    • grupo D = {n, p, q, r}
    • grupo E = {s, t, v, w, x, y, z}

🥪 Sandwich

  • Crear un programa que pregunte al usuario paso por paso qué opciones desea elegir para armar su pedido. En caso de que no se elija una opción válida en cualquier paso debe mostrar un mensaje alertando que el pedido saldrá incompleto. Mostrar al final un mensaje con el pedido resultante. Debe preguntar:
    • Tipo de pan: blanco, negro, integral
    • Ingrediente 1: tomate, lechuga, pimiento
    • Ingrediente 2: cebolla, aceituna, pepino
    • Aderezos: mostaza, mayonesa, picante
    • Gaseosa: Coca Cola, Pepsi, Sprite

🏙 Departamento

  • Crear un programa que pregunte por características de un departamento, y dependiendo de las opciones defina qué tan recomendado es un departamento para alquilar. Preguntar por 3 o 4 características (ubicación, antigüedad, costo, etc). Cada característica debería tener al menos 3 opciones posibles para elegir. Al final, debe mostrar un mensaje indicando cuánto se recomienda (usar al menos 4 niveles de recomendación posible).

📚 Elige tu propia aventura

  • Crear un programa que simule un juego de "Elige tu propia aventura". Debe describir un escenario y presentar opciones disponibles para actuar. Luego, a partir de la opción elegida, repetir el proceso hasta llegar a un final. El juego debe tener 1 escenario inicial con 3 opciones posibles, cada opción debe llevar a un nuevo escenario (distinto de los demás) con 3 opciones disponibles también. Estas opciones deben llevar a un final (por lo tanto hay 9 finales posibles).

🍁 Estación del año

  • Crear un programa que pregunte por el día, el mes, y el hemisferio (norte/sur) y devuelva la estación del año correspondiente

Envido

  • Crear un programa que permita ingresar 3 cartas de truco (mazo español, sin ochos y nueves) una por una, ingresando número y palo por separado, y mostrar luego si se tiene puntos para hacer envido o no, y cuántos. Las reglas para el mismo son:
    • Si se tiene dos cartas del mismo palo, de las cuales una (A) es un 10, un 11 o un 12, y la otra (B) un número distinto, los puntos de envido son: 20 + el número de la carta (B)
    • Si se tienen dos cartas del mismo palo, de las cuales ambas son cualquiera de los siguientes números: 10, 11 o 12 (no hace falta que sean iguales), los puntos de envido son 20.
    • Si se tienen dos cartas del mismo palo, y ninguna de ellas es un 10, un 11, o un 12, los puntos de envido son la suma de ambas cartas + 20
// Por ejemplo
Ingrese número primera carta: 7
Ingrese palo primera carta: espada

Ingrese número segunda carta: 4
Ingrese palo segunda carta: copa

Ingrese número tercera carta: 3
Ingrese palo tercera carta: espada

Sus puntos de envido son: 30

Número aleatorio

Podemos obtener un número aleatorio usando el método Math.random(). Esto nos devuelve un número distinto entre 0 y 1 cada vez que lo utilizamos.

  • Para que nos de un número aleatorio hasta cierto número X, tenemos que multiplicarlo por dicho número X, Math.random() * 10 nos da un número aleatorio entre 0 y 10 (contando decimales)
  • Para que nos devuelva números enteros, tenemos que usar Math.round(Math.random()) (Math.round() redondea todo número que se le pasa entre paréntesis)
  • Combinando ambos, p.ej.: Math.round(Math.random() * 10) nos da un número aleatorio entre 0 y 10
  • Si queremos que el número empiece a contar a partir de 1, tenemos que usar Math.ceil(Math.random() * 10)
  • Si queremos que empiece a contar desde un cierto número, tenes que sumarle dicho número, por ejemplo p.ej.: Math.round(Math.random() * 10) + 100 nos da un número entero entre 100 y 110

Para usar un número aleatorio, tenemos que asignarlo a una variable

const random = Math.round(Math.random() * 10) + 100;

Usando valores aleatorios y condicionales, resolver los siguientes ejercicios:

✊🤚✌️ Piedra, papel o tijera

  • Crear un programa que permita ingresar al jugador piedra, papel o tijera, genere de forma aleatoria la jugada de la computadora, y muestre en un mensaje quién ganó, con las jugadas respectivas.

🤔 Adivinanzas

  • Crear un programa que muestre una adivinanza (entre 4 o 5 posibles) al azar, y permita al usuario ingresar la respuesta. Mostrarle un mensaje indicándole si acertó o no.

🎨 Simón dice

  • Crear un programa que muestre una secuencia de 5 nombres de colores en orden aleatorio. Los colores posibles son 4: rojo, verde, azul y amarillo. Pedir luego ingresar 5 colores uno por uno, y mostrar al finalizar si acertó la secuencia.
// Ejemplo
Simón dice: rojo, rojo, azul, verde, amarillo.

Ingrese el primer color: rojo
Ingrese el primer color: rojo
Ingrese el primer color: azul
Ingrese el primer color: verde
Ingrese el primer color: amarillo

Felicitaciones! Has ganado!

🃏 Truco

  • Crear un programa que permita ingresar una carta del truco (mazo español, sin ochos y nueves) ingresando número y palo por separado. Hacer que el programa elija aleatoriamente otra carta. Mostrar un mensaje con ambas cartas, indicando cuál gana a cuál (o si empatan).

    Orden de las cartas, de mayor valor a menor:

1 de espadas
1 de bastos
7 de espadas
7 de oros
3
2
1 de copa y 1 de oro
12
11
10
7 de copas y 7 de bastos
6
5
4
// Ejemplo
Ingrese el número de la carta: 7
Ingrese el palo de la carta: espada

Has elegido: 7 de espada
Computadora eligió: 3 de copa

¡Has ganado!

Condicional switch

Para los siguientes ejercicios utilizar el condicional switch donde sea necesario.

🗓 Meses del año

  • Crear un programa que pida al usuario un numero y mostrar en un mensaje el nombre del mes correspondiente.

❄️ Estaciones del año II

  • Crear un programa que pida una estación del año y mostrar en un mensaje la fecha en la que comienza y termina

🧮 Calculadora

  • Crear un programa que permita elegir entre las operaciones: SUMA, RESTA, DIVISION y MULTIPLICACION, y luego de elegida, ingresar dos números y hacer dicha operación con ella.

🐛 Tamagochi

  • Crear un programa que simule un Tamagochi (mascota virtual). Debe tener 4 variables: salud, felicidad, limpieza, energía, cuyos valores pueden ir entre 1 y 10. El programa debe iniciar mostrando un mensaje con el nombre del tamagochi y los valores de cada variable (que son asignados aleatoriamente). Luego, debe mostrar las siguientes posibles acciones a realizar, que modifican los valores de la siguiente forma:
    • ALIMENTAR: +3 energía, +2 felicidad
    • JUGAR: +2 felicidad, -2 energía, -1 limpieza
    • DORMIR: +5 energía, +2 salud, -2 limpieza
    • VACUNAR: +5 salud, -6 felicidad
    • BAÑAR: +3 salud
    • RETAR: -3 felicidad
    • ACARICIAR: +4 felicidad

Cuando el usuario selecciona una, debe mostrar el valor final de las variables.

📺 Televisor

  • Hacer un programa que empiece preguntando si se desea prender el televisor. Si elige que no, el programa debe terminar. Si elige que sí, debe mostrar un mensaje con el canal actual y el el nivel de volumen de un televisor, y debe permitir realizar las siguientes operaciones:
    • CAMBIAR CANAL: permite ingresar un canal (0 al 99)
    • CANAL SIGUIENTE: sube un canal
    • CANAL ANTERIOR: baja un canal
    • SUBIR VOLUMEN: sube en volumen en 5
    • BAJAR VOLUMEN: disminuye en volumen en 5
    • MUTEAR: pone el volumen en 0

Una vez elegida la opción e ingresado el valor si corresponde, debe mostrar un mensaje con el canal y el nivel del volumen actual.

💵 ATM

  • Crear un programa que permita hacer las siguientes operaciones: EXTRAER, DEPOSITAR, TRANSFERIR, CAMBIAR PIN, SALIR.
    • El programa debe tener un dinero inicial
    • El programa debe tener un PIN inicial
    • Para empezar a utilizarlo y llegar al menú de opciones, debe pedir ingresar el PIN. Si se lo ingresa incorrectamente debe terminar el programa
    • EXTRAER debe pedir cuánto se desea extraer y mostrar luego el dinero restante, sólo si la extracción es menor al dinero disponible
    • DEPOSITAR debe pedir cuánto se desea ingresar y mostrar luego el dinero resultante
    • TRANSFERIR debe pedir por un CBU (o alias) a transferir, preguntar cuánto se desea transferir y mostrar el dinero restante, si la transferencia es menor al dinero disponible y si el CBU es válido. Los CBU o alias válidos posibles (2 o 3) deben estar guardados en variables.
    • CAMBIAR PIN debe pedir primero por la contraseña nueva y luego por la contraseña original para confirmar el cambio
    • SALIR debe mostrar un mensaje de despedida
    • En cualquier situación mostrar mensajes de lo que esté pasando operaciones exitosas

🎰 Ruleta

  • Crear un programa que simule una apuesta de ruleta. El programa debe mostrar las opciones posibles para apostar y preguntar qué se desea elegir:
    • ROJO: gana si el número es rojo
    • NEGRO: gana si el número es negro
    • PAR: gana si número es par
    • IMPAR: gana si el número es impar
    • ALTA: gana si el número es menor o igual a 18
    • BAJA: gana si el número es mayor a 18
    • PRIMERA DOCENA: gana si el número está incluido en la primera docena (del 1 al 12)
    • SEGUNDA DOCENA: gana si el número está incluido en la segunda docena (del 13 al 24)
    • TERCERA DOCENA: gana si el número está incluido en la tercera docena (del 25 al 36)

Una vez elegida la opción, el programa debe generar aleatoriamente un número entre 1 y 36, de color negro o rojo. Mostrar un mensaje con el número que salió y si se ganó o no la apuesta.