Program vykresli hanojske veze (procedura Podklad). Nastavi vsetky portebne premena na default (akt, tah, fin). A v cykle vycitava klavesnicu. Ak stlaci 1 az 3 tak testuje ci nieje zdvihnuty kruzok (podmienka akt=0). Ak nieje vykona sa nasledovne - Zmaze sa kruzok (procedura Kruzok) - do premenej akt sa da velkost kruzku - vykresli kruzok ako zdvihnuty (za procedura Kruzok) - zavola sa procedura Dalsi tak ktora zvacsi o 1 premenu tah a vypise na obrazovku Ak je zdvihnuty kruzok znamena ze ho chce polozit a vtedy sa vykona nasledovne - otestuje sa ci je mozne kruzok polozit (funkcia Vyhovuje) - ak ano tak sa kruzok zapise do pola kruzkov (premena vez) - Vykresli sa takto polozeny kruzok (procedura Kruzok) - zavola sa procedura Dalsi tak ktora zvacsi o 1 premenu tah a vypise na obrazovku Nakoniec sa v until testuje ci uz presunul vsetky kruzky (funkcia Koniec). Ak su vsetky presunute alebo stlacil ESC program sa ukonci. Popis globalnych premenych - vez - pole 3x8 v ktorom su ulozene pozicie kruzkov - poc - uchovava pocet kruzkov - tah - je v nej pocet tahov - ch - znak na precitanie z klavesnice - poz - aktualna pozicia kruzku na stlpe - akt - sirka aktualneho kruzku - stl - cislo aktualneho stlpu - fin - ak je true znamena ze program konci