Este documento presenta 13 prácticas de programación realizadas por dos estudiantes. Cada práctica describe un problema de programación y proporciona el código de solución. Las prácticas van desde mover a Karel para recoger zumbadores hasta hacerlo cruzar un laberinto.
Colegio de estudios cientificos y tecnologicos del estado de mexico
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.
Materia: Aplicar Los Principios De Programación En La
Solución De Problemas
Grupo: 404 Turno: Matutino
1
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;
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
finalizar-programa
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;
fin;
fin;
termina-ejecucion
finalizar-programa
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
finalizar-programa
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
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
22
23. 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 caminar-hasta-pared como inicio
mientras frente-libre hacer avanza;
fin;
inicia-ejecucion
apagate;
23
25. 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;
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;
25
26. 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
mientras frente-libre hacer avanza;
fin;
inicia-ejecucion
mientras frente-libre hacer inicio
recogetodo;
avanza;
26
27. 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;
termina-ejecucion
finalizar-programa
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;
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
29
30. 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
mientras frente-libre hacer avanza;
fin;
inicia-ejecucion
mientras frente-libre hacer inicio
recogetodo;
avanza;
recogetodo;
si frente-bloqueado entonces inicio
30
31. sur;
caminapared;
este;
si frente-libre entonces inicio
avanza;
fin sino inicio
oeste;
caminapared;
dejatodo;
apagate;
fin;
norte;
fin;
fin;
apagate;
termina-ejecucion
finalizar-programa
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;
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
33
34. 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
mientras frente-libre hacer avanza;
fin;
inicia-ejecucion
34
35. 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
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;
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;
37
38. 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
mientras frente-libre hacer avanza;
fin;
inicia-ejecucion
mientras frente-libre hacer inicio
recogetodo;
avanza;
38
39. 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;
termina-ejecucion
finalizar-programa
39
41. 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;
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
41
42. dejatodo;
apagate;
fin sino inicio
SI DERECHA-LIBRE Y IZQUIERDA-LIBRE ENTONCES DEJATODO;
FIN;
FIN;
apagate;
termina-ejecucion
finalizar-programa
42
44. 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
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
44
45. 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;
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;
45
46. 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;
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;
46
47. fin;
fin;
si junto-a-zumbador y frente-libre entonces inicio
avanza;
sembrar;
fin;
fin;
inicia-ejecucion
este;
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
47