PDF de programación - Primeros Pasos en Karel III

Imágen de pdf Primeros Pasos en Karel III

Primeros Pasos en Karel IIIgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 24 de Octubre del 2017)
1.539 visualizaciones desde el 24 de Octubre del 2017
873,0 KB
21 paginas
Creado hace 13a (03/04/2011)
En Karel, además de las instrucciones básicas, también existe una instrucción que le dice a Karel que ejecute varias veces
una o más instrucciones, y se escribe como a continuación:

Repetir

PASCAL
repetir <numero> veces

<instrucción>

JAVA


iterate( <numero> )
<instrucción>



Por ejemplo, para indicarle a Karel que debe caminar cinco posiciones hacia adelante, debemos escribir:

PASCAL
repetir 5 veces

avanza;

JAVA


iterate( 5 )
move();



Para especificar si queremos que más de una instrucción se ejecute varias veces, debemos delimitarlas de la siguiente
manera:

PASCAL
repetir <numero> veces inicio

<código>
fin;

JAVA


iterate( <numero> ) {
<código>
}



El código que escribamos entre los delimitadores (palabras en rojo) se ejecutara en orden el número de veces que
especifiquemos.

Por ejemplo para hacer que Karel construya un cuadrado de zumbadores de 5x5 el código sería:

PASCAL
1
2
3
4
5
6
7
8
9
10
11
12
13

iniciar-programa
inicia-ejecucion
repetir 4 veces inicio
repetir 4 veces inicio
avanza;
deja-zumbador;
fin;
repetir 3 veces
gira-izquierda;
fin;
apagate;
termina-ejecucion
finalizar-programa







Escrito por Enrique Lira Vargas

JAVA
1
2
3
4
5
6
7
8
9
10
11
12
13

class program {
program() {
iterate(4) {
iterate(4) {
move();
putbeeper();
}
iterate(3)
turnleft();
}
turnoff();
}
}



Como podemos ver, las líneas 3 y 10 delimitan el fragmento de código que se repetirá 4 veces (una por cada lado del
cuadrado). Las líneas 4 y 7 delimitan un fragmento de código que se repetirá cuatro veces, el cual es una secuencia de
avanzar y poner un zumbador. Las líneas 8 y 9 le indican a Karel que debe girar tres veces a la izquierda (girar a la
derecha).

Al ejecutarse, tiene una sentencia de repetición en la línea 3 que nos indica en este caso particular que haremos cuatro
lados. Cada lado se conforma de una sucesión de 4 beepers contiguos, y giramos a Karel para que pueda dibujar el
siguiente lado.

Ejercicio. Ejecuta el código anterior y verifica que en realidad hace un cuadrado de 5x5, no olvides poner zumbadores en
la mochila de Karel.

Pregunta de reflexión. ¿Por qué si cada lado solo se compone de una sucesión de 4 zumbadores contiguos, Karel dibuja
un cuadrado de 5x5?





Escrito por Enrique Lira Vargas

Los sensores de Kare

Karel como buen robot, tiene sensores, los cuales le permiten saber cosas respecto a las condiciones en las que se
encuentra. Cada uno de estos sensores, puede ser preguntado mediante una Función Booleana específica para cada
sensor la cual es denominada booleana por la cualidad de que solo puede ser verdadera o falsa. A continuación veremos
cada una de ellas:

PASCAL
frente-libre
frente-bloqueado
izquierda-libre
izquierda-bloqueada
derecha-libre
derecha-bloqueada
junto-a-zumbador
no-junto-a-zumbador
algun-zumbador-en-la-mochila
ningun-zumbador-en-la-mochila
orientado-al-norte
orientado-al-sur
orientado-al-este
orientado-al-oeste
no-orientado-al-norte
no-orientado-al-sur
no-orientado-al-este
no-orientado-al-oeste

JAVA
frontIsClear
frontIsBlocked
leftIsClear
leftIsBlocked
rightIsClear
rightIsBlocked
nextToABeeper
notNextToABeeper
anyBeepersInBeeperBag
noBeepersInBeeperBag
facingNorth
facingSouth
facingEast
facingWest
notFacingNorth
notFacingSouth
notFacingEast
notFacingWest



Cada una de estas funciones booleanas pregunta por una cosa en específico y su nombre lo indica, sin embargo la
función junto-a-zumbador | nextToABeeper puede ser la más confusa, puesto que solo es verdadera cuando Karel está
sobre un zumbador.

Ahora veamos unos ejemplos de los valores que tomarían en diversas situaciones:





Escrito por Enrique Lira Vargas

Zumbadores en la mochila: 6



JAVA
frontIsClear
frontIsBlocked
leftIsClear
leftIsBlocked
rightIsClear
rightIsBlocked
nextToABeeper
notNextToABeeper
anyBeepersInBeeperBag

PASCAL
frente-libre
frente-bloqueado
izquierda-libre
izquierda-bloqueada
derecha-libre
derecha-bloqueada
junto-a-zumbador
no-junto-a-zumbador
algun-zumbador-en-la-mochila
ningun-zumbador-en-la-mochila noBeepersInBeeperBag
orientado-al-norte
orientado-al-sur
orientado-al-este
orientado-al-oeste
no-orientado-al-norte
no-orientado-al-sur
no-orientado-al-este
no-orientado-al-oeste

facingNorth
facingSouth
facingEast
facingWest
notFacingNorth
notFacingSouth
notFacingEast
notFacingWest

Zumbadores en la mochila: 0



JAVA
frontIsClear
frontIsBlocked
leftIsClear
leftIsBlocked
rightIsClear
rightIsBlocked
nextToABeeper
notNextToABeeper
anyBeepersInBeeperBag

PASCAL
frente-libre
frente-bloqueado
izquierda-libre
izquierda-bloqueada
derecha-libre
derecha-bloqueada
junto-a-zumbador
no-junto-a-zumbador
algun-zumbador-en-la-mochila
ningun-zumbador-en-la-mochila noBeepersInBeeperBag
orientado-al-norte
orientado-al-sur
orientado-al-este
orientado-al-oeste
no-orientado-al-norte
no-orientado-al-sur
no-orientado-al-este
no-orientado-al-oeste

facingNorth
facingSouth
facingEast
facingWest
notFacingNorth
notFacingSouth
notFacingEast
notFacingWest



Escrito por Enrique Lira Vargas

Valor
FALSO

VERDADERO

VERDADERO

FALSO

VERDADERO

FALSO

VERDADERO

FALSO

VERDADERO

FALSO

FALSO

FALSO

FALSO

VERDADERO

VERDADERO

VERDADERO

VERDADERO

FALSO

Valor
FALSO

VERDADERO

FALSO

VERDADERO

VERDADERO

FALSO

FALSO

VERDADERO

FALSO

VERDADERO

FALSO

VERDADERO

FALSO

FALSO

VERDADERO

FALSO

VERDADERO

VERDADERO

Zumbadores en la mochila: 6



JAVA
frontIsClear
frontIsBlocked
leftIsClear
leftIsBlocked
rightIsClear
rightIsBlocked
nextToABeeper
notNextToABeeper
anyBeepersInBeeperBag

PASCAL
frente-libre
frente-bloqueado
izquierda-libre
izquierda-bloqueada
derecha-libre
derecha-bloqueada
junto-a-zumbador
no-junto-a-zumbador
algun-zumbador-en-la-mochila
ningun-zumbador-en-la-mochila noBeepersInBeeperBag
orientado-al-norte
orientado-al-sur
orientado-al-este
orientado-al-oeste
no-orientado-al-norte
no-orientado-al-sur
no-orientado-al-este
no-orientado-al-oeste

facingNorth
facingSouth
facingEast
facingWest
notFacingNorth
notFacingSouth
notFacingEast
notFacingWest

Zumbadores en la mochila: 0



JAVA
frontIsClear
frontIsBlocked
leftIsClear
leftIsBlocked
rightIsClear
rightIsBlocked
nextToABeeper
notNextToABeeper
anyBeepersInBeeperBag

PASCAL
frente-libre
frente-bloqueado
izquierda-libre
izquierda-bloqueada
derecha-libre
derecha-bloqueada
junto-a-zumbador
no-junto-a-zumbador
algun-zumbador-en-la-mochila
ningun-zumbador-en-la-mochila noBeepersInBeeperBag
orientado-al-norte
orientado-al-sur
orientado-al-este
orientado-al-oeste
no-orientado-al-norte
no-orientado-al-sur
no-orientado-al-este
no-orientado-al-oeste

facingNorth
facingSouth
facingEast
facingWest
notFacingNorth
notFacingSouth
notFacingEast
notFacingWest





Escrito por Enrique Lira Vargas

Valor
VERDADERO

FALSO

VERDADERO

FALSO

VERDADERO

FALSO

VERDADERO

FALSO

VERDADERO

FALSO

FALSO

FALSO

VERDADERO

FALSO

VERDADERO

VERDADERO

FALSO

VERDADERO

Valor
VERDADERO

FALSO

VERDADERO

FALSO

FALSO

VERDADERO

FALSO

VERDADERO

FALSO

VERDADERO

VERDADERO

FALSO

FALSO

FALSO

FALSO

VERDADERO

VERDADERO

VERDADERO

Podemos crear nuevas funciones a partir de otras utilizando los siguientes operadores:

Unión de Funciones Booleanas

NOMBRE
Y lógico (AND)
O lógico (OR)
NO lógico (NOT)


PASCAL
y
o
no

Los operadores pueden ser utilizados de la siguiente manera:

JAVA
&&
||
!

NOMBRE
Y lógico (AND)
O lógico (OR)
NO lógico (NOT)


PASCAL
<función 1> y <función 2>
<función 1> o <función 2>
no <función>

JAVA
<función 1> && <función 2>
<función 1> || <función 2>
! <función>

Las tablas de verdad para los operadores lógicos de Karel son las siguientes.





función 1
VERDADERO
VERDADERO

FALSO
FALSO

función 2
VERDADERO

FALSO

VERDADERO

FALSO







función 1
VERDADERO
VERDADERO

FALSO
FALSO

función 2
VERDADERO

FALSO

VERDADERO

FALSO

AND

PASCAL

JAVA

<función 1> y <función 2>

<función 1> && <función 2>

VERDADERO

FALSO
FALSO
FALSO

OR

PASCAL

JAVA

<función 1> o <función 2>

<función 1> || <función 2>

VERDADERO
VERDADERO
VERDADERO

FALSO

NOT









función

VERDADERO

FALSO

PASCAL

no <función>

JAVA

! <función>

FALSO

VERDADERO



Escrito por Enrique Lira Vargas

Instrucción Si

Ahora que ya conocemos la funciones booleanas de Karel, podemos pasar a utilizarlas. La primera forma de utilizarlas y
la más simple es por medio de la instrucción SI la cual nos permite preguntar por alguna función booleana y si su valor es
VERDADERO, ejecuta un fragmento de código, en caso contrario puede ejecutar o no otro fragmento de código, cabe
aclarar que el valor de la función booleana depende únicamente del estado en el que se encuentre Karel al momento de
preguntar. La forma de escribir esta instrucción es la siguiente:

PASCAL


si <función booleana> entonces inicio
<código>
fin sino inicio
<código 2>
fin;

JAVA


if( <función booleana> ){
<código>
} else {
<código 2>
}

La parte en verde es opcional.

La forma en que funciona esta instrucción es la siguiente, primero verifica el valor de la función booleana si el valor es
VERDADERO entonces ejecuta el <código> en caso contrario si existe la sección en verde, ejecuta el <código 2>. Si no
existe la secció
  • Links de descarga
http://lwp-l.com/pdf7258

Comentarios de: Primeros Pasos en Karel III (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad