PROGRAM zum_Schatz;   { Erklärung der Rekursion:  Programm strukturiert}         

{ ------------------------------     Programmkopf -----------------------------------------}

   PROCEDURE wende;
   BEGIN
     drehe_links;                            { Prozeduren markieren }
     drehe_links;
   END;
   PROCEDURE drehe_rechts;
   BEGIN
     drehe_links;
     wende;
   END;
    PROCEDURE gehe_um_die_Wand;
    BEGIN
         vor;
         IF NOT links_frei THEN gehe_um_die_Wand
         ELSE
         BEGIN
               drehe_links;
               vor;
               drehe_links;
         END;
         vor;
    END;
BEGIN                                                                              { Hauptprogramm }
   WHILE vorne_frei DO vor;
     drehe_rechts;
    gehe_um_die_Wand;
    drehe_links;
     WHILE NOT Platz_belegt DO vor;
     WHILE Platz_belegt DO nimm_auf;
END.