next up previous contents
Next: 6.2 Implementación Up: 6.1 Diseño Previous: 6.1.1 Descripción informal   Contents

6.1.2 Descripción formal

TDA
Conjunto

Descripción:
Un conjunto es una colleción de elementos del mismo tipo que no están repetidos.
Invariante:
\( Conjunto=\left\langle elem_{0},\cdots ,elem_{n-1}\right\rangle \wedge \left( ...
... \left( \forall ,0\leq j<n\wedge j\neq i,elem_{i}\neq elem_{j}\right) \right) \)
Operaciones:
 

Operación
Conjunto

Descripción:
Crea un conjunto vacio.
Descripción operacional:
\( \begin{array}{cccc}
Conjunto: & & \rightarrow & Conjunto
\end{array} \)
Precondición:
\( verdadero \)
Poscondición:
\( Conjunto=\left\langle \right\rangle \)
Encabezado:
Conjunto::Conjunto();
Operación
adic

Descripción:
Adiciona un elemento al conjunto.
Descripción operacional:
\( \begin{array}{cccc}
adic: & Conjunto\times TipoB & \rightarrow & Conjunto
\end{array} \)
Precondición:
\( conjunto=\left\langle elem_{0},\cdots ,elem_{n-1}\right\rangle \wedge nuevo\in TipoB \)
Poscondición:

\begin{eqnarray*}
\left( \left( \forall i,0\leq i<n,nuevo\neq elem_{i}\right) \r...
...eft\langle elem_{0},\cdots ,elem_{n-1}\right\rangle \right) & &
\end{eqnarray*}



Encabezado:
void Conjunto::adic(TipoB nuevo);
Operación
pertenece

Descripción:
Dice si el elemento está en el conjunto.
Descripción operacional:
\( \begin{array}{cccc}
pertenece: & Conjunto\times TipoB & \rightarrow & Booleano
\end{array} \)
Precondición:
\( el\in TipoB \)
Poscondición:
\( pertenece=\left( \exists elem\in conjunto,elem=el\right) \)
Encabezado:
int Conjunto::pertenece(TipoB el);
Operación
+

Descripción:
Une dos conjuntos en un tercero, este último tiene todos los elementos de los conjuntos originarios.
Descripción operacional:
\( \begin{array}{cccc}
+: & Conjunto\times Conjunto & \rightarrow & Conjunto
\end{array} \)
Precondición:
\( conjunto=\left\langle e_{0},\cdots ,e_{n-1}\right\rangle \wedge otro\in Conjunto\wedge otro=\left\langle o_{0},\cdots ,o_{n-1}\right\rangle \)
Poscondición:
\( +=\left\langle e_{0},\cdots ,e_{n-1},o_{0},\cdots ,o_{n-1}\right\rangle \)
Encabezado:
Conjunto Conjunto::operator +(Conjunto otro);
Operación
*

Descripción:
La intersección de dos conjuntos es otro conjunto que solo tiene los elementos comunes.
Descripción operacional:
\( \begin{array}{cccc}
*: & Conjunto\times Conjunto & \rightarrow & Conjunto
\end{array} \)
Precondición:
\( conjunto=\left\langle e_{0},\cdots ,e_{n-1}\right\rangle \wedge otro\in Conjunto\wedge otro=\left\langle o_{0},\cdots ,o_{n-1}\right\rangle \)
Poscondición:
\( *=\left\langle elem\vert\forall elem,elem\in conjunto\wedge elem\in otro\right\rangle \)
Encabezado:
Conjunto Conjunto::operator *(Conjunto otro);


next up previous contents
Next: 6.2 Implementación Up: 6.1 Diseño Previous: 6.1.1 Descripción informal   Contents
Ing. L. Alejandro Bernal R. 2001-01-18
Free Web Hosting