Академический Документы
Профессиональный Документы
Культура Документы
INTEGRANTES:
PAULO CSAR VALDEZ
AGUILAR ERICK DANIEL
QUISPE HUARI ROBERTO
KENJI UEDA RODRIGUEZ
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS| FACULTAD DE INGENIERIA
DE SISTEMAS
DEDICATORIA
INDICE
INTRODUCCIN
LOGICA DE HOARE
Es una extensin de la lgica de predicados de primer orden para razonar
sobre la correccin de programas imperativos construidos sobre una
signatura (S, ). Esta extensin se obtiene introduciendo un lenguaje de
comandos con el que se construyen los programas y una relacin especial
para expresar el comportamiento de un programa, asi como un conjunto de
reglas de clculo para la manipulacin de las expresiones de
comportamiento.
Basada en la idea de diagrama de flujo anotado.
Notacin: {P}S{Q}
reflejar
dicha
CONCEPTO DE CORRECCIN
En este concepto se debe de distinguir dos clases de correccin:
Si {P}C{Q} es un cdigo con la precondicin {P} y la postcondicin {Q},
entonces {P}C{Q} es correcto si cada estado inicial posible que
satisfaga {P} da como resultado un estado final que satisface {Q}.
CORRECCIN PARCIAL:
En un programa real, aparecen declaraciones de tipo y
declaraciones de variables as como implementaciones de
funciones (pueden ser implementaciones incorporadas al sistema
o hechas por el usuario) que determinan la signatura del
programa, adems el segundo argumento de un comando de
asignacin puede ser cualquier expresin del correspondiente tipo
s construida con constantes y funciones implementadas, y el
primer argumento de un comando de seleccin o de iteracin
puede ser cualquier expresin del tipo BOOL. En nuestros
programas, aunque no vamos a considerar declaraciones de tipo
ni de variables, supondremos que existe una declaracin de
signatura donde aparecen los tipos y las constantes y funciones
necesarias con propiedades conocidas, as como una asignacin
de tipo a cada variable de programa.
Se dice que {P}C{Q} es parcialmente correcto si el estado final de
C, cuando termina el programa (aunque no se le exige esta
premisa), satisface {Q} siempre que el estado inicial satisface
{P}.
EJEMPLO
Probar la correccin del siguiente algoritmo respecto de su
especificacin:
P {x > 1}
xx+1
Q {x > 2}
sp(x x + 1, x > 1)
(y) x = (x + 1)[x : y] (x > 1)[x : y]
(y) x = y + 1 y > 1
x>2
CORRECCIN TOTAL:
CALCULO DE HOARE
Este clculo se utiliza para la correccin de programas de manera parcial,
se recurre a la ampliacin del clculo para la deduccin natural apto para
tratar slo con frmulas del clculo de predicados de primer orden
incorporando un conjunto de reglas para la deduccin de la validez de
frmulas de correccin parcial conocido como clculo de Hoare. Este clculo
consta de una regla general independiente de la estructura del programa
que aparece en la frmula de correccin, que refleja el significado de las
frmulas de correccin parcial, y una serie de reglas, una por cada
comando, ligadas a la estructura del programa. Con estas ltimas reglas se
intenta plasmar el efecto de cada comando del lenguaje de programacin,
por lo que constituyen una autentica semntica para dicho lenguaje
conocida como semntica axiomtica. La regla independiente es:
Regla de refinamiento:
` P P 0 ; ` {P 0}{Q0}; ` Q0 Q ` {P}{Q}
REGLAS
RELATIVAS
POSTCONDICIONES
LAS
PRECONDICIONES
semntica
del
programa
vaco
como
` {P{X/t}}X := t{P}
Cuando la sustitucin P{X/t} sea admisible y el clculo de la expresin t
termine. Este axioma refleja el hecho de que despus de ejecutar un
comando X := t, el valor de la variable X se iguala al valor de t, luego si
se quiere que la frmula P sea vlida despus de la asignacin, antes
debe ser vlida la misma frmula para t en lugar de X.
Esta regla nos dice que si P es una frmula que se mantiene cada vez
que se ejecuta el cuerpo del ciclo con las condiciones adicionales dadas
por B, entonces P se mantendr invariante para cualquier nmero de
repeticiones del ciclo y se cumplir al final junto con la condicin de
terminacin del ciclo.
A estas frmulas P se les llama invariantes del ciclo. La aplicacin de la
regla exige que se determine un invariante P conveniente para la
correccin que se quiera deducir.
CONCLUSIONES
BIBLIOGRAFIA