iniciar-programa
   define-nueva-instruccion mide como inicio
      si frente-libre entonces inicio
         avanza;
         mide;
         si no-junto-a-zumbador entonces
            deja-zumbador;
         avanza;
         si no-junto-a-zumbador entonces
            deja-zumbador;
      fin
      sino inicio
         repetir 3 veces
            gira-izquierda;
         avanza;
         repetir 3 veces
            gira-izquierda;
      fin;
   fin;
   define-nueva-instruccion alacran como inicio
      mientras no orientado-al-este hacer
         gira-izquierda;
      mientras no junto-a-zumbador y frente-libre hacer
         avanza;
      si junto-a-zumbador entonces inicio
         repetir 2 veces
            gira-izquierda;
      mientras frente-libre hacer
         avanza;
      repetir 2 veces
         gira-izquierda;
      si frente-libre entonces inicio
         mide;
      fin;
   fin;
      si izquierda-bloqueada y frente-bloqueado y orientado-al-este y no junto-a-zumbador entonces inicio
         repetir 3 veces
            gira-izquierda;
         avanza;
         gira-izquierda;
         si frente-libre entonces
            avanza;
      fin;
      si izquierda-bloqueada y frente-bloqueado y orientado-al-este y junto-a-zumbador entonces inicio
         repetir 3 veces
            gira-izquierda;
         avanza;
         deja-zumbador;
         gira-izquierda;
         avanza;
      fin;
      si no-orientado-al-este entonces inicio
         repetir 2 veces
            gira-izquierda;
         mientras junto-a-zumbador y frente-libre hacer
            avanza;
       fin;
      fin;
    inicia-ejecucion
       mientras frente-libre hacer
          avanza;
       repetir 2 veces
          gira-izquierda;
       avanza;
       gira-izquierda;
       mientras frente-libre hacer inicio
          mientras frente-libre y no orientado-al-norte hacer
             gira-izquierda;
             avanza;
             alacran;
       fin;
       si frente-bloqueado y izquierda-libre entonces inicio
          mientras no orientado-al-norte hacer
             gira-izquierda;
          mientras frente-libre hacer
             avanza;
          si junto-a-zumbador entonces inicio
             repetir 2 veces
                gira-izquierda;
             avanza;
             si no junto-a-zumbador entonces
                deja-zumbador;
          fin
          sino inicio
             apagate;
          fin;
       fin;
        apagate;
    termina-ejecucion
finalizar-programa