Voici le programme pour TI 92 de J.M. Ferrard
:Prgm
:ClrDraw : FnOff : ClrGraph
:0 ®xmin : 238 ®xmax : 0 ®ymin : 102 ®ymax
:koch([ [0] [15] ] , [ [238] [15] ],n)
:EndPrgm
L'entier n, passé en argument, désigne le niveau de profondeur souhaité (n=0 pour ne tracer que le segment initial, n=1 pour la première génération, etc...). On voit que gokoch détermine une fenêtre pour laquelle une unité=un pixel (ainsi on est certain que l'échelle est la même horizontalement et verticalement). Ensuite gokoch transmet le segment horizontal initial, et le niveau de profondeur n, au sous-programme koch, qui fait tout le boulot. Voici ce sous-programme :
:koch(a,b,n)
:Prgm
:Local u,v
:If n<1 Then
: Line a[1,1] , a[2,1] , b[1,1] , b[2,1]
: Else
: (b-a)/3 ® u
: [[1, -Ö(3)][ Ö(3),1]]*u/2 ® v
: koch(a,a+u,n-1)
: koch(a+u,a+u+v,n-1)
: koch(a+u+v,a+2*u,n-1)
: koch(a+2*u,b,n-1)
:EndIf
:EndPrgm