ILyPC - 2.
Alternativas Condicionales
Alternativas Condicionales
Ejercicio 1) El marciano vuelve a tener hambre
Nuevamente el marciano está en el desierto, y vuelve a tener hambre. Deberá comer todas las manzanas
que haya en el desierto, las cuales están solamente en los bordes del escenario. Sin embargo, esta vuelta el
escenario es variable, y el lugar en donde se encuentran las manzanas no es fijo, sino que una ubicación
puede o no haber una manzana, y no se sabe a priori.
Se muestran a continuación dos posibles escenarios iniciales, pero el escenario inicial podría ser cualquier
otro que cumpla la descripción arriba mencionada.
Las primitivas son las ya utilizadas en el ejercicio “El marciano en el desierto” de PilasBloques (Mover a
la derecha, Mover a la izquierda, Mover arriba, Mover abajo y Comer manzana). A la cual
agregamos un sensor (¿hay manzana?) y la posibilidad de usar alternativa condicional en cualquiera de
sus formas.
Se pide entonces que escriba un programa que resuelva el problema del marciano.
Ejercicio 2) Babe, el chanchito comelón
Babe, el cerdito comelón, vive en una granja en donde sus dueños disponen para él de manzanas y
naranjas, todo un festín para un cerdito. Babe come todo lo encuentra a su paso, no deja absolutamente
nada. Pero claro, sus dueños dejan la comida en cualquier lugar del corral, por lo que Babe debe aprender
que no siempre las manzanas están en las mismas ubicaciones. En una ubicación puede haber solo una
manzana, en otras solo una naranja, en otras pueden haber ambas frutas, e incluso en otros lugares no
haber nada. El corral, desde ya, tiene siempre 6 lugares, y Babe siempre espera su almuerzo en la ubicación
más a la izquierda. Esto se muestra en el siguiente escenario:
Ayuda a Babe a comer todo lo que encuentre, escribiendo un programa que lo manipule y utilizando las
primitivas y sensores a continuación:
Mover a la derecha Comer manzana
Mueve a Babe un lugar a la derecha. Debe haber lugar a Hace que Babe coma la manzana en la ubicación donde
la derecha. se encuentra. Falla sí no hay una manzana en la
ubicación.
Comer naranja ¿hay una manzana?
Hace que Babe coma la naranja en la ubicación donde Indica sí hay una manzana en la ubicación donde se
se encuentra. Falla sí no hay una naranja en la ubicación. encuentra Babe.
¿hay una naranja?
Indica sí hay una manzana en la ubicación donde se encuentra Babe.
ILyPC - 2. Alternativas Condicionales
Ejercicio 3) Babe, el chanchito comelón 2
Babe enfermó un poco y los granjeros lo han movido a otro corral, más ancho, para que tenga mayor
movilidad, y han terminado su dieta de naranjas, para terminar con su acidez. Los granjeros ahora
alimentan a Babe solo con manzanas que colocan en los bordes de arriba y abajo del corral. Nuevamente
disponen manzanas a veces en un lado y a veces en otro (y se garantiza que siempre hay una manzana, o
bien a uno o bien a otro lado). Para ayudar a babe, hay flechas en el centro del corral que indican hacia qué
lado se encuentran las manzanas. Todo puede apreciarse en el escenario siguiente:
Nuevamente el objetivo es hacer un programa que ayude a Babe a comer todo lo que hay en el corral, pero
esta vez tenemos diferentes primitivas:
Mover abajo Mover arriba
Mueve a Babe un lugar abajo. Debe haber lugar abajo. Mueve a Babe un lugar arriba. Debe haber lugar arriba.
Mover a la derecha Comer manzana
Mueve a Babe un lugar a la derecha. Debe haber lugar a Hace que Babe coma la manzana en la ubicación donde
la derecha. se encuentra. Falla sí no hay una manzana en la
ubicación.
¿la flecha apunta arriba?
Indica sí hay una flecha en la ubicación donde se encuentra Babe que apunta hacia arriba.
Ejercicio 4) Babe, el chanchito comelón 3
Ahora que Babe está curado, los granjeros decidieron devolverle su dieta normal, a base tanto de naranjas
como de manzanas, pero manteniendo a Babe en el nuevo corral. Así, ahora Babe tendrá no solo flechas
que indican hacia qué lado está la fruta a comer, sino que además, la flecha será de distinto color según la
fruta que se debe comer. Sí la flecha es naranja, se espera una naranja, mientras que sí es roja, se espera
una manzana.
Nuevamente el objetivo es hacer un programa que ayude a Babe a comer todo lo que hay en el corral, y
justo a las primitivas del ejercicio anterior tenemos la primitiva ¿la flecha es roja? que indica sí la
flecha en donde está Babe es de color rojo, además de poder Comer naranja como en el primer ejercicio.