Bergervei/Logo-Rekursionen
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Logo</language> <code id="600746c18b296"> to prod :a :b ifelse :b = 0 [op 0] [op :a + prod :a :b - 1] end </code> <run id="600746c18b435"> print prod 11 12 </run> <code id="600746c18b318"> to fak :n ifelse :n = 0 [op 1] [op :n * fak :n - 1] end </code> <run id="600746c18b489"> print fak 10 </run> <code id="600746c18b374"> to fibo :n ifelse :n = 1 [op 1] [ifelse :n = 2 [op 1] [op ((fibo :n - 1) + (fibo :n - 2))]] end to fibolist :n ifelse :n = 0 [op []] [op fput fibo :n fibolist :n - 1] end </code> <run id="600746c18b4db"> print fibolist 20 </run> <code id="600746c18b3ce"> to primtest :m :n ifelse :n = 1 [op "true] [ifelse (remainder :m :n) = 0 [op "false] [op primtest :m :n - 1]] end to prim :n ifelse :n = 1 [op "false] [op primtest :n :n - 1] end to primlist :n ifelse :n = 0 [op []] [ifelse (prim :n) = "true [op fput :n primlist :n - 1] [op primlist :n - 1]] end </code> <run id="600746c18b52c"> print primlist 100 </run>