Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Sugerencia] Desafío - clase 02 del Módulo 05. Desafío del Curso de Lógica de programación: sumérgete en la programación con JavaScript

Cambiar dificultad o incitar a ser más autodidacta

La lógica del ejercicio es muy sencilla o fácil, a comparación de que en los cuestionarios agregan a las preguntas operadores o código que no hemos visto en clases anteriores sino mucho después. Reitero: "para un curso de lógica eso no tiene sentido y es incongruente".

En mi opinión, es mucho mejor en este caso del desafío promover aprender nuevos operadores y sus funciones, sobre todo cuando ya se proporcionó recursos y se dedicó una clase titulada: "Para saber más: ¿Necesito memorizar cada línea de código o comando?", ahí tendría mayor sentido. Como, por ejemplo, sugerir que busquen la opción de que en dado caso el usuario agregue el número en texto o simplemente introduzca otro valor al número. ¿Qué código mandaría el mensaje de error del valor que ingreso no corresponde al de la solicitud? Anexo:

  1. La lógica aplicada anteriormente (justo donde se provoca mi queja y sugerencia) Cuestionamiento a Luri

  2. Resolución del problema Es una operación matemática sencilla, sobre multiplicar el valor generado de Math.random() * el valor del rango (en estos casos 10, 100 y 1,000) y declararlo como variable, ya sólo es cuestión de ingresar la variable dentro del código de generación del rango sumarle + 1 para que no presente 0 o llegue al valor definido como en decenas, centenas y millares al declarar la variable y en el mensaje (prompt) donde se solicita un número agregue el rango declarado en la variable con un templete sprint cambiando las comillas dobles o sencillas por invertidas para que acepte el código. Captura de Visual Studio Code con el código del desafio

  3. aplicación de mi sugerencia codigo_aplicando_sugerenciaIngrese aquí la descripción de esta imagen para ayudar con la accesibilidad

1 respuesta

Hola, Victor, espero que estés bien

Entiendo tu preocupación sobre la dificultad y el enfoque del desafío. Es cierto que a veces los ejercicios pueden parecer más sencillos que las preguntas teóricas, lo cual puede ser un poco confuso.

Tu sugerencia de incitar a los estudiantes a ser más autodidactas es muy valiosa. Aprender a buscar información y resolver problemas por cuenta propia es una habilidad esencial en programación.

Para implementar un mensaje de error cuando el usuario ingresa un valor incorrecto, puedes usar la función isNaN() para verificar si el valor ingresado no es un número. Aquí te dejo un ejemplo de cómo podrías hacerlo:

let numeroRango = 50;
let numeroSecreto = Math.floor(Math.random() * numeroRango) + 1;
let numeroUsuario = 0;
let intentos = 1;
let maximosIntentos = 5;

console.log(numeroSecreto); // Para depuración

while (numeroSecreto !== numeroUsuario && intentos <= maximosIntentos) {
    numeroUsuario = parseInt(prompt(`Por favor, ingresa un número entre 1 y ${numeroRango}:`));

    if (isNaN(numeroUsuario)) {
        console.log("Entrada inválida. Por favor, ingresa un número.");
        continue; // Esto hará que el ciclo vuelva a pedir el número sin incrementar el contador de intentos
    }

    console.log(numeroUsuario);

    if (numeroUsuario === numeroSecreto) {
        alert(`¡Genial! Acertaste el número secreto: ${numeroUsuario}. Lo lograste en ${intentos} ${intentos === 1 ? 'vez' : 'veces'}.`);
        break;
    }

    intentos++;
}

if (intentos > maximosIntentos) {
    alert("Lo siento, has alcanzado el número máximo de intentos.");
}

Espero que esto te ayude a mejorar el desafío y a fomentar un aprendizaje más profundo. ¡Bons estudios!