manual k Turtle

download manual k Turtle

of 42

description

manual

Transcript of manual k Turtle

  • El manual de KTurtle

    Cies BreijsAnne-Marie MahfoufMauricio Piacentini

    Traductor: Rafael BeccarTraductor: Leticia Martn Hernndez

  • El manual de KTurtle

    2

  • ndice general

    1. Introduccin 71.1. Qu es TurtleScript? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    1.2. Caractersticas de KTurtle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2. Uso de KTurtle 92.1. El editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2. El lienzo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3. El inspector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    2.4. La barra de herramientas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.5. La barra de mens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    2.5.1. El men Archivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.5.2. El men Editar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.5.3. El men Lienzo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.5.4. El men Ejecutar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    2.5.5. El men Herramientas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.5.6. El men Preferencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.5.7. El men Ayuda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    2.6. La barra de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    3. Cmo empezar 15

    3.1. Primeros pasos con TurtleScript: conozca la tortuga! . . . . . . . . . . . . . . . . . . 15

    3.1.1. La tortuga se mueve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    3.1.2. Otros ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    4. Gua del lenguaje de programacin TurtleScript 18

    4.1. La gramtica de TurtleScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    4.1.1. Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    4.1.2. rdenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.1.3. Nmeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.1.4. Cadenas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.1.5. Valores lgicos (verdadero/falso) . . . . . . . . . . . . . . . . . . . . . . . . 20

    4.2. Operadores aritmticos, lgicos y de comparacin . . . . . . . . . . . . . . . . . . . 20

    4.2.1. Operadores aritmticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

  • El manual de KTurtle

    4.2.2. Operadores lgicos (verdadero/falso) . . . . . . . . . . . . . . . . . . . . . . 21

    4.2.2.1. Unos ejemplos ms complejos: . . . . . . . . . . . . . . . . . . . . . 21

    4.2.3. Operadores de comparacin . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    4.3. rdenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224.3.1. Cmo mover la tortuga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    4.3.2. Dnde est la tortuga? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    4.3.3. La tortuga tiene un pincel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    4.3.4. rdenes que controlan el lienzo . . . . . . . . . . . . . . . . . . . . . . . . . 25

    4.3.5. Comandos para limpiar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    4.3.6. La tortuga es un duendecillo . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    4.3.7. La tortuga puede escribir? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    4.3.8. rdenes aritmticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.3.9. Entrada e informacin mediante dilogos . . . . . . . . . . . . . . . . . . . . 28

    4.4. Asignar valores a las variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    4.5. Cmo controlar la ejecucin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    4.5.1. Cmo hacer que la tortuga espere . . . . . . . . . . . . . . . . . . . . . . . . 30

    4.5.2. Ejecutar si . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    4.5.3. Si no es as: sino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.5.4. El bucle mientras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.5.5. El bucle repetir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    4.5.6. El bucle para, un bucle que cuenta . . . . . . . . . . . . . . . . . . . . . . . 31

    4.5.7. Interrumpir un bucle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    4.5.8. Interrumpir la ejecucin de tu programa . . . . . . . . . . . . . . . . . . . . 32

    4.5.9. Comprobacin de afirmaciones en tiempo de ejecucin . . . . . . . . . . . . 32

    4.6. Crea tus propias rdenes con aprender . . . . . . . . . . . . . . . . . . . . . . . . 33

    5. Glosario 35

    6. Gua para la traduccin de KTurtle 39

    7. Crditos y licencia 40

    A. Instalacin 41A.1. Cmo obtener KTurtle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41A.2. Compilacin e instalacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    B. ndice alfabtico 42

    4

  • El manual de KTurtle

    ndice de cuadros

    4.1. Tipos de preguntas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    5.1. Los diferentes tipos de cdigo y su color de resaltado . . . . . . . . . . . . . . . . . 37

    5.2. Combinaciones RGB frecuentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    5

  • Resumen

    KTurtle es un entorno educativo de programacin cuyo objetivo es facilitar el aprendiza-je de cmo se programa. Para conseguirlo, KTurtle permite acceder a todas las herramientasde programacin desde la interfaz de usuario. El lenguaje de programacin que se utiliza esTurtleScript, que admite la traduccin de sus rdenes.

  • El manual de KTurtle

    Captulo 1

    Introduccin

    KTurtle es un entorno educativo de programacin que usa TurtleScript, un lenguaje de programa-cin vagamente basado e inspirado en Logo. El objetivo de KTurtle es hacer que la programacinsea fcil y accesible. Esto convierte a KTurtle en una herramienta apropiada para ensear a losnios los fundamentos de las matemticas, la geometra y, por supuesto, la programacin. Unade las caractersticas principales de TurtleScript es que permite traducir las rdenes al idioma delprogramador.

    KTurtle lleva este nombre en honor a la tortuga (turtle, en ingls) que juega un papel central eneste entorno de programacin. El estudiante, en general, dar instrucciones a la tortuga, usandocomandos de TurtleScript, para que esta realice un dibujo en el lienzo.

    1.1. Qu es TurtleScript?

    TurtleScript, el lenguaje de programacin usado en KTurtle, est inspirado en la familia de len-guajes de programacin Logo. La primera versin del lenguaje Logo fue creada en 1967 porSeymour Papert, del Laboratorio de Inteligencia Artificial de MIT (Massachusetts Institute ofTechnology), como una evolucin del lenguaje de programacin LISP. A partir de este momentoaparecieron muchas versiones de Logo. En torno a 1980, Logo fue ganando impulso, con ver-siones para los sistemas MSX, Commodore, Atari, Apple II e IBM PC. Estas versiones fuerondesarrolladas principalmente con fines educativos. MIT sigue manteniendo un sitio web sobreLogo que contiene una lista con varias implementaciones populares del lenguaje.

    TurtleScript comparte una caracterstica con muchas otras implementaciones de Logo: la posibi-lidad de traducir las rdenes al idioma nativo del estudiante. Esta caracterstica facilita las cosasa los estudiantes que no entienden ingls (o que lo entienden poco). KTurtle tiene otras muchascaractersticas que tienen como objetivo que la primera experiencia de los estudiantes con la pro-gramacin sea lo ms sencilla posible.

    1.2. Caractersticas de KTurtle

    KTurtle tiene algunas caractersticas que hacen que comenzar a programar sea coser y cantar.Estas son algunas de las caractersticas ms destacadas de KTurtle:

    Un entorno integrado con el intrprete de TurtleScript, el editor, el lienzo y otras herramientas,todo en una nica aplicacin (sin dependencias adicionales).

    La posibilidad de traducir las rdenes de TurtleScript usando el marco de traduccin de KDE.

    7

  • El manual de KTurtle

    TurtleScript admite funciones definidas por el usuario, algoritmos recursivos y el cambio detipos dinmicos.

    En cualquier momento, la ejecucin puede ralentizarse, detenerse brevemente o interrumpirse.

    Un poderoso editor que incluye resaltado intuitivo de sintaxis, numeracin de lneas, marca-dores de errores, ejecucin visual y mucho ms.

    El lienzo, donde la tortuga dibuja, puede ser imprimido o guardado como imagen (PNG) ocomo dibujo (SVG).

    Ayuda contextual: la ayuda cuando la necesita. Pulse F2 (o vaya a Ayuda Ayuda sobre: ...)para obtener ayuda sobre la porcin de cdigo que se encuentre bajo su cursor.

    Un dilogo de error que relaciona los mensajes de error con los errores en el programa, resal-tndolos en rojo.

    Terminologa simplificada de programacin.

    Ejemplos integrados que le ayudan a empezar. Estos ejemplos han sido traducidos usando elmarco de traduccin de KDE.

    8

  • El manual de KTurtle

    Captulo 2

    Uso de KTurtle

    La ventana principal de KTurtle consta de las siguientes partes principales: 1) el editor, a la iz-quierda, que es donde se escriben las rdenes de TurtleScript 2) el lienzo, a la derecha, que esdonde la tortuga dibuja lo que se le ordena; y el inspector, 3) que le proporciona informacinmientras se ejecuta el programa. Otras partes son la barra de mens, 4) desde la cual puede ac-ceder a todas las funciones; la barra de herramientas, que le permite acceder rpidamente a lasfunciones ms habituales; la consola, 5) donde puede introducir una lnea de cdigo para su ve-rificacin; y la barra de estado, situada en la parte inferior de la ventana, donde puede comprobarel estado de KTurtle.

    2.1. El editor

    En el editor se escriben las rdenes de TurtleScript. La mayora de las funciones del editor puedenencontrarse en los mens Archivo y Editar. El editor puede estar acoplado a cada uno de losbordes de la ventana principal, o puede colocarse en cualquier lugar de su escritorio.

    Dispone de varios mtodos para introducir el cdigo en el editor. Lo ms sencillo es usar un ejem-plo: vaya a Archivo Ejemplos dentro del men Archivo y seleccione un ejemplo. El ejemploque elija se abrir en el editor y, a continuacin, podr seleccionar Ejecutar Ejecutar en la barrade mens o pulsar el botn Ejecutar de la barra de herramientas para, si as lo desea, ejecutar elcdigo.

    9

  • El manual de KTurtle

    Puede abrir archivos TurtleScript a travs de ArchivoAbrir...El tercer mtodo es escribir directamente su propio cdigo en el editor, o copiar y pegar cdigode otro lugar.

    2.2. El lienzo

    El lienzo es el campo de accin de la tortuga; aqu, la tortuga dibuja siguiendo las instruccionesque se le den. Despus de introducir un cdigo en el editor y de ejecutarlo, pueden ocurrir doscosas: que el cdigo se ejecute correctamente (con lo que con toda probabilidad ver cmo algocambia en el lienzo), o que haya un error en el cdigo (con lo que se mostrar una pestaa dondese le explicar qu error ha cometido).

    Puede ampliar o reducir el lienzo con la rueda de su ratn.

    2.3. El inspector

    El inspector le informa acerca de las variables y las funciones aprendidas, y le muestra el rboldel cdigo mientras se ejecuta el programa.

    El inspector puede estar acoplado a cada uno de los bordes de la ventana principal, o puedesepararse y colocarse en cualquier lugar del escritorio.

    2.4. La barra de herramientas

    Puede acceder desde aqu a las funciones ms habituales. En la barra de herramientas se encuen-tra tambin la consola, desde donde puede invocar rdenes. Esto le puede ser til si lo que quierees comprobar una orden sin tener que modificar el contenido del editor.

    Puede configurar la barra de herramientas de acuerdo con sus preferencias en PreferenciasConfigurar las barras de herramientas...

    2.5. La barra de mens

    En la barra de mens encontrar todas las funciones de KTurtle. Estas estn agrupadas de lasiguiente forma: Archivo, Editar, Lienzo, Ejecutar, Herramientas, Preferencias y Ayuda. Todaslas funciones estn descritas a continuacin:

    2.5.1. El men Archivo

    ArchivoNuevo (Ctrl-N)Crea un nuevo archivo TurtleScript.

    ArchivoAbrir... (Ctrl-O)Abre un archivo TurtleScript.

    ArchivoAbrir recienteAbre un archivo TurtleScript utilizado recientemente.

    10

  • El manual de KTurtle

    Archivo EjemplosAbre ejemplos de programas TurtleScript. El idioma de estos ejemplos es el que haya selec-cionado en Preferencias Idioma del cdigo.

    ArchivoObtener ms ejemplos...Abre el dilogo para obtener novedades para descargar de Internet archivos de TurtleScriptadicionales.

    ArchivoGuardar (Ctrl-S)Guarda el archivo TurtleScript que est abierto en ese momento.

    ArchivoGuardar como...Guarda el archivo TurtleScript que est abierto en ese momento en una ubicacin especfica.

    Archivo Exportar a HTML...Exporta el contenido del editor a un archivo HTML manteniendo los colores de resaltado.

    Archivo Imprimir... (Ctrl-P)Imprime el cdigo que aparece en el editor.

    Archivo Salir (Ctrl-Q)Sale de KTurtle.

    2.5.2. El men Editar

    EditarDeshacer (Ctrl-Z)Deshace el ltimo cambio en el cdigo. No hay lmite en KTurtle para el nmero de vecesque puede usarse esta funcin.

    Editar Rehacer (Ctrl-Maysculas-Z)Rehace un cambio en el cdigo que anteriormente ha sido deshecho.

    Editar Cortar (Ctrl-X)Corta el texto seleccionado del editor al portapapeles.

    Editar Copiar (Ctrl-C)Copia el texto seleccionado del editor al portapapeles.

    Editar Pegar (Ctrl-V)Pega el texto del portapapeles al editor.

    Editar Seleccionar todo (Ctrl-A)Selecciona todo el texto del editor.

    11

  • El manual de KTurtle

    Editar Buscar... (Ctrl-F)Con esta funcin, puede buscar frases en el cdigo.

    Editar Buscar siguiente (F3)Use esto para encontrar la prxima aparicin de la frase que est buscando.

    Editar Buscar anterior (Maysculas-F3)Use esto para encontrar la aparicin anterior de la frase que est buscando.

    EditarModo de sobrescritura (Ins)Cambia entre los modos insertar y sobrescribir.

    2.5.3. El men Lienzo

    Lienzo Exportar a imagen (PNG)...Exporta el contenido actual del lienzo a una imagen rasterizada de tipo PNG (PortableNetwork Graphics).

    Lienzo Exportar a dibujo (SVG)...Exporta el contenido actual del lienzo a una imagen vectorial de tipo SVG (Scalable VectorGraphics).

    Lienzo Imprimir lienzo...Imprime el contenido actual del lienzo.

    2.5.4. El men Ejecutar

    Ejecutar Ejecutar (F5)Inicia la ejecucin de las rdenes introducidas en el editor.

    Ejecutar Pausar (F6)Detiene momentneamente la ejecucin. Esta accin solo est disponible mientras se ejecu-tan las rdenes.

    Ejecutar Interrumpir (F7)Detiene la ejecucin. Esta accin solo est disponible mientras se ejecutan las rdenes.

    EjecutarVelocidad de ejecucinMuestra una lista con las posibles velocidades de ejecucin:Velocidad mxima (sin resal-tado y sin inspector), Velocidad mxima, Moderada , Lenta, Muy lenta y Paso a paso.Cuando la velocidad de ejecucin es Velocidad mxima (que es el valor predeterminado)apenas podremos ver lo que est ocurriendo. En ocasiones, esto es lo que se quiere, peroes posible que en otras se prefiera seguir con atencin la ejecucin. Es entonces cuandoconviene cambiar la velocidad de ejecucin a Moderada, Lenta o Muy lenta. Cuando seselecciona uno de estos modos, el punto actual de la ejecucin se muestra en el editor. Conel modo Paso a paso las rdenes se ejecutan de una en una.

    12

  • El manual de KTurtle

    2.5.5. El men Herramientas

    Herramientas Selector de direccin...Esta accin abre el dilogo de seleccin de direccin.

    Herramientas Selector de color...Esta accin abre el dilogo de seleccin de color.

    2.5.6. El men Preferencias

    Preferencias Idioma del cdigoPermite elegir el idioma del cdigo.

    PreferenciasMostrar editor (Ctrl-E)Muestra u oculta el editor.

    PreferenciasMostrar inspector (Ctrl-I)Muestra u oculta el inspector.

    PreferenciasMostrar erroresMuestra u oculta la pestaa Errores con una lista de los errores que se han producido alejecutar el cdigo. Si esta opcin est activada, pulse sobre la pestaa Lienzo para volver aver la tortuga.

    PreferenciasMostrar nmeros de lnea (F11)Con esta accin se muestran los nmeros de lnea en el editor. Esta funcin es muy til paraencontrar errores.

    PreferenciasMostrar la barra de herramientasConmuta la barra de herramientas principal

    PreferenciasMostrar barra de estadoConmuta la barra de estado

    Preferencias Configurar los accesos rpidos...Dilogo estndar de KDE para configurar los accesos rpidos.

    Preferencias Configurar las barras de herramientas...Dilogo estndar de KDE para configurar las barras de herramientas.

    13

  • El manual de KTurtle

    2.5.7. El men Ayuda

    AyudaManual de KTurtle (F1)Inicia el sistema de ayuda de KDE mostrando las pginas de ayuda sobre KTurtle (estedocumento).

    Ayuda Qu es esto? (Maysculas+F1)Modifica la forma del puntero transformndola en una combinacin de flecha e interroga-cin. Al pulsar sobre los elementos que hay dentro de KTurtle se abrir una ventana deayuda (si existe para cada caso particular) con una descripcin de la funcin de dichoselementos.

    Ayuda Informar de fallo...Abre un cuadro de dilogo para informar de fallos donde puede notificar un fallo o solicitaruna mejora o nueva propiedad deseable.

    Ayuda Cambiar el idioma de la aplicacin...Abre un dilogo donde puede modificar el Idioma principal de esta aplicacin y el Idiomaal que recurrir en caso de que el principal no est disponible.

    AyudaAcerca de KTurtleMuestra informacin sobre la versin de la aplicacin y su autor.

    AyudaAcerca de KDEMuestra la versin de KDE y otra informacin bsica.

    AyudaAyuda sobre: ... (F2)Esta es una funcin muy til: proporciona ayuda acerca de la porcin de cdigo en el editorsobre el que se encuentra el cursor. Por ejemplo, ha usado la orden escribir en su cdigoy quiere saber lo que el manual dice acerca de ella. Solo tiene que colocar el cursor sobre laorden escribir y pulsar F2. El manual mostrar toda la informacin acerca de la ordenescribir.Esta funcin le puede ser de gran ayuda a la hora de aprender el lenguaje de programacinTurtleScript.

    2.6. La barra de estado

    En la barra de estado se muestra informacin sobre el estado de KTurtle. A la izquierda se mues-tra informacin sobre la ltima accin. A la derecha encontrar la ubicacin actual del cursor(nmero de lnea y de columna). En la parte intermedia de la barra de estado se indica el idiomaque se est usando para las rdenes.

    14

  • El manual de KTurtle

    Captulo 3

    Cmo empezar

    Cuando inicie KTurtle, ver algo como esto:

    En esta gua para principiantes, supondremos que el idioma de las rdenes es el espaol. Puedecambiar el idioma en Preferencias Idioma del cdigo. Tenga en cuenta que el idioma que elijapara KTurtle es el que usar para escribir las rdenes de TurtleScript, y no tiene por qu coincidircon el idioma que usa KDE en su equipo y con el que se muestran la interfaz y los mens deKTurtle.

    3.1. Primeros pasos con TurtleScript: conozca la tortuga!

    Debe haber visto que hay una tortuga en el centro del lienzo: va a aprender a controlarla medianterdenes que introducir en el editor.

    3.1.1. La tortuga se mueve

    Empecemos a mover la tortuga. Nuestra tortuga puede realizar tres tipos de movimiento: 1)puede ir hacia atrs o hacia adelante; 2) puede girar a la derecha o a la izquierda; y 3) puede

    15

  • El manual de KTurtle

    desplazarse directamente (saltar) a una posicin de la pantalla. A modo de ejemplo, intente losiguiente:

    avanzar 100izquierda 90

    Escriba o copie y pegue este cdigo en el editor y ejectelo (usando Ejecutar Ejecutar) paraver el resultado.Al introducir y ejecutar rdenes como las anteriores en el editor, es posible que haya notadoalguna de las siguientes cosas:

    1. Despus de ejecutar las rdenes, la tortuga se desplaz hacia arriba y gir noventa gradoshacia la izquierda. Este es el resultado de usar las rdenes avanzar e izquierda.

    2. El color del cdigo cambia a medida que vamos escribiendo. Esta caracterstica se denominaresaltado intuitivo de sintaxis: los distintos tipos de rdenes se colorean de forma diferente.Esto permite leer con facilidad grandes bloques de cdigo.

    3. La tortuga dibuj una delgada linea negra.

    4. Quizs obtuvo un mensaje de error. Esto puede significar dos cosas: puede haber cometidouna equivocacin al copiar las rdenes o todava tiene que elegir el idioma correcto delas rdenes de TurtleScript (lo que puede hacer seleccionando Preferencias Idioma delcdigo).

    Probablemente entienda que avanzar 100 le ordena a la tortuga que se desplace hacia adelantedejando una lnea, y que izquierda 90 le ordena que rote noventa grados hacia la izquierda.

    Si desea una explicacin completa de estas rdenes, vea los siguientes enlaces al manual de refe-rencia: avanzar, retroceder, izquierda y derecha.

    3.1.2. Otros ejemplos

    El primer ejemplo es muy sencillo, as que comencemos.

    reiniciar

    tamaolienzo 200;200colorlienzo 0;0;0colorpincel 255;0;0grosorpincel 5

    ir 20;20direccin 135

    avanzar 200izquierda 135avanzar 100izquierda 135avanzar 141izquierda 135avanzar 100izquierda 45

    ir 40;100

    16

  • El manual de KTurtle

    De nuevo, puede escribir o copiar y pegar el cdigo en el editor, o abrir el ejemplo flecha que seencuentra en el men Ejemplos y ejecutarlo (usando Ejecutar Ejecutar) para ver el resultado.En los siguientes ejemplos se supondr que ya sabe cmo funciona este mecanismo.

    Habr notado que este segundo ejemplo es mucho ms complejo. Tambin habr visto que hayvarias rdenes nuevas. Aqu tiene una breve explicacin de todas las rdenes nuevas:

    Despus de una orden reiniciar, todo es como cuando inici KTurtle.

    tamaolienzo 200;200 define un lienzo con un ancho y un alto de 200 pxeles. El ancho y elalto son iguales, por lo que el lienzo ser un cuadrado.

    colorlienzo 0;0;0 convierte el lienzo en negro. 0;0;0 es una combinacin RGB con todoslos valores igual a 0, lo que da lugar al color negro.

    colorpincel 255;0;0 indica que el color del pincel debe ser rojo. 255;0;0 es una combina-cin RGB con el valor del rojo igual a 255 (el mximo valor posible) y el valor de los otros colores(el verde y el azul) igual a 0 (el mnimo valor posible). Esto da lugar a una tonalidad brillante derojo.

    Si no entiende los valores de los colores, lea la entrada del glosario correspondiente a combina-cin RGB.grosorpincel 5 establece un grosor para el trazo del pincel igual a 5 pxeles. A partir de ahora,cada lnea que la tortuga dibuje tendr un grosor de 5 pxeles, as hasta que cambiemos de nuevoel valor de grosorpincel.

    ir 20;20 le indica a la tortuga que vaya a una posicin determinada del lienzo. Contando desdela esquina superior izquierda, esta posicin es 20 pxeles hacia la derecha y 20 pxeles hacia abajo.Fjese que con la orden ir, la tortuga no dibuja una lnea.

    direccin 135 define el ngulo de direccin de la tortuga. Las rdenes izquierda y derecha cambian el ngulo de la tortuga con respecto a su direccin actual. En cambio, la ordendireccin cambia el ngulo de la tortuga a partir de cero y no en relacin con su direccinanterior.Despus de la orden direccin, hay unas cuantas rdenes del tipo avanzar e izquierda.Estas rdenes son las que verdaderamente realizan el dibujo.

    Finalmente, una nueva orden ir hace que la tortuga se posicione a un lado.

    Asegrese de seguir los enlaces al manual de referencia, donde se explica con ms detalle cadaorden.

    17

  • El manual de KTurtle

    Captulo 4

    Gua del lenguaje de programacinTurtleScript

    Esta es la gua del lenguaje de programacin TurtleScript de KTurtle. La primera seccin de estecaptulo est dedicada a aspectos relacionados con la gramtica de los programas de TurtleS-cript. La segunda seccin trata exclusivamente los operadores aritmticos, los operadores lgicos(verdadero/falso) y los operadores de comparacin. La tercera seccin es, bsicamente, una granlista con todos las rdenes explicadas una a una. La cuarta seccin explica cmo asignar valoresa las variables. Finalmente, en la quinta seccin se explica cmo organizar la ejecucin de rde-nes usando declaraciones de control de la ejecucin y, en la sexta, cmo puedes crear tus propiasrdenes con aprender.

    4.1. La gramtica de TurtleScript

    Como ocurre con todos los idiomas, TurtleScript consta de diferentes tipos de palabras y sm-bolos. En espaol distinguimos entre verbos (como caminar y cantar) y sustantivos (comohermana o casa) que se usan para distintos propsitos. TurtleScript es un lenguaje de pro-gramacin que se usa para dar instrucciones a la tortuga sobre lo que tiene que hacer.

    En esta seccin, se explican brevemente los distintos tipos de palabras que usa TurtleScript. Se in-troduce lo que son comentarios, rdenes y los tres diferentes tipos de literales: nmeros, cadenasy valores lgicos (verdadero/falso).

    4.1.1. Comentarios

    Un programa consta de instrucciones (que es lo que se ejecuta) y de los denominados comenta-rios. Los comentarios no se ejecutan. Es decir, KTurtle los ignora por completo cuando se ejecutaun programa. Los comentarios estn ah para que otros programadores puedan comprender me-jor el programa. Todo lo que aparece despus de un smbolo # se considera como un comentarioen TurtleScript. Un ejemplo es este programa que no hace nada:

    # este programa no hace nada , es solo un comentario

    Es un programa intil, pero permite explicar bien el asunto.

    Los comentarios son especialmente tiles en el caso de programas ms complejos, ya que permi-ten dar consejos a otros programadores. En el siguiente programa vers comentarios que se usanjunto con la orden escribir.

    18

  • El manual de KTurtle

    # este programa ha sido creado por Cies Breijsescribir "este texto aparecer escrito en el lienzo"# la lnea anterior no es un comentario , pero la siguiente s que lo es:# escribir "este texto no aparecer escrito!"

    La primera lnea describe el programa. La segunda lnea es ejecutada por KTurtle, que escribe enel lienzo este texto aparecer escrito en el lienzo. La tercera lnea es un comenta-rio. Y la cuarta es un comentario que contiene una orden de TurtleScript. Si de esta cuarta lnea seeliminara el smbolo #, KTurtle ejecutara la orden de escribir. Lo que los programadores suelendecir es que la orden de escribir se ha comentado.

    Las lneas comentadas aparecen resaltadas en gris claro en el editor de cdigo.

    4.1.2. rdenes

    Con las rdenes puedes decirle a la tortuga o a KTurtle lo que tiene que hacer. Algunas rdenesnecesitan un parmetro de entrada, mientras que otras devuelven un parmetro de salida.

    # avanzar es una orden que requiere de un parmetro de entrada , en este caso el nmero 100:

    avanzar 100

    La primera lnea es un comentario. La segunda lnea contiene la orden avanzar y el nmero100. El nmero no es parte de la orden, es solo su parmetro de entrada.

    Algunas rdenes, como p. ej. ir, necesitan ms de un valor de entrada. Si hay varios valores, hayque separarlos con el carcter , (coma).

    Para una descripcin detallada de todas las rdenes que reconoce KTurtle, vaya aqu. Las rdenesintegradas en KTurtle aparecen resaltadas en azul oscuro.

    4.1.3. Nmeros

    Lo ms probable es que ya sepa bastante de nmeros. La forma en que KTurtle usa los nmerosno es muy diferente a cmo se hace en el idioma hablado o en las matemticas.

    Tenemos los llamados nmeros naturales (0, 1, 2, 3, 4, 5, etc.), los enteros negativos(-1, -2, -3, etc.) y los nmeros con decimales (0,1, 3,14, 33,3333, -5,05,-1,0, etc.). El carcter , (coma) se utiliza como separador.

    Los nmeros pueden utilizarse en conjuncin con operadores aritmticos y operadores de com-paracin. Tambin pueden guardarse en variables. Los nmeros aparecen resaltados en rojo os-curo.

    4.1.4. Cadenas

    Primero un ejemplo:

    escribir "Hola , soy una cadena."

    En este ejemplo, escribir es una orden y Hola, soy una cadena. es una cadena.Las cadenas comienzan y terminan con dobles comillas (); es esto lo que hace que KTurtle lasidentifique como tal.

    Al igual que ocurre con los nmeros, las cadenas tambin se pueden guardar en variables. Sinembargo, al contrario que los nmeros, las cadenas no pueden usarse con operadores aritmticoso con operadores de comparacin. Las cadenas aparecen resaltadas en rojo.

    19

  • El manual de KTurtle

    4.1.5. Valores lgicos (verdadero/falso)

    Solo hay dos valores lgicos: verdadero y falso, aunque en ocasiones se los denomina s yno o uno y cero. Pero en TurtleScript siempre los llamaremos verdadero y falso. Fjateen este cdigo de TurtleScript:

    $a = verdadero

    Si le echas un vistazo al inspector vers que a la variable $a le corresponde el valor verdaderoy que es de tipo lgico.

    Con frecuencia, los valores lgicos son el resultado de un operador de comparacin, como ocurreen el siguiente ejemplo:

    $respuesta = 10 > 3

    A la variable $respuesta le corresponde el valor verdadero porque 10 es mayor que 3.

    Los valores lgicos verdadero y falso aparecen resaltados en rojo oscuro.

    4.2. Operadores aritmticos, lgicos y de comparacin

    Aunque el ttulo de esta seccin parezca complejo, vers como el contenido no es tan difcil comoparece.

    4.2.1. Operadores aritmticos

    Estos son los smbolos aritmticos bsicos: suma (+), resta (-), multiplicacin (*), divisin (/ ) ypotenciacin ().

    Este es un ejemplo de cmo usar los operadores aritmticos en TurtleScript:

    $sumar = 1 + 1$restar = 20 - 5$multiplicar = 15 * 2$dividir = 30 / 30$potencia = 2 ^ 2

    Los valores resultantes de estas operaciones aritmticos son asignados a variables. Puedes ver losvalores resultantes en el inspector.

    Si lo que quieres es realizar un clculo simple, puedes hacer algo como esto:

    escribir 2010-12

    Ahora veamos un ejemplo con parntesis:

    escribir ( ( 20 - 5 ) * 2 / 30 ) + 1

    Primero se calculan las operaciones que estn dentro de los parntesis. En este ejemplo, primerose calcula 20 - 5; el resultado se multiplica por 2, luego se divide por 30 y, por ltimo, se le suma1. El resultado final es 2. Los parntesis pueden tambin usarse en otros casos.

    KTurtle tambin tiene otras funciones aritmticas en forma de rdenes. Echa un vistazo a lassiguientes rdenes, eso s, teniendo en cuenta que se trata de operaciones avanzadas: redondear,aleatorio, raz, pi, sen, cos, tan, arcsen, arccos, arctan.

    20

  • El manual de KTurtle

    4.2.2. Operadores lgicos (verdadero/falso)

    Mientras que los operadores aritmticos se usan principalmente con nmeros, los operadoreslgicos estn pensados para usarse con valores lgicos (verdadero y falso). Hay solo tresoperadores lgicos: y, o y no. El siguiente cdigo de TurtleScript muestra cmo usarlos:

    $y_1_1 = verdadero y verdadero # -> verdadero$y_1_0 = verdadero y falso # -> falso$y_0_1 = falso y verdadero # -> falso$y_0_0 = falso y falso # -> falso

    $o_1_1 = verdadero o verdadero # -> verdadero$o_1_0 = verdadero o falso # -> verdadero$o_0_1 = falso o verdadero # -> verdadero$o_0_0 = falso o falso # -> falso

    $no_1 = no verdadero # -> falso$no_0 = no falso # -> verdadero

    Puedes ver los valores resultantes en el inspector, aunque tambin se proporcionan pequeoscomentarios al final de las lneas. Y resulta en verdadero solo si ambas partes son verdaderos. O resulta en verdadero si una de las dos partes es verdadero. Y no transforma verdaderoen falso yfalso en verdadero.

    Los operadores lgicos aparecen resaltados en rosa.

    4.2.2.1. Unos ejemplos ms complejos:

    Considera el siguiente ejemplo con and:

    $a = 1$b = 5si (($a < 10) y ($b == 5)) y ($a < $b) {

    escribir "hola"}

    En este cdigo de TurtleScript, el resultado de los tres operadores de comparacin estn agru-pados mediante los operadores y. Esto significa que los tres resultados tienen que ser iguales averdadero para que se escriba la palabra hola.

    Un ejemplo con o:

    $n = 1si ($n < 10) o ($n == 2) {

    escribir "hola"}

    En este cdigo de TurtleScript, la parte izquierda del operador o es verdadera, mientras que laderecha es falsa. Ya que una de las dos partes del operador o es verdadera, el resultado deloperador o tambin lo es. Esto quiere decir que se escribe la palabra hola.

    Finalmente, un ejemplo con no, que transforma verdadero en falso y falso en verdadero.Fjate:

    $n = 1si no ($n == 3) {

    escribir "hola"} sino {

    escribir "no hola ;-)"}

    21

  • El manual de KTurtle

    4.2.3. Operadores de comparacin

    Considera esta comparacin sencilla:

    $respuesta = 10 > 3

    Aqu, 10 se compara con 3 usando el operador ms grande que. El resultado de esta operacin,es decir, el valor lgico verdadero, se guarda en la variable $respuesta.

    Todos los nmeros y variables (que contengan nmeros) pueden compararse entre s usandooperadores de comparacin.

    Estos son todos los posibles operadores de comparacin:

    $A == $B igual a la respuesta es verdaderasi $A es igual a $B

    $A != $B no igual a la respuesta es verdaderasi $A no es igual a $B

    $A > $B mayor que la respuesta es verdaderasi $A es mayor que $B

    $A < $B menor que la respuesta es verdaderasi $A es menor que $B

    $A >= $B mayor o igual quela respuesta es verdaderasi $A es mayor o igual que$B

    $A

  • El manual de KTurtle

    retroceder (ret)

    retroceder X

    retroceder hace retroceder la tortuga X pxeles. Cuando el pincel est bajado, la tortugadeja a su paso un trazo. retroceder puede abreviarse como ret.

    izquierda (izq)

    izquierda X

    izquierda le ordena a la tortuga que rote X grados hacia la izquierda. izquierda puedeabreviarse como izq.

    derecha (der)

    derecha X

    derecha le ordena a la tortuga que rote X grados hacia la derecha. derecha puede abre-viarse como der.

    direccin (dir)

    direccin X

    direccin determina el ngulo de direccin de la tortuga, que ser X grados contando apartir de cero. No se tiene en cuenta la direccin anterior de la tortuga. direccin puedeabreviarse como dir.

    obtenerdireccin

    obtenerdireccin

    obtenerdireccin determina el ngulo de direccin de la tortuga, que ser X gradoscontando a partir de cero.

    centrar

    centrar

    centrar mueve la tortuga al centro del lienzo.

    ir

    ir X; Y

    ir le ordena a la tortuga que se desplace a una posicin concreta del lienzo. Esta posicinest a X pxeles del margen izquierdo del lienzo y a Y pxeles del margen superior dellienzo.

    irx

    irx X

    23

  • El manual de KTurtle

    irx le ordena a la tortuga que vaya a una posicin que est a X pxeles del margen izquierdodel lienzo, sin modificar su altura. irx se puede abreviar con ix.

    iry

    iry Y

    iry le ordena a la tortuga que vaya a una posicin que est a Y pxeles del margen superiordel lienzo, sin modificar la distancia a la que se encuentre del margen izquierdo. iry sepuede abreviar con iy.

    NOTACon las rdenes ir, irx, iry y centrar, la tortuga no dibuja ningn trazo, independientementede que el pincel est bajado o no.

    4.3.2. Dnde est la tortuga?

    Hay dos rdenes que devuelven la posicin de la tortuga en la pantalla.

    obtenerxobtenerx devuelve el nmero de pxeles desde el margen izquierdo del lienzo de la posi-cin actual de la tortuga.

    obteneryobtenery devuelve el nmero de pxeles desde el margen superior del lienzo de la posi-cin actual del la tortuga.

    4.3.3. La tortuga tiene un pincel

    La tortuga tiene un pincel que dibuja una lnea cuando esta se desplaza. Hay varia rdenes quecontrolan el pincel. En esta seccin se explican estas rdenes.

    levantarpincel (lpl)

    levantarpincel

    levantarpincel alza el pincel del lienzo. Cuando el pincel est levantado, la tortugano deja ningn trazo cuando se desplaza. Consulta tambin bajarpincel. levantarpincel puede abreviarse como lpl.

    bajarpincel (bpl)

    bajarpincel

    bajarpincel presiona el pincel sobre el lienzo. Cuando el pincel est bajado, la tortugadeja un trazo a su paso. Vea tambin levantarpincel. bajarpincel puede abreviarsecomo bpl.

    grosorpincel (gpl)

    24

  • El manual de KTurtle

    grosorpincel X

    grosorpincel fija el grosor de la lnea trazada por la tortuga en X pxeles. grosorpincel puede abreviarse como gpl.

    colorpincel (cpl)

    colorpincel R;G;B

    colorpincel fija el color del pincel. El parmetro de entrada de colorpincel es unacombinacin RGB. colorpincel puede abreviarse como cpl.

    4.3.4. rdenes que controlan el lienzo

    Existen varias rdenes que controlan el lienzo.

    tamaolienzo (tl)

    tamaolienzo X;Y

    Con la orden tamaolienzo puede modificar las dimensiones del lienzo. Requiere de X eY como parmetros de entrada, donde X es el ancho en pxeles del nuevo lienzo, e Y es laaltura del nuevo lienzo tambin en pxeles. tamaolienzo puede abreviarse como tl.

    colorlienzo (cl)

    colorlienzo R;G;B

    colorlienzo define el color del lienzo. El parmetro de entrada de colorlienzo es unacombinacin RGB. colorlienzo puede abreviarse como cl.

    4.3.5. Comandos para limpiar

    Existen dos comandos que permiten limpiar el lienzo despus de un embrollo.

    limpiar (lmp)

    limpiar

    Con limpiar puede borrar todos los dibujos del lienzo. Todo lo dems permanece: la po-sicin y ngulo de la tortuga, el color del lienzo, la visibilidad de la tortuga y el tamao dellienzo.

    reiniciar

    reiniciar

    reiniciar borra todo de una forma ms concienzuda que la orden limpiar. Despusde una orden reiniciar, todo vuelve a como estaba cuando inici KTurtle. La tortugaregresar a su posicin en el centro del lienzo, el color del lienzo volver a ser blanco, latortuga dibujar de nuevo una lnea negra en el lienzo y el tamao del lienzo ser 400x400pxeles.

    25

  • El manual de KTurtle

    4.3.6. La tortuga es un duendecillo

    Antes de nada conviene explicar qu son los sprites: los duendecillos son pequeas figuras quepueden desplazarse por la pantalla, como vemos con frecuencia en los videojuegos. Nuestra tor-tuga tambin es un duendecillo. Para obtener ms informacin, consulta la entrada en el glosariocorrespondiente a los duendecillos.

    A continuacin, encontrars una descripcin detallada de todas las rdenes relacionadas conduendecillos.(La versin actual de KTurtle no admite otro duendecillo aparte de la tortuga. En las versionesfuturas s que podr cambiar la tortuga por algo diseado por usted mismo.)

    mostrartortuga (mt)

    mostrartortuga

    mostrartortuga vuelve visible de nuevo a la tortuga despus de haberla ocultado. mostrartortuga puede abreviarse como mt.

    ocultartortuga (ot)

    ocultartortuga

    ocultartortuga oculta la tortuga. Puede usarse cuando la tortuga no quede bien en sudibujo. ocultartortuga puede abreviarse como ot.

    4.3.7. La tortuga puede escribir?

    La respuesta es s. La tortuga puede escribir: escribir todo lo que le ordenes.

    escribir

    escribir X

    La orden escribir le indica a la tortuga que escriba algo en el lienzo. El parmetro de en-trada de escribir puede ser un nmero o una cadena. Puedes concatenar varios nmerosy cadenas usando el smbolo +. Aqu tienes un ejemplo sencillo:

    $ao = 2003$autor = "Cies"escribir $autor + " comenz a trabajar en el proyecto KTurtle en " +

    $ao + " y todava disfruta hacindolo"

    tamaoletra

    tamaoletra X

    tamaoletra fija el tamao del tipo de letra que usa la orden escribir. El parmetrode entrada de tamaoletra tiene que ser un nmero. El tamao viene determinado enpxeles.

    26

  • El manual de KTurtle

    4.3.8. rdenes aritmticas

    Las siguientes son algunas de las rdenes aritmticas ms avanzadas de KTurtle.

    redondear

    redondear(X)

    Permite redondear el nmero dado a su entero ms cercano.

    escribir redondear(10,8)avanzar 20escribir redondear(10,3)

    Este cdigo hace que la tortuga escriba los nmeros 11 y 10.

    aleatorio (alt)

    aleatorio X;Y

    aleatorio es una orden que requiere de parmetros de entrada y que devuelve un par-metro de salida. Como parmetros de entrada, necesita dos nmeros, el primero (X) fija elvalor mnimo del parmetro de salida, y el segundo (Y) fija su valor mximo. El parmetrode salida es un nmero elegido al azar que es igual o ms grande que el valor mnimo, eigual o ms pequeo que el valor mximo. Aqu tiene un ejemplo sencillo:

    repetir 500 {$x = aleatorio 1;20avanzar $xizquierda 10 - $x

    }

    Con la orden aleatorio puedes incorporar algo de caos a tu programa.

    mod

    mod X,Y

    La orden mod devuelve el resto de la divisin del primer nmero entre el segundo nmero.

    raz

    raz X

    La orden raz sirve para calcular la raz cuadrada de un nmero X.

    pi

    pi

    Esta orden devuelve el valor del nmero Pi, 3,14159.

    sen, cos, tan

    27

  • El manual de KTurtle

    sen Xcos Xtan X

    Estas tres rdenes representan las famosas funciones trigonomtricas sen, cos y tan. Elparmetro de entrada de estas tres rdenes, X, es un nmero.

    arcsen, arccos, arctan

    arcsen Xarccos Xarctan X

    Estas tres rdenes son las funciones inversas de sen, cos y tan. El parmetro de entrada deestas rdenes, X, es un nmero.

    4.3.9. Entrada e informacin mediante dilogos

    Un dilogo es una pequea ventana emergente que proporciona informacin o que solicita unparmetro de entrada. KTurtle tiene dos rdenes relacionadas con dilogos: mensaje y preguntar.

    mensaje

    mensaje X

    La orden mensaje necesita una cadena como parmetro de entrada. Muestra una ventanaemergente con el texto de la cadena.

    mensaje "Cies comenz a trabajar en el proyecto KTurtle en 2003 y todava disfruta hacindolo"

    preguntar

    preguntar X

    preguntar necesita una cadena como parmetro de entrada. Muestra el texto de la cadenaen una ventana emergente (igual que hace mensaje) junto a un campo de entrada. Una vezque el usuario ha introducido un nmero o una cadena, el resultado puede guardarse enuna variable o pasarse como un argumento a otra orden. Por ejemplo:

    $entrada = preguntar "En qu ao naciste?"$salida = 2003 - $entradaescribir "En 2003 tenas " + salida + " aos."

    Si el usuario cancela el dilogo de entrada o no introduce ningn valor, la variable quedavaca.

    28

  • El manual de KTurtle

    4.4. Asignar valores a las variables

    Antes de nada, echemos un vistazo a las variables, despus veremos cmo asignarles valores.

    Las variables son palabras que comienzan con un $; en el editor, aparecen resaltadas en colormorado.Las variables pueden contener un nmero, una cadena o un valor lgico (verdadero/falso). Conel signo de asignacin (=) se da un valor a la variable, que mantendr hasta que el programatermine de ejecutarse o hasta que se le asigne un nuevo valor.

    Puedes usar las variables, una vez asignadas, de la misma forma que usaras su contenido. Porejemplo, vea el siguiente cdigo de TurtleScript:

    $x = 10$x = $x / 3escribir $x

    Primero, a la variable $x se le asigna el valor 10. A continuacin, a esta misma variable $x se leasigna su propio valor dividido por 3, es decir, a la variable $x se da el valor 10 / 3. Finalmente,se escribe $x. En las lneas dos y tres, comprobar que se usa la variable $x como si fuera unnmero.A las variables hay que asignarles un valor para que puedan ser usadas. Por ejemplo:

    escribir $n

    Este cdigo da lugar a un mensaje de error.

    Considera el siguiente cdigo de TurtleScript:

    $a = 2004$b = 25

    # la siguiente orden escribe "2029"escribir $a + $bretroceder 30# la siguiente orden escribe "2004 ms 25 igual a 2029"escribir $a + " ms " + $b + " es igual a " + ($a + $b)

    En las primeras dos lneas, a las variables $a y $b se les asigna los valores 2004 y 25. A continua-cin hay dos rdenes escribir con una orden retroceder 30 en medio. Los comentarios quehay antes de las rdenes escribir explican lo que hacen. Como ves, puedes usar las variablesde la misma forma que usaras sus contenidos. Es decir, puedes usarlas con cualquier operador oconvertirlas en el parmetro de entrada de una orden.

    Un nuevo ejemplo:

    $nombre = preguntar "Cul es tu nombre?"escribir "Hola " + $nombre + "! Buena suerte con el aprendizaje del arte

    del programar..."

    Este ejemplo es muy claro. De nuevo, aqu tiene como la variable $name se trata como si fuerauna cadena.Cuando ests usando variables, el inspector te puede ser de gran ayuda. Muestra el contenido detodas las variables que estn en uso en un momento dado.

    29

  • El manual de KTurtle

    4.5. Cmo controlar la ejecucin

    Los controladores de la ejecucin permiten, tal como su nombre indica, controlar la ejecucin.

    Las rdenes de control de la ejecucin aparecen resaltadas en negro y con un tipo de letra ne-grita. Las llaves, que se usan generalmente junto con los controladores de ejecucin, aparecenresaltadas en negro.

    4.5.1. Cmo hacer que la tortuga espere

    Si ya has programado algo en KTurtle, te habrs dado cuenta de que la tortuga es muy rpida di-bujando. Con esta orden puede hacer que la tortuga se detenga durante un tiempo determinado.

    esperar

    esperar X

    esperar hace que la tortuga se detenga durante X segundos.

    repetir 36 {avanzar 5derecha 10esperar 0,5

    }

    Este cdigo dibuja un circulo, pero la tortuga espera durante medio segundo antes de rea-lizar el siguiente paso. Esto da la impresin de que la tortuga se est moviendo a cmaralenta.

    4.5.2. Ejecutar si

    si

    si valor lgico { ... }

    El cdigo que est entre llaves solo se ejecutar si el valor lgico es verdadero.

    $x = 6si $x > 5 {

    escribir $x + " es mayor que cinco"}

    En la primer lnea, a $x se le asigna el valor 6. En la segunda, se usa un operador de com-paracin para evaluar la condicin $x > 5. Al cumplirse esta condicin, es decir, al ser 6mayor que 5, el controlador si permite que el cdigo entre llaves se ejecute.

    4.5.3. Si no es as: sino

    sino

    si valor lgico { ... } sino { ... }

    sino puede usarse en conjuncin con el controlador si. El cdigo que aparece entre llavesdespus de sino solo se ejecute si el valor lgico es falso.

    30

  • El manual de KTurtle

    reiniciar$x = 4si $x > 5 {

    escribir $x + " es mayor que cinco"}sino {

    escribir $x + " es menor que seis"}

    El operador de comparacin evala la expresin $x > 5. Ya que en este caso 4 no es mayorque 5, el resultado es falso. Esto quiere decir que se ejecuta el cdigo que aparece entrellaves despus de sino.

    4.5.4. El bucle mientras

    mientras

    mientras valor lgico { ... }

    El controlador mientras acta de forma similar a si. La diferencia es que mientrascontina ejecutando (en un bucle) el cdigo que se encuentra entre llaves hasta que el valorlgico sea falso.

    $x = 1mientras $x < 5 {

    avanzar 10esperar 1$x = $x + 1

    }

    En la primer lnea, a $x se le asigna el valor 1. En la segunda, se evala la condicin $x 0

    32

  • El manual de KTurtle

    4.6. Crea tus propias rdenes con aprender

    aprender es especial ya que lo puedes usar para crear tus propias rdenes. La orden que creespuede admitir parmetros de entrada y devolver parmetros de salida. Veamos cmo se crea unanueva orden:

    aprender crculo $x {repetir 36 {

    avanzar $xizquierda 10

    }}

    La nueva orden se denomina crculo. crculo necesita un parmetro de entrada para fijar eltamao del crculo y no devuelve ningn parmetro de salida. A partir de ahora la orden crculo puede utilizarse como una orden normal en cualquier lugar del cdigo. Mira este ejemplo:

    aprender crculo $x {repetir 36 {

    avanzar $xizquierda 10

    }}

    ir 200;200crculo 20

    ir 300;200crculo 40

    En el prximo ejemplo, se crea una orden que devuelve un parmetro de salida:

    aprender facultad $x {$r = 1para $i = 1 hasta $x {

    $r = $r * $i}devolver $r

    }

    escribir facultad 5

    En este ejemplo, se crea una nueva orden llamada facultad. Si el parmetro de entrada es 5,entonces el parmetro de salida es 5*4*3*2*1. Con devolver se define un parmetro de salidaque se devuelve durante la ejecucin.

    Las rdenes pueden tener ms de un parmetro de entrada. En el siguiente ejemplo se crea unaorden que dibuja un rectngulo:

    aprender caja $x;$y {avanzar $yderecha 90avanzar $xderecha 90avanzar $yderecha 90avanzar $xderecha 90

    }

    33

  • El manual de KTurtle

    Ahora, si ejecuta caja 50;100, la tortuga dibujar una rectngulo en el lienzo.

    34

  • El manual de KTurtle

    Captulo 5

    Glosario

    En este capitulo encontrar una explicacin de muchas de las palabras inusuales que se utilizana lo largo del manual.

    gradosGrados son unidades para medir ngulos y giros. Una vuelta completa es 360 grados, mediavuelta 180 grados y una cuarto de vuelto 90 grados. Las rdenes izquierda, derecha ydireccin necesitan un parmetro de entrada en grados.

    parmetros de entrada y parmetros de salida de las rdenesHay rdenes que necesitan un parmetro de entrada, rdenes que devuelven un parmetrode salida, rdenes que necesitan un parmetro entrada y devuelven un parmetro salida, yrdenes que ni necesitan un parmetro de entrada ni devuelven un parmetro de salida.Ejemplos de rdenes que solo necesitan parmetros de entrada son:

    avanzar 50colorpincel 255;0;0escribir "Hola!"

    La orden avanzar toma el valor 50 como parmetro de entrada. La orden avanzar nece-sita este parmetro de entrada para saber cuntos pxeles deber avanzar hacia delante. Laorden colorpincel necesita un color como parmetro de entrada, y la orden escribir,una cadena de texto. Tenga en cuenta que el parmetro de entrada puede ser tambin unavariable. El siguiente ejemplo es una muestra de esto:

    $x = 50escribir $xavanzar 50$str = "Hola!"escribir $str

    Aqu hay ejemplos de rdenes que devuelven un parmetro de salida:

    $x = preguntar "Escriba cualquier cosa y pulse Aceptar. Gracias!"$r = aleatorio 1;100

    La orden preguntar necesita una cadena como parmetro de entrada, y devuelve el n-mero o cadena que se le proporciona. Como puede ver, el parmetro de salida de la ordenpreguntar se guarda en la variable $x. La orden aleatorio tambin devuelve un par-metro de salida. En este caso, se trata de un nmero entre 1 y 100. El parmetro de salidade la orden aleatorio tambin se guarda en una variable, denominada en este caso $r.Fjese que las variables $x y $r no tienen ningn uso en este ejemplo.

    35

  • El manual de KTurtle

    Tambin hay rdenes que no requieren de parmetros de entrada y que no devuelven nin-gn parmetro de salida. Estos son algunos ejemplos:

    limpiarlevantarpincel

    resaltado intuitivoEsta es una caracterstica de KTurtle que hace que programar sea mucho ms fcil. Con elresaltado intuitivo, el cdigo que escribe se muestra en uno u otro color en funcin de qutipo de cdigo sea. En la siguiente lista encontrar los diferentes tipos de cdigo y el coloren que se muestran en el editor.

    rdenes habituales azul oscuro Las rdenes habituales sedescriben aqu.

    rdenes de control de laejecucin negro (negrita)

    Estas rdenes especialescontrolan la ejecucin; leams sobre estas rdenesaqu.

    comentarios gris

    Cuando una lnea decdigo comienza con elcarcter #, se interpretacomo un comentario.Estas lneas se ignorandurante la ejecucin delcdigo. Los comentariospermiten a losprogramadores explicarun poco su cdigo.Pueden usarse tambinpara evitar que una parteconcreta del cdigo seejecute.

    llaves {, } verde oscuro (negrita)

    Las llaves se usan paraagrupar porciones decdigo. Las llaves seutilizan con frecuencia encombinacin con loscontroladores deejecucin.

    la orden aprender verde claro (negrita)La orden aprender se usapara crear nuevasinstrucciones.

    cadenas rojo

    No hay mucho que deciracerca de estas cadenas(de texto), excepto quesiempre comienzan yterminan con doblescomillas ( ).

    nmeros rojo oscuro Son nmeros, no esnecesario aadir ms.

    valores lgicos rojo oscuro Existen dos valoreslgicos, verdadero y falso.

    36

  • El manual de KTurtle

    variables prpura

    Comienzan con el smbolo$ y pueden sernmeros, cadenas ovalores lgicos.

    operadores aritmticos gris Estos son los operadoresaritmticos: +, -, *, / y .

    operadores decomparacin azul claro (negrita)

    Estos son los operadoresde comparacin: ==, !=,, =.

    operadores lgicos rosado (negrita) Estos son los operadoreslgicos: y, o y no.texto normal negro

    Cuadro 5.1: Los diferentes tipos de cdigo y su color de resaltado

    pxelesUn pxel es un punto sobre la pantalla. Si observa con atencin, ver que la pantalla de sumonitor usa pxeles. Todas las imgenes que aparecen en la pantalla se construyen a basede pxeles. Un pxel es lo ms pequeo que puede dibujarse en una pantalla.Muchas rdenes necesitan un nmero de pxeles como parmetro de entrada. Estas rdenesson: avanzar, retroceder, ir, irx, iry, tamaolienzo y grosorpincel.En versiones anteriores de KTurtle, el lienzo era bsicamente una imagen rasterizada; sinembargo, en las versiones ms recientes, el lienzo es una imagen vectorial. Esto quiere decirque la escala del lienzo puede ampliarse o reducirse y que, por lo tanto, un pxel no secorresponde necesariamente con un punto sobre la pantalla.

    Combinaciones RGB (cdigo de colores)Las combinaciones RGB se utilizan para describir colores. La R (que viene de la pala-bra inglesa red) representa el rojo, la G (de la palabra inglesa green) representa elverde, y la B (de la palabra inglesa blue) representa el azul. Un ejemplo de unacombinacin RGB es 255;0;0. El primer valor (es decir, el rojo) es 255 y los otros dos son0, lo que da lugar a una tonalidad brillante de rojo. Cada valor de una combinacin RGBdebe estar entre 0 y 255. Aqu hay una lista con algunos de los colores ms utilizados:

    0;0;0 negro255;255;255 blanco255;0;0 rojo150;0;0 rojo oscuro0;255;0 verde0;0;255 azul0;255;255 azul claro255;0;255 rosado255;255;0 amarillo

    Cuadro 5.2: Combinaciones RGB frecuentes

    Existen dos rdenes que necesitan combinaciones RGB como parmetro de entrada: colorlienzo y colorpincel.

    spriteUn sprite (en ingls duendecillo) es una pequea imagen que puede moverse por la pan-talla. Nuestra querida tortuga, por ejemplo, es un sprite.

    37

  • El manual de KTurtle

    Nota: en esta versin de KTurtle, el sprite no puede cambiarse de una tortuga a otra imagen.Sin embargo, en futuras versiones de KTurtle s que est previsto que se pueda hacer esto.

    38

  • El manual de KTurtle

    Captulo 6

    Gua para la traduccin de KTurtle

    Como probablemente ya sepa, el lenguaje de programacin de KTurtle, TurtleScript, puede sertraducido. Se elimina as una de las barreras que algunas personas, especialmente los estudiantesms jvenes, encuentran a la hora de comprender los fundamentos de la programacin.

    Cuando traduzca KTurtle a un nuevo idioma encontrar, junto a las cadenas de la interfaz grficade usuario, que las rdenes de programacin, los ejemplos y los mensajes de error estn incluidosen los archivos .pot estndares que se usan para la traduccin en KDE. Todo se traduce siguiendoel mtodo de traduccin habitual de KDE. No obstante, se le recomienda que aprenda cmotraducir esta aplicacin en particular (como tambin leer en los comentarios del traductor).

    Vaya a http://edu.kde.org/kturtle/translator.php si desea obtener ms informacin acerca delproceso de traduccin. Le agradecemos su colaboracin. KTurtle depende en gran medida de sustraducciones.

    39

  • El manual de KTurtle

    Captulo 7

    Crditos y licencia

    KTurtleCopyright del programa 2003-2005 Cies Breijs cies AT kde DOT nl

    Copyright de la documentacin 2004, 2007, 2009

    Cies Briej cies AT kde DOT nl

    Anne-Marie Mahfoufannma AT kde DOT org

    Correcciones hechas por Philip Rodrigues [email protected]

    Actualizacin de la gua de traduccin y correcciones: Andrew Coles andrew_coles AT yahooDOT co DOT uk

    Traducido por Rafael [email protected] y Leticia Martn Hernndez [email protected]

    Esta documentacin est sujeta a los trminos de la Licencia de Documentacin Libre GNU.

    Este programa est sujeto a los trminos de la Licencia Pblica General GNU.

    40

  • El manual de KTurtle

    Apndice A

    Instalacin

    A.1. Cmo obtener KTurtle

    KTurtle forma parte del proyecto KDE http://www.kde.org/ .

    KTurtle est incluido en el paquete kdeedu en ftp://ftp.kde.org/pub/kde/ , el servidor FTP delproyecto KDE.

    A.2. Compilacin e instalacin

    Consulte Construir KDE4 desde el cdigo fuente para obtener informacin detallada sobre cmocompilar e instalar aplicaciones de KDE

    Como KDE usa cmake, no debera tener ningn problema para compilarlo. Si encuentra algunadificultad le rogamos que se dirija a las listas de distribucin de KDE.

    41

  • El manual de KTurtle

    Apndice B

    ndice alfabtico

    Aafirmar, 32aleatorio (alt), 27arccos, 28arcsen, 28arctan, 28avanzar (avz), 22

    Bbajarpincel (bpl), 24

    Ccentrar, 23colorlienzo (cl), 25colorpincel (cpl), 25cos, 27

    Dderecha (der), 23direccin (dir), 23

    Eescribir, 26esperar, 30

    Ggrosorpincel (gpl), 24

    Iir, 23irx (ix), 23iry (iy), 24izquierda (izq), 23

    Llevantarpincel (lpl), 24limpiar (lmp), 25

    Mmensaje, 28mientras, 31mod, 27mostrartortuga (mt), 26

    Oobtenerdireccin, 23obtenerx, 24obtenery, 24ocultartortuga (ot), 26

    Ppara, 31parar, 32paso, 31pi, 27preguntar, 28

    Rraz, 27redondear, 27reiniciar, 25repetir, 31retroceder (ret), 23

    Ssalir, 32sen, 27si, 30sino, 30

    Ttamaoletra, 26tamaolienzo (tl), 25tan, 27

    42

    IntroduccinQu es TurtleScript?Caractersticas de KTurtle

    Uso de KTurtleEl editorEl lienzoEl inspectorLa barra de herramientasLa barra de mensEl men ArchivoEl men EditarEl men LienzoEl men EjecutarEl men HerramientasEl men PreferenciasEl men Ayuda

    La barra de estado

    Cmo empezarPrimeros pasos con TurtleScript: conozca la tortuga!La tortuga se mueveOtros ejemplos

    Gua del lenguaje de programacin TurtleScript La gramtica de TurtleScriptComentariosrdenesNmerosCadenasValores lgicos (verdadero/falso)

    Operadores aritmticos, lgicos y de comparacinOperadores aritmticosOperadores lgicos (verdadero/falso)Unos ejemplos ms complejos:

    Operadores de comparacin

    rdenesCmo mover la tortugaDnde est la tortuga?La tortuga tiene un pincelrdenes que controlan el lienzoComandos para limpiarLa tortuga es un duendecilloLa tortuga puede escribir?rdenes aritmticasEntrada e informacin mediante dilogos

    Asignar valores a las variablesCmo controlar la ejecucinCmo hacer que la tortuga espereEjecutar siSi no es as: sinoEl bucle mientrasEl bucle repetirEl bucle para, un bucle que cuentaInterrumpir un bucleInterrumpir la ejecucin de tu programaComprobacin de afirmaciones en tiempo de ejecucin

    Crea tus propias rdenes con aprender

    GlosarioGua para la traduccin de KTurtleCrditos y licenciaInstalacinCmo obtener KTurtleCompilacin e instalacin

    ndice alfabtico