Files
Tampiorama/examples/program/kasvutaulukko.itp
T

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>".