iniciar-programa
  define-nueva-instruccion kalle como inicio
  si orientado-al-oeste entonces inicio
  si frente-libre entonces repetir 2 veces avanza;
  si frente-bloqueado entonces repetir 2 veces gira-izquierda;
  kalle;
  si frente-libre entonces avanza;

  fin;

   fin;


    inicia-ejecucion
     gira-izquierda;
     mientras frente-libre hacer avanza;
     repetir 2 veces gira-izquierda;
     kalle;
     si orientado-al-este entonces deja-zumbador;
     mientras frente-libre hacer avanza;

       mientras frente-bloqueado hacer inicio
     repetir 3 veces gira-izquierda;
        si frente-libre entonces inicio
      avanza;

      fin sino inicio
       repetir 3 veces gira-izquierda;
       mientras izquierda-bloqueada y frente-libre hacer avanza;
         si izquierda-libre entonces inicio
       gira-izquierda;
       avanza;
      fin;
      fin;

       si izquierda-bloqueada entonces inicio
     repetir 3 veces gira-izquierda;
     fin sino inicio
     gira-izquierda;
     mientras frente-libre hacer avanza;
     repetir 2 veces gira-izquierda;
     fin;
     kalle;
     si orientado-al-este entonces deja-zumbador;
     mientras frente-libre hacer avanza;
     si frente-bloqueado y orientado-al-sur entonces apagate;
     fin;

        apagate;
    termina-ejecucion
finalizar-programa
