13.1 Uzante rekursivecon

Konsideru spongon de Menger de ordo n kies latero mezuras L.

pict

La skemo montras bone ke tiu spongo konsistas efektive el 20 spongoj de Menger de ordo n− 1 havantaj ĉiuj lateron je L∕3. La rekursiva strukturo de la spongo evidentiĝas tiel.

La programo:

                                                                                                  
                                                                                                  
 # Ĉefa komando: spongo 3
 por kubo :l
 se :nombrilo = 10000 [tridimensie_vidigu]
 # Koloroj de la flankaj facoj
 lokp "koloroj [flavan violruĝan verdbluan bluan]
 # flankaj facoj
 ripetu 4 [skolp ekzek eron kmpt :koloroj kvadrato :l dn 90 an  :l mdn 90 dkn 90]
 # Sube
 skolp ruĝan malsupren 90 kvadrato :l supren 90
 av :l msn 90 skolp verdan kvadrato :l sn 90 man :l
 fino
 
 por kvadrato :c
 provizu "nombrilo :nombrilo + 1
 por_edro
 ripetu 4 [an :c dn 90]
 fino_edro
 fino
 
 # Spongo de Menger
 # p: profundeco de rekursiveco
 # l: longeco de la granda kubo
 por menger :l :p
 se :p=0 [kubo :l]
  [lokp "p :p-1
   lokp "l :l/3
   # antaŭa faco
   ripetu 3 [menger :l :p an :l] man 3*:l
   dn 90 an :l mdn 90
   menger :l :p an 2*:l menger :l :p man 2*:l
   dn 90 an :l mdn 90
   ripetu 3 [menger :l :p av :l] man 3*:l
   # dekstra flanko
   malsupren 90 an :l supren 90
   menger :l :p an 2*:l menger :l :p re 2*:l
   malsupren 90 an :l supren 90
   ripetu 3 [menger :l :p an :l] man 3*:l
   mdn 90 an :l dn 90
   menger :l :p an 2*:l menger :l :p man 2*:l
   mdn 90 an :l dn 90
   ripetu 3 [menger :l :p an :l] man 3*:l
   malsupren 90 man :l supren 90
   menger :l :p an 2*:l menger :l :p man 2*:l
   malsupren 90 man :l supren 90]
 fino
 
 por spongo :p
 ev tdk provizu "nombrilo 0 perspektive fkolp 0 menger 800 :p
 tajpu [Nombro de kvadratoj: ] s :nombrilo
 tridimensie_vidigu
 fino

Tiu programo konsistas el kvar proceduroj: