iniciar-programa define-nueva-instruccion mediaVuelta como inicio gira-izquierda; gira-izquierda; fin; define-nueva-instruccion giraDerecha como inicio mediaVuelta; gira-izquierda; fin; define-nueva-instruccion veAEsquinaInferiorIzquierda como inicio mientras no-orientado-al-oeste hacer gira-izquierda; mientras frente-libre hacer avanza; gira-izquierda; mientras frente-libre hacer avanza; mediaVuelta; fin; define-nueva-instruccion avanzaEnElCuadro como inicio si frente-libre entonces avanza sino inicio si orientado-al-norte entonces inicio giraDerecha; si frente-libre entonces inicio avanza; giraDerecha; fin; fin sino inicio gira-izquierda; si frente-libre entonces inicio avanza; gira-izquierda; fin; fin; fin; fin; define-nueva-instruccion recogeTodosLosZumbadores como inicio veAEsquinaInferiorIzquierda; mientras no-orientado-al-este hacer inicio si junto-a-zumbador entonces coge-zumbador; avanzaEnElCuadro; fin; fin; define-nueva-instruccion llenaLadoIzquierdoConZumbadores como inicio veAEsquinaInferiorIzquierda; mientras algun-zumbador-en-la-mochila hacer inicio deja-zumbador; avanzaEnElCuadro; fin; fin; define-nueva-instruccion dejaResultado(resultado) como inicio veAEsquinaInferiorIzquierda; giraDerecha; repetir resultado veces gira-izquierda; apagate; fin; define-nueva-instruccion resuelve como inicio si junto-a-zumbador entonces inicio coge-zumbador; avanzaEnElCuadro; resuelve; si orientado-al-este entonces dejaResultado(2); avanzaEnElCuadro; fin; fin; inicia-ejecucion recogeTodosLosZumbadores; llenaLadoIzquierdoConZumbadores; veAEsquinaInferiorIzquierda; resuelve; si orientado-al-este entonces dejaResultado(1) sino dejaResultado(0); termina-ejecucion finalizar-programa