Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
6
respuestas

Solo 5 intentos , duda

Estuve intentando estudiar sobre los bucles y me surgió la duda en este ejercicio en particular:

en este ejercicio la premisa que se nos pide resolver es la siguiente:

Pregunta: ¿Cómo implementarás un límite de 5 intentos para que los clientes adivinen el número secreto?

Entonces pasa lo siguiente que me ha llamado la atención: este es el ejercicio resuelto por la página, que dice que esta resuelto de manera satisfactoria y nos da como ejemplo correcto:

Usando un bucle for junto con la instrucción break cuando el cliente adivine el número o cuando el número de intentos llegue a 5.

let numeroSecreto = Math.floor(Math.random() * 10); for (let intentos = 0; intentos < 5; intentos++) { let intento = parseInt(prompt("Ingrese un número del 0 al 9:")); if (intento == numeroSecreto) { alert(¡Eso es! Descubriste el número secreto ${numeroSecreto}); break; } }

** mi pregunta es para que sean 5 intentos en total el bucle for no deberia tener ≤

for (let intentos = 0; intentos ≤ 5; intentos++)

esto seria para que se incluya el intento 5 y tengamos 5 intentos en total

y no 4 con la solución dada como ejemplo.

se me ocurren 2 soluciones o cambiamos la consigna y le ponemos que queremos tener 4 intentos o cambiamos el bucle de esta manera: for (let intentos = 0; intentos ≤ 5; intentos++)

Muchas gracias **

6 respuestas
solución!

Por lo que tengo entendido no es así, Aunque tu premisa suena lógica está incorrecta, esto lo puedes solucionar desconstruyendo las iteraciones del ciclo for. De un lado tenemos el valor del contado que sería la variable intentos, y del otro lado el no. de intentos del usuario; esto quedaría algo así: Contador (intentos): 0, 1, 2, 3, 4 . Intentos de usuario: 1, 2, 3, 4, 5

En el lado izquierdo esta el contador que en primera instancia vale 0, después ejecuta que está en el ciclo for, cuando lo termina el usuario habrá hecho un intento. Depués el contador pasa a valer 1, se ejecuta el código del ciclo y el usuario habrá hecho su segundo intento. Luego el contador pasa a valer 2, se ejecuta el código del ciclo y el usuario habrá gastado su tercer intento. Y así hasta que el contador llegue a 4 el usuario habrá hecho 5 intentos.

Sí tu cambias la condición a <= el contador tomará el valor de 5 y le dejará al usuario hacer un sexto intento. Toma en cuenta que no porque el contador intentos llegue a 5 habrán el límite es el 5, observa que el contador empieza desde 0. Y ve, desde el 0 al 4 hay 5 dígitos: 0, 1, 2, 3 y 4 (O sea 5 intentos en este caso). Pero del 0 al 5 hay 6 dígitos: 0, 1, 2, 3, 4 y 5 (O sea 6 intentos). Epero haber podido ayudar. Es un poco complejo pero com práctica lo verás.

gracias x la aclaracion ,lo intetare entender con esta lógica, seria como el do while este caso?, osea que en la ultima iteración supera el numero de intento de 4 a 5 y como 5 es mayorr q 4 lo corta (porq esa era la condicion de cierre del siclo? ósea q hace una ultima revision en el bucle este intento es el numero 5, q ha superado a 4 y ahi pone un alto por no cumplir la condicion? y en total se han echo 5 intentos? es asi? creo q si es complejo de entender para mi. gracias

Sí, es complejo, pero seguro le entenderás. Prueba usar chatgpt para resolver dudas de este tipo. Obvio la comunidad está para ayudar. Pero si empiezas a usar chatgpt en adición la comunidad como herramienta de estudio te facilitaras mucho varias cosas. Otro consejo es que tu pruebes el código. Escribe tú el código y ejecutalo para que compruebes si funciona o no.

Donde podemos usar ChatGPT??

Saludos.

lo podes usar en la pagina del chat gpt ahi podes usarlo para que te instruya ter ayude a solucionar o profundizar temas es muy bueno para estudiar si tenes dudas podes entrar vos misma a la pagina de chat gpt, busca en google informacion y crea uan cuenta