una funzione è un sottoprogramma che a partire da uno o più valori presi in ingresso restituiscono un valore al programma chiamante (nota l'analogia con la funzione in matematica)
dichiarazione di una funzione
function nome_funzione (parametri formali:tipo):tipo;
(parte dichiarativa: variabile e cosa può essere utile)
begin
...
end;
i parametri formali sono quelle variabili che verranno "riempite" dai valori quando la funzione è chiamata dal programma principale.
esempio semplice semplice
function somma (a,b:integer):integer;
begin
somma:=a+b;
end;
la funzione somma due numeri interi: nel programma principale ci dovrà essere una chiamata del tipo risultato:=somma(5,6);
questo chiama la function cioè in a (parametro formale della funzione) va 5 e in b va 6, viene fatta la somma e il tutto va nella variabile risultato del programma principale.
la struttura di una funzione è simile alla struttura di un programma con la differenza che anzichè program troviamo function e, tra parentesi tonde, la lista dei parametri formali (se ci sono: possono esistere anche funzioni senza parametri formali cioè funzioni che non accettano in ingresso alcun valore, ma hanno solo il valore in uscita)