13.01.2013 Views

La Sezione Aurea

La Sezione Aurea

La Sezione Aurea

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!