Professional Documents
Culture Documents
Quiz - Escenario 3 - SEGUNDO BLOQUE-TEORICO - VIRTUAL - ANÁLISIS Y VERIFICACIÓN DE ALGORITMOS - (GRUPO B01)
Quiz - Escenario 3 - SEGUNDO BLOQUE-TEORICO - VIRTUAL - ANÁLISIS Y VERIFICACIÓN DE ALGORITMOS - (GRUPO B01)
Quiz - Escenario 3
Instrucciones
https://poli.instructure.com/courses/52528/quizzes/121321 1/9
28/5/23, 16:39 Quiz - Escenario 3: SEGUNDO BLOQUE-TEORICO - VIRTUAL/ANÁLISIS Y VERIFICACIÓN DE ALGORITMOS-[GRUPO B01]
Historial de intentos
Las respuestas correctas estarán disponibles del 30 de mayo en 23:55 al 31 de mayo en 23:55.
Pregunta 1 10 / 10 pts
{Pre Q: n = N /\ n >= 0}
program factorial
input: n:
var: f: , k:
f := 1
k := 1
{Inv P: ?}
{t = ?}
while k <= n
f := f * k
k := k + 1
return f
{Pos R: f = N!}
https://poli.instructure.com/courses/52528/quizzes/121321 2/9
28/5/23, 16:39 Quiz - Escenario 3: SEGUNDO BLOQUE-TEORICO - VIRTUAL/ANÁLISIS Y VERIFICACIÓN DE ALGORITMOS-[GRUPO B01]
1 <= k <= n /\ f = k!
program ejercicio
input: x, y: Z
var: q, r: Z
r, q := x, 0;
{Inv P: x = q * y + r 0 < r}
while r >= y do
S
return q, r
r, q := r - y, q + 1
skip
https://poli.instructure.com/courses/52528/quizzes/121321 3/9
28/5/23, 16:39 Quiz - Escenario 3: SEGUNDO BLOQUE-TEORICO - VIRTUAL/ANÁLISIS Y VERIFICACIÓN DE ALGORITMOS-[GRUPO B01]
r, q := r + 1, q - 1
r, q := r - 1, q + 1
r, q := r + y, q - 1
Pregunta 3 10 / 10 pts
program div_and_mod
input: a: , b:
var: q: , r:
q := 0
r := a
{Inv P: a = A /\ b = B /\ A = qB + r}
{t = r, T = 0}
while r >= b
q := q + 1
r := r - b
return q, r
https://poli.instructure.com/courses/52528/quizzes/121321 4/9
28/5/23, 16:39 Quiz - Escenario 3: SEGUNDO BLOQUE-TEORICO - VIRTUAL/ANÁLISIS Y VERIFICACIÓN DE ALGORITMOS-[GRUPO B01]
A partir del P y t propuestos, es posible demostrar que el programa no es
correcto.
No es posible demostrar la corrección del ciclo a partir del P y t propuestos
ya que P (aunque sí es invariante) no contiene toda la información
necesaria sobre el ciclo.
Es posible demostrar la corrección del ciclo a partir del P y t propuestos.
No es posible demostrar la corrección del ciclo ya que el t propuesto no es
una función cota del ciclo.
Pregunta 4 10 / 10 pts
{Pre Q: a = A /\ b = B /\ b >= 0}
program pow
input: a: , b:
var: p:
p := 1
{t = b, T = 0}
while b > 0
p := p * a
b := b - 1
return p
https://poli.instructure.com/courses/52528/quizzes/121321 5/9
28/5/23, 16:39 Quiz - Escenario 3: SEGUNDO BLOQUE-TEORICO - VIRTUAL/ANÁLISIS Y VERIFICACIÓN DE ALGORITMOS-[GRUPO B01]
{Pos R: p = }
{p = A /\ a = A /\ 0 <= b <= B /\ b > 0 /\ b = T} p := p*a; b:= b-1 {b < T}
{p = A /\ a = A /\ 0 <= b <= B /\ b > 0} p := p*a; b:= b-1 {p = A /\ a =
A /\ 0 <= b <= B}
{Pre Q: _________________________}
program mistery
input: a: , b:
a := 12
b := 10
return a, b
{Pos R: a = 12 /\ A = 12 /\ b = 10 /\ B = 10}
false
A = 12 /\ B = 10
https://poli.instructure.com/courses/52528/quizzes/121321 6/9
28/5/23, 16:39 Quiz - Escenario 3: SEGUNDO BLOQUE-TEORICO - VIRTUAL/ANÁLISIS Y VERIFICACIÓN DE ALGORITMOS-[GRUPO B01]
true
a = A /\ b = B
a = A /\ a = 12 /\ b = 10 /\ b = B
B)
C)
E)
A)
F)
D)
https://poli.instructure.com/courses/52528/quizzes/121321 7/9
28/5/23, 16:39 Quiz - Escenario 3: SEGUNDO BLOQUE-TEORICO - VIRTUAL/ANÁLISIS Y VERIFICACIÓN DE ALGORITMOS-[GRUPO B01]
program ejercicio
input: a, b: Z
var: c: Z
c := 0
c := c + a
c := c - b
return c
{Pos R: c > 0 c mod 2 = 0}
Cualquier combinación de valores en que b ≥ a, y que uno de los dos sea
impar y el otro par.
La combinación a = 10, b = 11
Cualquier combinación de valores en que a ≥ b, y que ambos sean pares
o ambos impares.
La combinación a = 10, b = 8
https://poli.instructure.com/courses/52528/quizzes/121321 8/9
28/5/23, 16:39 Quiz - Escenario 3: SEGUNDO BLOQUE-TEORICO - VIRTUAL/ANÁLISIS Y VERIFICACIÓN DE ALGORITMOS-[GRUPO B01]
El programa es correcto! Se puede demostrar con la combinación a = 4, b
=2
program mistery
input: a: , b:
a := a + b
b := ______________
return a, b
{Pos R: a = A + B b = A}
a+b
a-b
b
A
a
https://poli.instructure.com/courses/52528/quizzes/121321 9/9