Está en la página 1de 11

31/5/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
31/5/2020 Quiz 1 - Semana 3: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

Volver a realizar el examen

Historial de intentos

Intento Hora Puntaje

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

Intento Hora Puntaje


MÁS RECIENTE Intento 1 51 minutos 75 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: 75 de 75


Entregado el 31 de mayo en 10:39
Este intento tuvo una duración de 51 minutos.

Pregunta 1 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 serie de condiciones físicas y mentales que debe tener un


programador a la hora de escribir un código.

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.

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


programa

Pregunta 2 7.5 / 7.5 pts

https://poli.instructure.com/courses/13149/quizzes/46725 3/11
31/5/2020 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], }
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


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

k := k + 1

x=1

x := x·b[k]

k in [0,n]

Pregunta 3 7.5 / 7.5 pts

Observe el siguiente programa:

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


k := a ;
a := ? ;
https://poli.instructure.com/courses/13149/quizzes/46725 4/11
31/5/2020 Quiz 1 - Semana 3: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

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

Pregunta 4 7.5 / 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?

El ciclo do termina

P WP(Q, S1)

{P} S1 {R}

{P} S0 {R}

{R, ¬B1} Q

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

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

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

{R, ¬B1, ¬B2} Q

{R, B1, B2} S2 {R}

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

(P, ¬B1) Q

{R, B1, B2} S1 {R}

Pregunta 5 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}

A)

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

E)

B)

D)

F)

Pregunta 6 7.5 / 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?

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

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

La combinación a = 10, b = 8

https://poli.instructure.com/courses/13149/quizzes/46725 7/11
31/5/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 ambos sean pares


o ambos impares.

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

La combinación a = 10, b = 11

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


sea impar y el otro par

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

F)

D)

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

B)

C)

E)

A)

Pregunta 8 7.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?

k=0

k in [0,n]

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

x := x·b[k]

k := k + 1

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

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 = 0.6, y = 0.6

La combinación x = 1, y = 3

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

Pregunta 10 7.5 / 7.5 pts

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

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


instrucciónes, se cumple la postcondición.

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

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


instrucciones del programa.

Puntaje del examen: 75 de 75

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

También podría gustarte