iniciar-programa

define-nueva-instruccion gd como repetir 3 veces gira-izquierda;

define-nueva-instruccion md como repetir 2 veces gira-izquierda;

define-nueva-instruccion iz como  gira-izquierda;

define-nueva-instruccion pared como mientras frente-libre hacer avanza;

define-nueva-instruccion on como inicio
si frente-libre entonces inicio
avanza;
on;
deja-zumbador;         
avanza;
fin
sino inicio
gd;
avanza;
gd;
fin;

fin;

define-nueva-instruccion sube como inicio
    pared;
    gd;
    mientras frente-libre o frente-bloqueado hacer inicio
        mientras frente-libre y no-junto-a-zumbador hacer inicio
            avanza;
        fin;
        si junto-a-zumbador entonces inicio
            md;
            pared;
            md;
            on;
            gd;
            deja-zumbador;
            avanza;
            gd;
            pared;
        fin;
        si frente-bloqueado entonces inicio
           gd;
           avanza;
           iz;
           si frente-bloqueado entonces inicio
           apagate;
           fin
           sino inicio
           avanza;
           fin;
           iz;
           avanza;
           gd;
           fin;
fin;
fin;
    inicia-ejecucion
    sube;
        apagate;
    termina-ejecucion
finalizar-programa
