next up previous contents
Next: 9.2 Implementación Up: 9.1 Diseño Previous: 9.1.1 Descripción   Contents

9.1.2 Descripción formal

TDA
Cola.
Descripción:
El TDA Cola de caracteriza por que el primero en entrar es el primero en salir (PEPS) o FIFO (Last In Firts Out).
Invariante:
\( Cola=\left( elem,cab.col\right) \wedge elem=\left\langle elem_{0},elem_{1},el...
...i,0\leq i<n,elem_{i}\in TipoB\right) \wedge elem_{0}=cab\wedge elem_{n-1}=col \)
Operaciones:
 

Operación
Cola

Descripción:
Construlle una Cola nueva.
Descripción operacional:
\( Cola:\rightarrow Cola. \)
Precondición:
\( verdadero. \)
Poscondición:
\( cola\in Cola\bigwedge cola=\left( \left\langle \right\rangle ,,\right) . \)
Encabezado:
Cola::Cola();
Operación
adicionar

Descripción:
Adiciona un nuevo elemento a la Cola.
Descripción operacional:
\( adicionar:Cola\times TipoB\rightarrow Cola. \)
Precondición:
\( cola\in Cola\wedge cola=\left( \left\langle elem_{0},elem_{1},elem_{2},\ldots ,elem_{n-1}\right\rangle ,elem_{0},elem_{n-1}\right) \wedge nuevo\in TipoB \)
Poscondición:
\( cola=\left( \left\langle elem_{0},elem_{1},elem_{2},\ldots ,elem_{n-1},nuevo\right\rangle ,elem_{0},nuevo\right) \)
Encabezado:
void Cola::adicionar(TipoB elem);
Operación
retirar

Descripción:
Retira el primer elemento de la Cola.
Descripción operacional:
\( retirar:Cola\rightarrow Tipo. \)
Precondición:
\( cola\in Cola\wedge cola=\left( \left\langle elem_{0},elem_{1},elem_{2},\ldots ,elem_{n-1}\right\rangle ,elem_{0},elem_{n-1}\right) \)
Poscondición:
\( cola=\left( \left\langle elem_{1},elem_{2},\ldots ,elem_{n-1}\right\rangle ,elem_{1},elem_{n-1}\right) \wedge retirar=elem_{0} \)
Encabezado:
TipoB Cola::retirar();
Operación
estavacia

Descripción:
Dice si la Cola está vacia.
Descripción operacional:
\( estavacia:\: Cola\: \rightarrow \: Booleano \)
Precondición:
\( cola\in Cola. \)
Poscondición:
\( cola=\left\langle \right\rangle \Rightarrow estavacia=verdadero\vee cola\neq \left\langle \right\rangle \Rightarrow estavacia=falso. \)
Encabezado:
int Cola::estavacia();



Ing. L. Alejandro Bernal R. 2001-01-18
Free Web Hosting