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 irizq como inicio
     oeste;
     mientras frente-libre hacer avanza;
     este;
  fin;

  Define-nueva-instruccion cuenta1 como inicio
     Si izquierda-bloqueada y derecha-bloqueada entonces inicio
        avanza;
       cuenta1;
        deja-zumbador;
     fin;
  fin;

  Define-nueva-instruccion recorre como inicio
     irizq;
     mientras frente-libre y derecha-bloqueada hacer avanza;
     Si frente-bloqueado y derecha-bloqueada entonces norte;

    si no orientado-al-norte entonces inicio
       sur;
       avanza;

             Si izquierda-bloqueada y derecha-bloqueada entonces inicio

             recorre;
             deja-zumbador;
             fin

             Sino inicio
             recorre;
             fin;
    fin;
    Si orientado-al-norte entonces irizq;

  fin;

    inicia-ejecucion
        Recorre;
        apagate;
    termina-ejecucion
finalizar-programa
