20 dic 2008

XO: TORTUGARTE


TUTORIAL DE TORTUGARTE
Aporte de Esteban Bordón
Introducción
TortugArte es una actividad inspirada en LOGO.
Es un lenguaje de programación. Sin embargo, y más importante, es un lenguaje para aprender. Es una herramienta útil para enseñar el proceso de aprendizaje y de pensamiento. Consiste en programar el comportamiento de una tortuga, realizando formas y diseños en la pantallade la computadora.
Es fácil de usar y muy intuitivo, existe una amplia variedad de bloques que modelan el comportamiento de la tortuga.
Existen diferentes paletas que contienen un grupo de bloques relacionados entre si. Hasta el momento las paletas son:
· Tortuga: Describe los movimientos de la tortuga, sus coordenadas y su rumbo.
· Pluma: Diseño del rastro de la tortuga, tamaño y color de la pluma.
· Números: Permite expresiones algebraicas, operaciones básicas y comparaciones entre valores.
· Sensores: Describe diferentes valores en los sensores de la XO.
· Flujo: Contiene bloques de flujo, condiciones y repeticiones.
· Mis bloques: Bloques definidos por el usuario.

Empezando a utilizar el TortugArte
Darle movimiento a la tortuga es muy simple, sólo hay que indicarle que vaya hacia adelante con el bloque “adelante”. Si le damos el valor adelante 100 le estamos diciendo a la tortuga que avance 100 píxeles. El pixel es la unidad de medida de la resolución de la pantalla, en la XO es de 1200x900 píxeles y el TortugArte usa 1200x800 px.
Además de hacer andar hacia adelante la tortuga se le puede decir que gire hacia la derecha o la izquierda. Si le damos la instrucción derecha 90 le estamos diciendo que gire hacia su derecha un ángulo de 90 grados.
Con esas dos instrucciones podemos hacer nuestro primer ejemplo, un cuadrado:
adelante 100derecha 90adelante 100derecha 90adelante 100derecha 90adelante 100derecha 90
Como se puede ver se ejecuta varias veces el mismo patrón (adelante 100; derecha 90). Para evitar la repetición de código existen los bloques de repetición, el ejemplo anterior quedaría de la siguiente manera:
repetir 4
adelante 100 derecha 90
El código que se encuentre dentro del bloque “repetir” se va a ejecutar tantas veces como se le indique (en este caso 4). Con este tippo de bloques acortamos el código y resulta mas fácil de entender, lo que antes llevaba 8 lineas ahora lleva 3.
También se pueden definir bloques de usuario con los bloques llamados “pila”, esto sirve para “hacer mas prolijo” el código y para no repetirlo en el caso que se necesite usar las mismas instrucciones en mas de una parte del código.
El ejemplo del cuadrado quedaría:
pila1{repetir 4adelante 100derecha 90}
Ahora cada vez que se ejecute la instrucción “pila1” se estará ejecutando todo el código que contiene.
Podemos dibujar el cuadrado rotado escribiendo el siguiente código:
limpiarizquierda 36pila1
Pila1 es el bloque que definimos previamente.
Aquí aparece un bloque nuevo llamado “limpiar”, lo que hace ese bloque es limpiar la pantalla, borra todo lo que había anteriormente y coloca la tortuga en el centro de la pantalla.
Si seguimos haciendo crecer el código y combinamos lo que se ha hecho hasta ahora...
limpiarrepetir 10
pila1izquierda 36
Con este código hacemos una especie de “estrella” formada por cuadrados rotados.
Ahora agregaremos los bloques de usuario llamados “caja”. La función de esos bloques es llevar variables del usuario. Por ejemplo si en un ciclo de repetición quieren ir incrementando un valor de una instrucción.
Ejemplo:
limpiarponer_en_ caja1 1repetir 10
pila1izquierda 36fijar_color caja1poner_en_ (caja1 caja1 + 9)
En este ejemplo además del concepto “caja” se incorporan dos bloques mas. El bloque “fijar_color” que fija el color para el pincel, el rango de colores va de 0 a 100. Así como el bloque “fijar_color” existe el bloque “fijar_tono” que fija la tonalidad del color del pincel.
El otro bloque que se muestra es el bloque “+” que es la suma numérica, en este caso sirve para cambiar el color del pincel.
Haciendo unos retoques a los ejemplos anteriores llegamos al ejemplo final:
pila1 {repetir 4adelante caja1derecha 90}
pila2 {repetir 10pila1izquierda 36}
Programa principal.
limpiarponer_en_caja1 0repetir 250
pila2fijar_color caja1poner_en_caja1 (caja1 + 1)fijar_tono caja1
Guía de TortugArte
Paleta “Tortuga”
Bloque
Descripción
limpiar
Borra la pantalla y deja la tortuga en el centro de la misma
adelante
Mueve la tortuga tantos pixeles como se le indique en el sentido que esta trae.
atrás
Mueve la tortuga tantos pixeles como se le indique en el sentido opuesto al que trae.
izquierda
Gira la tortuga a la izquierda tantos grados como se le indique.
derecha
Gira la tortuga a la derecha tantos grados como se le indique.
arco
Realiza un arco de ángulo y radio indicados
fijar xy
Fija la posición de la tortuga en las coordenadas (x,y) indicadas siendo la posicion (0,0) el centro de la pantalla y van desde (-600,-400) hasta (600,400)
frumbo
Fija el rumbo de la tortuga, es un valor entre 0 y 360
coorx
Retorna el valor de la coordenada x
coory
Retorna el valor de la coordenada y
rumbo
Retorna el valor del rumbo de la tortuga

Paleta “Pincel”
Bloque
Descripción cp
Levanta en pincel sp
Baja el pincel

fijar tamaño
Fija el grosor del pincel
fijar color
Fija el color del pincel
fijar tono
Fija el tono del color del pincel
pintar fondo
Pinta el fondo con el color y el tono especificados
tamaño
Retorna el tamaño del pincel
color
Retorna el color del pincel
tono
Retorna el tono del pincel

Paleta “Números”
Bloque
Descripción
número
Para asignar valores numéricos a determinado bloque.
+, - , x , /
Realiza las operaciones suma, resta, multiplicación y división.
mod
Retorna el resto de la división entera entre dos números.
azar
Retorna un número al azar dentro del rango especificado.
<, >, =
Compara dos valores y devuelve Verdadero o Falso.
y
Compara 2 expresiones booleanas y devuelve Verdadero si ambas expresiones son Verdaderas.
o
Compara 2 expresiones booleanas y devuelve Verdadero si alguna de las expresiones es Verdadera.
no
Cambia el valor de la expresión booleana de Verdadero a Falso y viceversa.
mostrar
Muestra el valor de la variable.

Paleta “Sensores”
Bloque
Descripción
nivel de sonido
Retorna el nivel de sonido de la XO
tono
Retorna el tono de la XO
resistencia
Retorna la resistencia de la XO
voltaje
Retorna el voltaje de la XO

Paleta “Flujo”
Bloque
Descripción
esperar
Detiene la tortuga el tiempo que se le indique.
repetir
Repite las instrucciones contenidas tantas veces como se le indique.
por siempre
Repite las instrucciones indicadas para siempre.
si entonces
Ejecuta el código contenido si se cumple la condición.
si entonces, si no
Si se cumple la condición ejecuta el código que está en “si”, de lo contrario ejecuta el bloque “si no”.
detener pila
Detiene la ejecución de un ciclo.
Colores
Puede encontrar la referencia de los colores en: http://wiki.laptop.org/go/Image:Turtle_art_colors.jpg

No hay comentarios: