program scrivi_file(input,output); {dichiaramo un nuovo tipo: alunno,che è un record composto da due campi:cognome e nome} type alunno=record numero:[key(0,ascending)] integer; cognome:varying[20] of char; nome:varying[20] of char; end; var fil:varying[20] of char; f:file of alunno;{definiamo una variabile logica f che ci servirà per scrivere i dati nel file fisico} i:integer;{definiamo una variabile per il ciclo for} numer:integer; begin writeln("In quale file vuoi salvare i dati? Scrivilo di seguito con l''estensione"); readln(fil); open(f,fil,history:=unknown, organization:=indexed,access_method:=keyed);{assegnamo alla variabile f il file fisico} for i:=1 to 3 do begin writeln('Inserisci il numero corrispondente all''alunno da inserire'); readln(numer); findk(f,0,numer); if (not ufb(f)) then writeln('Il record esiste già') else f^.numero:=numer; writeln('inserisci il nome dell''alunno'); readln(f^.nome); writeln('inserisci il cognome dell''alunno'); readln(f^.cognome); put(f);{scriviamo i dati sul file fisico su disco} end; close(f);{chiudiamo il file fisico} end.