You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
end;<br />
end;<br />
writeln;<br />
textcolor(12);<br />
writeln('phi~= ',phi:0:15);<br />
<strong>La</strong> seconda procedura, radici, si rifà alla derivazione di φ tramite le radici nidificate<br />
1 + 1+<br />
1+<br />
1+<br />
1+<br />
...<br />
Viene sempre dichiarata la variabile locale phi e le viene assegnato il valore di innesco 0. Il ciclo<br />
for…to…do si ripeterà n volte (variabile passata per valore), tante quante sarà stato scelto nel main<br />
program (vedi più avanti); maggiore sarà n migliore sarà l’approssimazione di phi.<br />
(*fibonacci*)<br />
procedure fibonacci(n:integer);<br />
var fibo:array [1..50] of integer;<br />
phi:real;<br />
begin<br />
writeln('Sequenza di Fibonacci fino al ',n,'esimo elemento:');<br />
fibo[1]:=1; (*generazione e scrittura sequenza*)<br />
fibo[2]:=1;<br />
write(fibo[1],' ',fibo[2],' ');<br />
for i:=3 to n do<br />
begin<br />
fibo[i]:=fibo[i-1]+fibo[i-2];<br />
write(fibo[i],' ');<br />
end;<br />
writeln; writeln;<br />
write('Premi invio per calcolare phi dalla sequenza di Fibonacci...');<br />
readln;writeln;<br />
for i:=2 to n do (*approssimazione di phi*)<br />
begin<br />
phi:=fibo[i]/fibo[i-1];<br />
writeln(phi:0:15);<br />
end;<br />
writeln;<br />
textcolor(12);<br />
writeln('phi~= ',phi:0:15);<br />
end;<br />
<strong>La</strong> terza procedura, fibonacci, sfrutta il fatto che<br />
Fn+ 1 lim<br />
n→+∞ Fn<br />
Oltre alla variabile locale phi, viene dichiarata una variabile di tipo array, che ha il compito di<br />
contenere gli elementi della successione di Fibonacci.<br />
Prima viene generata e quindi scritta la sequenza di Fibonacci fino all’ennesimo elemento (con n<br />
scelto nel main program): dati i valori di innesco per i primi due elementi della sequenza, i<br />
successivi sono calcolati come somma dei due elementi precedenti. Il numero n di elementi dovrà<br />
comunque essere minore di 46, in quanto oltre tale limite i valori usciranno dal range del<br />
programma delle variabili di tipo integer. <strong>La</strong> seconda parte della procedura calcola i rapporti tra un<br />
elemento della successione e l’elemento ad esso precedente. Maggiore è il numero di elementi,<br />
migliore sarà l’approssimazione di φ.<br />
= ϕ<br />
20