iniciar-programa
define-nueva-instruccion bloquea como
inicio
mientras no-orientado-al-sur hacer gira-izquierda;
avanza; deja-zumbador;
    gira-izquierda;
    gira-izquierda;
    avanza;
        gira-izquierda;
    gira-izquierda;
    gira-izquierda;
    avanza;
    mientras no-orientado-al-sur hacer gira-izquierda;
si orientado-al-sur y izquierda-libre entonces
inicio
bloquea;
fin
sino
inicio
avanza;
deja-zumbador;
fin;
fin;




define-nueva-instruccion toto como
inicio
 si orientado-al-norte y frente-bloqueado y izquierda-bloqueada y derecha-bloqueada entonces
    inicio
    gira-izquierda;
    gira-izquierda;
    si junto-a-zumbador entonces
    inicio
    avanza;
    deja-zumbador;
    fin
    sino
    inicio
    avanza;
    fin;
      fin
       sino
       inicio
       mientras no-orientado-al-este hacer gira-izquierda;
       mientras frente-libre y no-junto-a-zumbador hacer avanza;
       si frente-bloqueado y no-junto-a-zumbador entonces
       inicio
           mientras no-orientado-al-sur hacer gira-izquierda;
          si frente-libre entonces avanza;
           mientras no-orientado-al-este hacer gira-izquierda;
           si frente-bloqueado entonces inicio apagate; fin
           sino
           inicio
               avanza;
               mientras no-orientado-al-norte hacer gira-izquierda;
               avanza;
               toto;



           fin;






       fin;
       si junto-a-zumbador entonces
       inicio
       mientras no-orientado-al-oeste hacer gira-izquierda;
       mientras frente-libre hacer avanza;
       bloquea;
       fin;
       fin;
      mientras no-orientado-al-este hacer
    gira-izquierda;
   si frente-libre entonces inicio avanza;  fin
   sino inicio apagate; fin;
    mientras no-orientado-al-norte hacer
    gira-izquierda;
    avanza;
    toto;   fin;

    inicia-ejecucion
            mientras frente-libre hacer avanza; toto;
        apagate;
    termina-ejecucion
finalizar-programa

