13.1 Uzante rekursivecon

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

PIC

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: