iniciar-programa
    define-nueva-instruccion gira-derecha como inicio
        gira-izquierda;
        gira-izquierda;
        gira-izquierda;
    fin;
    define-nueva-instruccion media-vuelta como inicio
        gira-izquierda;
        gira-izquierda;
    fin;
    define-nueva-instruccion mira-al-norte como inicio
    mientras no-orientado-al-norte hacer inicio
           gira-izquierda;
        fin;
    fin;
    define-nueva-instruccion mira-al-este como inicio
    mientras no-orientado-al-este hacer inicio
           gira-izquierda;
        fin;
    fin;
    define-nueva-instruccion mira-al-sur como inicio
    mientras no-orientado-al-sur hacer inicio
           gira-izquierda;
        fin;
    fin;
    define-nueva-instruccion mira-al-oeste como inicio
    mientras no-orientado-al-oeste hacer inicio
           gira-izquierda;
        fin;
    fin;
    define-nueva-instruccion paso-atras como inicio
        media-vuelta;
        avanza;
        media-vuelta;
    fin;
define-nueva-instruccion final como
inicio
    mira-al-oeste;
    mientras frente-libre hacer avanza;
fin;
define-nueva-instruccion recorre como
inicio
   si orientado-al-sur entonces
   inicio
       mira-al-oeste;
       mientras frente-libre hacer avanza;
       mira-al-este;
       mientras derecha-bloqueada y frente-libre hacer avanza;
       si derecha-libre entonces
       inicio
           mira-al-sur;
           avanza;
           si derecha-bloqueada y izquierda-bloqueada entonces
           inicio
               recorre;
               deja-zumbador;
           fin
           sino recorre;
       fin
       sino
       inicio
           final;
       fin;

   fin;

fin;
inicia-ejecucion
  mira-al-oeste;
  mientras frente-libre hacer avanza;
  mira-al-este;
  mientras derecha-bloqueada y frente-libre hacer avanza;
  mira-al-sur;
  recorre;

        apagate;
    termina-ejecucion
finalizar-programa
