iniciar-programa
     define-nueva-instruccion norte como inicio
    mientras no-orientado-al-norte hacer gira-izquierda; fin;

define-nueva-instruccion sur como inicio
    mientras no-orientado-al-sur hacer gira-izquierda; fin;

define-nueva-instruccion este como inicio
    mientras no-orientado-al-este hacer gira-izquierda; fin;

define-nueva-instruccion oeste como inicio
    mientras no-orientado-al-oeste hacer gira-izquierda; fin;

 define-nueva-instruccion derecha  como inicio
 repetir 3 veces gira-izquierda; fin;

  define-nueva-instruccion media  como inicio
 repetir 2 veces gira-izquierda; fin;

  define-nueva-instruccion corre como inicio
  mientras frente-libre y no-orientado-al-oeste y izquierda-bloqueada hacer inicio avanza; fin;fin;

  define-nueva-instruccion  sin como inicio
  sur; avanza; este; fin;


define-nueva-instruccion  celda1 como inicio
mientras frente-libre y no-junto-a-zumbador hacer inicio avanza; fin;

 si junto-a-zumbador y frente-libre o frente-bloqueado entonces inicio
si orientado-al-este y junto-a-zumbador o no-junto-a-zumbador y frente-libre y izquierda-bloqueada entonces inicio corre;
si orientado-al-este y izquierda-bloqueada entonces inicio sur; avanza; norte; deja-zumbador; avanza; oeste;fin;
mientras frente-libre y orientado-al-oeste hacer inicio avanza; sur; avanza; norte; deja-zumbador; avanza; oeste;    fin;
si frente-bloqueado y orientado-al-oeste entonces inicio sur; avanza; este;
si frente-bloqueado entonces inicio apagate; fin;


mientras junto-a-zumbador y frente-libre hacer inicio avanza;FIN;
 SI NO JUNTO-A-ZUMBADOR ENTONCES INICIO norte; avanza; este;fin;FIN;  fin;

 fin; fin;



define-nueva-instruccion  celda2 como inicio
mientras frente-libre y no-junto-a-zumbador hacer inicio avanza; fin;
si no-junto-a-zumbador entonces inicio sur; avanza; este;
si frente-libre entonces inicio avanza; norte; avanza; este; fin;
fin;FIN;


define-nueva-instruccion tres como inicio
 mientras frente-libre  y izquierda-libre hacer inicio avanza; norte; avanza;este;  celda1; fin;
 celda1;celda2;
 fin;


   inicia-ejecucion
    corre; este;
    celda1;
   mientras frente-libre y izquierda-libre  hacer inicio tres;fin;
   mientras izquierda-bloqueada hacer inicio celda1; celda2; fin;


       apagate;
    termina-ejecucion
finalizar-programa
