"To iterate is human, to recurse is divine"

 

Ni début, ni fin (le chaos ; quoi...)

Le "titre" ci-dessus n'est, en fait, qu'un semblant de citation détournée de, au choix : "Ni Dieu, ni maître" ou, "Ni Marx, ni Jésus". Histoire de jouer avec Douglas Hofstadter (encore) et Daniel Dennett et leur(s) "Vues de l'esprit - Fantaisies et réflexions sur l'être et l'âme" - InterEditions, 1987. Même si l'index du livre n'indique rien à fractal ou théorie du chaos...

Pour illustrer ces pages, j'utiliserais la version de Jean-François Lucas du langage Logo, de ses programmes, de ceux de Georges NOEL, professeur de Seconde et Première C ; programmes inspirés de ses traveaux publiés par l'IREM (Institut de Recherche pour l'Enseignement des Mathématiques) de Bordeaux entre 1974 et 1977.

La 'notion' de récursivité est introduite et illustrée dans cette page avec les procédures EPELLE, EPELER ; en ce qui concerne les mots et les listes ; et le programme ARBRE pour l'aspect graphique. Donc, en tout illogisme, je commencerais, ici, par la fractale Arbre.

L'arbre

pour arbre :lon_branche :cap_ :x :y
teste :lon_branche > 3
sivrai
[
lc fpos (liste :x :y) bc
fcap (:cap_ - 120) + ((hasard 40) - 20)
fec :lon_branche/8
av :lon_branche
arbre ((:lon_branche * 8) / 18) cap abscisse ordonnée

lc fpos (liste :x :y) bc
fcap (:cap_ - 60) + ((hasard 40) - 20)
fec :lon_branche/8
av :lon_branche
arbre ((:lon_branche * 11) / 18) cap abscisse ordonnée

lc fpos (liste :x :y) bc
fcap (:cap_ ) + ((hasard 40) - 20)
fec :lon_branche/8
av :lon_branche
arbre ((:lon_branche * 11) / 18) cap abscisse ordonnée

lc fpos (liste :x :y) bc
fcap (:cap_ + 60) + ((hasard 40) - 20)
fec :lon_branche/8
av :lon_branche
arbre ((:lon_branche * 11) / 18) cap abscisse ordonnée

lc fpos (liste :x :y) bc
fcap (:cap_ + 120) + ((hasard 40) - 20)
fec :lon_branche/8
av :lon_branche
arbre ((:lon_branche * 8) / 18) cap abscisse ordonnée
]
fin

Et on demande : (ve, ct) fec 12 ligne 0 0 0 75 arbre 45 0 0 75 ;arbre noir/blanc

Ou, pour 'le même' en couleurs :

donne "LisCol [252 249 233 220 76 237] ;regardez bien l'image et voyez combien
;ce 'donne', traité dans les procédures, en liste, n'est pas inéléguant

pour arbre :lon_branche :cap_ :x :y :lis_col ;LisCol (lis couleur) ci-dessus et :lis_col sur
;cette ligne et ailleurs. Un peu comme ce :cap_ (blanc souligné). Non seulement JFL a sa
;manière d'écrire ses procédures (manière que refuse de respecter tout Editeur HTML
;sans obliger à alourdir la page de code, balises, supplémentaires), mais en plus, il a
;ses astuces. Est-ce à moi de vous les décrypter ?...

teste :lon_branche > 3
sivrai
[
lc fpos (liste :x :y) bc ;... Ces pages sont plus particulièrement réservées aux visiteurs ayant
;fait "le tour" de la section 'Papy Logo' de la NSC, aux connaisseurs du langage Logo, aux
;programmeurs, aux étudiants ; à toutes celles et tout ceux capables d'aller au-delà des simples
;copier/coller...

fcap (:cap_ - 120) + ((hasard 60) - 30)
fec :lon_branche/8
fcc prem :lis_col
av :lon_branche
arbre ((:lon_branche * 8) / 18) cap abscisse ordonnée sp :lis_col

lc fpos (liste :x :y) bc
fcap (:cap_ - 60) + ((hasard 60) - 30)
fec 1 + :lon_branche/8
fcc prem :lis_col
av :lon_branche
arbre ((:lon_branche * 11) / 18) cap abscisse ordonnée sp :lis_col

lc fpos (liste :x :y) bc
fcap (:cap_ ) + ((hasard 60) - 30)
fec 1 + :lon_branche/8
fcc prem :lis_col
av :lon_branche
arbre ((:lon_branche * 11) / 18) cap abscisse ordonnée sp :lis_col

lc fpos (liste :x :y) bc
fcap (:cap_ + 60) + ((hasard 60) - 30)
fec 1 + :lon_branche/8
fcc prem :lis_col
av :lon_branche
arbre ((:lon_branche * 11) / 18) cap abscisse ordonnée sp :lis_col

lc fpos (liste :x :y) bc
fcap (:cap_ + 120) + ((hasard 60) - 30)
fec 1 + :lon_branche/8
fcc prem :lis_col
av :lon_branche
arbre ((:lon_branche * 8) / 18) cap abscisse ordonnée sp :lis_col
]
fin

Et on demande : (ve, ct) fec 12 fcc 255 ligne 0 0 0 75 arbre 45 0 0 75 :LisCol ;arbre couleurs

 

 

 Fractals part 1

 Fractals part 3