Download - Mis practicas de karel
NOMBRE DE LOS ALUMNOS: Castro Pichardo Daniel.
Lucio Sánchez Juan Alberto.
NOMBRE DE LA MATERIA: APLICA LOS PRINCIPIOS DE PROGRAMACIÓN EN LA SOLUCION DE PROBLEMAS.
NOMBRE DEL PROFESOR: Ing. Domínguez Escalona René
Turno: Matutino grupo: “404”
Karel 1 Laberinto
Abuelita Recoge – Basura
Norte Laberinto.
Recoge Karelotitlan 2
Muro Torre más alta
Instrucciones Karelotitlan 3, 4, 5, 6
COLEGÍO DE ESTUDIOS CIENTIFÍCOS Y TECNOLOGÍCOS
DEL ESTADO DE MÉX. PLANTEL TECÁMAC.
Karel…
Karel 1: karel se encuentra en un cuarto con diferentes divisiones, y en la última división hay zumbadores los cual tiene que llegar a ellos y cogerlos así llevándolos al otro lado (donde empezó).
Código: avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
avanza;
gira-izquierda;
avanza;
gira-izquierda;
avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
avanza;
gira-izquierda;
avanza;
gira-izquierda;
avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
avanza;
gira-izquierda;
avanza;
coge-zumbador;
gira-izquierda;
gira-izquierda;
avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
avanza;
gira-izquierda;
avanza;
gira-izquierda;
avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
avanza;
gira-izquierda;
avanza;
gira-izquierda;
avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
avanza;
gira-izquierda;
avanza;
gira-izquierda;
avanza;
gira-izquierda;
gira-izquierda;
avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
Avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
avanza;
gira-izquierda;
avanza;
gira-izquierda;
avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
avanza;
gira-izquierda;
avanza;
gira-izquierda;
avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
avanza;
gira-izquierda;
avanza;
coge-zumbador;
gira-izquierda;
gira-izquierda;
avanza;
Ejemplo:
Conclusión:
Karel tiene que coger los zumbadores y al final debe quedar en su misma posición.
Practica 2: Abuelita.
Karel quiere llegar con su abuelita y para eso tiene que pasar por basura y se tiene que detener justo en frente de la casa de la abuelita.
Código:
iniciar-programa
inicia-ejecucion
mientras izquierda-libre o no-junto-a-zumbador o derecha-bloqueada hacer inicio
avanza ;
fin ;
apagate;
termina-ejecucion
finalizar-programa
Ejemplo:
Conclusión: karel ya que se detuvo karel no importa donde quede solo tiene que llegar a la casa de su abuelita.
Practica3: Norte karel tiene que estar ubicado el sur, este, oeste, y tiene que voltear al norte.
Codogo: iniciar-programa
inicia-ejecucion si orientado-al-sur entonces inicio
gira-izquierda;
gira-izquierda;
fin ;
si orientado-al-este entonces inicio
gira-izquierda;
fin ;
si orientado-al-sur entonces inicio
gira-izquierda;
gira-izquierda;
gira-izquierda;
fin ;
si orientado-al-oeste entonces inicio
gira-izquierda;
gira-izquierda;
gira-izquierda;
fin ;
apagate;
termina-ejecucion
finalizar-programa
Ejemplo:
Recoge 4: karel debe recoger la basura hasta llegar al otro extremo y así detenerse.
Código: iniciar-programa
inicia-ejecucion
mientras derecha-bloqueada hacer inicio
avanza;
si frente-bloqueado entonces apagate;
fin ;
apagate;
termina-ejecucion
finalizar-programa
Ejemplo:
Conclusión: karel debe llegar hasta el otro lado y apagarse sin chocar en la pared.
Muro 5: karel tiene como objetivo subir hasta arriba del muro y asomarse del otro lado.
Código: iniciar-programa
inicia-ejecucion
mientras derecha-bloqueada hacer inicio
avanza;
fin ;
apagate;
termina-ejecucion
finalizar-programa
Ejemplo:
Conclusión: karel no debe recoger nada solo tiene que llegar a su destino y asomarse del otro lado de la barda.
Instrucciones 6: debes de definir nuevas instrucciones en karel o mas bien para karel debe de llegar a su destino con nuevas instruccione.
Código:
iniciar-programa
define-nueva-instruccion derecha como inicio
repetir 3 veces gira-izquierda;
fin;
define-nueva-instruccion sur como inicio
mientras no-orientado-al-sur hacer gira-izquierda;
fin;
define-nueva-instruccion norte como inicio
mientras no-orientado-al-norte hacer gira-izquierda;
fin;
define-nueva-instruccion este como inicio
mientras no-orientado-al-este hacer gira-izquierda;
fin;
define-nueva-instruccion oeste como inicio
mientras no-orientado-al-oeste hacer gira-izquierda;
fin;
define-nueva-instruccion media-vuelta como inicio
repetir 2 veces gira-izquierda;
fin;
define-nueva-instruccion caminar-hasta-pared como inicio
mientras no frente-bloqueado hacer
avanza;
fin;
define-nueva-instruccion recogetodo como inicio
repetir sucede(3) veces avanza; inicio
coge-zumbador;
fin;
fin;
inicia-ejecucion
derecha;
norte;
sur;
oeste;
media-vuelta;
este;
avanza;
recogetodo;
caminar-hasta-pared;
apagate;
termina-ejecucion
finalizar-programa
Ejemplo:
Conclusión: karel una vez que allá llegado de ve apagarse.
Karelotitlan 1: karel debe de juntar cada torre y depositarlas al final antes de dar vuelta.
Código: iniciar-programa
define-nueva-instruccion coge como inicio
mientras junto-a-zumbador hacer
avanza;
si no-junto-a-zumbador entonces inicio
gira-izquierda;
gira-izquierda;
avanza;
fin;
mientras junto-a-zumbador y frente-libre hacer inicio
coge-zumbador;
avanza;
fin;
mientras algun-zumbador-en-la-mochila hacer inicio
deja-zumbador;
fin;
si junto-a-zumbador y no frente-libre entonces inicio
gira-izquierda;
avanza;
gira-izquierda;
fin;
si no junto-a-zumbador entonces
apagate;
fin;
inicia-ejecucion
repetir 1000 veces
coge;
apagate;
termina-ejecucion
finalizar-programa
Ejemplo:
Conclusión: carel debe apagarse una vez finalizado el programa.
Recoge- basura8: Karelotitlan 2:
Karel debe de recoger la basura que está en su cuarto y debe amontonarla en un solo lugar.
Código: iniciar-programa
define-nueva-instruccion recogetodo como inicio
mientras junto-a-zumbador hacer coge-zumbador;
fin;
define-nueva-instruccion dejatodo como inicio
mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
fin;
define-nueva-instruccion norte como inicio
mientras no orientado-al-norte hacer gira-izquierda;
fin;
define-nueva-instruccion sur como inicio
mientras no orientado-al-sur hacer gira-izquierda;
fin;
define-nueva-instruccion este como inicio
mientras no orientado-al-este hacer gira-izquierda;
fin;
define-nueva-instruccion oeste como inicio
mientras no orientado-al-oeste hacer gira-izquierda;
fin;
define-nueva-instruccion camina como inicio
mientras frente-libre hacer
avanza;
fin;
inicia-ejecucion
mientras frente-libre hacer inicio
recogetodo;
avanza;
recogetodo;
mientras no frente-libre hacer inicio
sur;
camina;
este;
si frente-libre entonces inicio
avanza;
fin sino inicio
oeste;
camina;
dejatodo;
apagate;
fin;
norte;
fin;
fin;
apagate;
termina-ejecucion
finalizar-programa
Ejemplo:
Karel debe terminar su propósito y al terminar debe apagarse.
Laberinto
Practica No. 9
Descripción
Hacer que carel avanza por los diferentes laberintos y recoja los zumbadores. Cuando karel este fuera del laberinto tiene que dejar los zumbadores recogidos y apagarse
Código de solución
iniciar-programa
define-nueva-instruccionlab como inicio
mientras junto-a-zumbador hacer
coge-zumbador;
mientras frente-libre hacer inicio
avanza;
mientras junto-a-zumbador hacer
coge-zumbador;
mientras frente-libre y algun-zumbador-en-la-mochila y izquierda-libre y derecha-libre hacer
deja-zumbador;
si ningun-zumbador-en-la-mochila y derecha-libre y izquierda-libre entonces
apagate;
fin;
si frente-bloqueado y derecha-bloqueada entonces
gira-izquierda;
si frente-bloqueado y izquierda-bloqueada entonces
repetir 3 veces gira-izquierda;
mientras frente-libre hacer inicio
avanza;
mientras junto-a-zumbador hacer
coge-zumbador;
mientras frente-libre y algun-zumbador-en-la-mochila y izquierda-libre y derecha-libre hacer
deja-zumbador;
si ningun-zumbador-en-la-mochila entonces
apagate;
fin;
si frente-bloqueado y izquierda-bloqueada entonces
repetir 3 veces gira-izquierda;
fin;
inicia-ejecucion
repetir 100 veces
lab;
apagate;
termina-ejecucion
finalizar-programa
Mundo ejemplo
Antes
Después
Karelotitlan 2
Practica No. 10
Problema
Hay varios zumbadores tirados en el cuarto de Karel, en varias posiciones del mismo.
Debes hacer un programa que haga que Karel recorra todo el cuarto y recoja todos los zumbadores que encuentre. Una vez que tenga todos los zumbadores deberá depositarlos en la esquina inferior izquierda del cuarto y apagarse.
iniciar-programa
define-nueva-instruccion esoeso como inicio
mientras frente-libre o no-junto-a-zumbador hacer inicio
avanza;
mientras junto-a-zumbador hacer coge-zumbador;
mientras algun-zumbador-en-la-mochila y orientado-al-oeste y frente-bloqueado y izquierda-
bloqueada y derecha-libre
hacer inicio
deja-zumbador;
fin;
mientras orientado-al-oeste y frente-bloqueado y izquierda-bloqueada y derecha-libre
hacer apagate;
si orientado-al-sur y frente-bloqueado y izquierda-libre entonces inicio
gira-izquierda; avanza; gira-izquierda;
fin;
si orientado-al-sur y izquierda-bloqueada y frente-bloqueado entonces
repetir 3 veces gira-izquierda;
si frente-bloqueado entonces inicio
repetir 2 veces gira-izquierda;
fin;
fin;
si orientado-al-sur y frente-bloqueado entonces inicio
gira-izquierda; avanza;
fin;
fin;
inicia-ejecucion
esoeso;
apagate;
termina-ejecucion
finalizar-programa
Ejemplo
Mundo de ejemploSolución al mundo de ejemplo
Torre mas alta
Práctica No. 11
iniciar-programa
define-nueva-instruccion alta como inicio
mientras frente-libre hacer
avanza;
si frente-bloqueado entonces
gira-izquierda;
mientras frente-libre hacer
avanza;
si frente-bloqueado entonces
gira-izquierda;
mientras frente-libre hacer
avanza;
fin;
define-nueva-instruccion gira como inicio
si frente-bloqueado entonces inicio
gira-izquierda;
si frente-libre entonces
avanza;
gira-izquierda;
fin;
mientras frente-libre y no junto-a-zumbador hacer
avanza;
si junto-a-zumbador entonces
mientras no orientado-al-sur hacer
gira-izquierda;
si frente-bloqueado entonces inicio
gira-izquierda;
gira-izquierda;
gira-izquierda;
si frente-libre entonces
avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
fin;
mientras frente-libre y no junto-a-zumbador hacer inicio
avanza;
fin;
mientras frente-libre hacer inicio
si junto-a-zumbador entonces
coge-zumbador;
avanza;
si junto-a-zumbador entonces
coge-zumbador;
fin;
si frente-bloqueado y algun-zumbador-en-la-mochila entonces
apagate;
fin;
inicia-ejecucion
mientras no orientado-al-este hacer
gira-izquierda;
mientras ningun-zumbador-en-la-mochila y frente-libre hacer
alta;
mientras frente-bloqueado hacer
gira;
apagate;
termina-ejecucion
finalizar-programa
Hay varias torres de zumbadores de diferentes tamaños. Karel tiene que encontrar la torre mas alta y derrumbarla.
Karelotitlan 3
Practica No. 12
Problema
Se le ha pedido a Karel que siembre zanahorias en un terreno rectangular de un mínimo de 3x1 hasta un máximo de 9x10.
El terreno siempre iniciará en la calle 2, avenida 2.
El terreno siempre tendrá 2 entradas/salidas que estarán ubicadas a la izquierda y derecha del terreno de tamaño uno.
Karel siempre inicia en la avenida 1, calle 1 pero su orientación puede ser cualquiera
En la calle 1 avenida 2 siempre habrá 99 zumbadores para que los utilices como quieras
Karel no inicia con zumbadores en la mochila
Sólo cabe una zanahoria por cada cruce.
No importa los zumbadores que deje karel en el camino.
No importa la posición ni la orientación con que termine Karel.
iniciar-programa
define-nueva-instruccion hazlo como inicio
mientras izquierda-bloqueada y frente-libre hacer
avanza;
si izquierda-libre entonces
gira-izquierda;
si izquierda-libre y derecha-libre y frente-libre entonces
avanza;
fin;
define-nueva-instruccion deja como inicio
mientras frente-bloqueado hacer
gira-izquierda;
mientras frente-libre hacer inicio
mientras no-junto-a-zumbador hacer
deja-zumbador;
avanza;
fin;
si frente-bloqueado entonces inicio
si no junto-a-zumbador entonces
deja-zumbador;
gira-izquierda;
gira-izquierda;
fin;
mientras frente-libre hacer
avanza;
si frente-bloqueado y derecha-libre entonces
repetir 3 veces
gira-izquierda;
si frente-libre entonces
avanza;
mientras no-orientado-al-norte hacer
gira-izquierda;
si izquierda-bloqueada y junto-a-zumbador entonces inicio
mientras izquierda-bloqueada hacer
avanza;
si izquierda-libre entonces
gira-izquierda;
avanza;
gira-izquierda;
avanza;
fin;
mientras derecha-bloqueada y frente-libre hacer
avanza;
mientras izquierda-libre y orientado-al-sur y algun-zumbador-en-la-mochila hacer
deja-zumbador;
si ningun-zumbador-en-la-mochila entonces
apagate;
fin;
inicia-ejecucion
mientras no-orientado-al-este hacer
gira-izquierda;
mientras izquierda-libre hacer inicio
avanza;
fin;
mientras junto-a-zumbador hacer inicio
coge-zumbador;
fin;
mientras frente-libre hacer inicio
hazlo;
fin;
si frente-bloqueado entonces inicio
gira-izquierda;
mientras frente-libre hacer
avanza;
fin;
mientras algun-zumbador-en-la-mochila hacer inicio
deja;
fin;
apagate;
termina-ejecucion
finalizar-programa
Ejemplo
Mundo de ejemplo
Solución al mundo de ejemplo
Karelotitlan 4
Practica No. 13
Descripción
Tú y tu vecino siempre se habían llevado muy bien, pero cierto día, descubriste que tu vecino hablaba mal de ti a tus espaldas, por lo que decidiste construir una pared entre las dos casas
iniciar-programa
define-nueva-instruccion aa como inicio
si orientado-al-norte y izquierda-libre y derecha-bloqueada y frente-bloqueado entonces
repetir 2 veces gira-izquierda;
mientras junto-a-zumbador y orientado-al-norte y frente-libre hacer
avanza;
si no-junto-a-zumbador y orientado-al-norte entonces
repetir 2 veces gira-izquierda;
mientras frente-libre y orientado-al-sur hacer inicio
avanza;
mientras junto-a-zumbador hacer
coge-zumbador;
fin;
mientras junto-a-zumbador hacer
coge-zumbador;
si frente-bloqueado y orientado-al-sur y izquierda-libre entonces inicio
gira-izquierda;
avanza;
fin;
si orientado-al-este y derecha-bloqueada y frente-libre entonces
gira-izquierda;
si frente-bloqueado y orientado-al-este y derecha-bloqueada entonces
gira-izquierda;
si orientado-al-sur y frente-bloqueado y izquierda-bloqueada y derecha-libre entonces
repetir 3 veces gira-izquierda;
fin;
define-nueva-instruccion bb como inicio
si orientado-al-oeste y frente-libre entonces
avanza;
si no-junto-a-zumbador y orientado-al-oeste y algun-zumbador-en-la-mochila entonces
deja-zumbador;
si frente-bloqueado y orientado-al-oeste entonces
repetir 2 veces gira-izquierda;
mientras frente-libre y orientado-al-este hacer
avanza;
si frente-bloqueado y orientado-al-este y algun-zumbador-en-la-mochila entonces
deja-zumbador;
si frente-bloqueado y orientado-al-este entonces
gira-izquierda;
si frente-libre y orientado-al-norte y derecha-bloqueada entonces inicio
avanza;
si frente-bloqueado y orientado-al-norte y derecha-bloqueada entonces
repetir 2 veces gira-izquierda;
si derecha-bloqueada y frente-libre entonces
gira-izquierda;
fin;
fin;
define-nueva-instruccion cc como inicio
si frente-libre y izquierda-libre y derecha-libre y orientado-al-norte entonces
repetir 2 veces gira-izquierda;
mientras frente-libre y orientado-al-sur hacer
avanza;
si frente-bloqueado y izquierda-bloqueada y orientado-al-sur entonces
repetir 3 veces gira-izquierda;
fin;
define-nueva-instruccion dd como inicio
mientras frente-libre y junto-a-zumbador hacer
avanza;
si frente-bloqueado y orientado-al-oeste entonces
repetir 2 veces gira-izquierda;
si frente-bloqueado y orientado-al-este entonces inicio
gira-izquierda;
avanza;
gira-izquierda;
fin;
mientras no-junto-a-zumbador y frente-libre hacer inicio
si no-junto-a-zumbador y orientado-al-oeste y izquierda-libre y frente-libre entonces
avanza;
si frente-libre y orientado-al-norte y izquierda-libre y derecha-libre y no-junto-a-zumbador entonces
apagate;
si junto-a-zumbador entonces coge-zumbador;
fin;
si no-junto-a-zumbador y frente-bloqueado y orientado-al-oeste entonces
repetir 2 veces gira-izquierda;
mientras frente-libre y no-junto-a-zumbador y orientado-al-este hacer
avanza;
si frente-bloqueado y orientado-al-este y no-junto-a-zumbador entonces inicio
gira-izquierda;
avanza;
fin;
si derecha-bloqueada y frente-libre y orientado-al-norte entonces
gira-izquierda;
fin;
inicia-ejecucion
mientras orientado-al-norte hacer
aa;
mientras orientado-al-oeste hacer
bb;
cc;
mientras frente-libre hacer
dd;
apagate;
termina-ejecucion
finalizar-programa.
Ejemplo
Mundo de ejemplo Solución al mundo de ejemplo
Karelotitlan 5
Practica No. 14
Descripción
Es bien sabido que en la ciudad e Karelotitlán todos los habitantes tienen sus casas en forma de pirámides, sin embargo, el excéntrico Karelerac quiere ser diferente a los demás y desea construir su casa con sólo la mitad de una pirámide.
Problema
Ayuda a Karelerac a construir una media pirámide creciente hacia la derecha con los zumbadores que lleva en la mochila.
iniciar-programa
define-nueva-instruccion derecha como inicio
gira-izquierda;
gira-izquierda;
gira-izquierda;
fin;
define-nueva-instruccion sur como inicio
mientras no-orientado-al-sur hacer gira-izquierda;
fin;
define-nueva-instruccion norte como inicio
mientras no-orientado-al-norte hacer gira-izquierda;
fin;
define-nueva-instruccion oeste como inicio
mientras no-orientado-al-oeste hacer gira-izquierda;
fin;
define-nueva-instruccion este como inicio
mientras no-orientado-al-este hacer gira-izquierda;
fin;
define-nueva-instruccion vuelta como inicio
repetir 2 veces gira-izquierda;
fin;
define-nueva-instruccion regresa como inicio
sur;
mientras frente-libre hacer avanza;
gira-izquierda;
si frente-libre entonces inicio
avanza;
fin
sino inicio
apagate;
fin;
norte;
fin;
define-nueva-instruccion checarlado como inicio
oeste;
si frente-libre entonces inicio
avanza;
si junto-a-zumbador entonces inicio
este;
avanza;
si ningun-zumbador-en-la-mochila entonces apagate;
si no-junto-a-zumbador y algun-zumbador-en-la-mochila entonces deja-zumbador;
norte;
avanza;
checarlado;
fin
sino inicio
este;
avanza;
si ningun-zumbador-en-la-mochila entonces apagate;
si no-junto-a-zumbador y algun-zumbador-en-la-mochila entonces deja-zumbador;
regresa;
checarlado;
fin;
fin
sino inicio
vuelta;
avanza;
norte;
si ningun-zumbador-en-la-mochila entonces apagate;
checarlado;
fin;
fin;
define-nueva-instruccion piramide como inicio
si ningun-zumbador-en-la-mochila entonces apagate;
si no-junto-a-zumbador y algun-zumbador-en-la-mochila entonces deja-zumbador;
checarlado;
fin;
inicia-ejecucion
norte;
piramide;
apagate;
termina-ejecucion
finalizar-programa
Ejemplo
Solución al mundo de ejemplo con 6 zumbadores en la mochila
Karelotitlan 6
Practica No, 15
Descripción
El malvado Carelerak, hermano gemelo de Karelerac, ha descubierto que su hermano ha construido una media pirámide en el otro extremo de la ciudad.
Enojado, ha decido construir su propia media pirámide, pero para evitar que lo acusen de plagio, la va a hacer creciente hacia la izquierda, y le llamará Edimárip aidem.
Problema
Ayuda a Carelerak a construir su Edimárip aidem creciente hacia la izquierda con los zumbadores que tiene en la mochila.
Ejemplo
Solución al caso de ejemplo con 6 zumbadores en la mochila