On voit l'étape 0 : un segment de longueur l.
Pour obtenir l'étape 1, on divise ce segment de longueur l en trois et on
réalise la deuxième figure qui est composée de quatre segments de
longueur l /3 (le deuxiéme et troisiéme segments sont les côtés d'un
triangle équilatéral),
puis on recommence en transformant chacun de ces 4 segments en 4 segments....
et cela tant que l 10.
La troisiéme figure est alors koch1(90).
On tape :
//koch1(90) koch1(l):={ si (l<10) alors avance(l); sinon koch1(l/3);tourne_gauche(60); koch1(l/3);tourne_droite(120); koch1(l/3);tourne_gauche(60); koch1(l/3); fsi; };Ou on tape en utilisant un paramètre n représentant la profondeur (i.e. le nombre d'appels récursifs) :
//koch2(90,3) koch2(l,n):={ si (n==0) alors avance(l); sinon koch2(l/3,n-1);tourne_gauche(60); koch2(l/3,n-1);tourne_droite(120); koch2(l/3,n-1);tourne_gauche(60); koch2(l/3,n-1); fsi; };Les dessins des différentes étapes ont été obtenus en tapant :