iniciar-programa define-prototipo-instruccion resuelvePixel(Nrp); define-nueva-instruccion giraDerecha como inicio gira-izquierda; gira-izquierda; gira-izquierda; fin; define-nueva-instruccion mediaVuelta como inicio gira-izquierda; gira-izquierda; fin; define-nueva-instruccion cogeTodos como inicio mientras junto-a-zumbador hacer coge-zumbador; fin; define-nueva-instruccion hazCuadro(lado) como inicio repetir lado veces inicio deja-zumbador; repetir precede(lado) veces inicio avanza; deja-zumbador; fin; si orientado-al-norte entonces inicio giraDerecha; si frente-libre entonces avanza; giraDerecha; fin sino inicio gira-izquierda; si frente-libre entonces avanza; gira-izquierda; fin; fin; si orientado-al-sur entonces inicio repetir precede(lado) veces avanza; mediaVuelta; fin; fin; define-nueva-instruccion avanzaMuchos(largo) como inicio si no si-es-cero(largo) entonces inicio si frente-libre entonces avanza; avanzaMuchos(precede(largo)); fin; fin; define-nueva-instruccion nuevaLinea(factor) como inicio gira-izquierda; si frente-libre entonces inicio avanza; gira-izquierda; mientras frente-libre hacer avanza; mediaVuelta; resuelvePixel(factor); si frente-libre entonces inicio avanzaMuchos(factor); gira-izquierda; mientras frente-libre hacer avanza; giraDerecha; fin sino apagate; fin sino inicio mediaVuelta; fin; fin; define-nueva-instruccion resuelvePixel(Nrp) como inicio si junto-a-zumbador entonces inicio cogeTodos; si frente-libre entonces inicio avanza; resuelvePixel(Nrp); fin sino inicio nuevaLinea(Nrp); fin; hazCuadro(Nrp); fin sino inicio si frente-libre entonces inicio avanza; resuelvePixel(Nrp); fin sino inicio nuevaLinea(Nrp); fin; giraDerecha; avanzaMuchos(Nrp); gira-izquierda; fin; fin; define-nueva-instruccion resuelve(N) como inicio mientras no-orientado-al-este hacer gira-izquierda; mientras frente-libre hacer avanza; gira-izquierda; mientras frente-libre hacer avanza; gira-izquierda; resuelvePixel(N); fin; define-nueva-instruccion cogeYResuelve(cantidad) como inicio si junto-a-zumbador entonces inicio coge-zumbador; cogeYResuelve(sucede(cantidad)); fin sino inicio deja-zumbador; resuelve(cantidad); apagate; fin; fin; define-nueva-instruccion buscaYResuelve como inicio repetir 50 veces inicio mientras frente-libre hacer inicio si junto-a-zumbador entonces cogeYResuelve(0) sino avanza; fin; giraDerecha; avanza; giraDerecha; mientras frente-libre hacer inicio si junto-a-zumbador entonces cogeYResuelve(0) sino avanza; fin; si junto-a-zumbador entonces cogeYResuelve(0); gira-izquierda; avanza; gira-izquierda; fin; fin; inicia-ejecucion buscaYResuelve; apagate; termina-ejecucion finalizar-programa