Trazabilidad de los 4 ejercicios (== vs ===, cortocircuito, bucles) y el informe.
18Preguntas
4Opciones c/u
18Respuestas verificadas
Nota: preguntas de repaso generadas a partir de la transcripción (../transcripciones/transcripcion-cierre-algebra-booleana.txt). Las respuestas se verificaron ejecutando el código (Python/JS) o por traza rigurosa (Java/R/booleanos).
Índice
Preguntas
1Repaso
Ejercicio 1: ¿qué mensajes se imprimen? function alerta(msg) { console.log("Alerta disparada: " + msg); return false; } let estado = 0; let conectado = true; if (estado == false) { console.log("insano"); if (estado === false) {...} else { if (!conectado || alerta("Servidor ocupado")) {...} else { if ("0" == 0 && "0" === 0) {...} else { console.log("Todo normal"); } } } }
Ainsano / Estado booleano estricto
Binsano / Alerta disparada: Servidor ocupado / Todo normal✓
CEstado inválido
Dinsano / Fallo de red / Caso especial
Respuesta correcta: B) insano / Alerta disparada: Servidor ocupado / Todo normal
Por qué: (0 == false) es true; (0 === false) es false por distinto tipo; !conectado es false así que alerta() sí se ejecuta; ("0" == 0) es true pero ("0" === 0) es false.
2Repaso
En el Ejercicio 1, ¿por qué NO se imprime "Estado booleano estricto"?
APorque estado no es igual a false
BPorque (estado === false) es false: 0 y false son de distinto tipo✓
CPorque el if externo es falso
DPorque console.log está mal escrito
Respuesta correcta: B) Porque (estado === false) es false: 0 y false son de distinto tipo
Por qué: == compara con conversión (0 == false es true); === exige mismo tipo y valor.
DComprobando limite con: 15 / Resultado final: Error tipo Juan
Respuesta correcta: C) Comprobando limite con: 15 / Resultado final: OK
Por qué: ("3" == 3) es False pero (not False) es True; ("3" != 3) es True; revisar(15) retorna True; ("3" == "3" and "3" != 3) es True.
4Repaso
Ejercicio 3 (x = "0", y = 0, bloqueo = False, intentos = 3): ¿cuántas divisiones entre cero se llegan a ejecutar?
AUna: 10 / y
BDos: 10 / y e intentos / 0
CNinguna: el cortocircuito y el condicional evitan todas✓
DTres, una por nivel
Respuesta correcta: C) Ninguna: el cortocircuito y el condicional evitan todas
Por qué: ("0" == 0) es False y evita 10/y; (y == 0) evita intentos/0; el ternario toma else True porque y != 0 es False. Salida: Acceso Nivel 1 Aprobado.
5Repaso
Ejercicio 4 (clave = "10"): ¿qué se imprime en el Ciclo 2?
AFin iteracion 1
BClave debil
CEjecutando paso 2 / Clave exacta✓
DCondicion de salida alcanzada
Respuesta correcta: C) Ejecutando paso 2 / Clave exacta
Por qué: ("10" == 10) es true, así que paso(2) se ejecuta; luego (clave === "10") es true. La salida completa termina con Condicion de salida alcanzada y Bucle terminado en el ciclo 3.
6Repaso
¿Cuánto vale la expresión ("0" == 0 && "0" === 0) en JavaScript?
Atrue, ambas comparaciones son verdaderas
Bfalse, porque ("0" === 0) es false✓
CLanza TypeError
Dundefined
Respuesta correcta: B) false, porque ("0" === 0) es false
Por qué: Con == hay conversión de tipos ("0" -> 0); con === el string nunca es idéntico al número.
7Repaso
Según el slide Actividad, ¿qué debe contener el informe?
ASolo álgebra booleana y ejemplos
BÁlgebra booleana, operadores lógicos, cortocircuito y estructuras de control (if-else-elseif), con ejemplos✓
CSolo estructuras de control
DOperadores lógicos y bucles while/for
Respuesta correcta: B) Álgebra booleana, operadores lógicos, cortocircuito y estructuras de control (if-else-elseif), con ejemplos
Por qué: Además pide consultar: false == 0?, False === 0?, false == "0", false == [].
8Repaso
En el Ejercicio 4, ¿por qué paso(1) SÍ se ejecuta en el ciclo 1?
APorque clave === 10 es true
BPorque (clave === 10) es false y el || necesita evaluar la derecha✓
CPorque paso siempre se ejecuta
DPorque el while lo llama directamente
Respuesta correcta: B) Porque (clave === 10) es false y el || necesita evaluar la derecha
Por qué: ("10" === 10) es false por tipos; en un || con izquierda falsa, la derecha se evalúa: cortocircuito.
9Repaso
Ejercicio 1: ¿qué retorna la función alerta y por qué importa?
ARetorna true, por eso se imprime Fallo de red
BRetorna false después de imprimir; por eso el || final da false y se va al else (Todo normal)✓
CNo retorna nada
DRetorna el mensaje
Respuesta correcta: B) Retorna false después de imprimir; por eso el || final da false y se va al else (Todo normal)
Por qué: El efecto lateral (imprimir) ocurre aunque el valor retornado sea false.
10Repaso
Ejercicio 2: ¿por qué SÍ se ejecuta revisar(15)?
APorque baneo es True
BPorque baneo es False y en un or con izquierda falsa se evalúa la derecha✓
CPorque intentos es número
DPorque el if no tiene else
Respuesta correcta: B) Porque baneo es False y en un or con izquierda falsa se evalúa la derecha
Por qué: Al revés que en el Ejercicio 1 del Bloque 01 de PII: aquí la izquierda NO cortocircuita.
11Repaso
Ejercicio 3: ¿cuál es la ÚNICA línea que se imprime en toda la ejecución?
AFallo en Nivel 1
BAcceso Denegado
CAcceso Nivel 1 Aprobado✓
DFallo en Nivel 3
Respuesta correcta: C) Acceso Nivel 1 Aprobado
Por qué: Todos los niveles se superan y ninguna función con división llega a ejecutarse.