Tölvumál - 01.03.1989, Blaðsíða 12
Tölvumál Mars1989
"FIBO" < aðal
{
aðal ->
stef(;)
staðvær n
stofn
n: = lesa (;),
skrifa(;fibo(;n)),
stofnlok
)
;; innflutningur er tviundaraðgerð á einingar sem
;; táknuð er með aðgerðarstafnum '*'
*
;; itrun er einundaraðgerð á einingar sem
;; táknuð er með aðgerðarstafnum '!'
i
{
fibo ->
stef (;n)
stofn
ef n<=2 þá
skila 1,
annars
skila fibo(;n-l)+fibo(;n-2),
eflok,
stofnlok
)
*
"GRUNNUR"
innan samnefnds stefs sé kall á
sama stef, heldur þarf að beita
einingaraðgerðinni ítrun á eininguna
til að tengja þessa endurkvæmni. í
myndinni hér á eftir er þessari
tengingu lýst. í þessari mynd og
öðrum einingamyndum er eining
sýnd sem kassi þar sem innflutt stef
(stef sem kallað er á úr einingunni)
eru táknuð sem örvar neðan úr
kassanum, en útflutt stef (stef sem
einingin inniheldur) eru sýnd sem
örvar sem liggja ofan í kassann.
Takið eftir því að aðgerðimar <=, +
og - eru í Fjölni ósköp venjuleg stef.
ítrun
Myndin hér á eftir sýnir heildaryfir-
lit yfir allar þær tengingar milli
eininga sem gerðar eru þegar for-
ritið er þýtt. Flest Fjölnisforrit nota
eininguna GRUNNUR, enda inni-
heldur hún grunnaðgerðir forrit-
unarmálsins, svo sem reikniaðgerðir
og listavinnsluaðgerðir.
Foirit til að reikna út Fibonacci-rununa
Forritið að ofan reiknar út tölur í
Fibonacci-rununni. Fibonacci runan
er 1,1,2,3,5,... Hún er skilgreind
þannig að fyrstu tvær tölumar em 1
og seinni tölur em ávalt summa
talnanna tveggja á undan. í forritinu
er endurkvæmt stef notað til að
reikna n-tu Fibonacci-tölu.
í forritinu eru nokkrar einingar
tengdar saman. Tværþessara
eininga eru skrifaðar beint í
forritstextann, innan slaufusviga.
Einingin GRUNNUR er fengin úr
skrá á diski. í Fjölni er ekki
sjálfgefið að köllin á stefið fibo
a9al
lesa skrifa fibo
lesa skrifa <= - +
* f 1 <
GRUNNUR
12