Sie sind auf Seite 1von 8

Resultados de Quiz 1 - Semana 3 para Meza Mar nez

Rodrigo Andres

 Las respuestas correctas estarán disponibles del 4 jun en 23:59 al 5 jun en 23:59.

Calificación para este intento: 75 de 75


Presentado 4 jun en 20:17
Este intento tuvo una duración de 9 minutos.

7.5 / 7.5 ptos.


Pregunta 1

El siguiente programa es incorrecto con respecto a su especificación:


Variables Entrada: float x, y
Variable Salida: float z

{x-y>0}
z=0
z=z+x
z=z*z
z=z-y
{z > 0}

Usted debe mostrar que efectivamente el programa es incorrecto. ¿Qué


valores elegiría para las variables de entrada?

La combinación x = 2, y = 1

La combinación x = 0.6, y = 0.6

El programa es correcto! Se puede demostrar que lo es con la combinación


de valores x = 3, y = 2

La combinación x = 0.5, y = 0.4

La combinación x = 1, y = 3

7.5 / 7.5 ptos.


Pregunta 2
Se dice que un programa es correcto de acuerdo a su especificación si:

No tiene errores de sintáxis de acuerdo a la definición del lenguaje de


programación utilizado

No tiene errores de sintaxis y compila perfectamente.

Compila perfectamente de acuerdo a la plataforma escogida de desarrollo

Partiendo de cualquier estado de la precondición, después de las


instrucciónes, se cumple la postcondición.

Cumple la precondición y la postcondición durante todas las instrucciones del


programa.

7.5 / 7.5 ptos.


Pregunta 3

Usted tiene el siguiente programa en GCL:

{Pre: P}
S0
{Inv: R}
do B1 →if B2 then S1

else S2 fi

od
{Post: Q}
De los siguientes pasos, cuáles son necesarios para verificar que el
programa es correcto?

{P} S0 {R}

(P, ¬B1) → Q

{R, B1, B2} S1 {R}


{R, B1, ¬B2} S2 {R}

{P} S1 {R}

P → WP(Q, S1)

{R, ¬B1, ¬B2} → Q

{R, ¬B1} → Q

{R, B1, B2} S2 {R}

{R, ¬B1, B2} S1 {R}

{R, B1, ¬B2} S1 {R}

El ciclo do termina

7.5 / 7.5 ptos.


Pregunta 4

El siguiente programa es incorrecto con respecto a su especificación:


Variables Entrada: int a, b
Variable Salida: int c

{a > 0, b > 0, a mod 2 = b mod 2 }


c=0
c=c+a
c=c-b
{c > 0, c mod 2 = 0}

Usted debe mostrar que efectivamente el programa es incorrecto. ¿Qué


valores elegiría para las variables de entrada?

La combinación a = 10, b = 8

La combinación a = 10, b = 11

Cualquier combinación de valores en que b ≥ a, y que ambos sean pares o


ambos impares.
El programa es correcto! Se puede demostrar con la combinación a = 4, b = 2

La combinación a = 10, b = 12 ó la combinación a = 9, b = 7

Cualquier combinación de valores en que b ≥ a, y que la suma sea impar

Cualquier combinación de valores en que b ≥ a, y que uno de los dos sea


impar y el otro par

Cualquier combinación de valores en que a ≥ b, y que ambos sean pares o


ambos impares

7.5 / 7.5 ptos.


Pregunta 5

Los siguientes programas escritos en GCL tienen únicamente asignaciones.


Seleccione cuáles de ellos son correctos de acuerdo a su especificación. En
todos las variables a, b y c son enteras, la variable p es booleana.

A) {a > 0, b > 0} B) {a < 0, b > 0}


c := a + b c := a + b
{c > 0} {c > 0}
C) {a > 0, b < 0} D) {a < 0, b > 0}
c := a + b c := a + b
{c > 0} {c < 0}
E) {a < 0, b < 0} F) {a > 0, b < 0}
c := a + b c := a + b
{c < 0} {c < 0}

E)

D)

F)

A)
B)

C)

7.5 / 7.5 ptos.


Pregunta 6

De acuerdo al material del curso, la precondición de un programa es:

Una afirmación o condición que debe ser cierta antes de ejecutarse el


programa

Una serie de condiciones físicas y mentales que debe tener un programador a


la hora de escribir un código.

Un estado posterior a la ejecución del programa.

Un programa que valida que las entradas de otro programa sean válidas.

Una condición sin la cuál no se pueden escribir programas correctos.

Una pregunta que debe hacerse al iniciar a programar.

7.5 / 7.5 ptos.


Pregunta 7

Observe el siguiente programa:

{Pre Q: a = Fib(n) , b = Fib(n-1), n > 1}


k := a ;
a := ? ;
b := k ;
n:=n + 1
{Pos R: a = Fib(n) , b = Fib(n-1) }

¿Qué expresión reemplaza el símbolo '?' de manera que el programa es


correcto con respecto a su especificación? (No use espacios).
a+b

7.5 / 7.5 ptos.


Pregunta 8

Los siguientes programas escritos en GCL tienen únicamente asignaciones.


Seleccione cuáles de ellos son correctos de acuerdo a su especificación. En
todos las variables a, b y c son enteras, la variable p es booleana.

A) {b > a > 0} B) {b > a > 0}


c := a - b c := a - b
{c > 0} {c < 0}
C) {a > b > 0} D) {a > b > 0}
c := a - b c := a - b
{c > 0} {c < 0}
E) {a < b < 0} F) {a < b < 0}
c := a - b c := a - b
{c > 0} {c < 0}

E)

D)

C)

A)

F)

B)

7.5 / 7.5 ptos.


Pregunta 9

Observe el siguiente programa en GCL:

{P: n > 0, b[0..n-1] }


x := 1
k := 0
{R: k in [0,n], x = π
k−1

i=0
b[i] }
do ¬(k = n) → x := x·b[k]; k := k+1
od
{Q: x }
n−1
= Π b[i]
i=0

Usted quiere demostrar que al finalizar el ciclo, la postcondición Q se


cumple, cuáles de las siguientes hipótesis debe utilizar?

k−1
x = Π b[i]
i=0

k in [0,n]

k = n

x=1

n−1
x = Π b[i]
i=0

x := x·b[k]

k := k + 1

7.5 / 7.5 ptos.


Pregunta 10

Observe el siguiente programa en GCL:

{P: n > 0, b[0..n-1] }


x := 1
k := 0
{R: k in [0,n], x = Πk−1
i=0
b[i] }

do ¬(k = n) → x := x·b[k]; k := k+1


od
{Q: x }
n−1
= Π b[i]
i=0

Usted quiere demostrar que el predicado invariante R se mantiene, cuáles


de las siguientes hipótesis debe utilizar?
x := x·b[k]

(∃k ∈ [0, n] : b[k] = x)

k in [0,n]

k ≠ n

k=0

k−1
x = Π b[i]
i=0

k = n

n−1
x = Π b[i]
i=0

k := k + 1

Calificación de la evaluación: 75 de 75