iniciar-programa define-nueva-instruccion giraDerecha como inicio gira-izquierda; gira-izquierda; gira-izquierda; fin; define-nueva-instruccion mediaVuelta como inicio gira-izquierda; gira-izquierda; avanza; fin; define-nueva-instruccion avanzaIzquierda(cI) como inicio si no si-es-cero(cI) entonces inicio si izquierda-libre entonces inicio gira-izquierda; avanza; si junto-a-zumbador entonces apagate; fin sino inicio mientras frente-bloqueado hacer giraDerecha; avanza; fin; si junto-a-zumbador entonces apagate; avanzaIzquierda(precede(cI)); fin; fin; define-nueva-instruccion avanzaDerecha(cD) como inicio si no si-es-cero(cD) entonces inicio si derecha-libre entonces inicio giraDerecha; avanza; si junto-a-zumbador entonces apagate; fin sino inicio mientras frente-bloqueado hacer gira-izquierda; avanza; fin; si junto-a-zumbador entonces apagate; avanzaDerecha(precede(cD)); fin; fin; define-nueva-instruccion ponDerecha como mientras derecha-libre hacer gira-izquierda; define-nueva-instruccion ponIzquierda como mientras izquierda-libre hacer gira-izquierda; inicia-ejecucion si junto-a-zumbador entonces apagate; mientras izquierda-libre hacer gira-izquierda; ponDerecha; avanzaDerecha(4); mediaVuelta; avanzaIzquierda(19); mediaVuelta; avanzaDerecha(63); mediaVuelta; avanzaIzquierda(175); mediaVuelta; avanzaDerecha(447); mediaVuelta; avanzaIzquierda(1087); mediaVuelta; avanzaDerecha(2559); mediaVuelta; avanzaIzquierda(5887); mediaVuelta; avanzaDerecha(13311); mediaVuelta; avanzaIzquierda(29695); mediaVuelta; avanzaDerecha(40959); mediaVuelta; apagate; termina-ejecucion finalizar-programa