Sunteți pe pagina 1din 10

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

Quiz 1 - Semana 3

Fecha límite 12 de nov en 23:55 Puntos 75 Preguntas 10


Disponible 9 de nov en 0:00-12 de nov en 23:55 4 días Tiempo límite 90 minutos
Intentos permitidos 2

Instrucciones

Volver a realizar la evaluación

Historial de intentos

Intento Tiempo Puntaje

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

Intento Tiempo Puntaje


ÚLTIMO Intento 1 20 minutos 73.5 de 75

Calificación para este intento: 73.5 de 75


Presentado 11 de nov en 19:29
Este intento tuvo una duración de 20 minutos.

Pregunta 1 7.5 / 7.5 ptos.

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

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


del programa.

¡Correcto!
Partiendo de cualquier estado de la precondición, después de las
instrucciónes, se cumple la postcondición.

No tiene errores de sintaxis y compila perfectamente.

Compila perfectamente de acuerdo a la plataforma escogida de desarrollo

Pregunta 2 7.5 / 7.5 ptos.

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

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

¡Correcto!
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.

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


programador a la hora de escribir un código.

Una pregunta que debe hacerse al iniciar a programar.

Un estado anterior a la ejecución del programa.

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

Pregunta 3 7.5 / 7.5 ptos.

Observe el siguiente programa en GCL:

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


x := 1
k := 0
k−1
{R: k in [0,n], x = π
i=0
b[i] }
do ¬(k = n) → x := x·b[k]; k := k+1
od
n−1
{Q: x = Π
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?

x=1

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

k := k + 1

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

¡Correcto!
k = n

¡Correcto! k−1
x = Π b[i]
i=0

x := x·b[k]

¡Correcto!
k in [0,n]

Pregunta 4 7.5 / 7.5 ptos.

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

Un estado posterior a la ejecución del programa.

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


programador a la hora de escribir un código.

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

Una pregunta que debe hacerse al iniciar a programar.

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

Pregunta 5 6 / 7.5 ptos.

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?

¡Correcto!
{P} S0 {R}

(P, ¬B1) → Q

{R, B1, B2} S2 {R}

espuesta correcta
{R, B1, B2} S1 {R}

¡Correcto!
El ciclo do termina

¡Correcto!
{R, ¬B1} → Q

¡Correcto!
{R, B1, ¬B2} S2 {R}

{P} S1 {R}

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

{R, ¬B1, ¬B2} → Q

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

P→ WP(Q, S1)

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

Pregunta 6 7.5 / 7.5 ptos.

Observe el siguiente programa en GCL:

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


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

Usted quiere demostrar que el predicado invariante R se mantiene,


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

¡Correcto! k−1
x = Π b[i]
i=0

¡Correcto! k in [0,n]

k=0

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

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

k := k + 1

¡Correcto!
k ≠ n

k = n

x := x·b[k]

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

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}

¡Correcto!
F)

¡Correcto!
B)

E)

A)

¡Correcto! C)

D)

Pregunta 8 7.5 / 7.5 ptos.

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

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

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

¡Correcto!
Cualquier combinación de valores en que b ≥ a, y que ambos sean pares
o ambos impares.

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


o ambos impares

La combinación a = 10, b = 11

La combinación a = 10, b = 8

https://poli.instructure.com/courses/10545/quizzes/38671 8/10
11/11/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 = 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 = 1, y = 3

La combinación x = 0.6, y = 0.6

¡Correcto!
La combinación x = 0.5, y = 0.4

Pregunta 10 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
https://poli.instructure.com/courses/10545/quizzes/38671 9/10
11/11/2019 Quiz 1 - Semana 3: RA/SEGUNDO BLOQUE-ANALISIS Y VERIFICACION DE ALGORITMOS-[GRUPO1]

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}

¡Correcto!
A)

D)

C)

F)

B)

¡Correcto! E)

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

https://poli.instructure.com/courses/10545/quizzes/38671 10/10

S-ar putea să vă placă și