{ File: sol2-1.pas }

procedure Esercizio1 (lis1, lis2:TipoLista; var ris: TipoLista);

  procedure InserisciTestaLista (var lis : TipoLista; e: TipoElemLista);

  var
    paux : TipoLista;

  begin { InserisciTestaLista }
    new(paux);
    paux^.info := e;
    paux^.next := lis;
    lis := paux;
  end; { InserisciTestaLista }


begin  { Esercizio1 }
  ris := NIL;
  while lis1 <> NIL do
  begin
    if EsisteInLista(lis2, lis1^.info) then
      InserisciTestaLista(ris, lis1^.info);
    lis1 := lis1^.next
  end
end; { Esercizio1 }