Practicum · Quiz de repaso R3

Ejercicios de práctica (PII)

Bloque 01: trazabilidad en Python, Java, JS y R. Bloque 02: álgebra abstracta + el del examen.

26Preguntas
4Opciones c/u
26Respuestas verificadas

Nota: preguntas de repaso generadas a partir de la transcripción (../transcripciones/transcripcion-ejercicios-PII.txt). Las respuestas se verificaron ejecutando el código (Python/JS) o por traza rigurosa (Java/R/booleanos).

Índice

Preguntas

1 Repaso

Bloque 01, Python (x = 0): if x != 0 and dividir(10, x) > 1: ... else: print("No"). ¿Qué se imprime?

  1. ADividiendo 10/0 y luego No
  2. BOk
  3. CSolo No (dividir jamás se llama)
  4. DError de división entre cero

Respuesta correcta: C) Solo No (dividir jamás se llama)

Por qué: (x != 0) es False y el and ya es False: cortocircuito evita la división entre cero.

2 Repaso

Bloque 01, Java E2 (a = -5): if (a > 0 || comprobar(a)) ... ¿Qué se imprime?

  1. AVerdadero
  2. BComprobando -5 / Falso
  3. CSolo Falso (comprobar no se llama)
  4. DComprobando -5 / Verdadero

Respuesta correcta: B) Comprobando -5 / Falso

Por qué: (a > 0) es false, así que el || evalúa comprobar(-5): imprime y retorna (-5 > 0) = false.

3 Repaso

Bloque 01, JavaScript (flag = true): if (flag || cuentaAtras()) ... ¿Qué se imprime?

  1. ACuenta atrás ejecutada / Entra
  2. BSolo Entra (cuentaAtras jamás se ejecuta)
  3. CNo entra
  4. DCuenta atrás ejecutada / No entra

Respuesta correcta: B) Solo Entra (cuentaAtras jamás se ejecuta)

Por qué: true en corto hace true el ||: la derecha se ignora por cortocircuito.

4 Repaso

Bloque 01, Python suma_uno: el if del slide termina en "...suma_uno(b) == 1)" SIN dos puntos. ¿Qué pasa al correrlo tal cual?

  1. AImprime Condición cumplida
  2. BImprime Condición fallida
  3. CSyntaxError: expected ':' (no corre)
  4. DLlama a suma_uno dos veces

Respuesta correcta: C) SyntaxError: expected ':' (no corre)

Por qué: Error del propio slide, verificado ejecutándolo. Con el : agregado daría: suma_uno(5) llamado / Condición cumplida.

5 Repaso

Suponiendo el ":" que falta en suma_uno (a = 5, b = 0): ¿cuántas veces se llama a suma_uno?

  1. ADos veces: suma_uno(5) y suma_uno(0)
  2. BUna vez: solo suma_uno(5)
  3. CCero veces
  4. DInfinitas veces

Respuesta correcta: B) Una vez: solo suma_uno(5)

Por qué: (a < 10 and suma_uno(5) > 5) ya es True (6 > 5) y el or evita evaluar (b == 0 and ...). Salida: suma_uno(5) llamado / Condición cumplida.

6 Repaso

Bloque 01, Java E6 (den = 0): if (den != 0 && divisionSegura(10, den) > 2) ... ¿Qué se imprime?

  1. AIntentando dividir / Mayor
  2. BIntentando dividir / Menor o error evitado
  3. CSolo Menor o error evitado (divisionSegura jamás se llama)
  4. DArithmeticException por dividir entre cero

Respuesta correcta: C) Solo Menor o error evitado (divisionSegura jamás se llama)

Por qué: (den != 0) es false y el && ya es false: cortocircuito evita la división entre cero.

7 Repaso

Bloque 01, R (y = 2): if (y == 0 || calcular(10, y) > 3) ... ¿Qué se imprime?

  1. ARechazado
  2. B[1] "Calculando 10 2" / [1] "Aceptado"
  3. CSolo Aceptado (calcular no se llama)
  4. DError porque || no existe en R

Respuesta correcta: B) [1] "Calculando 10 2" / [1] "Aceptado"

Por qué: (y == 0) es FALSE, así que se evalúa calcular(10, 2) = 5 > 3 = TRUE. En R, print antepone [1].

8 Repaso

Bloque 02, Set 1: ¿cuánto vale (false || !true) && (true ^ false)?

  1. AV
  2. BF
  3. CError de tipos
  4. DDepende del lenguaje

Respuesta correcta: B) F

Por qué: (false || false) = false; false && (lo que sea) = false.

9 Repaso

Bloque 02, Set 1: ¿cuánto vale xor(TRUE | FALSE, !TRUE & FALSE)?

  1. AF
  2. BV
  3. CError de sintaxis
  4. D0

Respuesta correcta: B) V

Por qué: xor(True, False) = True: el xor solo es verdadero con operandos diferentes.

10 Repaso

Bloque 02, Set 2: ¿cuánto vale xor(TRUE & !FALSE, FALSE | TRUE)?

  1. AV
  2. BF
  3. CError de sintaxis
  4. D1

Respuesta correcta: B) F

Por qué: xor(True, True) = False: el xor exige operandos diferentes.

11 Repaso

Bloque 02, Set 2: ¿cuánto vale (!false ^ true) && (true || false)?

  1. AF
  2. BV
  3. CError de tipos
  4. Dnull

Respuesta correcta: B) V

Por qué: (true ^ true) = true... cuidado: (!false ^ true) = (true ^ true) = true; (true || false) = true; true && true = true.

12 Repaso

[!] EL DEL EXAMEN: ¿cuánto vale (!(false || !true) && (true ^ false)) || (!(true && !false) ^ (false || !true))?

  1. AF
  2. BV
  3. CError de sintaxis
  4. DSe queda colgado

Respuesta correcta: B) V

Por qué: Grupo 1: !(false) && true = true. Grupo 2: !(true) ^ (false) = false. true || false = true.

13 Repaso

Bloque 01, Java E2: ¿con qué valor de a SÍ se imprimiría "Verdadero" (sin llamar a comprobar)?

  1. ACon a = -5
  2. BCon cualquier a > 0
  3. CCon a = 0
  4. DCon ningún valor

Respuesta correcta: B) Con cualquier a > 0

Por qué: Con (a > 0) = true, el || cortocircuita y comprobar ni se llama.

14 Repaso

Bloque 01, JS: ¿con qué valor de flag SÍ se ejecutaría cuentaAtras()?

  1. ACon flag = true
  2. BCon flag = false (el || necesitaría evaluar la derecha)
  3. CCon flag = 0
  4. DCon cualquier valor

Respuesta correcta: B) Con flag = false (el || necesitaría evaluar la derecha)

Por qué: Solo con izquierda falsa el || evalúa la derecha.

15 Repaso

Bloque 01, Java E6: ¿con qué valor de den SÍ se llamaría a divisionSegura?

  1. ACon den = 0
  2. BCon cualquier den distinto de 0
  3. CCon ningún valor, nunca se llama
  4. DSolo con den negativo

Respuesta correcta: B) Con cualquier den distinto de 0

Por qué: Con (den != 0) = true, el && evalúa la derecha.

16 Repaso

Bloque 01, R: ¿con qué valor de y se imprimiría "Rechazado"?

  1. ACon y = 0
  2. BCon y = 2
  3. CCon y = 4 (calcular da 2.5, que no es > 3)
  4. DCon ningún valor

Respuesta correcta: C) Con y = 4 (calcular da 2.5, que no es > 3)

Por qué: Con y = 0 el || cortocircuita a Aceptado; con y = 2 da 5 > 3 = Aceptado; con y = 4 da 2.5, cae al else.

17 Repaso

Bloque 02, Set 1: ¿cuánto vale (not False or True) != (False and (False and not True))?

  1. AF
  2. BV
  3. CError
  4. DNone

Respuesta correcta: B) V

Por qué: (True) != (False) = True.

18 Repaso

Bloque 02, Set 1: ¿cuánto vale (true && !false) || (false ^ true)?

  1. AF
  2. BV
  3. CError
  4. D0

Respuesta correcta: B) V

Por qué: (true) || (true) = true: con que un lado sea verdadero basta.

19 Repaso

Bloque 02, Set 2: ¿cuánto vale (!true && false) !== (!false || true)?

  1. AF
  2. BV
  3. CError
  4. Dundefined

Respuesta correcta: B) V

Por qué: (false) !== (true) = true: son diferentes.

20 Repaso

Bloque 02, Set 2: ¿cuánto vale (not True or False) ^ (True and not False)?

  1. AF
  2. BV
  3. CError
  4. DNone

Respuesta correcta: B) V

Por qué: (False) ^ (True) = True: el xor exige operandos diferentes.

21 Repaso

Bloque 02, Set 1: ¿cuánto vale (!false || true) !== (!true && false)?

  1. AF
  2. BV
  3. CError
  4. D0

Respuesta correcta: B) V

Por qué: (true) !== (false) = true: son estrictamente diferentes.

22 Repaso

Bloque 02, Set 1: ¿cuánto vale (False != True) and (not False or True)?

  1. AF
  2. BV
  3. CError
  4. DNone

Respuesta correcta: B) V

Por qué: (True) and (True) = True.

23 Repaso

Bloque 02, Set 2: ¿cuánto vale xor(!FALSE | TRUE, FALSE & !TRUE)?

  1. AF
  2. BV
  3. CError
  4. D1

Respuesta correcta: B) V

Por qué: xor(True, False) = True: operandos diferentes.

24 Repaso

Bloque 02, Set 2: ¿cuánto vale (true || !false) && (!true !== false)?

  1. AF
  2. BV
  3. CError
  4. Dundefined

Respuesta correcta: B) V

Por qué: (true) && (true) = true: ambos lados verdaderos.

25 Repaso

Bloque 01: si suma_uno(b) SÍ llegara a llamarse con b = 0, ¿qué imprimiría y retornaría?

  1. AImprimiría suma_uno(0) llamado y retornaría 1
  2. BImprimiría suma_uno(0) llamado y retornaría 0
  3. CNo imprimiría nada
  4. DDaría error

Respuesta correcta: A) Imprimiría suma_uno(0) llamado y retornaría 1

Por qué: Verificado ejecutándolo: print(f"suma_uno(0) llamado"), retorna 0 + 1 = 1. En el slide nunca se llama por el or.

26 Repaso

Bloque 01, Java E2: si a fuera 5, ¿qué imprimiría comprobar y qué saldría?

  1. AComprobando 5 / Verdadero (comprobar ni se llama por el ||)
  2. BComprobando 5 / Falso
  3. CVerdadero sin imprimir nada
  4. DComprobando -5 / Falso

Respuesta correcta: A) Comprobando 5 / Verdadero (comprobar ni se llama por el ||)

Por qué: Con (5 > 0) = true el || cortocircuita: comprobar no se ejecuta y entra directo al if. Variante hipotética del slide (ahí a = -5).