programación

¿Qué significa especificar?

El primer paso en la construcción de algoritmos consiste en saber claramente qué es lo que queremos resolver, es decir, cuál es el problema que tenemos que solucionar.

Especificar: consiste en dar la información necesaria y suficiente para definir el problema que hay que resolver de la manera más clara, concisa y no ambigua posible.

Por lo tanto:

  • la especificación nos dice cuál es el problema que tenemos que resolver.
  • el algoritmo nos dice cómo resolvemos el problema.

En la especificación haremos una descripción de:

  • el estado inicial en que se encuentra el entorno y del cual partiremos (pre-condición).
  • el estado final del entorno al que debemos llegar para resolver el problema (post-condición).

Siguiendo el ejemplo de la lavadora, podríamos tener la siguiente pre-condición:

{Pre: la ropa está dentro de la lavadora y la lavadora está conectada al suministro de luz y de agua. Además el cajón destinado al jabón, está lleno de jabón}

Y podríamos tener una post-condición así:

{Post: la ropa que estaba dentro de la lavadora, continúa adentro, pero ahora está limpia}

Elementos de la especificación:

  1. declaración de variables.
  2. pre-condición
  3. nombre del algoritmo
  4. post-condición

Ejemplo de especificación:

Queremos especificar un algoritmo que intercambie los valores de dos variables. Nuestro entorno, por lo tanto, está construido por dos variables. La especificación resulta así:

x, y : entero

{Pre: x = X e y = Y} *

intercambiar

{Post: x = Y e y = X}

*En la especificación utilizamos la X y la Y mayúscula para designar el valor de las variables: x ,y debido a que el valor de las variables puede cambiar cuando se ejecuta el algoritmo. Por convención, siempre utilizaremos como nombre del valor inicial de una variable el nombre de la misma variable en mayúscula.

La especificación es un paso previo y necesario para diseñar algoritmos. La especificación también nos puede servir para recordar claramente qué hace nuestro algoritmo sin la necesidad de leer todo el código. Además de la especificación es recomendable añadir comentarios dentro del algoritmo. Los comentarios y la pre y post-condición se ponen entre llaves. Los comentarios aunque no formen parte del algoritmo propiamente dicho son importantes para hacer más comprensibles los algoritmos.

Deja un comentario