Este programa cria uma lista de N elementos cujo conteúdo é o quadrado da sua posição e a impressão inclui o sinal negativo.
Program Listas;
Uses Crt;
Type
prec = ^fred;
lista = prec;
fred = record
info: integer;
lig: prec;
End;
Var
L, p,q,r: lista;
N,i: 0..10;
Begin
ClrScr;
write('Dê o número de elementos da lista [1..10]:');
readln(N);
L := nil;
new(p);
p^.info := 1;
L := p;
For i := 2 to N do
Begin
new(p^.lig);
p := p^.lig;
p^.info := i*i;
End;
p^.lig := nil;
writeln('*** Impressão de sua lista ***');
p := L;
While (p <> nil) do
Begin
write(' - ',p^.info);
p := p^.lig;
End;
writeln;
writeln('*** Fim ***');
readln;
End.