iniciar-programa




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





  define-nueva-instruccion frentelibre como inicio
      si frente-libre entonces inicio
          avanza;
          frentelibre;
      fin;

  fin;





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




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





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





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




    define-nueva-instruccion veteesquina como inicio
       oeste;
       si  frente-libre entonces  inicio
          avanza;
       fin;
    fin;






    define-nueva-instruccion escalera como inicio
       este;
       mientras frente-libre hacer inicio
           avanza;
       fin;
       oeste;
       mientras frente-libre y izquierda-bloqueada  hacer inicio
           avanza;
       fin;
       si izquierda-bloqueada entonces inicio
           norte;
       fin
       sino inicio
           sur;
           avanza;
       fin;
    fin;





    define-nueva-instruccion zumbadores como inicio
       si no-orientado-al-norte entonces inicio
             si izquierda-bloqueada y derecha-bloqueada entonces inicio
                escalera;
                zumbadores;
                deja-zumbador;
             fin
             sino inicio
               escalera;
               zumbadores;

           fin


        fin
    fin;


    inicia-ejecucion
        sur;
        zumbadores;
        apagate;
    termina-ejecucion
finalizar-programa

