iniciar-programa
define-nueva-instruccion salta como
inicio
mientras no-orientado-al-norte hacer
gira-izquierda;
mientras derecha-bloqueada hacer
avanza;
mientras no-orientado-al-este hacer
gira-izquierda;
avanza;
mientras no-orientado-al-sur hacer
gira-izquierda;
mientras frente-libre hacer
avanza;
mientras no-orientado-al-este hacer
gira-izquierda;

fin;
define-nueva-instruccion recoge como
inicio
si frente-libre o junto-a-zumbador entonces
inicio
si junto-a-zumbador entonces
    inicio
    coge-zumbador;
    recoge;
    si frente-libre y no-junto-a-zumbador y orientado-al-oeste entonces
        inicio
        avanza;
        recoge;
        avanza;
        fin;
    deja-zumbador;
    fin;
 si no-junto-a-zumbador y orientado-al-oeste entonces
     inicio
     si frente-libre entonces
     avanza;
     recoge;
     avanza;
     fin;
 fin
 sino
 inicio
 mientras no-orientado-al-este hacer
 gira-izquierda;
 mientras frente-libre hacer
 avanza;
 salta;
 fin;
fin;

    inicia-ejecucion
    mientras no-orientado-al-este hacer
    gira-izquierda;
    mientras frente-libre hacer
    avanza;
    mientras no-orientado-al-oeste hacer
    gira-izquierda;
    mientras frente-libre y no-junto-a-zumbador hacer
    avanza;
    recoge;
        apagate;
    termina-ejecucion
finalizar-programa
