You are on page 1of 3

Prctico N4: Verificacin Formal

Prctico N4: Verificacin Formal Ejercicio 1 Expresar mediante la lgica de predicados los siguientes enunciados: a. Todos los elementos del conjunto Q son impares b. El producto de los i primeros elementos (i n) del vector a definido entre 0 y n -1 es igual a p c. Las suma de elementos consecutivos del vector a de n componentes, empezando por el primero dan como resultado un numero par. Ejercicio 2 Formalizar los siguientes enunciados: a. E1: el conjunto de todos los naturales x mayores que el valor absoluto de un cierto entero y. b. E2: aquellos naturales x que no superan un cierto valor igual al factorial de otro natural y. c. E3: b es un valor booleano resultado bien de comparar x con y por igualdad, bien tal que el doble de y no supere al triple de x. d. E4: el conjunto de las parejas (x, y) de enteros tales que su suma es igual a otro entero z Ejercicio 3 Establecer el orden de implicacin entre los siguientes pares de predicados a. { P : x 0} , { Q : (x 0) (y 0 } b. { P : (x 0) (y 0) } , { Q : x + y ==0} c. { P: x < 0} , { Q: x2 + y2 ==9} d. { P: (x < 1) (x 0) } , {Q : x 1} Ejercicio 4

Sea un estado definido por las variables x, y, z y t , establecer ms dbil ( ) o ms fuerte ( ) entre los siguientes predicados. 1. a) { A: (x < y) ( z < t)} b) {B: (x y) ( z t) } c) {C: x y} d) {D: z t} e) {E : (x < y) ( z <t)} 2. a) {F : t == z} b) {G : x < y} c) {H : ( x < y) ( t == z)} d) {I : (x y) 3. a) {J : (x < y) (z y)} b) {K : x y} c) {L : z y} d) {M: (x > y) (z >y}) (t == z)}

Algoritmos y Resolucin de Problemas

Prctico N4: Verificacin Formal

Ejercicio 5 a. Hallar la precondicin ms dbil pmd de la siguiente asignacin: { pmd } z = z2 + 4 { Q : (z < 40) (z resto 2 !=0) (z )} b. Indicar cules de las siguientes precondiciones hacen que el algoritmo sea correcto y cuales no 1 {z<3} 2 {z==4} 3 {z>5} 4 {(z==5) (z==1)} Ejercicio 6 a. Determine las precondiciones ms dbiles que hacen parcialmente correctas las siguientes asignaciones: { pmd } n = 2 n {n 100} { pmd } n = n + 1 {n ==n + 1} b. Indicar en cada caso una precondicin que haga vlido el algoritmo y otra que no. Justifique. Ejercicio 7 a. Se desea calcular la precondicin ms dbil del siguiente fragmento de programa: { pmd } x = x+1 y = y+2 {x < y} b. Indicar una precondicin que haga que el l algoritmo no se correcto. Justifique Ejercicio 8 a. En cada uno de los siguientes casos, determinar la precondicin ms dbil pmd para que el programa sea correcto. Suponer que las variables x, y, z, q, r son de tipo entero, las variables i, j son de tipo natural y las variables a, b son de tipo lgico. { pmd } x = 8 {x == 8} { pmd } x = 8 {x == 7} { pmd } x = x + 2; y = y - 2 {x + y == 0} { pmd } x = x + 1; y = y - 1 {x * y == 0} b. En cada caso indique una precondicin para la cual el algoritmo sea vlido y otra para la cual que no lo sea. Justifique. Ejercicio 9 En cada uno de los siguientes casos, determinar si el algoritmo es correcto para la precondicin dada. Suponer que las variables x, y son de tipo entero. a. {x ==b} x = x + 1 {x>b} b. {x > 10} x = x - 10 {x==10} c. {x < 10} x = x2 {x>= 10} d. {x3 ==y} x = |x| {x>0}

Algoritmos y Resolucin de Problemas

Prctico N4: Verificacin Formal

Ejercicio 10 a. Dado el siguiente fragmento de cdigo, hallar la pmd: { pmd } si (z < 1) entonces z = z2 sino z = z + 2 finsi {Q: z > 0 } b. Indique una precondicin para la cual el algoritmo se correcto y otra que lo transforme en no vlido. Justifique. Ejercicio 11: a. Demuestre que el siguiente programa es correcto: {P: i == j - 1} si (i > j) entonces j = j+1 sino i = i+1 finsi {Q: i >= j } b. Indique una precondicin para que el algoritmo no sea vlido. Justifique. Ejercicio 12: Demuestre que los siguientes programas son correctos. En todos los casos las variables x, y son de tipo entero; a, b de tipo lgico. a. { } si (x 1) entonces x= x+1 sino x= x- 1 finsi { x!=1 } b. { } si (a b) entonces a= a sino b= b finsi {ab}

Algoritmos y Resolucin de Problemas

You might also like