Autor Tema: JavaScript JS programar código de 5 preguntas y cantidad de respuestas correctas  (Leído 2045 veces)

Angeliyo

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 11
    • Ver Perfil
Buenos dias. Estoy tratando de resolver un ejercicio con JavaScript, agradecería ayuda.

Sería hacer:

Un bloque de código que pida al usuario que responda a cinco preguntas de manera consecutiva y emita un mensaje con la cantidad de respuestas correctas que ha dado.

Para hacer las preguntas usaria "prompt", pero todas en una o cada una en caja?
ej- var pregunta1 = prompt(" ¿capital de Ecuador?"); var pregunta2 = prompt("¿ capital de EEUU?"); ...... .

PERO y las respuestas ? , como dar las respuestas correctas en mi codigo?:
var capital1 = Quito; var capital2 = Washington;..... .

¿ y uso : if () {};

Por favor , espero que sepan entender la dificultad que me está produciendo comprender JS. No quiero ser pesado , ni dar pena, simplemente me gustaría aprender , es un reto para mi.

Gracias.
« Última modificación: 19 de Junio 2022, 13:49 por Ogramar »

Kabuto

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 988
    • Ver Perfil
Re: con JS, codigo de 5 preguntas y cantidad de respuestas correctas
« Respuesta #1 en: 27 de Abril 2022, 19:25 »
Hola.
Las respuestas las puedes predefinir declarando variables con var.
Sin embargo, sería más correcto declararlas como "constantes" con la instrucción const
¿Por qué?
Porque esas respuestas no vamos a querer que varíen a lo largo de la ejecución del programa (por muy simple que este sea), así que las podemos declarar como constantes.
De ese modo, están "protegidas" y no hay riesgo de que, por error, en las siguientes líneas de código machaquemos esas respuestas usando un prompt o algo.
En un programa tan sencillo de pocas líneas difícilmente vamos a cometer ese error, y si lo cometemos, pues es fácil de corregir.
Pero en un programa más complejo, sí podríamos cometer ese error y luego tener que revisar cientos de líneas de código hasta comprender donde hemos metido la pata.

Por eso es "buena costumbre" declarar como constantes las variables que no queremos que varíen.

Luego, para comparar las respuestas correctas con las que de el usuario, hay que tener en cuenta que a lo mejor el usuario teclea las letras todas en minúsculas, o todas en mayúsculas, o quien sabe...
Y eso puede provocar errores, porque "Quito" no es lo mismo que "quito" ni tampoco que "QUITO".
Así que nuestro programa puede dar como fallo a una respuesta que en realidad si es correcta, solo que no ha sido escrita como esperábamos.

Para evitar esto, lo más cómodo es predefinir las respuestas completamente en minúsculas.
Y luego, las respuestas del usuario, también las transformaremos a minúsculas (invocando la función toLowerCase()) para hacer la comparación con la respuesta correcta.
De esta forma conseguimos evaluar las respuestas sin que importe cómo se han escrito.

Para contar las respuestas correctas, usas una variable contador inicializada a 0.
Con un if comparas la respuesta del usuario con la respuesta predefinida, si coinciden, aumentamos el contador.

Luego al final, muestra el resultado del contador.

Este podría ser el código, con solo dos preguntas. Añade tú las otras tres:
Código: [Seleccionar]
<script>
//Respuestas correctas
const capital1 = "quito", capital2 = "washington"
//Contador de respuestas acertadas
var acertadas = 0;

var pregunta1 = prompt("¿Capital de Ecuador?");
if (pregunta1.toLowerCase() == capital1)
    acertadas++;
   
var pregunta2 = prompt("¿Capital de EEUU?");
if (pregunta2.toLowerCase() == capital2)
    acertadas++;
   
alert("Respuestas acertadas: " + acertadas);
</script>

Luego más adelante, verás que en lugar de tener que declarar cinco constantes y recoger las respuestas en otras cinco variables, se puede hacer mejor y más elegante utilizando "arreglos", que son algo así como variables que en lugar de un único valor, pueden contener varios valores juntos.

Pero eso ya lo verás cuando toque.
NO respondo dudas por mensaje privado
Publicando vuestras dudas en el foro público conseguimos:
- Que más gente aporte respuestas mejores o complementarias.
- Que otras personas puedan aprender de vuestras dudas.

Mejor en PÚBLICO que en privado. Gracias

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".