Está en la página 1de 11

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

Quiz 1 - Semana 3

Fecha de entrega 2 de jun en 23:55 Puntos 75 Preguntas 10


Disponible 30 de mayo en 0:00 - 2 de jun en 23:55 4 días Límite de tiempo 90 minutos
Intentos permitidos 2

Instrucciones

https://poli.instructure.com/courses/13149/quizzes/46725 1/11
2/6/2020 Quiz 1 - Semana 3: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

Historial de intentos

Intento Hora Puntaje


MANTENER Intento 2 13 minutos 53 de 75

MÁS RECIENTE Intento 2 13 minutos 53 de 75

https://poli.instructure.com/courses/13149/quizzes/46725 2/11
2/6/2020 Quiz 1 - Semana 3: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

Intento Hora Puntaje


Intento 1 52 minutos 32.5 de 75

 Las respuestas correctas estarán disponibles del 3 de jun en 23:55 al 4 de jun en 23:55.

Puntaje para este intento: 53 de 75


Entregado el 2 de jun en 22:40
Este intento tuvo una duración de 13 minutos.

Pregunta 1 7.5 / 7.5 pts

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}

D)

C)

B)

A)

F)

https://poli.instructure.com/courses/13149/quizzes/46725 3/11
2/6/2020 Quiz 1 - Semana 3: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

E)

Pregunta 2 7.5 / 7.5 pts

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

Parcial Pregunta 3 2.5 / 7.5 pts

Observe el siguiente programa en GCL:

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


x := 1
k := 0
{R: k in [0,n], }
do ¬(k = n) → x := x·b[k]; k := k+1
od
{Q: }

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

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

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

k in [0,n]

x=1

k := k + 1

x := x·b[k]

Parcial Pregunta 4 2.5 / 7.5 pts

Observe el siguiente programa en GCL:

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


x := 1
k := 0
{R: k in [0,n], }
do ¬(k = n) → x := x·b[k]; k := k+1
od
{Q: }

Usted quiere demostrar que el predicado invariante R se mantiene,


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

https://poli.instructure.com/courses/13149/quizzes/46725 5/11
2/6/2020 Quiz 1 - Semana 3: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

k=0

k := k + 1

k in [0,n]

x := x·b[k]

Pregunta 5 7.5 / 7.5 pts

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

Un estado anterior a la ejecución del programa.

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


programador a la hora de escribir un código.

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


programa

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

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

https://poli.instructure.com/courses/13149/quizzes/46725 6/11
2/6/2020 Quiz 1 - Semana 3: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

Una pregunta que debe hacerse al iniciar a programar.

Parcial Pregunta 6 3 / 7.5 pts

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} S1 {R}

{R, B1, B2} S1 {R}

{R, ¬B1, ¬B2} Q

El ciclo do termina

{R, ¬B1} Q

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

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

{R, B1, B2} S2 {R}

{P} S0 {R}

P WP(Q, S1)
https://poli.instructure.com/courses/13149/quizzes/46725 7/11
2/6/2020 Quiz 1 - Semana 3: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

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

(P, ¬B1) Q

Incorrecto Pregunta 7 0 / 7.5 pts

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

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


=2

La combinación a = 10, b = 8

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

https://poli.instructure.com/courses/13149/quizzes/46725 8/11
2/6/2020 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

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 no es correcto, con estos valores sólo se demuestra


que para esos valores funciona.

Pregunta 8 7.5 / 7.5 pts

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

Una pregunta que debe hacerse al iniciar a programar.

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


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.

Un estado posterior a la ejecución del programa.

https://poli.instructure.com/courses/13149/quizzes/46725 9/11
2/6/2020 Quiz 1 - Semana 3: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

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


programador a la hora de escribir un código.

Pregunta 9 7.5 / 7.5 pts

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

La combinación x = 0.5, y = 0.4

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

https://poli.instructure.com/courses/13149/quizzes/46725 10/11
2/6/2020 Quiz 1 - Semana 3: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

Pregunta 10 7.5 / 7.5 pts

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}

A)

C)

E)

D)

F)

B)

Puntaje del examen: 53 de 75

https://poli.instructure.com/courses/13149/quizzes/46725 11/11

También podría gustarte