iniciar-programa
define-nueva-instruccion derecha como inicio
gira-izquierda;
gira-izquierda;
gira-izquierda;
fin;
define-nueva-instruccion vuelta como inicio
gira-izquierda;
gira-izquierda;
fin;
define-nueva-instruccion busca-queso como inicio

mientras frente-libre y no junto-a-zumbador  hacer inicio
avanza;
fin;
   si derecha-libre entonces
derecha;
si frente-bloqueado y izquierda-bloqueada y derecha-bloqueada entonces inicio
      vuelta;
      mientras derecha-bloqueada y no junto-a-zumbador hacer
      avanza;
      si derecha-libre entonces
      derecha;
               fin;
               si frente-bloqueado y izquierda-libre y derecha-bloqueada entonces inicio
               gira-izquierda;

               avanza;
                si frente-bloqueado y izquierda-libre entonces
                gira-izquierda;
                mientras frente-libre y derecha-bloqueada y no junto-a-zumbador hacer
                avanza;

                si derecha-libre entonces inicio
               derecha;
               fin;
               si izquierda-libre y frente-bloqueado entonces      inicio
               gira-izquierda;
               fin;
                                 fin;

fin;

    inicia-ejecucion
    si orientado-al-este y frente-bloqueado y derecha-bloqueada entonces inicio
gira-izquierda;
fin;
  si orientado-al-este y frente-bloqueado y no derecha-bloqueada entonces inicio
derecha;
fin;
si orientado-al-este y frente-libre y derecha-bloqueada entonces inicio
avanza;
gira-izquierda;
mientras derecha-bloqueada hacer
avanza;
si derecha-libre entonces
derecha;
fin;
    mientras frente-libre y no junto-a-zumbador hacer  inicio
    busca-queso;
    fin;
        apagate;
    termina-ejecucion
finalizar-programa
