Post on 19-Jul-2015
Profesor: Ing. René Domínguez Escalona
Grupo: 404 Especialidad: Informática
Turno: Matutino
Tema: Mis Prácticas
Integrantes: Sánchez Machuca Lizeth Adriana
Delgado Apolinar Cynthia Nohemi
PRACTICA1: KAREL 1 Descripción
Karel tiene que llegar hasta donde están los zumbadores pero su camino no es recto, el
tiene que desplazarse por las calles para llegar a los zumbadores.
Tarea
Escribe el programa que ayude a Karel a llegar a los zumbadores
Entrada
Karel inicio orientado al norte
Karel no debe de chocar con ninguna pared
Karel debe de recoger los zumbadores que están ubicados en la parte final , regresar
y dejarlos en donde él empezó
Salida
No importa la posición final de Karel
No tiene que quedar ningún zumbador en la parte final del camino
EJEMPLO SOLUCION
CODIGO DE SOLUCION
niciar-programa
inicia-ejecucion
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;
avanza;
gira-izquierda;
avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
avanza;
gira-izquierda;
gira-izquierda;
gira-izquierda;
avanza;
gira-izquierda;
avanza;
gira-izquierda;
avanza;
coge-zumbador;
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;
gira-izquierda;
avanza;
gira-izquierda;
deja-zumbador;
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;
gira-izquierda;
avanza;
coge-zumbador;
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;
gira-izquierda;
avanza;
gira-izquierda;
deja-zumbador;
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;
gira-izquierda;
avanza;
coge-zumbador;
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;
gira-izquierda;
avanza;
gira-izquierda;
deja-zumbador;
apagate;
termina-ejecucion
finalizar-programa
PRACTICA 2: CAMINANDO
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.
Tarea
Escribe un programa que lleve a Karel a la casa de su abuelita.
Entrada
Karel siempre inicia al principio del camino y orientado en dirección hacia la casa
de su abuelita, el camino es recto y Karel siempre encontrará a su abuelita antes de
caminar 30 pasos.
Salida
Solo se evaluará la posición final en que quede Karel. Que debe ser la primera
posición que cumpla con lo siguiente izquierda bloqueada y junto a un zumbador.
Ejemplo
EJEMPLO SOLUCIÓN
CODIGO DE SOLUCION:
iniciar-programa
inicia-ejecución
mientras izquierda-libre o no-junto-a-zumbador hacer inicio
avanza ;
fin ;
apágate;
termina-ejecución
finalizar-programa
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
Entrada
Karel puede aparecer en cualquier parte del mundo y puede aparecer en cualquier
orientación.
Salida
Solo se evaluará que Karel quede orientado al norte la posición final de Karel, que
debe ser la misma donde inicio.
EJEMPLO SOLUCION
CODIGO DE SOLUCION
iniciar-programa
inicia-ejecución
si orientado-al-sur entonces inicio
gira-izquierda;
gira-izquierda;
apagate;
fin ;
si orientado-al-este entonces inicio
gira-izquierda;
apágate;
fin ;
si orientado-al-oeste entonces inicio
gira-izquierda;
gira-izquierda;
gira-izquierda;
apágate;
fin ;
apágate;
termina-ejecución
finalizar-programa
PRACTICA 4: RECOGE
Descripción
Haz que Karel recoja los zumbadores del renglón y que los coloque en la pared que
esta frente de el
Tarea
Escribe un programa que recoja todos los zumbadores que hay adelante de Karel y
que los deje en la pared ubicada a delante de Karel
Entrada
Karel siempre inicia al principio del renglón y viendo hacia el este, entre Karel
(incluyendo su posición) y la siguiente pared hay montones (de un solo zumbador)
Salida
Solo se evaluará que la cantidad de zumbadores colocada a la orilla de la pared sea
el correcto.
EJEMPLO SOLUCION
CODIGO DE SOLUCION
iniciar-programa
inicia-ejecucion
mientras frente-libre o junto-a-zumbador hacer inicio
avanza; avanza;
coge-zumbador;
fin ;
mientras algun-zumbador-en-la-mochila hacer inicio
deja-zumbador;
fin ;
apagate;
termina-ejecucion
finalizar-programa
P5: SUBIENDO Descripción
Karel quiere asomarse por arriba de la barda para ver qué hay del otro lado.
Tarea
Escribe un programa que lleve a Karel a la parte arriba de la barda
Entrada
Karel aparece siempre pegado a la parte inferior de la barda, mirando hacia el norte,
la barda tiene una altura que va desde 1 hasta 20.
Salida
Solo se evaluará la posición final en que quede Karel, esta posición debe ser en el
renglón inmediato por arriba del fin de la barda.
EJEMPLO SOLUCION
CODIGO DE SOLUCION
iniciar-programa
inicia-ejecucion
mientras derecha-bloqueada hacer inicio
avanza;
fin;
apagate;
termina-ejecucion
finalizar-programa
P6: NUEVAS INSTRUCCIONES
Crear en karel las siguientes nuevas instrucciones
Gira-derecha
Norte
Sur
Este
Oeste
Media-vuelta
Caminar-hasta-pared
Recoger-todo
Dejar-todo
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;
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
derecha;
avanza;
recogetodo;
avanza;
norte;
avanza;
sur;
avanza;
este;
avanza;
oeste;
avanza;
media-vuelta;
caminar-hasta-pared;
dejatodo;
apagate;
termina-ejecucion
finalizar-programa
KARELOTITLAN 1 AMONTONAR ZUMBADORES
Descripción
Por su naturaleza, Karel es un robot muy ordenado y le gusta tener todos sus
zumbadores acomodados en montones.
Tras un fin de semana de juegos, Karel tiene su cuarto lleno de zumbadores
regados en columnas, por lo que ahora deberá juntar los zumbadores de cada
columna y hacer un montón con ellos en la base de la misma.
Problema
Tu tarea consiste en escribir un programa que ayude a Karel a amontonar los
zumbadores de cada columna en un montón en la base de la misma.
Consideraciones
nicialmente, Karel se encuentra en la posición (1,1) orientado hacia el norte.
El cuarto de Karel se encuentra lleno de columnas de zumbadores como se
muestra en el ejemplo.
Las columnas de zumbadores pueden tener cualquier altura desde 1 hasta 100
zumbadores, y se suceden una a la otra sin dejar espacios.
Al encontrar la primera columna vacía, Karel sabrá que ha llegado al final del
cuarto.
Karel no tiene zumbadores en la mochila.
La cantidad de zumbadores en cada casilla es desconocida.
No importa la posición ni la orientación final de Karel
EJEMPLO SOLUCION
RESULTADO DE EVALUACION
CODIGO DE SOLUCION
iniciar-programa
define-nueva-instruccion come como inicio
si no orientado-al-norte entonces inicio
gira-izquierda;
fin;
mientras junto-a-zumbador y no frente-bloqueado hacer inicio
mientras junto-a-zumbador y no frente-bloqueado hacer coge-zumbador;
avanza;
mientras junto-a-zumbador y frente-bloqueado hacer
coge-zumbador;
fin;
fin;
define-nueva-instruccion dejalotodo como inicio
mientras algun-zumbador-en-la-mochila hacer deja-zumbador;
fin;
define-nueva-instruccion vuelta-atras como inicio
repetir 2 veces gira-izquierda;
fin;
define-nueva-instruccion hazlo como inicio
come;
vuelta-atras;
mientras frente-libre hacer inicio
avanza;
fin;
dejalotodo;
gira-izquierda;
avanza;
gira-izquierda;
fin;
inicia-ejecucion
mientras junto-a-zumbador hacer hazlo;
apagate;
termina-ejecucion
finalizar-programa
RECOGE BASURA Descripción
Karel tiene muchos zumbadores regados en su cuarto y como Karel es un robot
muy ordenado tiene que recogerlos y dejarlos en donde inicio
Tarea
Crea el programa en el cual Karel recoja todos los zumbadores y los deje en la
esquina inicial
Entrada
Karel inicia en la posición (1,1) orientado al norte
Karel está rodeado de pared no importa la altura ni la anchura
Puedes colocar hasta 100 zumbadores
Salida
No importa la posición final de Karel
No tiene que quedar ningún zumbador en el cuarto
EJEMPLO SOLUCION
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 mediavuelta 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 camina como inicio
mientras frente-libre hacer avanza;
fin;
inicia-ejecucion
mientras frente-libre hacer inicio
recogetodo;
avanza;
recogetodo;
si frente-bloqueado entonces 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
LABERINTO Descripción
Karel tiene 3 laberintos diferentes en los cuales tiene que recoger los zumbadores y
dejarlos en el punto “x”
Tarea
Crea el programa en el cual Karel recoja todos los zumbadores y los deje en el
punto “X”
Entrada
Karel inicia en la posición donde comience el laberinto
Karel deberá de dejar los zumbadores
El programa que realices para que recoja los zumbadores tiene que servir en todos
los laberintos
Salida
Los zumbadores tiene que estar en el punto “X”
No tiene que quedar ningún zumbador en los laberinto
EJEMPLO 1 SOLUCION 1
EJEMPLO 2 SOLUCION 2
EJEMPLO 3 SOLUCION 3
CODIGO DE SOLUCION
iniciar-programa
define-nueva-instruccion makekarel 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 izquierda-bloqueada
y frente-bloqueado entonces
repetir 3 veces gira-izquierda;
mientras frente-libre hacer inicio
avanza;
mientras junto-a-zumbador hacer
coge-zumbador;
mientras frente-libre
y izquierda-libre
y derecha-libre
y algun-zumbador-en-la-mochila 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 makekarel;
apagate;
termina-ejecucion
finalizar-programa
KARELOTITLAN 2 RECOGE ZUMBADORES
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.
Consideraciones
Karel se encuentra inicialmente orientado hacia el norte.
Karel está inicialmente en la esquina inferior izquierda del cuarto.
El cuarto es totalmente rectangular rodeado por paredes.
El cuarto rectangular puede tener cualquier medida de 1x1 hasta 20x20.
No importa la posición ni la orientación final de Karel.
EJEMPLO SOLUCION
CODIGO DE SOLUCION
iniciar-programa
define-nueva-instruccion esoeso como inicio
mientras izquierda-bloqueada y frente-bloqueado y derecha-libre hacer
repetir 3 veces gira-izquierda;
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-sur y izquierda-bloqueada y derecha-bloqueada y frente-bloqueado
hacer inicio
repetir 3 veces gira-izquierda;
mientras algun-zumbador-en-la-mochila y orientado-al-oeste y frente-bloqueado y
izquierda-bloqueada y derecha-libre
hacer
deja-zumbador;
si ningun-zumbador-en-la-mochila entonces apagate;
fin;
mientras algun-zumbador-en-la-mochila y orientado-al-oeste y frente-bloqueado y
izquierda-bloqueada y derecha-bloqueada
hacer inicio
deja-zumbador;
si ningun-zumbador-en-la-mochila entonces apagate;
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-ejecución
esoeso;
apagate;
termina-ejecucion
finalizar-programa
RESULTADO DE EVALUACION
TORRE MÁS ALTA
Descripción
Karel tiene muchas torres y debe identificar cual es la torre más alta y al ubicarla
deslizarse y recoger todos los zumbadores
Tarea
Hacer que Karel recorra el mundo y encontrar la torre más alta y recoger los
zumbadores
Entrada
Karel inicia en la posición (1,1)
Karel deberá recorrer el mundo y buscar la torre más alta
Al encontrar la torre más alta bajar y recoger los zumbadores
Salida
Los zumbadores tiene que quedar en la misma fila donde bajo
No importa la orientación final de Karel
EJEMPLO SOLUCION
CODIGO DE SOLUCION
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
KARELOTITLAN 3 SEMBRANDO
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.
Consideraciones
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.
EJEMPLO SOLUCION
RESULTADO DE EVALUACION