{ File: sommaN.pas } { Scopo: uso di una funzione; identificatore funzione non puo` essere usato in un'espressione per accedere al valore precedentemente assegnatogli } program SommaNnumeri; { legge n numeri da tastiera e ne stampa la somma } var quanti_numeri : integer; { quanti numeri vanno letti } function Somma (n : integer) : integer; var dato : integer; { numero letto di volta in volta } parziale : integer; { somma parziale degli interi letti fino ad un certo punto } i : integer; { indice del ciclo } begin parziale := 0; { prima di leggere il primo numero la somma parziale e` 0 } for i := 1 to n do begin write(i:2, ': '); readln(dato); parziale := parziale + dato { NON si puo' scrivere: Somma := Somma + dato } end; Somma := parziale end; { Somma } begin { SommaNnumeri } write('Quanti numeri vuoi inserire ? '); readln(quanti_numeri); writeln; writeln(Somma(quanti_numeri)) end. { SommaNnumeri }