free webpage counters
ETUSIVU materiaalit

18 Fibonacci


Fibonacci eli Leonardo Pisalainen (n. 1180-1240) oli keskiajan tunnetuimpia eurooppalaisia matemaatikkoja. Hän eli aikana, jolloin vielä yleisesti käytettiin roomalaisia numeroita. Fibonaccin isä oli kauppias, joka asui perheineen pitkään nykyisen Algerian alueella. Siellä Fibonacci tutustui matematiikkaan arabiopettajien johdolla. Hän oppi siellä mm. käyttämään meidän nykyistä intialais-arabilaista numeromerkkejämme. Fibonaccin kirja Liber Abaci ilmestyi vuonna 1202. Kirjassa esitettiin erilaisten laskutoimitusten ominaisuuksien lisäksi myös mittava määrä ongelmia. (Norlamo 1998)

Fibonacci tunnetaan nykyisin ehkä parhaiten sarjasta 1-1-2-3-5-8-13-21.., jossa jokainen uusi numero on kahden edeltävän numeron summa. Fibonacci oli kehittänyt tämän numerosarjan tutkiessaan luonnossa esiintyviä muotoja ja ilmiöitä. Numerosarja kulkee kuin lajien kehitys; uusi vastasyntynyt olento on kahden edellisen summa, mutta pitää sisällään kaikki sitä edeltäneet yksilöt. Sarjan geometrinen muoto on spiraali. (Anna-Kaisa Korhonen.) Toisaalta se ei ollut Fibonacci, joka antoi lukusarjalle oman nimensä vaan nimen ranskalainen matemaatikko Edouard Lucas (1842-1891). Lucas myös keski soveltaa Fibonaccin lukusarjaan moniin muihin yhteyksiin. (Knott.)

Kirjan Liber Abacin kolmannessa luvussa Fibonacci esittää ongelman, joka on kutakuinkin tällainen. Mies laittaa kaniparin tilaan, jota rajoittaa joka puolelta seinä. Kuinka monta paria kaniineja voidaan siitä yhdestä parista tuottaa, jos oletetaan että Kaniparit synnyttävät kahden kuukauden iästä lähtien kuukauden välein yhden kanitytön ja yhden kanipojan? (Leonardo Pisano Fibonacci)

Norlamo (1998) esittää ratkaisun em. ongelmaan seuraavasti. ”Ensimmäisen kuukauden alussa on F(1) = 1 kanipari, samoin toisen kuukauden alussa on F(2) = 1 kanipari. Kanipari synnyttää kolmannen kuukauden alussa uuden kaniparin, joten kanipareja on nyt F(3) = 2 kpl. Neljännen kuukauden alussa ensimmäinen kanipari synnyttää taas, joten kanipareja on nyt F(4) = 3. Viidennen kuukauden alussa sekä ensimmäinen että toinen kanipari synnyttävät uuden parin, joten F(5) = 5 jne. ” Seuraava kuva havainnolistaa kanien syntymistä.



Ohjelma Fibonaccin ongelmaan voisi olla tällainen.


<%
edellinen = 1
sitaedellinen = 0



montako = 2
ylaraja = 20
Response.write(sitaedellinen & "<BR>")
Response.write(edellinen & "<BR>")

DO WHILE montako < ylaraja
nykyinen = edellinen + sitaedellinen
Response.write(nykyinen & "<BR>")
sitaedellinen = edellinen
edellinen = nykyinen
montako = montako + 1
LOOP

%>


Sama For looppina


<%
edellinen = 1
sitaedellinen = 0



Response.write(sitaedellinen & "<BR>")
Response.write(edellinen & "<BR>")

For montako=1 to 200
nykyinen = edellinen + sitaedellinen
Response.write(nykyinen & "<BR>")
sitaedellinen = edellinen
edellinen = nykyinen
next

%>


Siis toimi kuten tämä.
Suhdeluvun saa laskettua näin

<%
edellinen = 1
sitaedellinen = 0



Response.write(sitaedellinen & "<BR>")
Response.write(edellinen & "<BR>")

For montako=1 to 500
nykyinen = edellinen + sitaedellinen
suhde=nykyinen/edellinen
Response.write(nykyinen & " ")
Response.write(suhde & "<BR>")
sitaedellinen = edellinen
edellinen = nykyinen
next

%>


Siis toimii kuten tämä.