viernes, 29 de noviembre de 2019

INICIANDO A TRABAJAR CON KAREL


NIVEL DE INICIO

Mi primer código en karel


Descripción


Este es tu primer programa en karel y para eso te voy a explicar como funciona, siempre que empieces un código nuevo aparecerá de la siguiente manera:
class program{
 program(){ 
turnoff();
 } 
}
Esta es la estructura base de tu código, es lo mínimo que necesitas para empezar a programar. Ten cuidado si borras algo de lo que aparece puede que deje de funcionar.


Para empezar vamos a aprender un nuevo comando de Karel, este comando le ayuda a karel a moverse, pero hay un detalle solo puede avanzar una casilla en la dirección hacia donde se encuentra apuntando Karel. Ese comando se llama move();.
Problema


Ayuda a Karel a avanzar una casilla hacia adelante

EJEMPLO




CÓDIGO:
class program {
    program () {
    move();
        turnoff();
    }
}

BUSCANDO TESOROS

Descripción

A la hora de recreo, los amigos de Karel estaban jugando a los piratas, como a Karel le gustan mucho, decide ir por su parche pirata y su espada de plástico para poder aventurarse mejor dentro del personaje, como es de esperarse los piratas andan en busca de tesoros, tienen un mapa el cual les ayudará a encontrar aquel tan preciado tesoro, como Karel no es tan bueno leyendo los mapas, te ha pedido ayuda para poder encontrar el tesoro y obtener recompensas.
Problema

Ayuda a Karel a encontrar el tesoro escondido siguiendo las siguientes instrucciones:
  1. 6 pasos al Norte
  2. Girar 3 veces a la Izquierda
  3. 2 pasos al Este
  4. Girar 3 veces a la Izquierda
  5. 3 pasos al Sur
  6. Girar a la Izquierda
  7. 5 pasos al Este
  8. Girar a la Izquierda
  9. 4 pasos al Norte
  10. Gira a la Izquierda
  11. Avanza un paso al Oeste
EJEMPLO

 

CÓDIGO:

class program {
define turnright(){
turnleft();
turnleft();
turnleft();
}
program () {
iterate(6){
move();
}
turnright();
move();
move();
turnright();
move();
move();
move();
turnleft();
iterate(5){
move();
}
turnleft();
iterate(4){
move();
}
turnleft();
move();

turnoff();
}
}

jueves, 28 de noviembre de 2019

QUÉ ES KAREL EL ROBOT



¿QUIÉN ES KAREL?

Karel es un robot virtual que existe sólo dentro de una computadora, es decir, no es un robot que puedas tocar en la vida real. El objetivo de Karel es enseñarte como es el mundo de la programación de computadoras a través de sencillas instrucciones pero que combinadas, pueden resolver problemas realmente difíciles.

KAREL Y SU MUNDO

Tanto Karel como su mundo son objetos bastante simples:

• Karel tiene la forma de una flecha (color azul), que puede apuntar hacia cualquiera de los puntos cardinales: norte, sur, este y oeste. Sólo puede apuntar a una dirección a la vez.

• El mundo donde vive tiene forma rectangular, el cual está formado por unas líneas negras que representan las paredes que encierran su mundo y evitan que salga de él.

¿Qué otros objetos existen en el mundo?

En el mundo puedes encontrar otros objetos con los que Karel puede interactuar:

• Además de las paredes que delimitan al mundo, también existen paredes dentro del mundo. Su objetivo es como en la vida real, separar o aislar espacios; o en este caso, separar o aislar esquinas.

• Los beepers (o zumbadores) son unos pequeños objetos que Karel puede recoger de una esquina o también dejarlos en alguna esquina. En una esquina puede haber desde 0 hasta una infinidad de beepers. Al grupo de varios beepers en una esquina, le llamamos montón de beepers.

• En la imagen, los beepers están representados por los cuadros verdes y el número indica la cantidad de beepers en esa esquina. Por ejemplo, en la esquina (11, 3) hay montón de 3 beepers, mientras que en la esquina (2,4) hay montón de infinitos beepers.

• También existe un tercer objeto que no es visible en el mundo: la mochila de Karel. La mochila es un objeto que Karel lleva consigo, en ella pone los beepers que recoge, y de ahí saca los beepers que deja; también pueden caber desde 0 hasta infinitos beepers. Las paredes

Normalmente las paredes nos servirán para representar diferentes formas físicas: una casa, una escalera, una torre, un edificio, laberintos, etc:

Su objetivo será principalmente dificultar la movilidad de Karel. Te enfrentarás a problemas donde tendrás que utilizar las paredes como referencia y en algunos otros, Karel podría estar dentro de un lugar rodeado de paredes.

Los beepers

Por otro lado, los beepers, aunque son simples su objetivo será por lo general, representar cantidades de otros objetos como monedas, flores, frutas, personas, números y en algunas ocasiones, podrían usarse para hacer formas más complejas: 

CÓDIGOS PARA USAR KAREL
move();-moverse un espacio
turnleft();-girar ala izquierda
pickbeeper();-recojer beeper
putbeeper();-dejar beeper
frontIsClear-el frente esta libre
frontIsBlocked-el frente esta bloqueado
leftIsClear-la izquierda esta libre
leftIsBlocked-la izquierda esta bloqueada
rightIsClear-la derecha esta libre
rightIsBlocked-la derecha esta bloqueada
nextToABeeper-esta cerca de un beeper
notNextToABeeper-no esta cerca de un beeper
anyBeepersInBeeperBag-hay beepers en la mochila de beepers
noBeepersInBeeperBaag-no hay beepers en la mochila de beepers
facingNorth-esta viendo a el norte
facingSouth-esta viendo a el sur
facingEast-esta viendo a el este
facingWest-esta viendo a el oeste
notFacingNorth-no esta viendo hacia el norte
notFacingSouth-no esta viendo hacia el sur
notFacingEast-no esta viendo hacia el este
notFacingWest-no esta viendo hacia el oeste

los códigos subrayados en color azul cielo se utilizan cuando se utiliza una sentencia como:
if-se utiliza cuando se pregunta si se cumple alguno de los códigos de color azul cielo
while-se utiliza cuando quieres que se cumpla uno de los códigos cuando se cumpla uno de los códigos de color azul cielo
else- se usa despues de un IF para que si no se cumplio el codigo que se puso haga otra acccion si no se cumple el IF
EJEMPLOS:

if(frontIsClear){
move();
}else{
turnleft();
}
while(frontIsBlocked){
turnleft();
}