iniciar-programa
  define-nueva-instruccion busca como inicio
    si frente-libre entonces inicio
      avanza;
      si junto-a-zumbador entonces
        apagate;
      busca;
      avanza;
    fin
    sino
      repetir 2 veces
        gira-izquierda;
  fin;
    inicia-ejecucion
      mientras no-orientado-al-sur hacer
        gira-izquierda;
      mientras frente-libre hacer
        avanza;
      gira-izquierda;
      gira-izquierda;
      mientras no-junto-a-zumbador hacer  inicio
        si derecha-libre entonces inicio
          busca;
          gira-izquierda;
          avanza;
          si derecha-libre entonces inicio
            repetir 3 veces
              gira-izquierda;
            avanza;
          fin;
          si orientado-al-oeste o orientado-al-este entonces
          gira-izquierda;
        fin;
        si derecha-bloqueada entonces inicio
          mientras frente-libre y derecha-bloqueada hacer inicio
            si junto-a-zumbador entonces
              apagate;
            avanza;
          fin;
          si frente-bloqueado y derecha-bloqueada entonces
            repetir 2 veces
              gira-izquierda;
        fin;
      fin;
        apagate;
    termina-ejecucion
finalizar-programa
