iniciar-programa

    define-nueva-instruccion correr como
     inicio
      mientras frente-libre hacer
       inicio
        avanza;
       fin;
      mientras no-orientado-al-sur hacer
       inicio
        gira-izquierda;
       fin;
        avanza;
        deja-zumbador;
      mientras no-orientado-al-norte hacer
       inicio
        gira-izquierda;
       fin;
        avanza;
      mientras no-orientado-al-oeste hacer
       inicio
         gira-izquierda;
       fin;
      mientras frente-libre hacer
       inicio
        avanza;
        mientras no-orientado-al-sur hacer
         inicio
           gira-izquierda;
         fin;
         avanza;
         deja-zumbador;
         mientras no-orientado-al-norte hacer
          inicio
           gira-izquierda;
          fin;
          avanza;
         mientras no-orientado-al-oeste hacer
          inicio
           gira-izquierda;
          fin;
          fin;
          fin;
    inicia-ejecucion
      mientras frente-libre hacer
       inicio
      mientras no-orientado-al-norte  hacer
       inicio
        gira-izquierda;
       fin;
      mientras frente-libre hacer
       inicio
        avanza;
       fin;
      mientras no-orientado-al-este hacer
       inicio
        gira-izquierda;
       fin;
    si junto-a-zumbador entonces
     inicio
      correr;
     fin;
    mientras frente-libre hacer
     inicio
      avanza;
      si junto-a-zumbador entonces
       inicio
        correr;
       fin;
     fin;
    si derecha-bloqueada entonces
     inicio
       mientras no-orientado-al-este hacer
        inicio
         gira-izquierda;                              
        fin;
        mientras frente-libre hacer
         inicio
          avanza;
         fin;
        mientras no-orientado-al-sur hacer
         inicio
          gira-izquierda;
         fin;
         avanza;
        mientras no-orientado-al-este hacer
         inicio
           gira-izquierda;
         fin;
      si frente-libre entonces
       inicio
        avanza;
       fin;
      fin;
     si izquierda-bloqueada entonces
      inicio
       mientras no-orientado-al-sur hacer
        inicio
         gira-izquierda;
        fin;
        avanza;
        mientras no-orientado-al-este hacer
         inicio
          gira-izquierda;
         fin;
         si frente-libre entonces
          inicio
           avanza;
          fin;
       fin;
    fin;
    si frente-bloqueado y junto-a-zumbador entonces
     inicio
      apagate;
     fin;
    mientras no-orientado-al-norte hacer
     inicio
      gira-izquierda;
     fin;
     avanza;
     si junto-a-zumbador entonces
      inicio
      mientras no-orientado-al-sur hacer
       inicio
         gira-izquierda;
       fin;
       avanza;
       deja-zumbador;
       fin;
        apagate;
    termina-ejecucion
finalizar-programa
