iniciar-programa
  define-nueva-instruccion gi(n) como
    inicio
      repetir n veces
        gira-izquierda;
    fin;
  define-nueva-instruccion rombo(n) como
    inicio
      repetir 4 veces
      si algun-zumbador-en-la-mochila entonces
        inicio
          repetir n veces
            avanza;
          gi(2);
          si no-junto-a-zumbador entonces
            deja-zumbador;
          mientras frente-libre hacer
            inicio
              gi(1);
              avanza;
              gi(3);
              avanzA;
              si no-junto-a-zumbador entonces
                deja-zumbador;
            fin;
          gi(3);
          mientras frente-libre hacer
            avanzA;
          gi(3);
          mientras frente-libre hacer
            avanzA;
          gi(3);
        fin;
      si ningun-zumbador-en-la-mochila entonces
        apagate;
      rombo(sucede(n));
    fin;
    inicia-ejecucion
    mientras no-junto-a-zumbador hacer
      inicio
        deja-zumbador;
        mientras frente-libre hacer
          avanza;
        gi(3);
      fin;
      rombo(1);
        apagate;
    termina-ejecucion
finalizar-programa
