Este documento presenta 14 prácticas de programación con Karel que enseñan principios básicos como: mover a Karel, recoger objetos, girar en diferentes direcciones, definir nuevas instrucciones y resolver problemas más complejos como cruzar un laberinto. Las prácticas van desde tareas sencillas hasta desafíos que requieren múltiples pasos y condicionales. El documento proporciona el código de solución detallado para cada práctica con ejemplos ilustrativos.
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
Aplicar los principios de programación en la solución de problemas
1. COLEGIO DE ESTUDIOS CIENTIFICOS Y
TECNOLOGICOS DEL ESTADO DE MEXICO
*PLANTEL TECAMAC*
Nombre de los Integrantes: Betzabe Aguirre Galindo.
Mayte Guadalupe Olivier Morales.
Nombre del Profesor: René Domínguez Escalona.
Aplicar Los Principios De Programación En
La Solución De Problemas
Grupo: 404 Turno: Matutino
3. PRACTICA 1 “Karel”
Descripción:
En esta práctica karel tiene que ir por los zumbadores y dejarlos al inicio de la
entrada de su casa y así sucesivamente tiene que ir uno por uno.
CODIGO DE SOLUCION:
Inciar-programacion
Inicia-ejecución
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;
3
14. PRACTICA 2 “ABUELITA”
Descripción
Karel quiere visitar a su abuelita, la casa de la abuelita se encuentra siempre
adelante de karel, en la primera posición que tiene la izquierda y se está junto a un
zumbador.
CÓDIGO DE SOLUCIÓN
iniciar-programa
inicia-ejecución
mientras izquierda-libre o no-junto-a-zumbador hacer inicio
avanza;
fin;
apágate;
termina-ejecución
finalizar-programa
14
16. PRACTICA 3 “NORTE”
DESCRIPCIÓN:
Escribe un programa que tenga una instrucción llamada norte que tenga la
finalidad de orientar a karel hacia el norte.
CODIGO DE SOLUCION:
iniciar-programa
inicia-ejecucion
si orientado-al-sur entonces inicio
gira-izquierda;
gira-izquierda;
fin;
si orientado-al-oeste entonces inicio
gira-izquierda;
gira-izquierda;
gira-izquierda;
fin;
si orientado-al-este entonces inicio
gira-izquierda;
fin;
apágate;
termina-ejecucion
16
18. PRACTICA 4 “RECOJE”
DESCRIPCION:
Haz que karel recoja los zumbadores del renglón y que los coloque en la pared
que esta frente de el.
CODIGO DE SOLUCION:
iniciar-programa
inicia-ejecucion
mientras frente-libre hacer inicio
avanza;
mientras junto-a-zumbador hacer coge-zumbador;
si frente-bloqueado entonces inicio
mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
apagate;
18
20. PRACTICA 5 “MURO”
Descripción
Karel quiere asomarse por arriba de la barda para ver que hay del otro lado.
CODIGO DE SOLUCION:
iniciar-programa
inicia-ejecucion
mientras derecha-bloqueada o no frente-libre hacer
avanza;
inicio
fin ;
apagate;
termina-ejecucion
20
22. Practica 6 “INSTRUCCIONES”
Descripción:
Karel deberá realizar diferentes funciones como coger zumbadores, caminar hacia
el norte, sur, este, u oeste asta topar con pared hay deberá dejar todos los
zumbadores
CÓDIGO DE SOLUCIÓN:
iniciar-programa
define-nueva-instrucción derecha como inicio
repetir 3 veces gira-izquierda;
fin;
define-nueva-instruccion recogetodo como inicio
22
23. 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 media-vuelta como inicio
repetir 2 veces gira-izquierda;
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;
23
25. “DESPUÉS”
PRACTICA 7”KARELOTITLAN”
DESCRIPCIÓN:
Karel tiene su cuarto lleno de zumbadores regados en columnas, por lo que ahora
deberá juntar los zumbadores en cada columna y hacer un montón con ellos en la
base de la misma.
CÓDIGO DE SOLUCIÓN:
iniciar-programa
define-nueva-instruccion derecha como inicio
repetir 3 veces gira-izquierda;
fin;
define-nueva-instruccion recogetodo como inicio
mientras junto-a-zumbador hacer coge-zumbador;
fin;
25
26. define-nueva-instruccion dejatodo como inicio
mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
fin;
define-nueva-instruccion media-vuelta como inicio
repetir 2 veces gira-izquierda;
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 caminapared como inicio
26
27. mientras frente-libre hacer avanza;
fin;
inicia-ejecucion
mientras frente-libre hacer inicio
recogetodo;
avanza;
recogetodo;
si frente-bloqueado entonces inicio
sur;
caminapared;
este;
si frente-libre entonces inicio
avanza;
fin sino inicio
oeste;
caminapared;
dejatodo;
apagate;
fin;
norte;
fin;
fin;
apagate;
27
29. Practica 8”Recoge Basura”
Descripción:
Hay varios zumbadores tirados en el cuarto de karel en varias posiciones del
mismo, karel recorrerá todo el cuarto y recogerá los zumbadores que encuentre.
Una vez que tenga todos los zumbadores deberá depositarlos en la esquina
inferior izquierda del cuarto.
CÓDIGO DE SOLUCIÓN:
iniciar-programa
define-nueva-instruccion derecha como inicio
repetir 3 veces gira-izquierda;
fin;
define-nueva-instruccion recogetodo como inicio
mientras junto-a-zumbador hacer coge-zumbador;
fin;
29
30. define-nueva-instruccion dejatodo como inicio
mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
fin;
define-nueva-instruccion media-vuelta como inicio
repetir 2 veces gira-izquierda;
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 caminapared como inicio
30
31. mientras frente-libre hacer avanza;
fin;
inicia-ejecucion
mientras frente-libre hacer inicio
recogetodo;
avanza;
recogetodo;
si frente-bloqueado entonces inicio
sur;
caminapared;
este;
si frente-libre entonces inicio
avanza;
fin sino inicio
oeste;
caminapared;
dejatodo;
apagate;
fin;
norte;
fin;
fin;
apagate;
31
33. PRACTICA 9”LABERINTO”
DESCRIPCIÓN:
Karel deberá cruzar el laberinto hasta el otro lado recogiendo los zumbadores que
estén en el camino y llevarlos al inicio de donde empezó karel.
CÓDIGO DE SOLUCIÓN:
iniciar-programa
define-nueva-instruccion derecha como inicio
repetir 3 veces gira-izquierda;
fin;
define-nueva-instruccion recogetodo como inicio
mientras junto-a-zumbador hacer coge-zumbador;
fin;
33
34. define-nueva-instruccion dejatodo como inicio
mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
fin;
define-nueva-instruccion media-vuelta como inicio
repetir 2 veces gira-izquierda;
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;
34
35. define-nueva-instruccion caminapared como inicio
mientras frente-libre hacer avanza;
fin;
inicia-ejecucion
recogetodo;
MIENTRAS FRENTE-LIBRE HACER INICIO
SI FRENTE-LIBRE ENTONCES AVANZA;
recogetodo;
SI DERECHA-LIBRE ENTONCES REPETIR 3 VECES GIRA-IZQUIERDA;
SI FRENTE-BLOQUEADO ENTONCES GIRA-IZQUIERDA;
SI FRENTE-BLOQUEADO ENTONCES GIRA-IZQUIERDA;
si DERECHA-LIBRE Y IZQUIERDA-LIBRE entonces inicio
dejatodo;
apagate;
fin sino inicio
SI DERECHA-LIBRE Y IZQUIERDA-LIBRE ENTONCES DEJATODO;
FIN;
FIN;
apagate;
35
37. PRACTICA 10 “KARELOTITLAN 2”
Descripción:
Hacer 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.
CODIGO DE SOLUCION
iniciar-programa
define-nueva-instruccion derecha como inicio
repetir 3 veces gira-izquierda;
fin;
37
38. 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 media-vuelta como inicio
repetir 2 veces gira-izquierda;
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
38
39. mientras no orientado-al-oeste hacer gira-izquierda;
fin;
define-nueva-instruccion caminapared como inicio
mientras frente-libre hacer avanza;
fin;
inicia-ejecucion
mientras frente-libre hacer inicio
recogetodo;
avanza;
recogetodo;
si frente-bloqueado entonces inicio
sur;
Caminapared;
este;
si frente-libre entonces inicio
avanza;
fin sino inicio
oeste;
caminapared;
dejatodo;
apagate;
fin;
norte;
fin;
39
41. DESPUES
PRACTICA 11 “TORRE MÁS ALTA”
DESCRIPCIÓN:
En esta situación karel tiene que derrumbar la torre más alta que el encuentre y
regresar al inicio.
CODIGO DE SOLUCION
iniciar-programa
inicia-ejecucion
MIENTRAS FRENTE-LIBRE HACER INICIO
SI FRENTE-LIBRE ENTONCES AVANZA;
41
42. SI FRENTE-BLOQUEADO ENTONCES GIRA-IZQUIERDA;
fin;
recogetodo;
MIENTRAS FRENTE-LIBRE HACER INICIO
SI FRENTE-LIBRE ENTONCES AVANZA;
recogetodo;
SI DERECHA-LIBRE ENTONCES REPETIR 3 VECES GIRA-IZQUIERDA;
SI FRENTE-BLOQUEADO ENTONCES GIRA-IZQUIERDA;
SI FRENTE-BLOQUEADO ENTONCES GIRA-IZQUIERDA;
si DERECHA-LIBRE Y IZQUIERDA-LIBRE entonces inicio
dejatodo;
apagate;
fin sino inicio
SI DERECHA-LIBRE Y IZQUIERDA-LIBRE ENTONCES DEJATODO;
FIN;
FIN;
apagate;
termina-ejecucion
finalizar-programa
42
44. DESPUES
PRACTICA 12 “SEMBRANDO”
DESCRIPCION
Karel tiene que sembrar zanahorias en un terreno de un mínimo 3 x 1 hasta un
máximo de 9 x 1.
CODIGO DE SOLUCION
iniciar-programa
44
45. define-nueva-instruccion izquierda 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
mientras derecha-bloqueada hacer avanza;
izquierda;
avanza;
izquierda;
45
46. mientras frente-libre hacer avanza;
oeste;
mientras frente-libre hacer avanza;
vuelta;
avanza;
mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
avanza;
apagate;
fin;
define-nueva-instruccion sembrar como inicio
mientras frente-libre y no-junto-a-zumbador hacer inicio
deja-zumbador;
avanza;
si frente-bloqueado y orientado-al-norte y derecha-bloqueada entonces inicio
si no-junto-a-zumbador entonces deja-zumbador;
sur;
mientras frente-libre hacer avanza;
norte;
regresa;
fin;
si frente-bloqueado y orientado-al-sur y izquierda-bloqueada entonces inicio
si no-junto-a-zumbador entonces deja-zumbador;
norte;
regresa;
fin;
46
47. si frente-bloqueado y orientado-al-sur entonces inicio
si no-junto-a-zumbador entonces deja-zumbador;
gira-izquierda;
avanza;
deja-zumbador;
gira-izquierda;
sembrar;
fin;
si frente-bloqueado y orientado-al-norte entonces inicio
si no-junto-a-zumbador entonces deja-zumbador;
izquierda;
avanza;
deja-zumbador;
izquierda;
sembrar;
fin;
fin;
si junto-a-zumbador y frente-libre entonces inicio
avanza;
sembrar;
fin;
fin;
inicia-ejecucion
este;
47
48. avanza;
mientras junto-a-zumbador hacer coge-zumbador;
vuelta;
avanza;
izquierda;
avanza;
mientras derecha-bloqueada hacer avanza;
izquierda;
avanza;
sur;
mientras frente-libre hacer avanza;
vuelta;
sembrar;
termina-ejecucion
finalizar-programa
Ejemplo
“ANTES”
48
50. PRACTICA 13 “PAREDES”
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.
CODIGO DE SOLUCION:
Inicia-programa
dfine-nueva-instrucción derecha como inicio
grira-izquierda;
grira-izquierda;
grira-izquierda;
fin;
define-nueva-instrucción sur como inicio
mientras-no-orientado-al-sur-hacer gira;
izquierda;
fin;
define-nueva-instrucción norte como inicio
mientras-no-orientado-al-sur-hacer gira;
izquierda;
fin;
define-nueva-instrucción oeste como inicio
50
51. mientras-no-orientado-al-sur-hacer gira;
izquierda;
fin;
define-nueva-instrucción este como inicio
mientras-no-orientado-al-sur-hacer gira;
izquierda;
fin;
define nueva-instrucción vuelta como inicio
repetir 2 veces gira-izquierda;
fin;
define-nueva-instrucción pared como inicio
mientras algún-zumbador-en-la-mochila
hacer inicio
deja-zumbador;
si frente-libre entonces inicio
avanza;
fin;
sino inicio
si frente-bloqueado y orientado-al-oeste
entonces inicio
si-no-junto-a-zumbador entonces deja;
zumbador;
derecha;
avanza;
51
52. derecha;
pared;
fin;
si frente-bloqueado y orientado-al-este
entonces inicio
si-no-junto-a-zumbador entonces deja;
zumbador;
gira-izquierda;
avanza;
gira-izquierda;
pared;
fin;
fin;fin;
apágate;
fin;
define-nueva-instrucción regresa como inicio
vuelta;
mientras frente libre hacer avanza;
si frente bloqueado e izquierda-bloqueada
entonces inicio
oeste;
pared;
fin;
gira-izquierda;
52
53. avanza;
si-no-junto entonces avanza;
gira-izquierda;
define-nueva-instrucción recoge como inicio
mientras junto a-zumbador hacer inicio
coge-zumbador;
avanza;
si no-junto-a-zumbdor entonces inicio
regresa;
recoger;
fin;
fin;
si-no-junto-a-zumbador entonces inicio
este;
avanza;
norte;
fin;
fin;
inicia-ejecucion
norte;
recoge;
termina-ejecucion
finalizar-programa
53