# Kasvutaulukko — Growth Comparison # # Combines recursive methods, list iteration, and a click handler # in a single program. # # Page load: computes factorial and Fibonacci for n = 1..7 by # iterating the same lista twice — once with kertoma, once with kani. # # Button: prompts for any n, then shows its factorial and Fibonacci # as two sequential alerts. # # Concepts in use: # kertoma — recursive factorial (from basics/factorial.itp) # kani — recursive Fibonacci (from basics/fibonacci.itp) # lista — built-in list type (from data-structures/lista.itp) # jokainen alkio — forEach iterator (from data-structures/lista.itp) # käyköön niin, että — click handler (from async/nappi.itp) # --- Recursive definitions --- Pienen luvun kertoma on riippuen siitä, onko se pienempi tai yhtä suuri kuin yksi, joko yksi tai pieni luku kerrottuna pienen luvun edeltäjän kertomalla. Luvun edeltäjä on se vähennettynä yhdellä. Pienen luvun kani on riippuen siitä, onko se pienempi tai yhtä suuri kuin yksi, joko pieni luku tai pienen luvun edeltäjän kani lisättynä pienen luvun edeltäjän edeltäjän kaniin. # --- Data --- # n = 1 .. 7 Olkoon kiva lista uusi lista, jonka alkioita ovat yksi, kaksi, kolme, neljä, viisi, kuusi ja seitsemän eikä muuta. # Mutable variable for the interactive prompt Olkoon pieni muuttuja uusi muuttuja, jonka arvo on nolla. # --- Page --- Kun nykyinen sivu avautuu, nykyinen sivu näyttää tekstin "

Kertoma (n!)

", nykyinen sivu näyttää kivan listan jokaisen alkion kertoman, nykyinen sivu näyttää tekstin "

Fibonacci-kani (fib(n))

", nykyinen sivu näyttää kivan listan jokaisen alkion kanin, nykyinen sivu näyttää tekstin "

", nykyinen sivu etsii elementin nimellä "output" tuloksenaan kiva alue, kivalle alueelle kirjoitetaan koodi "

Kokeile itse

", nykyinen sivu etsii elementin nimellä "laske" tuloksenaan nätti nappi ja nättiä nappia painettaessa käyköön niin, että pieneen muuttujaan luetaan luku, pienen muuttujan arvon kertoma näytetään käyttäjälle ja pienen muuttujan arvon kani näytetään käyttäjälle.