prueba_pif.pas
{ ppc386 -va -vh *.pas }
{ COMIENZO DE DESCRIPCION
Prueba implementaci\'on de listas de enteros por punteros,
para la versi\'on ``u_listpif'', es decir, con un puntero
a la celda final y mejor manejo de memoria, esto es, hace
los `dispose' correspondiente en ANULA y en SUPRIME.
keywords: lista, punteros
FIN DE DESCRIPCION }
{-----+-----+-----+-----+-----+-----+-----+-----+-----+-----}
{ $Id: prueba_pif v2 2002/04/04 17:40 mstorti Exp jdelia$ }
program prueba_pif ;
uses u_lispif ;
var
L : lispif ;
p : posicion ;
{-----+-----+-----+-----+-----+-----+-----+-----+-----+-----}
begin
writeln ;
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 hay 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.