iniciar-programa
    define-nueva-instruccion gira(n) como inicio
       repetir n veces
          gira-izquierda;
    fin;
    define-nueva-instruccion norte como inicio
       mientras no-orientado-al-norte hacer
          gira(1);
    fin;
    define-nueva-instruccion este como inicio
       mientras no-orientado-al-este hacer
          gira(1);
    fin;
    define-nueva-instruccion sur como inicio
       mientras no-orientado-al-sur hacer
          gira(1);
    fin;
    define-nueva-instruccion oeste como inicio
       mientras no-orientado-al-oeste hacer
          gira(1);
    fin;
    define-nueva-instruccion pasa como inicio
        si frente-libre entonces inicio
           avanza;
        fin
        sino inicio
           si orientado-al-oeste entonces inicio
              norte;
              mientras frente-libre y izquierda-bloqueada hacer
                 avanza;
              si izquierda-libre entonces inicio
                 oeste;
                 avanza;
                 sur;
                 mientras frente-libre hacer
                    avanza;
                 oeste;
              fin
              sino inicio
                 sur;
                 mientras frente-libre hacer
                    avanza;
                 norte;
              fin;
           fin
           sino inicio
              norte;
              mientras frente-libre y derecha-bloqueada hacer
                 avanza;
              si derecha-libre entonces inicio
                 este;
                 avanza;
                 sur;
                 mientras frente-libre hacer
                    avanza;
                 este;
              fin
              sino inicio
                 sur;
                 mientras frente-libre hacer
                    avanza;
                 norte;
              fin;
           fin;
        fin;
    fin;
    define-nueva-instruccion cuenta como inicio
       si no-orientado-al-norte entonces inicio
          pasa;
          si no-orientado-al-norte entonces inicio
             pasa;
             cuenta;
             pasa;
          fin
          sino inicio
            oeste;
          fin;
       fin
       sino inicio
          oeste;
       fin;
    fin;
    inicia-ejecucion
        este;
        cuenta;
        apagate;
    termina-ejecucion
finalizar-programa