Precondiciones: Condiciones que definen el estado antes de la
ejecución de un programa.
Postcondiciones: Condiciones que definen el estado después de la
ejecución de un programa.
DATOS DEL USUARIO
Precondicion:
Ingresar ID_usuario
Ingresar Nombre_usuario
Postcondicion
Se almacena ID_usuario en Historial_usuario
Se almacena Nombre_usuario en Historial_usuario
Se lee Nombre_usuario de Historial_usuario
Se lee ID_usuario de Historial_usuario
On 22 ene, 20:18, angel <agper...@gmail.com> wrote:
> Dé un ejemplo concreto de precondición y postcondición en algún
> proceso o situación de la vida real.
Precondiciones y postcondiciones
Con frecuencia un programador debe comunicar de
forma precisa qué logra una función, sin indicación
alguna de cómo la función hace su trabajo.
¿Puede usted pensar en una
situación dónde esto ocurriría?
Ejemplo
Usted es el jefe de un
equipo de programadores
y quiere que uno de sus
programadores escriba
una función para una
parte de un proyecto.
AQUI ESTÁN LOS
REQUERIMIENTOS PARA
UNA FUNCIÓN QUE
NECESITO QUE TÚ
ESCRIBAS
NO ME IMPORTA
QUE MÉTODO LA
FUNCIÓN USE, EN
TANTO ESTOS
REQUERIMIENTOS
SEAN SATISFECHOS.
Precondiciones y postcondiciones
Una forma de especificar tales requerimientos es con
un par de declaraciones acerca de la función.
La declaración precondición indica qué debe ser cierto
antes de que la función sea llamada.
La declaración postcondición indica qué debe ser
cierto cuando la función finaliza su trabajo.
Ejemplo
void write_sqrt( double x)
// Precondición: x >= 0.
// Postcondición: La raíz cuadrada de x ha
// sido escrita en la salida estándar.
Ejemplo
void write_sqrt( double x)
// Precondición: x >= 0.
// Postcondición: La raíz cuadrada de x ha
// sido escrita en la salida estándar.
La precondición y la
postcondición aparecen como
comentarios en su programa.
Ejemplo
void write_sqrt( double x)
// Precondición: x >= 0.
// Postcondición: La raíz cuadrada de x ha
// sido escrita en la salida estándar.
La precondición y la
postcondición aparecen como
comentarios en su programa.
Ë En este ejemplo, la precondición
requiere que
x >= 0
sea verdad independientemente
de dónde la función sea llamada.
Ejemplo
¿Cuáles de estas llamadas a
función cumplen con la
precondición?
write_sqrt( -10 );
write_sqrt( 0 );
write_sqrt( 5.6 );
Ejemplo
¿Cuáles de estas llamadas a
función cumplen con la
precondición?
write_sqrt( -10 );
write_sqrt( 0 );
write_sqrt( 5.6 );
Las segunda y tercera llamada están bien, ya
que el argumento es mayor o igual a cero.
Ejemplo
¿Cuáles de estas llamadas a
función cumplen con la
precondición?
write_sqrt( -10 );
write_sqrt( 0 );
write_sqrt( 5.6 );
Pero la primera viola la precondición, ya que
el argumento es menor que cero...
Ejemplo
void write_sqrt( double x)
// Precondición: x >= 0.
// Postcondición: La raíz cuadrada de x ha
// sido escrita en la salida estándar.
La precondición y la
postcondición aparecen como
comentarios en su programa.
La postcondición siempre indica
el trabajo que la función ha
realizado. En este caso, cuando
la función retorna, la raíz
cuadrada de x ha sido escrita.
Otro ejemplo
bool is_vowel( char letter )
// Precondición: letter es una letra en mayúscula o
// minúscula (en el rango 'A' ... 'Z' o 'a' ... 'z') .
// Postcondición: El valor retornado por la
// funcción es verdadero si letter es una vocal;
// de otra forma el valor retornado por la función
// es falso.
Las poscondiciones indican el estado final de las cosas después de que
el caso de uso termine exitosamente a través de cualquiera de sus
flujos. No son acciones del sistema sino resultados de acciones
-Tiene que cumplirse como requisito para ejecutar el método al que
está asociada.
-En general se pueden expresar varias fórmulas lógicas. La
Precondición es el AND de todas las formulas.
Ejemplo:
si (A>0 AND B> 0);
A*B=X;
Postcondición:
Tienen que cumplirse como garantía de lo que la función ha ejecutado.
Guardar X en Resultado.