Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Proceso de Derivación
Proceso de Derivación
DERIVACIÓN
JESSICA PAOLA FRESNEDA QUEVEDO
DEFINICIÓN
1. El invariante I.
2. La condición B del ciclo.
3. Las sentencias de inicialización de variables, esto es las condiciones iniciales A 0.
{n ≥ 0} 1. La postcondición
fun raiz-entera(int n) return int r { I≡r≥0∧r2≤n
r ≥ 0 ∧ r 2 ≤ n < (r + 1)2} Condición del bucle: n ≥ (r + 1)2
4. Algo que decrezca y sea fácil de calcular puede ser: n − r, no es preciso que
haya más instrucciones en el cuerpo del bucle.
ALGORITMO RESULTANTE
PROCESO
• 4) Además se debe probar que el algoritmo termina. Para ello debemos buscar una
función de cota C que tome valores enteros. Esta función se construye a partir de una
expresión con todas o algunas de las variables que intervienen en la expresión de
la condición del bucle y que son modificadas en el cuerpo del bucle. La idea es que esa
expresión debe dar idea del número de iteraciones que quedan por realizar cada vez que
se ejecuta el ciclo, de forma que se cumpla que:
• - La función cota es mayor o igual que 0 cuando se cumple la condición B {I ^ B}=>
C≥0
• - La función cota decrece al ejecutar el cuerpo A del bucle. {I ^ B ^ C=T} A {C < T}