46 lines
1.7 KiB
Plaintext
46 lines
1.7 KiB
Plaintext
# 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.
|
|
|
|
# --- Page ---
|
|
|
|
Kun nykyinen sivu avautuu,
|
|
nykyinen sivu näyttää tekstin "<h2>Kertoma (n!)</h2><p>",
|
|
nykyinen sivu näyttää kivan listan jokaisen alkion kertoman,
|
|
nykyinen sivu näyttää tekstin "</p><h2>Fibonacci-kani (fib(n))</h2><p>",
|
|
nykyinen sivu näyttää kivan listan jokaisen alkion kanin
|
|
ja nykyinen sivu näyttää tekstin "</p>".
|