Dywan Sierpińskiego jest fraktalem, który polega na wycięciu 9 razy mniejszego kwadratu z większego. Przykładowo rysujemy kwadrat, a następnie dzielimy go na 9 równych części i usuwamy środkową. Następnie te kroki należy powtórzyć dla każdego z kwadratów (prócz środkowego).
Przyjmuje się, że w przypadku rysowania dywanu Sierpińskiego stopnia 1 procedura narysuje jedynie obwódkę największego kwadratu.
Program rysuje dywan Sierpińskiego w sposób rekurencyjny. Procedura przyjmuje dwa parametry: :a - określa długość boku aktualnie rysowanego kwadratu oraz :deep - określa ile jeszcze razy funkcja ma być wykonana rekurencyjnie.
(2.) O ile dana iteracja ma być wywołana oraz jeśli jest sens rysować to: (3. - 7.) przesuń żółwia do rysowania środkowego kwadratu, (8.) narysuj go i (9. - 13.) wróć do pozycji początkowej. Następnie (14. - 19.) narysuj 8 brzeżnych kwadratów według większego kwadratu.
Bardzo ważne, aby pamiętać, że podczas rekurencyjnego wywołania należy: ustawić nowy parametr :a na połowę aktualnego oraz wskazać, że kolejna warstwa została narysowana przekazując :deep - 1.