to achtung
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Fibonacci-Folge
;;; für MSWLogo
;;; Wolfgang.Urban@schule.at
;;; automatische float-Rechnung!
;;;
;;; Aufruf z.B. pr fibo1(10)
;;; oder pr fibo4(10,1,1)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
end
to fibo1 :n
ifelse :n < 3 [op 1] ~
[op (fibo1 :n - 1) + (fibo1 :n - 2)]
end
to fibo1a :n
if :n < 3 [op 1]
op (fibo1a :n - 1) + (fibo1a :n - 2)
end
to fibo2 :n
; ev. make "fiboliste []
if (not emptyp gprop "fiboliste :n) [op gprop "fiboliste :n]
if :n <3 [op 1]
pprop "fiboliste :n (fibo2 :n - 1)+(fibo2 :n - 2)
op gprop "fiboliste :n
end
to fibo3 :n
if :n < 3 [op 1]
local "a
local "b
local "neu
make "a 1
make "b 1
repeat :n - 2 [make "neu :a + :b make "a :b make "b :neu]
op :neu
end
to fibo4 :n :a :b
if :n = 1 [op :a]
if :n = 1 [op :b]
op fibo4 :n - 1 :b :a + :b
end
to fibo :n
op fibo4 :n 1 1
end