Está en la página 1de 9

6/4/2019 Quiz 1 - Semana 3: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

Intento Tiempo Puntaje


ÚLTIMO Intento 1 12 minutos 72 de 75

 Las respuestas correctas estarán disponibles del 5 de jun en 0:00 al 5 de jun en 23:55.

Calificación para este intento: 72 de 75


Presentado 4 de jun en 7:58
Este intento tuvo una duración de 12 minutos.

Pregunta 1 7.5 / 7.5 ptos.

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

Un estado anterior a la ejecución del programa.

Una afirmación o condición que debe ser cierta después de ejecutarse el


programa

Un programa que valida que las salidas 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.

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


programador a la hora de escribir un código.

Parcial Pregunta 2 4.5 / 7.5 ptos.

Usted tiene el siguiente programa en GCL:

https://poli.instructure.com/courses/8200/quizzes/31551 3/11
6/4/2019 Quiz 1 - Semana 3: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

{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?

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

El ciclo do termina

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

{R, B1, B2} S1 {R}

{R, B1, B2} S2 {R}

{P} S1 {R}

P → WP(Q, S1)

{R, ¬B1, ¬B2} → Q

{P} S0 {R}

(P, ¬B1) → Q

{R, ¬B1} → Q

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

Pregunta 3 7.5 / 7.5 ptos.

https://poli.instructure.com/courses/8200/quizzes/31551 4/11
6/4/2019 Quiz 1 - Semana 3: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

Observe el siguiente programa en GCL:

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


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

i=0

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


od
{Q: x = Π n−1

i=0
b[i] }

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 = n

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

x := x·b[k]

x=1

k in [0,n]

k := k + 1

Pregunta 4 7.5 / 7.5 ptos.

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] }

https://poli.instructure.com/courses/8200/quizzes/31551 5/11
6/4/2019 Quiz 1 - Semana 3: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

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


od
{Q: x = Π n−1

i=0
b[i] }

Usted quiere demostrar que el predicado invariante R se mantiene,


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

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

k = n

k in [0,n]

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

k ≠ n

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

x := x·b[k]

k=0

k := k + 1

Pregunta 5 7.5 / 7.5 ptos.

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

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.

https://poli.instructure.com/courses/8200/quizzes/31551 6/11
6/4/2019 Quiz 1 - Semana 3: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

Una pregunta que debe hacerse al iniciar a programar.

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.

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


programa

Pregunta 6 7.5 / 7.5 ptos.

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 = 12 ó la combinación a = 9, b = 7

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


o ambos impares

https://poli.instructure.com/courses/8200/quizzes/31551 7/11
6/4/2019 Quiz 1 - Semana 3: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

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 b ≥ a, y que la suma sea impar

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


=2

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


o ambos impares.

La combinación a = 10, b = 11

Pregunta 7 7.5 / 7.5 ptos.

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}

https://poli.instructure.com/courses/8200/quizzes/31551 8/11
6/4/2019 Quiz 1 - Semana 3: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

E)

A)

B)

C)

F)

D)

Pregunta 8 7.5 / 7.5 ptos.

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

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


del programa.

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.

https://poli.instructure.com/courses/8200/quizzes/31551 9/11
6/4/2019 Quiz 1 - Semana 3: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

Pregunta 9 7.5 / 7.5 ptos.

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 = 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 = 2, y = 1

La combinación x = 0.5, y = 0.4

La combinación x = 1, y = 3

Pregunta 10 7.5 / 7.5 ptos.

Observe el siguiente programa:

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


k := a ;

https://poli.instructure.com/courses/8200/quizzes/31551 10/11
6/4/2019 Quiz 1 - Semana 3: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

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).

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

https://poli.instructure.com/courses/8200/quizzes/31551 11/11

También podría gustarte