iniciar-programa
define-nueva-instruccion gira-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
gira-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
      gira-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
               gira-derecha;
               fin;
               si izquierda-libre y frente-bloqueado entonces      inicio
               gira-izquierda;
               fin;
                                 fin;

fin;

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