prueba_cif.pas

{ COMIENZO DE DESCRIPCION

 Prueba implementaci\'on de listas de enteros por cursores
 para la versi\'on ``u_liscif'' con celda de encabezamiento
 y cursor al final. keywords: lista, cursores

FIN DE DESCRIPCION }
{-----+-----+-----+-----+-----+-----+-----+-----+-----+-----}
{ $Id: prueba_cif.pas 2002/04/04 17:40 mstorti Exp jdelia   $}

program prueba_cif ;

uses u_liscif ;

var
  L : liscif  ;
  p : posicion ;

{-----+-----+-----+-----+-----+-----+-----+-----+-----+-----}
begin

   INICIALIZA_NODOS (espacio);
   L.ANULA;

   p := L.PRIMERO ;
   L.INSERTA (4, p);
   L.INSERTA (3, p);
   L.INSERTA (2, p);
   L.INSERTA (1, p);
   L.IMPRIME ('Debe imprimir: 1 2 3 4');

   { Verifica que encuentra el `3' en la lista}
   p := L.LOCALIZA (3);
   if ( p = L.FIN ) then
     writeln ('Error: no encontro el 3 en la lista')
   else begin
     writeln ('Correcto: encontro el 3 en la lista')
   end ; {if}
      
   { Verifica que haya un `3' en la posicion encontrada }
   if (L.RECUPERA (p) <> 3) then
     writeln ('Error: no habia un 3 en la posicion')
   else begin
     writeln ('Correcto: habia un 3 en la posicion')
   end ; {if}
	 
   { Verifica que NO encuentra el 6 en la lista }
   p := L.LOCALIZA (6);
   if (p <> L.FIN) then
      writeln ('Error: encontro el 6 en la lista')
   else begin
      writeln ('Correcto: no encontro el 6 en la lista')
   end ; {if}
      
   writeln ('Suprime el 3');
   p := L.LOCALIZA (3);
   L.SUPRIME (p);
   L.IMPRIME ('Debe imprimir: 1 2 4');

   writeln ('Suprime el 4');
   p := L.LOCALIZA (4);
   L.SUPRIME (p);
   L.IMPRIME ('Debe imprimir: 1 2');

end.
{-----+-----+-----+-----+-----+-----+-----+-----+-----+-----}

Generated by GNU enscript 1.6.1.