Libro de Logo

download Libro de Logo

of 36

Transcript of Libro de Logo

  • 8/19/2019 Libro de Logo

    1/119

    INDICE

    1. INTRODUCCIÓN 3

    2. LOGO 4

    2.1 LOGO en los centros educativos 4

    2.2 Características de LOGO 4

    2.3 Instalacin 5

    2.! Re"ueri#ientos #íni#os $ara e%ecutar &'(Lo)o 9

    2.* Inicio de &'(Lo)o 9

    2.+ Conociendo el entorno de &'(Lo)o 10

    2.+.1 Las ventanas de &'(Lo)o 10

    2.+.2 Ele#entos ,-sicos de una ventana 11

    3. ROGR/&/CIÓN EN &'(Lo)o 12

    3.1 ri#itivas 12

    3.1.1 ri#itivas $ara di,u%ar 13

    3.1.2 ri#itivas $ara escri,ir0 editar tra,a%ar con icero 14

    3.1.3 ri#itivas $ara crear condiciones ,ucles 15

    3.1.! ri#itivas $ara salir de &'(Lo)o 15

    3.2 4aria,les 19

    3.3 rocedi#ientos 203.! Uso de 4aria,les Glo,ales 23

    3.!.1 Las varia,les en el #odo directo5 24

    3.* Recursividad 27

    3.*.1 'entencias condicionales 28

    3.*.2 Control de la recursividad $or #edio de un contador 29

    3.+ Car)ar un icero 30

    3.6 Tra,a%ar con i#-)enes 31

    3.7 Usar ventanas ,otones en &'(Lo)o 32

    3.8 Otros E%e#$los con ri#itivas 9-sicas 33

    3.8.1 aso De /r)u#entos Entre rocedi#ientos 54

    !. ORIENT/CIONE' &ETODOLÓGIC/' / LO' RO:E'ORE' /R/ INICI/R

    L/ EN'E;/N

  • 8/19/2019 Libro de Logo

    2/119

    !.1 re$aracin De Las ri#eras /ctividades De ro)ra#acin 69

    !.2 resentacin Did-ctica Del &odo Directo 69

    !.3 El /$rendi=a%e De Las ri#eras ri#itivas 71

    !.! El Cuaderno De Lo)o 74

    !.* La Utilidad De Los &ensa%es De Error 75

    !.+ Recursos &etodol)icos ara lantear Los rocedi#ientos Lo)o En El /ula. 76

    !.+.1 /l)unas su)erencias $ara $ro$oner el a$rendi=a%e de $rocedi#ientos

    LOGO 76

    !.+ ro)ra#as Estructurados 92

    !.+.1 ro)ra#acin 92

    !.6 Las 4aria,les 95

    !.6.1. 4aria,les Locales 95!.6.2. 4aria,les Glo,ales 96

    !.6.3 &etodolo)ía ara La resentacin De Las 4aria,les Locales 97

    !.6.!. &etodolo)ía ara La resentacin De Las 4aria,les Glo,ales 100

    *. 'ENTENCI/' CONDICION/LE' 102

    *.1 &etodolo)ía 102

    *.2 Los :iltros 103

    *.3 Los &en>s 105

    *.! Es$irales recursivas. 108

    *.+ /l)unos E%ercicios r-cticos5 El 'e#-oro. 109

    +. 9I9LIOGR/:I/ 114

    3

  • 8/19/2019 Libro de Logo

    3/119

    1. INTRODUCCIÓN

    El objetivo fundamental de este libro es para difundir un lenguaje de programacin gratuito

    como lo es !"#"$ %ue fue creado por 'e#our a$ert con la idea principal de %ue los

    ni&os aprendieran matem'ticas programando en este lenguaje(

    En la actualidad nosotros podemos ver una infinidad de soft)are orientado a la

     programacin$ pero todo este soft)are %ue se encuentra en el mercado no es accesible para

    todos los %ue %uieran *acer uso de el por el alto costo de sus licencias$ en este sentido

    !"#" es un lenguaje de programacin %ue en todas sus versiones desarrolladas para

    +,-.$ /acintos* indo)s$ son gratuitas pueden ser copiadas distribuidas sin

    restricciones con fines educativos(

    !"#" es uno de los pocos lenguajes con instrucciones en espa&ol cua finalidad no es

    ense&ar programacin pero debido a su f'cil manejo se puede usar para ense&ar la maora

    de los principales conceptos de programacin(

    El smbolo de !"#" es una tortuga %ue se mueve obedeciendo las ordenes %ue introduce

    el programador( En algunas versiones esta tortuga a sido modificada como en el caso de

    /!ogo %ue se *a convertido en un triangulo(

    !as rdenes o instrucciones b'sicas %ue se le dan a la tortuga se llaman $ri#itivas$ %ue en

    el transcurso de este libro iremos conociendo m's sobre este trmino(

    En este libro se trabajara con &'(Lo)o$ en el cual se eplicara el manejo de las*erramientas m's comunes se enfatiara de cmo se puede utiliar esta *erramienta como

    un nuevo recurso did'ctico en nuestras aulas de clase(

    4

  • 8/19/2019 Libro de Logo

    4/119

    2. LOGO

    2.1 LOGO en los centros educativos

    !"#" como una *erramienta para ense&ar a pensar puede ser de muc*o provec*o en los

    centros educativos %ue se caracterian en dar una buena educacin a sus estudiantes esto

    se debe a %ue !"#" no es solo una *erramienta de programacin sino %ue es toda una

    teora de aprendiaje$ a %ue propicia crear un clima agradable para %ue el estudiante

    raone durante todas las etapas de la clase(

    odemos destacar tambin %ue !"#" permite al estudiante %ue durante todo el transcurso

    %ue el se sienta a resolver un determinado problema$ est desarrolle una serie de ideas para

     poder llegar a la solucin$ *asta llegar a formular una estrategia adecuada para lograr la

    resolucin de est problema problemas similares(

    odemos decir %ue !"#" puede ser una *erramienta %ue si el docente le da buen uso

     puede ocasionar en el estudiante un clima de alegra entusiasmo para seguir aprendiendo(

    2.2 Características de LOGO

    !ogo es un lenguaje de programacin %ue al igual %ue otros posee caractersticas

    especficas %ue lo *acen ser diferente a los dem's$ a continuacin presentamos algunas

    caractersticas especiales de !"#"

    1( ermite %ue el estudiante eplote su creatividad intelectual(2( rea en el estudiante una actitud activa participativa permanente(

    3( ermite %ue el estudiante no solo resuelva problemas mecaniadamente$ sino %ue

    apli%ue el raonamiento para solucin de ellos(

    4( ermite el trabajo en e%uipos(

    5( e pueden crear micromundos(

    6( ermite comparar los enfo%ues seguidos por otros grupos para la solucin de un

    determinado problema(

    7( ermite fomentar la autoestima de los estudiantes(

    8( :omenta la auto evaluacin(

    9( :omenta la motivacin para seguir aprendiendo(

    ;Error< ,o se encuentran entradas de

    ndice(

    5

  • 8/19/2019 Libro de Logo

    5/119

    2.3 Instalacin

    omo se menciono anteriormente en este libro para *ablar de la programacin en !"#" se

    trabajara con /!ogo 6(5a$ a %ue es una de las versiones m's amigables %ue *a por su

    entorno grafico mu bien dise&ado$ a continuacin se presentan los pasos para su

    instalacin

    1( rimero lo %ue se debe *acer es buscar en donde esta ubicado el instalador(

    2( uando *ace doble clic= sobre el instalador le aparecer' esta pantalla>

    i %uieres continuar con la instalacin *a clic= en el botn 'í  para %ue apareca el

    asistente de instalacin

    ara continuar solo

    *a clic= en 'i)uiente(

    3( omo anteriormente se *aba dic*o %ue /!ogo es un soft)are gratuito

    entonces aparecer' la ventana de la licencia de /!ogo(

    6

  • 8/19/2019 Libro de Logo

    6/119

    ara continuar con la instalacin solo *a clic= en 'i)uiente(4( ?*ora aparece esta pantalla %ue es la %ue indica en %ue directorio del disco duro

    estar' ubicado /!ogo se recomienda %ue no se cambie el %ue esta dando el

    asistente por defecto %ue solo *aga clic= sobre 'i)uiente para continuar con la

    instalacin.

    5( ?*ora aparece la ventana donde aparece la opcin de seleccin de la carpeta del

    /en@ -nicio en donde se van a crear los accesos directos$ se recomienda solo

    *acer clic= en el botn 'i)uiente para continuar con la instalacin(

    7

  • 8/19/2019 Libro de Logo

    7/119

    6( En est' pantalla muestra al usuario los datos de la configuracin de la instalacin si

    todo est' correcto solo se debe *acer clic= en el botn Instalar(

    7( Est' pantalla muestra todo proceso de la instalacin de /!ogo espere %ue

    finalice todo el proceso para continuar(

    8

  • 8/19/2019 Libro de Logo

    8/119

    8( uando el proceso de instalacin a finaliado le aparecer' est' pantalla$ a%u solo

    tiene %ue *acer clic= en el botn de :inaliar todo *abr' concluido con ito(

    9

  • 8/19/2019 Libro de Logo

    9/119

    2.! Re"ueri#ientos #íni#os $ara e%ecutar &'(Lo)o

    ara ejecutar /!ogo en su ordenador es necesario tener instalado indo)s 3(1 o

     posterior los siguientes re%uerimientos mnimos de *ard)are

    A +n ordenador ?B$ 386 o superior(

    A 2 /egabtes de memoria etendida(

    A 2 /egabtes de disco fijo libres(

    A +na unidad de CD"/

    A +na tarjeta gr'fica F#? o superior(

    A +n ratn o dispositivo de control para navegar por las opciones del entorno(

    A +na impresora$ opcional(

    A +na tarjeta de sonido$ opcional(

    2.* Inicio de &'(Lo)o

    ara el inicio de /!ogo lo @nico %ue tienes %ue *acer clic en el men@ inicio$

    seleccionar todos los programas buscar en la lista donde esta ubicado /!ogo *acer 

    clic sobre el as a estar' todo listo para usar /!ogo(

    2.+ Conociendo el entorno de &'(Lo)o

    2.+.1 Las ventanas de &'(Lo)o

    ada ve %ue iniciamos /!ogo nos aparece esta ventana

    En la cual se

    muestran las tres

    ventanas m's

    importantes la

    10

  • 8/19/2019 Libro de Logo

    10/119

    ventana de #r'ficos de Brabajo$ cada una de estas ventanas tiene una funcin

    determinada

    La 4entana de Gr-icos5 Es el mundo de las tortugas$ es a%u donde se ver'n

    representados los dibujos$ decorados la escritura gr'fica(

    La 4entana de Tra,a%o Es donde se escriben las primitivas(

    Otras ventanas de (inLo)o

    in!ogo tambin tiene otras ventanas %ue de acuerdo a la necesidad estas se van

    utiliando$ a continuacin mostramos algunas de estas ventanas

    1.4entana de Edicin5 ?%u se podr' editar procedimientos a creados o edutar 

    nuevos procedimientos(

    2.+.2 Ele#entos ,-sicos de una ventana

    ada una de las ventanas posee elementos indispensables %ue le servir'n al usuario para

     poder interactuar$ a continuacin se detallan algunos de estos elementos

    11

    Garra de titulo

    Gotn/inimiar 

    Gotn/aimiar 

    Garra dedesplaamientovertical

    Garra dedesplaamiento*oriontal

    Hrea de trabajo

    Gotn /en@de control

  • 8/19/2019 Libro de Logo

    11/119

    9arra de Titulo5 a%u aparece el nombre de la ventana$ cuando la ventana est'

    activa aparecer' de otro color %ue la distinguir' de las dem's ventanas(

    9otn &en> de Control5 Este botn se encuentra a la i%uierda en la es%uina

    superior$ al *acer clic sobre el botn aparecer' un men@ en el cual aparecer'n las

    opciones como minimiar$ maimiar$ cerrar$ mover$ tama&o$ restaurar siguiente(

    ?rea de Tra,a%o5 Es toda la parte %ue se encuentra limitada por los mismos bordes

    de la ventana(

    9arra de Des$la=a#iento 4ertical5 e encuentra en la parte derec*a de la ventana$

    la @nica ventana %ue no tiene esta barra de desplaamiento es la ventana de :ormas(

    9arra de Des$la=a#iento @ori=ontal5  e encuentra en la parte inferior de la

    ventana(

    9otn de &ini#i=ar5 irve para reducir la ventana al menor tama&o posible(

    9otn &aAi#i=ar5 irve para *acer m's grande la ventana a su maor tama&o

     posible(

    12

  • 8/19/2019 Libro de Logo

    12/119

    3. ROGR/&/CIÓN EN &'(Lo)o

    3.1 ri#itivas

    !as primitivas son procedimientos instrucciones b'sicas %ue a vienen por defecto en el

     programa /!ogo( !as primitivas se pueden escribir tanto en ma@scula como en

    min@scula se escriben en la parte inferior de la ventana de trabajo(

    !o importe de usar las primitivas es %ue se *ace f'cil entender la lgica el funcionamiento

    de las ma%uinas conocer su comportamiento$ a %ue es un lenguaje sencillo podemos

    decir %ue casi natural el cual facilita %ue el estudiante comprenda lo %ue esta *aciendo

    cuando esta programando tambin facilita la labor docente(

    Eisten dos tipos de primitivas Co#andos :unciones0 los comandos son primitivas %ue

    ejecutan una accin directamente( !as funciones son primitivas %ue producen un resultado

    %ue debe ser interpretado por otra primitiva o por otro procedimiento(

    or ejemplo 9orra$antalla es un comando$ pues si lo ejecuto$ se produce una accin

    como resultado$ en este caso$ limpiar la ventana gr'fica( En cambio 'u#a 2 3  es una

    funcin$ pues si lo ejecuto produce el siguiente mensaje de error No #e as dico "uB

    acer con *( Entiende %ue se trata de una suma$ pero no sabe %u es lo %ue tiene %ue *acer 

    con el resultado( +na posibilidad sera Escri,e 'u#a 2 3( Ce esta forma$ la primitiva

    uma produce un resultado$ 5$ se lo entrega a la primitiva Escribe$ %ue es un comando(

    Esta primitiva sabe %u *acer con el resultado nos lo muestra en la pantalla(Banto los comandos como las funciones pueden re%uerir el uso de par'metros para su

    correcto funcionamiento( or ejemplo 9orra$antalla no necesita ning@n par'metro para

    funcionar$ su misin es clara( En cambio$ Escri,e necesita alg@n par'metro para funcionar$

    de lo contrario no sabra %u es lo %ue tiene %ue escribir(

    !os par'metros son objetos !"#" a los describiremos m's adelante(

    Brataremos de dar eplicacin a las primitivas m's comunes$ de las cuales *aremos algunos

    ejemplos sencillos funcionales( !o interesante de programar en /!ogo es %ue cada

    ve %ue se escribe una orden en la ventana al pulsar ENTER  o *acer clic= en el botn

    Ejecutar$ la primitiva se ejecuta$ pero lo interesante es %ue podemos ver la accin %ue *ace

    esa primitiva en el mismo momento %ue se ejecuta$ pero si la primitiva esta mal escrita

    entonces al momento de ejecutarse$ aparece lo siguiente en la ventana de trabajo el

    13

  • 8/19/2019 Libro de Logo

    13/119

    siguiente mensaje No se co#o0 lo %ue significa %ue no puede ejecutar la accin %ue se

    esta ordenando(

    !as primitivas se pueden escribir de dos formas al momento de dar una orden

    Escribiendo la palabra completa$ por ejemplo /4/N

  • 8/19/2019 Libro de Logo

    14/119

    ","!"!?-I O000 000 255Q R ?ul

    "+!B?B"B+#? "B "culta la tortuga Mel tri'nguloN en la pantalla(/"B?B"B+#? /B /uestra la tortuga Mel tri'nguloN en la pantallaG"??,B?!!? G Gorra la pantalla coloca a la tortuga en el

    centro(

    "B+!? OJ"!?Q " OJ"!?Q Escribe un teto en la direccin en %ue seencuentra la tortuga(

    ",#"" O10 10Q ",# O10 10Q oloca el anc*o del traado del l'pi la alturaespecificados( /!ogo utilia solamente elvalor de la anc*ura(

    3.1.2 ri#itivas $ara escri,ir0 editar tra,a%ar con icero

    ri#itiva /,reviatura Descri$cin

    /+EB? objeto omando %ue escribe la entrada oentradas en la salida de escritura %ueactualmente est Minicialmente es elterminalN(

    E-GE objeto E objeto omando %ue escribe la entrada oentradas en la salida de escritura %ueactualmente est Minicialmente es elterminalN( i la entrada es una lista$ loscorc*etes m's eternos no se muestran$ pero s los de los de las sublistas(

    EC-B? ",BE,-C" EC-B?B"C" omando %ue abre la ventana del editor permite modifica las definiciones de

    los elementos Mprocedimientos$variables$ etc(N(Jace lo mismo %ue el botn Ed( Bodo(

    EC-B?"EC-/-E,B"

    EC-B?"EC-/-E,B" omando %ue abre la ventana del editor permite modifica las definiciones delos procedimientos(

    ?#? Snombfic*ero omando %ue lee las instrucciones delfic*ero dado las ejecuta(

    #+?C? Snombfic*ero omando %ue guarda en el fic*ero dadolas definiciones de todos los procedimientos$ variables listas de propiedades sin tapar(

     3.1.3 ri#itivas $ara crear condiciones ,ucles

    ri#itiva Descri$cin

    - condicin instrucciones ermite ejecutar una o varias instruccionesdependiendo si se cumple la condicin

    --," condicin instrucciones1 instrucciones2 Cependiendo si se cumple una condicin ejecuta la

    15

  • 8/19/2019 Libro de Logo

    15/119

     primera lista de instrucciones$ si no se cumpleejecuta la siguiente lista de instrucciones

    J?I(J?B? instrucciones condicin Eval@a las instrucciones repetidamente tantasveces *asta %ue se cumpla la condicin( Ce estamanera se asegura %ue las instrucciones seejecutan al menos una ve$ antes de comprobar la

    condicin( EK+-F?!E,BE a J?B?J?B? condicin instrucciones epite las instrucciones tantas veces *asta %ue la

    condicin epresada se cumpla(J?I(/-E,B? instrucciones condicin Eval@a las instrucciones repetidamente tantas

    veces como se cumpla la condicin( Ce estamanera las instrucciones se pueden o no ejecutar$dependiendo si se cumple la condicin(EK+-F?!E,BE ? /-E,B?

    /-E,B? condicin instrucciones epite las instrucciones tantas veces como lacondicin epresada se cumpla(

    -E/E instrucciones Ejecuta las instrucciones de forma repetida(E-BE numero instrucciones Ejecuta las instrucciones tantas veces como se

    le indica en n@mero

    3.1.! ri#itivas $ara salir de &'(Lo)o

    ri#itiva Descri$cin

    ?C-" omando %ue sale de !ogo$ devolviendo el controlal sistema operativo(

    ara irnos familiariando con estas primitivas m's comunes vamos a realiar algunos

    ejemplos

    E%e#$lo 3.1

    Cibujar un cuadrado color rojo(

    Esta actividad la podemos *acer de la siguiente manera

    onColorLa$i= F2**

    /van=a 1

    GiraDereca 8

    /van=a 1GiraDereca 8

    /van=a 1

    GiraDereca 8

    /van=a 1

    16

  • 8/19/2019 Libro de Logo

    16/119

    Bambin podemos escribir este pe%ue&o programa para *acer el cuadrado usando las

    abreviaturas de las primitivas nos va a dar el mismo resultado(

    onCL F2**

    /4 1

    GD 8

    /4 1

    GD 8

    /4 1

    GD 8

    /4 1

    ?l finaliar la actividad podemos utiliar las primitivas %ue nos sirven para dejar en limpio

    la ventana donde aparecen los dibujos la ventana de teto *acindolo se la siguientemanera

    ara borrar la pantalla escribimos BorraPantalla  BP  en su forma abreviada para borrar 

    el teto escribimos BorraTexto  BT  en su forma abreviada autom'ticamente nos %uedara

    totalmente limpia nuestra 'rea de trabajo(

     Ejercicio 3.1

     Dibuja un cuadrado color verde y que tenga una inclinación de 45° acia la dereca.

    Ja casos %ue la tortuga en este caso de /!ogo %ue es un triangulo aparece oculta

    entonces nosotros podemos *acer %ue apareca *aciendo uso de la primitiva

    &ostrarTortu)a &T1  si es el caso %ue %ueremos %ue este oculta entonces utiliamos la

     primitiva OcultaTortu)a OT(

    E%e#$lo 3.2

    Jagamos el cuadrado del ejemplo 1$ a*ora lo %ue vamos *acer es %ue apareca en la

    ventana de gr'ficos lo siguiente !E"te e" un cuadrado de l#nea" color rojo$  

    ara *acer %ue apareca el teto *acemos lo siguiente

    ?l finaliar de *acer el cuadrado$ el triangulo %ueda en la posicin donde iniciamos pero

    con direccin *acia la i%uierda escribimos lo siguiente en la ventana de trabajo

    1 ?l principio en este material siempre se escribir' el nombre completo de la primitiva su e%uivalente enabreviatura$ mas adelante solo se escribir'n las abreviaturas(

    17

  • 8/19/2019 Libro de Logo

    17/119

    GiraI="uierda 8

    'u,eLa$i=

    /van=a 2

    GiraI="uierda 8

    9a%aLa$i=

    Rotula FEste es un cuadrado de líneas color ro%o 

    ecuerda las rdenes se escriben en la ventana de Brabajo( !ogo muestra sus mensajes

    tetos en la ventana de Betos$ sus gr'ficos los representa en la ventana de #r'ficos(

    i se comete un error al escribir una primitiva como por ejemplo ordenar a la primitiva una

    accin incompleta$ !ogo enva su mensaje de error a travs de la ventana de TEHTO'(

    ara comprobarlo se teclea E''CRI9E @OL/> la palabra escribe se *a escrito con dos

    eses> el ordenador en este caso emitir' un mensaje de error en la ventana de TEHTO'. El

    mensaje de error %ue va a parecer es no se cmo *acer E''CRI9E( Bambin se pueden

    escribir dos m's rdenes en una misma lnea como por ejemplo

    9orraantalla /van=a 1 GiraDereca 8 /van=a + GiraI="uierda !* /van=a 1

    9 /4 1 GD 8 /4 + GI !* /4 1

    "tra primitiva interesante bastante @til es  %e&ite a %ue nos a*orra escribir una misma

    orden varias veces$ utiliando el ejemplo 1 vamos a *acer el mismo cuadrado pero esta ve

    utiliando la primitiva Re$ite(

    onCL F2**

    Re$ite !F/van=a 1 GiraDereca 8

    E%ercicio 3.2

    Escribe el siguiente conjunto de rdenes escribe en la pantalla el nombre de la figura %ue

    se forma

    REITE 6 F/4 3 GD 3+ J 6

    REITE 1F/4 * GD 8 /4 2 GD 8 /4 * GI 8 /4 2 GI 8

    18

  • 8/19/2019 Libro de Logo

    18/119

    E%ercicio 3.3

    Reali=a la si)uiente actividad 

    Jasta a%u *emos visto como podemos utiliar las primitivas m's comunes$ para

    familiariarte m's puedes *acer las actividades %ue vienen en el C2 de ejercicios(

    3.2 4aria,les

    +na variable es un dato$ %ue tiene un no#,re$ %ue puede tomar distintos valores(El concepto de variable es mu importante %ue como usuarios de !ogo lo entendamos mu

     bien$ para eplicar este concepto primero miremos este ejemplo

     'e tiene una li"ta de 5 &er"ona" que "e van a e"tar utili(ando con"tante)ente* &ero no

    "e quiere e"tar e"cribiendo el no)bre de e"a" 5 &er"ona" entonce" &uedo crear un

    docu)ento que "e lla)e li"ta y cada ve( que "e nece"ite e"cribir el no)bre de la" cinco

     &er"ona" lo +nico que "e tiene que acer e" e"cribir li"ta y a&arecer,n lo" 5 no)bre" de

    la" cinco &er"ona".$ 

    En /!ogo para asignar un valor a una variable se utilia la primitiva @/

  • 8/19/2019 Libro de Logo

    19/119

    i se %uiere %ue solo apareca en la ventana de trabajo entonces se *ace de la siguiente

    forma

    Escri,e 5no#,re  aparecer' -e gu"ta la cla"e de Progra)ación en /0/ 

    i se %uiere %ue apareca en la pantalla de gr'ficos entonces se *ace de la siguiente forma

    Rotula 5no#,re  aparecer' -e gu"ta la cla"e de Progra)ación en /0/ en la pantalla

    de gr'ficos

    ara %ue apareca de forma *oriontal primero escribir la orden de 0irarDereca 2 

    luego la orden anterior(

    E%e#$lo 3.2.2

    Famos a trabajar con el ejemplo del cuadrado$ pero en esta ocasin *aciendo uso de

    variables(

    @a= lado 1

    Re$ite !F/4 5lado GD 8

    En este caso a no se escribi el valor del tama&o %ue iba a tener cada uno de los lados del

    cuadrado sino %ue se creo una variable se utilio esta variable para la creacin del

    cuadrado(

    3.3 rocedi#ientos

    20

  • 8/19/2019 Libro de Logo

    20/119

    uando se *abla de procedimientos o programar de forma procedimental consiste en

    ense&ar procedimientos al ordenador %ue despus va utiliar como nuevas primitivas$ a

    cuando estas son asimiladas(

    !a sintais para crear un procedimiento es

    ara No#rocedi#iento F$ar-#etros

    .

    .

    .

    :in

    +n procedimiento se puede crear de dos formas

    1N Utili=ar la ventana de Tra,a%o para %ue apareca la ventana de trabajo primero se

    debe escribir en la caja de entrada de datos primitivas ara o)Procedi)iento &ar,)etro"   despus pulsar la tecla Enter o el botn Ejecutar aparecer' la

    siguiente ventana(

    !uego se ir'n introduciendo en esta ventana una a una las sentencias de las %ueconsta el procedimiento se ir' pulsando el botn "T( ara terminar con ladefinicin del procedimiento se introducir' la primitiva:-,(

    2N Utili=ar la 4entana de Edicin para acceder a la Fentana de Edicin se usar' la

     primitiva  ED6T7T/D/  o en el men@  7rcivo 8 Editar ( ?dem's de definir 

     procedimientos$ en la ventana de edicin se pueden definir variables$ propiedades$comentarios$ etc( uando se *a acabado de definir el procedimiento se guardar' en

    la opcin del men@ 7rcivo 8 0uardar (

    21

  • 8/19/2019 Libro de Logo

    21/119

    Es necesario saber %ue los procedimientos %ue se crean solo se pueden estar utiliando

    siempre cuando no se salga de /!ogo$ si los %uiere utiliar otra ve %ue entre a

    /!ogo tiene %ue guardarlos esto lo puede *acer de la siguiente manera

    Cesde la barra de men@ teniendo activa la ventana de  ED696: 5  e elige la opcin

    #uardar en 'rea de trabajo dentro del men@  7%9;6

  • 8/19/2019 Libro de Logo

    22/119

    E%e#$lo 3.3.2

    igamos trabajando con los procedimientos$ a*ora digamos %ue o %uiero un tri'ngulo pero

    %uiero %ue cada ve %ue de la orden de *acer el tri'ngulo pueda escribir el tama&o %ue lo

    %uiero para eso entonces vamos *acer lo siguiente

    ara Trian)ulo2 5lon)itud

    re$ite 3Fav 5lon)itud )d 12

    :in

    En este ejemplo lo %ue *icimos fue crear un procedimiento con una variable$ la variable es

    longitud %ue es la %ue toma el valor del tama&o %ue se le %uiere dar al tri'ngulo$ si

    %ueremos probar cual es el resultado escribimos en la ventana lo siguiente “triangulo=152$ autom'ticamente se dibujara un tri'ngulo de 150 de tama&o$ puedes probar con

    otros tama&os(

    E%e#$lo 3.3.3

    ?*ora utiliando el ejemplo anterior vamos *acer un procedimiento %ue se va a llamar 

    !>igura$  *agamos lo siguiente

    ara :i)ura

    Re$ite 3FTrian)ulo2 1* GD 12

    :in

    !a figura esperada es la %ue aparece en la imagen(

    3.! Uso de 4aria,les Glo,ales

    23

  • 8/19/2019 Libro de Logo

    23/119

    !as variables pueden ser comparadas con cajas a las %ue se les pone una eti%ueta MnombreN

    en cuo interior eiste un contenido( +na variable$ por ejemplo$ puede llamarse J"!?

    contener el n@mero 34> otra puede llamarse E+:"C contener la palabra -nform'tica

    Educativa( Ce este modo$ al ejecutar la orden de escribir el contenido de J"!?$ el

    ordenador escribe 34$ de la misma manera %ue si se le mandase escribir el contenido de

    E+:"C escribira -nform'tica Educativa(

    3.!.1 Las varia,les en el #odo directo5

    it@ate en la ventana de trabajo(

    Escribe

    @/< REU:OD Inor#-tica Educativa

    ulsa FINTRO./ediante la instruccin anterior se *a creado la variable E+:"C se le *a asignado

    como contenido la palabra -nform'tica Educativa(

    Escribe

    E'CRI9E 5 REU:OD

    ulsa FINTRO.

    En la ventana de tetos$ aparece escrito el contenido de la variable G?"$ en este caso

    -nform'tica Educativa( onviene destacar %ue para conocer el contenido de una variable$ es

    necesario escribir la instruccin  E'9%6BE ? @no)brevar $ donde nombrevar es el nombre

    de la variable

    rueba el siguiente ejemplo

    @/< ++

    E'CRI9E 5K8

    @/< NO&9RE contenido

    untos -mportantes para la creacin de variables globales

    24

  • 8/19/2019 Libro de Logo

    24/119

    El nombre %ue se da a la variable debe ser un conjunto de caracteres sin espacios en

     blanco debe ir precedido por comillas( El contenido de la variable puede ser

    +n n@mero

    El resultado de una operacin

    +na palabra %ue ir' precedida de comillas

    +na lista entre corc*etes

    +na serie de datos introducidos desde teclado durante la ejecucin del programa por 

    medio de ciertas primitivas(

    El contenido de una variable aparece cuando se escribe precedida por el smbolo

    5no#,re.

    irva como ejemplo el siguiente procedimiento

    /R/ CU/DR/DO

    9 9T

    E' FEscri,e la lon)itud del lado de un cuadrado

    @/< L/DO LEE/L/9R/

    REITE ! F /4 5L/DO GD 8

    :IN

    En este procedimiento aparece una nueva primitiva !EEP77B%7$ lo %ue *ace esta

     primitiva es !lee la &ri)era &alabra introducida de"de el teclado o le#da de"de un

     >icero$   su forma abreviada es !P$.

    E%e#$lo 3.!.2

    /R/ '/LUDO

    E' FC#o te lla#asM

    @/< NO&9RE LEE/L/9R/

    E' :R/'E FEncantado de conocerte 5NO&9RE

    :IN

    25

  • 8/19/2019 Libro de Logo

    25/119

    En este ejemplo lo %ue *ace el procedimiento es preguntar el nombre al momento de

    ejecutarse cuando se escribe el nombre en la caja$ lo escribe en la pantalla de gr'ficos(

    E%e#$lo 3.!.3

    /R/ CU9O

    9 9T

    E' FEste $ro)ra#a calcula el cu,o de los n>#eros

    E' FDe "uB n>#ero deseas el cu,oM

    @/< NU&ERO LEEC/R 

    @/< CU9O 5NU&ERO 5NU&ERO 5 NU&ERO

    E' :R/'E FEl cu,o de 5 NU&ERO F es 5CU9OP:IN

    En este procedimiento aparece la primitiva !EE97%$ lo %ue *ace es !lee el &ri)er 

    car,cter de un arcivo o la &ri)era &ul"ación de"de el teclado "in nece"idad de &ul"ar 

     6T%/$ su forma abreviada es !9$.

    ?dem's de !EE? !EE?!?G? tambin est'n las primitivas !EE6'T7$   %ue

    significa !ee una li"ta de caractere" introducido" de"de el teclado o le#do" de"de un

    arcivo$   su forma abreviada es !$   !EE97%' nu)$  %ue significa !lee lo" nu)

     &ri)ero" caractere" &ul"ado" de"de el teclado o le#do" de un arcivo$ su forma

    abreviada es !9' nu)$. ara ver la funcionalidad de cada una de estas primitivas se

     presentan los siguientes ejemplos

    E%e#$lo 3.!.!

    /R/ E%e#$lo!

    E' FEn "ue universidad estudiasM5

    @/< H LC

    E' 5H

    :IN

    26

  • 8/19/2019 Libro de Logo

    26/119

    E%e#$lo 3.!.*

    /R/ E%e#$lo*

    E' FEn "ue universidad estudiasM5

    @/< H LC' !

    E' 5H

    :IN

    E%e#$lo 3.!.+

    /R/ E%e#$lo+E' FEn "ue universidad estudiasM5

    @/< H L

    E' 5H

    :IN

    E%e#$lo 3.!.6

    /R/ E%e#$lo6

    E' FEn "ue universidad estudiasM5

    @/< H LL

    E' 5H

    :IN

    3.* Recursividad

    e llama recursividad a la posibilidad %ue ofrece un programa dise&ado en !ogo de

    llamarse a s mismo en un bucle sin fin( +n sencillo ejemplo lo constitue el siguiente

     programa$ %ue dibuja una circunferencia de modo recursivo

    /R/ CRECUR 

    27

  • 8/19/2019 Libro de Logo

    27/119

    /4 1

    GD 1

    CRECUR

    :IN

    +n primer problema por resolver en un procedimiento recursivo$ es encontrar la forma de

    abandonar su ejecucin infinita de procedimiento sin pulsar la tecla OEQ( e puede

    abandonar dic*a ejecucin mediante la primitiva TE97 en una condicin(

    3.*.1 'entencias condicionales

    !ogo puede UvalorarU el contenido de una condicin UdecidirU entre dos opciones( ara

    dejar claros estos conceptos se utiliar' la primitiva TE97$ %ue devuelve 96E%T/ oA7'/ seg@n se *aa pulsado o no una tecla(

    El programa -E %ueda controlado al anteponer el condicional  '6  a la primitiva TE97

    E%e#$lo

    /R/ /RCO

    'I TECL/M F/LTO

    /4 1

    GD 1

    /RCO

    :IN

    Este programa va dibujando un arco con avances giros *asta %ue se pulse una tecla(

    !a sentencia condicional se epresa con la primitiva - tiene varias sintais> las dos m's

    usadas son

    'I condicin Faccin 1 Faccin 2

    28

  • 8/19/2019 Libro de Logo

    28/119

    Esta sentencia significa %ue$ si se cumple la condicin$ se ejecutan las acciones contenidas

    en el primer corc*ete $ en caso contrario$ las incluidas en el segundo( En ambos casos$ una

    ve realiadas todas las acciones incluidas en uno de los corc*etes$ el programa ejecuta la

    lnea siguiente del programa(

    'I condicin Faccin

    En este caso$ si se cumple la condicin$ se ejecutan las acciones contenidas en el corc*ete>

    despus el programa pasa a la lnea siguiente> si no se cumple la condicin$ el programa

     pasa a la lnea siguiente(

    3.*.2 Control de la recursividad $or #edio de un contador

    E%e#$lo5

    /R/ CONT/DOR 5N

    'I 5NQ FE'CRI9E GOL /LTO

    E' 5N

    CONT/DOR 5N1

    :IN

    El programa contiene una variable local ?  %ue slo sirve para escribir su contenido cada

    ve %ue el programa se ejecuta( El programa se llama a s mismo *ace disminuir el valor 

    de la variable en cada paso( !a sentencia condicional de la primera lnea controla la ruptura

    del bucle en el momento en %ue se llega a un valor negativo$ se escribe la palabra #"! se

    detiene el programa( "bsrvese %ue la comparacin numrica entre el contenido de la

    variable la constante no se *a *ec*o con el signo R sino con el signo V a %ue$ si el

    incremento se *iciera con decimales 9/T7D/% ?82* 3C*  nunca se cumplira la

    condicin el bucle sera indefinido(

    Famos a realiar un procedimiento %ue genere un cuadrado de lado 100 se rellene de

    negro(

    !lama a este procedimiento CU/DRONEGRO.

    /R/ CU/DRONEGRO

    29

  • 8/19/2019 Libro de Logo

    29/119

    REITE ! F/4 1 GD 8

    'L GD !* /4 * 9L

    RELLEN/

    'L /4 S* GI !*

    :IN

    ?%u tienes una forma de provocar una intermitencia entre un cuadro negro una pantalla

     blanca$ de forma %ue el cuadro negro permaneca 2 segundos la pantalla blanca 4 seg(

    /R/ CONTROL1

    9 E'ER/ !

    CU/DRONEGRO E'ER/ 2CONTROL1

    :IN

    ?*ora deseamos %ue nuestro 97D%/E0%/ pase de negro a rojo cada 4 segundos por 

    lo %ue ser' necesario realiar un procedimiento 97D%/%//  provocar recursividad

    ara temporiar cada estado se utiliar' la primitiva E'PE%7 a descrita E'PE%7

    422 y E'PE%7 =22.

    3.+ Car)ar un icero

    En la parte de procedimientos se eplico la forma de guardar un fic*ero o procedimiento$

    a*ora vamos a ver la forma de cargar un fic*ero cuando se nos apareca la necesidad de

    usar uno de estos fic*eros$ para eso *acemos lo siguiente

     ,os vamos a la opcin del men@ /rcivo  seleccionamos Car)ar  la primitiva 9arga

    !no)b>icero  permiten la carga de las instrucciones del fic*ero dado( Es importante

    destacar %ue cuando se carga un fic*ero se leen las instrucciones %ue contiene se ejecutan(

    En la ventana de seleccin del arc*ivo a cargar solo aparecen los arc*ivos con etensin

    (!#"( ara %ue aparecan todos los arc*ivos se debe seleccionar en Bipo de arc*ivos todos

    los arc*ivos MW(WN(

    30

  • 8/19/2019 Libro de Logo

    30/119

    i no se *an guardado el entorno de trabajo de la sesin actual en disco o si en el arc*ivo

    eisten procedimientos a definidos en la sesin actual$ se sobrescribir'( ero antes de eso

    /!ogo emite una ventana de aviso

    3.6 Tra,a%ar con i#-)enes

    El men@ Gitmap de /!ogo ofrece la posibilidad de trabajar con im'genes o dibujos

    cargarlos$ guardarlos e imprimirlos(

    /!ogo permite la posibilidad de cargar im'genes con formato (bmp( ara poner cargar 

    una imagen de este tipo en la pantalla principal se debe utiliar la funcin Gitmap argar(

    Bambin permite guardar im'genes en formato (bmp( ara ello se usa el men@

    31

  • 8/19/2019 Libro de Logo

    31/119

    Gitmap #uardar o Gitmap #uardar como(

    3.7 Usar ventanas ,otones en &'(Lo)o

    on /!ogo se pueden crear aplicaciones procedimientos con ventanas botones(

    ara ello se utilian primitivas como creaventana* creaboton*F

    ? continuacin se muestra un ejemplo de una aplicacin %ue consta de varios

     procedimientos %ue crean una ventana %ue consta de varios botones %ue permite escribir

     borrar un teto

    /R/ 4entanaE%e#$lo rocedi#iento "ue crea la ventana del e%e#$lo 9T ,orra

    $antalla de teAto 9 ,orra $antalla de )r-icos

    OT

    creaventana $rinci$al 4EVE& FE%e#$lo de a$licacin con ventanas 12 1* 276

    1 F

    crea)rou$,oA 4EVE& E4entana * 26! 7*

    crea)rou$,oA 4EVE& EEscri,ir 2 2 12 *

    crea,oton 4EVE& Escri,ir FE'CRI9IR 2* 1 11 3* Factuali=aestatico teAto

    FE%e#$lo de ventanas

    crea)rou$,oA 4EVE& E9orrar 1!* 2 12 *

    32

  • 8/19/2019 Libro de Logo

    32/119

    crea,oton 4EVE& 9orrar F9ORR/R 1* 1 11 3* Factuali=aestatico teAto F

    crea)rou$,oA 4EVE& EteAto 2 * 12 3

    creaestatico 4EVE& teAto Fulse un ,otn 2* + 7 1*

    crea,oton 4EVE& 'alir F'alir 1* + 11 2 F9T 9 #uestratortu)a

    ,orraventana

    4EVE&

    :IN

    /R/ &ostrarE%e#$lo

    4entana inicial del e%e#$lo

    er#ite ver el e%e#$lo o a,andonarlo

    sisino sino,oA F4isuali=ar e%e#$lo FWuiere ver el e%e#$loM. F4entanaE%e#$lo F9T9

    :IN

    /R/ 9orrar4entanaE%e#$lo

    ,orraventana 4EVE&

    :IN

    3.8 Otros E%e#$los con ri#itivas 9-sicas

    1( rea un procedimiento llamado $or %ue calcule el producto de 10 por 42 lo presente en

    la pantalla gr'fica

    ara $or

    @a= nu#ero1 1

    @a= nu#ero2 !2

    @a= resultado 5nu#ero1 5nu#ero2

    9 GD 8

    Rotula F1 A !2 X

    /4 8

    33

  • 8/19/2019 Libro de Logo

    33/119

    Rotula 5resultado

    :IN

    Es importante %ue comprendas la diferencia entre el no#,re de una variable el valor de

    esa misma variable( or ejemplo

    rotula ola $roducir- ola

    rotula Fola $roducir- ola

    a= ola 68

    rotula 5ola $roducir- 68

    rotula ola 2 $roducir- error

    rotula 5ola 2 $roducir- 1*7

    2( rea un procedimiento llamado #ensa%e1 %ue muestre en la pantalla un aviso pidiendo

    %ue lo aceptes o lo rec*aces

    ara #ensa%e1

    &ensa%e Flan $ara esta tarde FWuieres ir a estudiarM

    :in

    3( /odifica el procedimiento #ensa%e1 para %ue pregunte otra cosa distinta(

    fic*ero X editar X mensaje1

    ara #ensa%e1

    &ensa%e Flan $ara esta tarde FWuB tal si va#os al cineM

    :in

    4( rea un procedimiento llamado tra=os %ue dibuje una lnea de traos$ de 100 piel de

    largo( ?l terminar el procedimiento$ muestra la tortuga en el centro de la pantalla(

    ara tra=os

    Li#$ia

    34

  • 8/19/2019 Libro de Logo

    34/119

    'L OT

    on$os F*

    GD 8

    9a%ala$i= /van=a 1 'u,ela$i= /van=a 1

    9a%ala$i= /van=a 1 'u,ela$i= /van=a 1

    9a%ala$i= /van=a 1 'u,ela$i= /van=a 1

    9a%ala$i= /van=a 1 'u,ela$i= /van=a 1

    9a%ala$i= /van=a 1 'u,ela$i= /van=a 1

    on$os F

    GI 8

    &T

    :in

    5( Ja un procedimiento$ llamado eAa)ono$ %ue dibuje un *e'gono de lado 120$ con

    grosor 3 de color marrn M8N sobre fondo carmin M12N(

    ara eAa)ono

    9 9L

    onc$ 12

    oncl 7

    on) F3 3

    Re$ite + Fav 12 )d +

    OT

    :in

    6( Ja un procedimiento llamado VdodecaedroY %ue dibuje un dodec'gono de lado 40$ con

    grosor 2 de color aul M1N sobre fondo amarillo M6N

    ara dodecaedro

    9 9L

    onc$ 1! oncl 1 on) F2 2

    35

  • 8/19/2019 Libro de Logo

    35/119

    Re$ite 12 Fav ! )d 3

    OT

    :in

    :jate %ue$ para dibujar cual%uier polgono regular de 80 puntos de lado$ el conjunto de

    rdenes es el mismo( !a @nica variacin entre un polgono otro es el n>#ero de lados$

    %ue coincide con el n@mero de repeticiones$ el -n)ulo %ue debe girar la tortuga(

    7( Escribe un procedimiento capa de dibujar un cuadrado cual%uiera( El tama&o del

    cuadrado se especificar' mediante la variable lado  %ue acompa&ar' al nombre del

     procedimiento cuando lo invo%ues(

    ara cuadro 5lado

    Re$ite ! F/4 5lado GD 8

    :in

    8( Escribe un procedimiento$ de nombre $oli)ono seguido de la variable lados$ %ue dibuje

    un polgono regular de 80 puntos de lado$ con el n@mero de lados indicado en la variable

    lados

    ara $oli)ono 5lados

    9 9L

    onc$ 12 oncl 7 on) F3 3

    @a= an)ulo 3+J5lados

    Re$ite 5lados F/4 7 GD 5an)ulo

    OT

    :in

    9( /odifica el procedimiento $oli)ono para %ue admita dos par'metros el n@mero de lados

    la lon)itud de esos lados(

    36

  • 8/19/2019 Libro de Logo

    36/119

    ara $oli)ono 5lados 5lon)itud

    9 9L

    onc$ 12 oncl on) F3 3

    @a= an)ulo 3+J5lados

    Re$ite 5lados F/4 5lon)itud GD 5an)ulo

    OT

    :in

    10( Z$ si somos capaces de dibujar un polgono cual%uiera$ [podremos dibujar un crculo\

    Escribe un procedimiento$ llamado circulo$ capa de dibujar un crculo del radio %ue se le

    indi%ue(

    ara circulo 5radio

    @a= avance 5radiotan 1

    Re$ite 3+ F/4 5avance GD 1

    :in

    11( ?*ora$ para practicar la programacin de reiteraciones con par'metros$ modifica el

     procedimiento tra=o para crear otro procedimiento llamado tra=o1 longitud$ %ue dibuje en

    la pantalla una lnea de traos de lon)itud ajustable( edacta un programa con el #enor

    n>#ero $osi,le de líneas de cdi)o$ utiliando la repeticin de una @nica orden( El

     procedimiento debera tener un aspecto como este

    ara tra=o 5lon)itud

    Li#$ia

    'L OT

    on$os F*

    GD 8

    9a%ala$i= /van=a 1 'u,ela$i= /van=a 1

    9a%ala$i= /van=a 1 'u,ela$i= /van=a 1

    9a%ala$i= /van=a 1 'u,ela$i= /van=a 1

    37

  • 8/19/2019 Libro de Logo

    37/119

    9a%ala$i= /van=a 1 'u,ela$i= /van=a 1

    9a%ala$i= /van=a 1 'u,ela$i= /van=a 1

    on$os F

    GI 8

    &T

    :in

    12( Famos a crear el procedimiento cuadro para %ue el cuadrado %ue resulta %uede relleno

    de color(

    ara cuadro 5lado

    9 9Lonc$ 1! oncl oncolorrelleno 1

    Re$ite ! F /4 5lado GD 8

    'L GD !* /4 3

    Rellena

    OT

    :in

    13( Ja un procedimiento$ llamado $enta)ono$ %ue dibuje en la pantalla gr'fica un

     pent'gono de cual%uier longitud de lado( osteriormente utilia ese procedimiento a

    creado$ en uno nuevo %ue dibuje seis pent'gonos$ unidos entre s por un vrtice formando

    una estrella(

    ara $enta)ono 5lado

    Re$ite * F/4 5lado GD 62

    :in

    ara estrella 5lado

    9 9L

    onc$ 1 oncl on) F3 3

    38

  • 8/19/2019 Libro de Logo

    38/119

    Re$ite + F$enta)ono 5lado GD +

    OT

    :in

    :jate %ue$ en el cdigo del procedimiento estrella aparece una llamada al procedimiento

    $enta)ono lado$ ;como si fuese una primitiva m's del lenguaje<

    14( #uarda este gr'fico$ creado con /!ogo$ en una carpeta de tu disco duro con

    formato de mapa de bits .,#$( ara ello abre el men@

     bitmap X #uardar como((( X Estrellapenta

    15( [odrias dibujar una flor\ +n mtodo sencillo podra consistir en dibujar cada ptalocon un cuarto de crculo *ec*o con varios segmentos( or ejemplo

    ara cuarto 5$aso

    Re$ite 8 F/4 5$aso GD 1

    :in

    Cibujar un ptalo es f'cil$ con dos cuartos de crculo

    ara $etalo 5$aso

    Re$ite 2 Fcuarto 5$aso GD 8

    :in

    ?*ora te toca a ti lo m's f'cil escribe un procedimiento$ llamado lor %ue sea capa de

    dibujar una flor compuesta de varios ptalos(

    16( Ja un procedimiento$ llamado no#,re$ %ue te pregunte tu nombre$ lo guarde en una

    variable$ lo muestre en la ventana de trabajo con el formato B+ ,"/GE E nombre(

    ara no#,re Co#ien=a el $rocedi#iento lla#ado no#,re

    39

  • 8/19/2019 Libro de Logo

    39/119

    9 'L OT GD 8 ,orra la $antalla sit>a la tortu)a en $osicin

    Rotula FC#o te lla#asM

    @a= tuno#,re lee$ala,ra asi)na la entrada tecleada a tuno#,re

    9 GD 8 li#$ia la $antalla

    Rotula FY@olaZ0 escri,e un teAto de saludo un es$acio

    on$os F+ se des$la=a a la dereca

    Rotula 5tuno#,re $resenta el valor de la varia,le

    on$os F 2* se des$la=a a la línea inerior

    Rotula FWuB tal est-sM co#$leta el saludo

    :in in del $rocedi#iento no#,re

    17( Ja un procedimiento$ llamado su#ar$ %ue nos pida dos n@meros nos devuelva elresultado de sumarlos en la ventana de gr'ficos(

    ara su#ar

    9 GD 8 OT 'L 9T iniciali=a las $antallas

    on$os F2 sit>a el $untero

    Rotula FWuB n>#eros "uieres su#arM

    @a= nu#1 lee$ala,ra ca$tura la $ri#era varia,le

    @a= nu#2 lee$ala,ra ca$tura la se)unda varia,le

    9 GD 8 li#$ia la $antalla

    on$os F2 sit>a el $untero al co#ien=o

    Rotula FL/ 'U&/ DE

    on$os F7* de cada uno de los

    Rotula 5nu#1

    on$os F!* ra)#entos del #ensa%e

    Rotula FK

    on$os F3 de salida

    Rotula 5nu#2

    on$os F1

    Rotula FX

    40

  • 8/19/2019 Libro de Logo

    40/119

    on$os F3

    Rotula 5nu#1 K 5nu#2 calcula la su#a la $resenta

    :in

    "bserva %ue$ si intentas sumar n@meros largos$ se producen problemas al rotular cada una

    de las partes del mensaje de salida( i %uieres %ue la presentacin del resultado sea m's

    elegante$ en una sola lnea de cdigo sin tener %ue preocuparte de cu'nto espacio

    necesitas para cada cifra$ puedes conseguirlo utiliando la primitiva lista( El procedimiento

    su#ar %uedara as

    ara su#ar

    9 GD 8 OT 'L 9T

    on$os F2 Rotula FWuB n>#eros "uieres su#arM

    @a= nu#1 lee$ala,ra

    @a= nu#2 lee$ala,ra

    9 GD 8

    on$os F2

    Rotula lista La su#a de 5nu#1 K 5nu#2 X 5nu#1K5nu#2P

    :in

    18( Ja un procedimiento llamado identidad$ capa de preguntarte tu nombre luego

    saludarte escribindolo en la pantalla(

    ara identidad

    9 GD 8 OT 'L 9T

    Rotula FCu-l es tu no#,re a$ellidosM

    @a= na$el leelista

    9 GD 8

    Rotula FY@olaZ

    on$os F6 rotula 5na$el

    :in

    41

  • 8/19/2019 Libro de Logo

    41/119

    19( Ja un procedimiento con el nombre inicial$ %ue pregunte tu nombre responda cu'l

    es la letra inicial de tu nombre(

    ara inicial

    9 OT 'L GD 8

    Rotula FCu-l es tu no#,reM

    @a= letra $ri#ero lee$ala,ra

    9 GD 8

    on$os F1

    Rotula FTu no#,re e#$ie=a $or

    on$os F12*

    Rotula 5letra:in

    20( Escribe un procedimiento capa de convertir dlares a lempiras(

    ara le#$iras

    9 GD 8 'L OT

    on$os F2

    Rotula FDe cu-ntos dlares se trataM

    @a= dolares $ri#ero leelista

    @a= le#$iras 5dolares 18.2

    9 GD 8

    on$os F2 Rotula 5dolares

    on$os F1* Rotula FDlares son5

    on$os F! Rotula 5le#$iras

    on$os F+ Rotula FLe#$iras.

    :in

    Cel mismo modo %ue *icimos en el procedimiento su#ar$ podemos resolver la

     presentacin del resultado en una @nica lnea de cdigo con la primitiva lista

    42

  • 8/19/2019 Libro de Logo

    42/119

    ara le#$iras

    9 GD 8 'L OT

    on$os F2

    Rotula FDe cu-ntos dlares se trataM

    @a= dolares $ri#ero leelista

    @a= le#$iras 5dolares 18.2

    9 GD 8

    on$os F2 Rotula lista 5dolares Dlares son5 5le#$iras Le#$irasP

    :in

    21( Ja un procedimiento$ con el nombre de tri)o$ %ue nos pida el valor de un 'ngulo nosdevuelva el seno$ el coseno la tangente en la ventana de trabajo(

    ara tri)o

    9T ,orra la $antalla de tra,a%o

    @a= valor lee$ala,ra

    Escri,e lista ?n)ulo5 5valor )radosP

    Escri,e lista 'u seno es5 sen 5valorP

    Escri,e lista 'u coseno5 cos 5valorP

    Escri,e lista [ su tan)ente5 tan 5valorP

    :in

    22( Ja un procedimiento %ue nos pida un n@mero con decimales nos devuelva la parte

    entera del mismo$ el n@mero redondeado su ra cuadrada$ en la ventana de trabajo(

    ara nu#eros

    9T

    Escri,e FE'CRI9E UN NU&ERO CON DECI&/LE'

    @a= valor lee$ala,ra

    Escri,e lista NU&ERO 'OLICIT/DO5 5valorP

    43

  • 8/19/2019 Libro de Logo

    43/119

    Escri,e lista L/ /RTE ENTER/ E'5 entero 5valorP

    Escri,e lista 'U 4/LOR REDONDE/DO E'5 redondea 5valorP

    Escri,e lista 'U R/I< CU/DR/D/ E'5 rc 5valorP

    :in

    23( Ja un procedimiento$ llamado loteria$ %ue genere dos n@meros aleatorios entre el 0

    el 255 los muestre en la ventana de trabajo( ?dem's devolver' el resultado de dividir el

     primero entre el segundo$ su resto(

    ara loteria

    9T,orra la $antalla de tra,a%o

    @a= nu#1 a=ar 2** )enera al a=ar dos n>#eros #enores "ue 2**@a= nu#2 a=ar 2**

    Escri,e lista ri#er n>#ero aleatorio5 5nu#1P

    Escri,e lista 'e)undo n>#ero aleatorio5 5nu#2P

    Escri,e lista 'u cociente es5 5nu#1J5nu#2P

    Escri,e lista [ "ueda un resto de5 resto 5nu#1 5nu#2P

    :in

    24( Escribe un procedimiento$ llamado nu#1$ %ue sea capa de escribir 6 n@meros

    aleatorios entre 0 10(

    ara nu#1

    9T

    Re$ite + F#uestra a=ar 11

    :in

    25( ?*ora escribe un procedimiento$ al %ue llamaremos nu#2*$ %ue escriba oc*o cifras

    elegidas al aar entre el 2 el 5( !as cifras no deben ser menores %ue 2 ni maores %ue 6(

    ara nu#2*

    44

  • 8/19/2019 Libro de Logo

    44/119

    9T

    Re$ite 7 Fa= nu#1 a=ar !

    Escri,e 5nu#1K2

    :in

    26( or ejemplo$ escribe un procedimiento llamado nu# 5,a%o 5alto$ %ue muestre una ve=

    cada se)undo un n@mero elegido al aar$ entre dos cifras lmite(

    ara nu# 5,a%o 5alto

    9T

    @a= la$so 5alto5,a%o

    @a= nu#1 a=ar 5la$soK1Escri,e 5,a%oK5nu#1

    Es$era +

    nu# 5,a%o 5alto

    :in

    uedes detener la ejecucin del procedimiento tecleando /lto en la botonera del 'rea de

    comandos(

    27( "tro ejemplo *agamos un procedimiento %ue dibuje una lnea en =i)=a)$

    indefinidamente

    ara =i)=a)

    onru#,o !*

    /4 * GD 8

    /4 * GI 8

    Es$era 1

    =i)=a)

    :in

    45

  • 8/19/2019 Libro de Logo

    45/119

    28( Ja un procedimiento llamado ta,asci$ %ue genere una tabla entre el 0 el 255 en la

    %ue apareca el valor decimal su correspondiente cdigo ?--( e mostrar' en la

    ventana de trabajo(

    ara ta,asci

    9T 9orra la $antalla de tra,a%o

    @a= A Crea un contador lo $one a

    Re$ite 2** Fescri,e lista 5A caracter 5APc Escri,e un n>#ero el car-cter

    @a= A 5AK1 e"uivalente en ascii

    :in

    29( Escribe a*ora un procedimiento %ue nos pida una letra devuelva su cdigo ?-- enla pantalla(

    ara traduce

    9T ,orra la $antalla de tra,a%o

    Escri,e FINTRODUCE UN/ LETR/ EN L/ 4ENT/N/

    @a= valor lee$ala,ra

    9T

    Escri,e lista LETR/5 5valorP

    Escri,e lista 'u valor /'CII es5 ascii 5valorP

    :in

    30( Ja un procedimiento llamado nu#$os %ue nos pida un n@mero( i el n@mero %ue

    introducimos es positivo se mostrar' su ra cuadrada( i es negativo no debe calcularlo$ a

    %ue dara un error(

    ara nu#$os

    9T

    Escri,e FINTRODUCE UN N\&ERO EN L/ 4ENT/N/

    @a= valor lee$ala,ra

    46

  • 8/19/2019 Libro de Logo

    46/119

    9T

    Escri,e lista El n>#ero es5 5valorP

    'i 5valor] Fescri,e lista 'u rai= cuadrada es5 rc 5valorP

    :in

    !a primitiva si tambin permite ordenar al programa %ue ejecute una accin u otra$ en

    funcin de %ue una condicin se cumpla o no( En este caso$ la sintais de la primitiva si es

    la siguiente si condicin Oaccion1Q Oaccion2Q

    i la condicin es verdadera ejecutar' la accin1( i la condicin es alsa ejecutar' la

    accin 2( or ejemplo

    31( Escribe un procedimiento$ llamado $osne)$ %ue nos pida un n@mero( i el n@mero %ueintroducimos es positivo se mostrar' su ra cuadrada( i es negativo se escribir' un

    mensaje %ue diga U," E +ECE ?!+!? !? ?-I CE +, ,E#?B-F"U(

    ara $osne)

    9T

    Escri,e FINTRODUCE UN N\&ERO EN L/ 4ENT/N/

    @a= valor lee$ala,ra

    9T

    Escri,e lista El n>#ero es5 5valorP

    'i 5valor] Fescri,e lista 'u rai= cuadrada es5 rc 5valorP Fescri,e lista No

    tiene rai=0 es un n>#ero ne)ativoP

    :in

    !a sintais de la primitiva si eige %ue las dos acciones estn en la #is#a línea de cdi)o(

    Ja una primitiva %ue se comporta de un modo semejante se llama sisino( u sintais es

    similar sisino condicin Oaccion1Q Oaccion2Q

    32( Escribe un procedimiento$ llamado santia)o$ %ue formule una pregunta %ue informe

    si la respuesta es correcta o no lo es(

    47

  • 8/19/2019 Libro de Logo

    47/119

    ara santia)o

    9T 9 'L OT GD 8 onc$ 1!

    on$os F* 1

    Rotula FDe "uB color es el ca,allo ,lanco de 'antia)oM

    @a= res$uesta lee$ala,ra

    Li#$ia on$os F* 1

    'isino 5res$uestaX,lanco FRotula lista YZ&u ,ienZZ Y/certasteZ Es ,lancoP

    FRotula lista YYCu-nto lo sientoZZ :allaste. No es 5res$uestaP

    :in

    33( Escribe un procedimiento llamado lo)ica$ %ue nos pida dos n@meros( i los dos

    n@meros son maores de 100$ nos devolver' la suma de ambos( i es alguno de ellos esigual o menor %ue 100 nos devolver' un mensaje de error(

    ara lo)ica

    9 GD 8 'L OT on$os F2

    Rotula lista Introduce dos n>#eros #aores "ue 1P

    @a= nu#1 lee$ala,ra

    @a= nu#2 lee$ala,ra

    9 GD 8 on$os F2

    'isino 5nu#1]1 5nu#2]1 FRotula lista La su#a de 5nu#1 5nu#2 es5

    5nu#1K5nu#2P Frotula lista YYYErrorZZZ Uno de los dos n>#eros es #enor

    "ue 1P

    :in

    !a funcin lgica o eval@a varias epresiones( Cevuelve el valor cierto si al)una de las

    epresiones evaluadas tienen el valor cierto devuelve el valor also si todas las

    epresiones son falsas( u sintais es como sigue o epresion1 epresion2 si debe evaluar 

    2 epresiones Mo epresion1 epresion2 epresion3 (((N si debe evaluar m's de 2 epresiones

    48

  • 8/19/2019 Libro de Logo

    48/119

    34( ara comprenderlo$ vamos a redactar un procedimiento llamado lo)ica2 %ue nos pida

    dos n@meros$ uno de los cuales de,e ser maor %ue 500( i uno o los dos n@meros son

    maores %ue 500$ nos devolver' la suma de ambos( i los dos n@meros son iguales o

    menores %ue 500$ nos devolver' un mensaje de error(

    ara lo)ica2

    9 GD 8 'L OT on$os F2

    Rotula lista Introduce dos n>#eros. Uno de ellos de,e ser #aor "ue

    *P

    @a= nu#1 lee$ala,ra

    @a= nu#2 lee$ala,ra

    9 GD 8 on$os F2 'isino o 5nu#1]* 5nu#2]* Frotula lista La su#a de 5nu#1 5nu#2 es5

    5nu#1K5nu#2P Frotula lista YYYErrorZZZ /#,os n>#eros son #enores "ue

    *P

    :in

    !a primitiva ,it devuelve el resultado de aplicar la funcin lgica [ sobre dos o m's

    n@meros$ %ue deben ser n@meros enteros( u sintais es como sigue

    ,it numero1 numero2

    i debe *acer el c'lculo con 2 n@meros

    M,it numero1 numero2 numero3 (((N

    i debe calcularlo con m's de 2 n@meros

    !a primitiva ,ito devuelve el resultado de aplicar la funcin lgica O sobre dos o m's

    n@meros enteros( u sintais es similar a la de la primitiva bit(

    35( ara practicarlo$ escribe un procedimiento llamado unciono$ %ue nos pida dos

    n@meros enteros nos devuelva el resultado de *acer la funcin lgica V[Y entre ellos$ la

    funcin lgica VOY(

    49

  • 8/19/2019 Libro de Logo

    49/119

    ara unciono

    9 GD 8 'L OT

    on$os F*

    Rotula lista Introduce dos n>#eros enteros.P

    @a= nu#1 lee$ala,ra

    @a= nu#2 lee$ala,ra

    9 GD 8

    on$os F*

    Rotula lista Los n>#eros introducidos son5 5nu#1 5nu#2P

    on$os F* 2

    Rotula lista El resultado de a$licar la uncin [ es5 ,it 5nu#1 5nu#2P

    on$os F* !Rotula lista El resultado de a$licar la uncin O es5 ,ito 5nu#1 5nu#2P

    :in

    !a primitiva $rue,a eval@a una epresin recuerda si el resultado *a sido cierto o also$

     para %ue luego puedan utiliarlo las otras dos primitivas sicierto$ %ue puede abreviarse

    como sic sialso$ %ue puede abreviarse como si (

    !a sintais del conjunto es como sigue

    $rue,a epresion

    sic Oacciones a realiarQ

    si Oacciones a realiarQ

    36( Feamos un ejemplo$ con un procedimiento$ llamado sorteo* %ue genera un n@mero

    aleatorio entre el 0 el 100( i el n@mero generado es menor %ue 50 aparecer' un mensaje

    indic'ndolo( i el n@mero es igual o maor %ue 50 aparecer' otro mensaje %ue nos lo

    indica(

    ara sorteo*

    9 GD 8 'L OT

    @a= nu# a=ar 1

    50

  • 8/19/2019 Libro de Logo

    50/119

    on$os F*

    Rotula lista El n>#ero a)raciado es5 5nu#P

    on$os F* 2

    rue,a 5nu#Q*

    'ic FRotula lista "ue es #enor "ue *P

    'i FRotula lista "ue es #aor "ue *P

    :in

    +n bucle en un programa es una parte del mismo %ue se ejecuta repetidamente un n@mero

    determinado de veces( Este n@mero puede ser fijo o depender de determinadas

    circunstancias(

    !as primitivas #ientras asta dirigen la ejecucin de una o varias instrucciones mientras

    una epresin sea cierta( u sintais es como sigue

    #ientras OepresionQ OinstruccionesQ

    asta OepresionQ OinstruccionesQ

    !o primero %ue *acen es evaluar si la epresin da como resultado cierto$ por lo %ue las

    instrucciones podran no ejecutarse nunca si la evaluacin de las epresiones arrojase como

    resultado also(

    37( or ejemplo$ *a un procedimiento$ llamado ta,la#ul$ %ue genere un n@mero aleatorio

    entre el 0 el 30( +na ve elegido ese n@mero$ el programa debe presentarlo en la pantalla

    $ adem's$ presentar' en la ventana de teto la tabla de multiplicar por 7$ desde el 0 *asta el

    n@mero generado al aar(

    ara ta,la#ul

    9 9T GD 8 'L OT

    @a= nu# a=ar 3 eli)e un n>#ero al a=ar #enor "ue 3

    Rotula lista N>#ero ele)ido5 5nu#P

    Escri,e lista T/9L/ DEL 'IETE DE / 5nu#P

    Escri,e F línea en ,lanco

    51

  • 8/19/2019 Libro de Logo

    51/119

    @a= contador iniciali=a un contador

    &ientras F5contadorQ5nu#K1 FEscri,e lista 5contador A 6 X 5contador 6P

    @a= contador 5contador K 1

    :in

    37( ara redundar en la ejecucin de tareas asta %ue se cumpla una condicin$ vamos a

    *acer un procedimiento$ llamado ta,latri)o$ %ue calcule los valores del seno el coseno de

    un 'ngulo$ desde 0 a 120 grados$ los presente en la pantalla en forma de tabla ordenada(

    ara ta,latri)o

    9 GD 8 'L OT

    onc$ F2!* 18+ 126@a= an)ulo

    @a= A !

    @a= 3

    @asta F5an)ulo]12 Fon$os lista 5A 5P Rotula lista ?n)ulo5 5an)uloP on$os

    lista 5AK1* 5P Rotula lista 'eno5 sen 5an)uloP on$os lista 5AK!* 5P Rotula

    lista Coseno5 cos 5an)uloP @a= an)ulo 5an)uloK* @a= 52

    :in

    Es posible %ue tengas %ue retocar las coordenadas iniciales S e S para %ue la tabla %uede

    correctamente centrada en tu pantalla(

    !as primitivas a=.#ientras a=.asta son semejantes ejecutan un grupo de

    instrucciones #ientras una condicin sea cierta o asta %ue una condicin sea cierta( u

    sintais es como sigue

    a=.#ientras OinstruccionesQ OcondicinQ

    a=.asta OinstruccionesQ OcondicinQ

    or ejemplo

    @a= U? 0

    52

  • 8/19/2019 Libro de Logo

    52/119

    @a=.#ientras OJa U? ?]1 escribe ?Q O?V3Q

    roduce

    1

    2

    3

    38( Ja un procedimiento llamado or#ato23 %ue genere una lista de n@meros entre el

    5$00 el 15$00 con dos decimales con un incremento entre ellos de 03(

    ara or#ato23

    9TEscri,e FN\&ERO' DE * / 1*

    Escri,e FINCRE&ENTO5 .3

    Escri,e F

    @a= nu#1 *.

    @a=.asta FEscri,e or#atonu#ero 5nu#1 * 2 @a= nu#1 5nu#1K.3F5nu#1 ]

    1*

    :in

    39( Ja un procedimiento$ llamado #ulti$i$ %ue genere la lista de m@ltiplos de ^

    M3$141592N$ comprendidos entre el 0 el 150$ con una precisin de tres decimales( !a serie

    de n@meros debe aparecer en la ventana de teto con una cadencia de 0$5 segundos entre

    cada n@mero presentado(

    ara #ulti$i

    9T

    Escri,e F&\LTILO' DE I QnQ1*

    Escri,e F

    @a= nu#

    @a=.#ientras FEscri,e or#atonu#ero 5nu# 6 3 @a= nu# 5nu# K 3.1!1*82+*!

    53

  • 8/19/2019 Libro de Logo

    53/119

    Es$era 3 F5nu#Q1*

    :in

    3.8.1 aso De /r)u#entos Entre rocedi#ientos

    e puede realiar un procedimiento %ue necesite alg@n dato previo para poder realiar 

    alguna operacin con l luego nos devuelva el dato o los datos del resultado(

    Estos datos %ue se pasan al procedimiento$ en el momento de llamarlo o ejecutarlo o %ue

    devuelve el procedimiento al finaliar su ejecucin$ se denominan argumentos(

    40( Ja un procedimiento llamado #ulti$lica$ %ue reciba dos n@meros devuelva el

     producto de ambos a otro procedimiento %ue lo llame(

    ara $rod 5A 5 'e inicia un $rocedi#iento con dos datos de entrada

    @a= = 5A 5

    devuelve 5= /l inali=ar devuelve = al $rocedi#iento "ue lo lla#

    :in

    ara #ulti$lica

    9T

    Escri,e FIntroduce los actores

    @a= A lee$ala,ra

    @a= lee$ala,ra

    9T

    Escri,e FEl resultado es5

    Escri,e lista 5A A 5 X $rod 5A 5P Lla#a a Q$rod] le da los datos. De Q$rod]

    reci,e un dato lo $resenta

    :in

    41( Ja un procedimiento llamado rectanA3$ %ue reciba un n@mero dibuje un rect'ngulo

    de lado *oriontal 3 veces el vertical( !a altura del lado vertical ser' el n@mero recibido(

    !as variables %ue utilice dic*o procedimiento ser'n de car'cter local(

    54

  • 8/19/2019 Libro de Logo

    54/119

    ara rectanA3 5lado

    9 9L on) F2 2

    local anco

    @a= anco 5lado 3

    Re$ite 2 F/4 5lado GD 8 /4 5anco GD 8

    OT

    :in

    3.8.2 ro)ra#acin Orientada / O,%etos

    !a tcnica de programacin orientada a objetos consiste$ a diferencia de la programacin

    estructurada mediante procedimientos$ en organiar la interaccin con el usuario a travs de

    objetos %ue aparecen en pantalla( on objetos caractersticos las ventanas$ botones$ casillasde seleccin$ etc(

    !os objetos son los elementos b'sicos de la interfa gr'fica de usuario

    +na ventana es un 'rea de trabajo$ tpica del entorno indo)s$ dotada de una barra de

    ttulo$ sobre la %ue aparecer'n otros objetos para facilitar la interaccin del usuario( +na

    ventana puede arrastrase por la pantalla$ maimiar$ minimiar$ borrar$ etc(

    42( rea tu primera ventana tecleando la siguiente orden

    creaventana $ri#era F&i $ri#era ventana 8 * 12 7 F

    "bserva %ue la ventana tiene un nombre MprimeraN$ su ,arra de título muestra el teto V/i

     primera ventanaY$ su posicin respecto a la es%uina superior i%uierda M90 50N su tama&o

    M120 80N( !a ventana *a sido creada en la ventana principal de la pantalla MSN

    uedes desactivar la ventana o volverla a activar con las rdenes

    a,ilitarventana $ri#era also

    a,ilitarventana $ri#era verdadero

    43( ?*ora borra la ventana$ utiliando la orden siguiente

    55

  • 8/19/2019 Libro de Logo

    55/119

    ,orraventana $ri#era

    ara saber m's sobre la sintais de las ventanas consulta la auda(

    44( uedes crear teAtos est-ticos$ en el interior de una ventana$ %ue se mueven con ella(

    or ejemplo$ si est' creada activa la ventana S$ri#era tecleas

    creaestatico $ri#era teAto1 /N * 2 1* 8

    Fer's aparecer un teto en la ventana Sprimera$ llamado Steto1$ %ue contiene la palabra

    M?,N$ est' situado en las coordenadas M5 20N desde la es%uina superior i%uierda de laventana tiene un tama&o de M15 9N(

    Famos a introducir un nuevo teto est'tico con la orden

    creaestatico $ri#era teAto2 '/RDIN/' /'/D/' * 3 1* 8

    "bservar's %ue las nuevas coordenadas M5 30N son adecuadas$ pero las dimensiones del

    teto son insuficientes deber's aumentarlas$ por lo menos$ *asta M65 9N

    45( ara borrar los tetos est'ticos debes emplear las rdenes

    ,orraestatico teAto1

    ,orraestatico teAto2

    46( ara practicar la creacin de ventanas la introduccin de tetos est'ticos$ escribe un

     procedimiento llamado resultado$ %ue reciba dos n@meros devuelva el producto de

    ambos en una nueva ventana(

    ara resultado

    56

  • 8/19/2019 Libro de Logo

    56/119

    9 GD 8 OT 'L

    on$os F1 1

    Rotula FIntroduce dos n>#eros

    @a= nu#1 lee$ala,ra

    @a= nu#2 lee$ala,ra

    @a= resul 5nu#1 5nu#2

    9

    Creaventana root calculo F Resultado del $roducto5 2 1* 1 ! F

    Creaestatico calculo resul1 5nu#1 * * 2 1

    Creaestatico calculo resul2 FA 2* * 1 1

    Creaestatico calculo resul3 5nu#2 3* * 2 1

    Creaestatico calculo resul! FX ** * 1 1Creaestatico calculo resul* 5resul +* * 2 1

    :in

    i te fijas$ la posicin de cada uno de los tetos est'ticos est' calculada para n@meros de

    tama&o medio( ero$ tanto si se introducen n@meros mu pe%ue&os$ como si los n@meros

    son mu grandes$ las coordenadas fijas de los tetos producen una presentacin pobre

    desajustada(

    !a presentacin mejora al reemplaar las cinco primitivas creaest-tico por una sola lnea

    de cdigo %ue llama a una lista

    ara resultado

    9 GD 8 OT 'L

    on$os F1 1

    Rotula FIntroduce dos n>#eros

    @a= nu#1 lee$ala,ra

    @a= nu#2 lee$ala,ra

    @a= resul 5nu#1 5nu#2

    9

    Creaventana root calculo FResultado del $roducto5 2 1* 1 ! F

    57

  • 8/19/2019 Libro de Logo

    57/119

    Creaestatico calculo resul1 lista 5nu#1 A 5nu#2 X 5resulP * 1 8 1

    :in

    Ja una prueba des*abilita la ventana Scalculo ver's %ue no puedes manejarla con el

    ratn( i la *abilitas de nuevo podr's activarla arrastrarla por la pantalla(

    ara despejar la pantalla$ debes teclear la orden

    ,orraventana calculo

    +n botn es un elemento %ue permite manipular un programa mediante el ratn$ %ue puede

    *acer clic en l o$ simplemente$ pasar sobre l(

    47( Escribe un procedimiento %ue cree una ventana$ llamada se)unda$ en la %ue *aa un

     botn para cerrarla(

    ara se)unda

    Creaventana se)unda Fulsa /ce$tar $ara cerrar 2 * 8 ! F

    Crea,oton se)unda ,oton1 F/ce$tar 3 * 3 2 Fsesa#o

    :in

    "bserva %ue la longitud de la ventana M90N *a de ser suficiente para %ue %uepa el teto

    Mpulsa aceptar para cerrarN( !a altura de la ventana *a de bastar para %ue %uepa el botn$

    %ue tiene 30 20( !as coordenadas de la posicin del botn pretenden %ue %uede centrado

    en la ventana( Z a*ora$ crea el procedimiento sesa#o$ %ue se encargar' de cerrar la

    ventana

    ara sesa#o

    9orraventana se)unda

    :in

    58

  • 8/19/2019 Libro de Logo

    58/119

    48( Ja un procedimiento$ con el nombre ven3,oton$ %ue dibuje en pantalla una ventana

    con tres botones( ?l pulsar el primero aparecer' un mensaje en la misma ventana %ue diga

    $ulsado( ?l pulsar el segundo se dibuja un donut en la ventana gr'fica el teto del botn

    cambia a DONUT( ?l pulsar el tercero se cierra la ventana con todo su contenido(

    ara ven3,oton

    Creaventana nueva F4entana con tres ,otones 16 * 18 6 F

    Crea,oton nueva $ri#ero Fulsar 1* 3 ! 2 F,oton1

    Crea,oton nueva se)undo F/rrancar +6 3 * 2 F,oton2

    Crea,oton nueva tercero FCerrar 13 3 ! 2 F,orraventana nueva $onc$ 6

    :in

    ara ,oton1

    Creaestatico nueva ,oton1 FUL'/DO 16 1 3* 1*

    :in

    ara ,oton2

    /ctuali=a,oton se)undo FDONUT

    Donut *

    OT

    :in

    ;:jate %u a*orro< En el tercer botn se inclue a el cdigo de lo %ue debe *acer al ser 

     pulsado borrar la ventana( ,o es necesario un procedimiento adicional(

    +na barra de desplaamiento es un objeto %ue tiene un cursor %ue puede desplaarse

    mediante el ratn$ para dar diversos valores a una variable(

    49( Escribe un procedimiento %ue cree una ventana$ llamada tercera$ en la %ue *aa un

     botn para cerrarla una barra de desplaamiento(

    59

  • 8/19/2019 Libro de Logo

    59/119

    ara tercera

    Creaventana tercera F&i $ri#era ,arra desli=ante 2 * 1! + F

    Crea,arrades$la=a#iento tercera cien 3 1 7 1 F

    on,arrades$la=a#iento cien 1 *

    Crea,oton tercera close FCerrar ** 2* 3 2 F,orraventana tercera

    :in

    "bserva %ue la longitud de la ventana M140N *a de ser suficiente para %ue %uepa el ttulo

    M/i primera barra deslianteN la barra$ %ue mide 80 de largo( !a altura de la ventana *a de

     bastar para %ue %uepan tanto la barra M80 10N como el botn M30 20N( !as coordenadas

    de la posicin del botn de la barra pretenden %ue %ueden centrados en la ventana(

    omprueba %ue puedes mover el cursor con el ratn %ue puedes cerrar la ventana(

    50( ?plica lo %ue *as aprendido$ escribiendo un procedimiento llamado ven,ar$ %ue dibuje

    en pantalla una barra de desplaamiento dentro de una ventana( !a barra tendr' un rango de

    valores entre 50 250( ada ve %ue se mueva se debe visualiar en la ventana el valor de

    su posicin su ra cuadrada( Bendremos$ adem's$ un botn %ue sirva para cerrar la

    ventana(

    ara ven,ar

    Creaventana ulti#a FCalculadora auto#-tica de raices 1* 6 17 6 F

    Creaestatico ulti#a estat F1* 1! 1 2 1*

    Creaestatico ulti#a estat1 F'u rai= cuadrada es5 1* 3 6 1

    Creaestatico ulti#a estat2 rai=cuadrada 1* 3* ! 3 1

    Crea,arrades$la=a#iento ulti#a ,arra 1* 1 11 1 Flee,arra

    on,arrades$la=a#iento ,arra * 2* 1*

    Crea,oton ulti#a $ri#ero FCerrar 12* 3 ! 2 F,orraventana ulti#a

    :in

    !a barra de desplaamiento adoptar' el valor inicial de 150 Men el centro de su recorridoN(

    or lo tanto$ el est'tico estat2 deber' tener como valor inicial la ra cuadrada de 150

    60

  • 8/19/2019 Libro de Logo

    60/119

    Mse&alado en amarilloN( uando el cursor de la barra se mueva se ejecutar' el procedimiento

    llamado lee,arra %ue *abr' %ue escribir

    ara lee,arra

    @a= A lee,arrades$la=a#iento ,arra

    @a= rai=cuadrada 5A

    /ctuali=aestatico estat 5A

    /ctuali=aestatico estat2 5

    :in

    +na ventana de dialogo se utilia como marco de trabajo en el %ue se pueden a&adir otros

    objetos o controles como botones$ barras de desplaamiento$ listboes$ etc( Este objeto essimilar a una ventana$ ecepto %ue no devolver- el control al $rocedi#iento lla#ante

    asta "ue la ventana de di-lo)o se cierre(

    51( Famos a crear una ventana de di'logo %ue pida al usuario %ue acepte pulsando un

     botn( ero$ en primer lugar$ vamos a crear el procedimiento %ue cerrar' la ventana al

     pulsar el botn

    ara vendialo

    Crea,oton dialo)o1 ,otvale /CET/R 2* 1 ! 2 F,orradialo)o dialo)o1

    :in

    ?*ora %ue est' preparado teclea$ en la ventana de trabajo$ la orden siguiente

    Creadialo)o dialo)o1 FEl siste#a de,e reiniciarse 12 + 8 * Fvendialo

     ,aturalmente$ una ve pulsado el botn pueden ponerse en marc*a procedimientos m's

    ambiciosos %ue el simple cierre de la ventana de di'logo(

    61

  • 8/19/2019 Libro de Logo

    61/119

    52( Escribe un procedimiento %ue pregunte al usuario$ mediante una ventana de di'logo$

    cu'ntos das faltan para su cumplea&os

    ara altan

    Creaestatico cu#$le eca F17 1** 1 2 1*

    Crea,arrades$la=a#iento cu#$le desli=adias 1* 1 13 1 Fa= dias lee,arra

    Des$la=a#iento desli=adias actuali=aestatico eca 5dias

    on,arrades$la=a#iento desli=adias 3+* 17

    Crea,oton cu#$le o^ F/ce$tar 6 3 ! 2 F,orradialo)o cu#$le

    :in

    Z teclea a continuacin

    Creadialo)o cu#$le FCu-ntos dias altan $ara tu cu#$lea_osM 12 + 17

    6 Faltan

    ara practicar introduce alguna novedad de tu propia cosec*a( or ejemplo$ %ue rotule al

    cerrar el di'logo$ sobre una pantalla roja con letras grandes$ cu'ntos das faltan(

    +n botn radio es un objeto %ue permite seleccionar una opcin con dos estados verdadero

    Mbotn seleccionadoN o falso Mbotn no seleccionadoN(

    Bodos los botones radio$ %ue se corresponden con cada una de las opciones %ue se

     presentan al usuario$ deben estar asociados en un grupo o grou&box.

    53( ara practicar$ escribiremos el cdigo de una ventana llamada cuarta$ en la %ue el

    usuario deber' elegir su rango de edad seleccionando uno de los botones radio %ue se

     presentan reunidos en un grou&box.

    ara edad

    Creaventana cuarta F'eleccione su )ru$o de edad 2 * 11* +* F

    Crea)rou$,oA cuarta #arco * * +* !

    62

  • 8/19/2019 Libro de Logo

    62/119

    Crea,otonradio cuarta #arco ,ot1 FQ1* a_os 1 13 ! 8

    Crea,otonradio cuarta #arco ,ot2 F1* a 17 a_os 1 23 ** 8

    Crea,otonradio cuarta #arco ,ot3 F]17 a_os 1 33 ! 8

    Escri,e,otonradio ,ot1 verdadero

    Crea,oton cuarta cierre F/ce$tar 6* 2 3 2 F,orraventana cuarta

    :in

    :jate bien$ todas las coordenadas est'n referidas a un origen com@n situado en la es%uina

    superior i%uierda de la ventana( !a creacin de cada objeto inclue una ruta compuesta por 

    la ventana padre$ el objeto padre su propio nombre(

    lo puede estar seleccionado uno de los botones radio de un groupbo( uando el usuario

    selecciona una de las opciones lo pone en estado Sverdadero $ autom'ticamente$ el resto delas opciones se ponen en estado Sfalso( ?dem's$ al iniciar el groupbo$ una de las opciones

    declararse verdadera(

    54( Ja un procedimiento llamado calcac#e$ %ue pida dos n@meros dibuje en una

    ventana un grupo con cuatro botones radio( ada botn tendr' asignada una operacin

    matem'tica( uando pulsemos un botn aparecer' el resultado de aplicar la operacin

    matem'tica seleccionada a los dos n@meros introducidos( Bendr'$ adem's$ otro botn %ue

     permita cerrar la ventana

    ara calcac#e

    9 'L GD 8 OT

    on$os F!* 1*

    Rotula lista Introduce dos n>#eros en la ventanaP

    @a= nu#1 lee$ala,ra

    @a= nu#2 lee$ala,ra

    9

    Creaventana ulti#a FCalculadora arit#Btica #arca /C&E 1* 6 17 1 F

    Crea)rou$,oA ulti#a )ru$o 1 1 1+ *

    Crea,otonradio ulti#a )ru$o ,oton1 F K 1* 1* 2* 1

    63

  • 8/19/2019 Libro de Logo

    63/119

    Crea,otonradio ulti#a )ru$o ,oton2 F 1* 2* 2* 1

    Crea,otonradio ulti#a )ru$o ,oton3 FA 1* 3* 2* 1

    Crea,otonradio ulti#a )ru$o ,oton! FJ 1* !* 2* 1

    Escri,e,otonradio ,oton1 verdadero

    Crea,oton ulti#a calcular FC/LCUL/R 2 +6 !* 1* Fcalculo

    Crea,oton ulti#a cerrar F/C/9/R 11* +6 !* 1* F,orraventana ulti#a

    Creaestatico ulti#a estat FNU&ERO'5 * 2* !* 1*

    Creaestatico ulti#a estat1 5nu#1 11 2* 2 1*

    Creaestatico ulti#a estat2 5nu#2 1! 2* 2 1*

    Creaestatico ulti#a estat3 FRE'ULT/DO5 * ! * 1*

    Creaestatico ulti#a estat! F 11 ! 3 1* 'e crea un est-tico sin #ensa%e

    :in

    ara calculo

    @a= A lee,otonradio ,oton1

    'i 5AX verdadero Fa= nu#3 5nu#1 K5nu#2

    @a= A lee,otonradio ,oton2

    'i 5AX verdadero Fa= nu#3 5nu#15nu#2

    @a= A lee,otonradio ,oton3

    si 5AX verdadero Fa= nu#3 5nu#1 5nu#2

    @a= A lee,otonradio ,oton!

    si 5AX verdadero Fa= nu#3 5nu#1J5nu#2

    /ctuali=aestatico estat! 5nu#3

    :in

    +n objeto cec^,oA es una casilla %ue el usuario puede seleccionar( Bodas las casillas

    cec^,oA deben estar reunidas en un groupbo( El usuario puede seleccionar varias casillas

    simult'neamente(

    64

  • 8/19/2019 Libro de Logo

    64/119

    55( Ja un procedimiento$ llamado venco#$ %ue dibuje en una ventana un grupo con tres

     botones de tipo cec^,oA( ada uno tendr' como eti%ueta un n@mero( uando pulsemos un

     botn aparecer' un mensaje indicando el estado de cada uno de ellos(

    Bendr'$ adem's$ otro botn %ue permita cerrar la ventana(

    ara venco#

    Creaventana ulti#a F4entana con casillas de co#$ro,acin 1* 6 17 8 F

    Crea)rou$,oA ulti#a )ru$o 1 * 1+ *

    Creacec^,oA ulti#a )ru$o ,oton1 Fri#ero 1* 1* !* 1

    Creacec^,oA ulti#a )ru$o ,oton2 F'e)undo 1* 2* !* 1

    Creacec^,oA ulti#a )ru$o ,oton3 FTercero 1* 3* !* 1

    Crea,oton ulti#a co#$ro,ar FCO&RO9/R 1* + + 1* Fco#$rue,aCrea,oton ulti#a cerrar FCERR/R 12 + ! 1* F,orraventana ulti#a

    Creaestatico ulti#a estat1 FDesactivado 1 1* + 1

    Creaestatico ulti#a estat2 FDesactivado 1 2* + 1

    Creaestatico ulti#a estat3 FDesactivado 1 3* + 1

    :in

    ara co#$rue,a

    @a= A estadocec^,oA ,oton1

    sisino 5AX verdadero Factuali=aestatico estat1 F/ctivado Factuali=aestatico es

    tat1 FDesactivado

    @a= A estadocec^,oA ,oton2

    sisino 5AX verdadero Factuali=aestatico estat2 F/ctivado Factuali=aestatico es

    tat2 FDesactivado

    @a= A estadocec^,oA ,oton3

    sisino 5AX verdadero Factuali=aestatico estat3 F/ctivado Factuali=aestatico es

    tat3 FDesactivado

    :in

    65

  • 8/19/2019 Libro de Logo

    65/119

    +n objeto li"tbox es una caja de teto$ %ue contiene una lista de opciones entre las %ue el

    usuario puede elegir una(

    56( Ja un procedimiento llamado ven#enu  %ue dibuje en una ventana un men@ de

    opciones mediante listbo( Cic*o men@ tendr' 5 opciones -+!"$ +?C?C"$

    B-H,#+!"$ E,BH#"," JE.H#","( uando pulsemos un botn se dibujar' la

    figura seleccionada en el men@( on otro botn podremos borrar la pantalla gr'fica( Bendr'$

    adem's$ otro botn %ue permita cerrar la ventana(

    ara ven#enu

    creaventana ulti#a FTra=ado de $olí)onos 3 2* 17 8 F

    crealist,oA ulti#a #enu 1 1 1 3a_adecadenalist,oA #enu FCIRCULO ROVO

    a_adecadenalist,oA #enu FCU/DR/DO /

  • 8/19/2019 Libro de Logo

    66/119

    ara aroro%o

    arcodeeli$se 3+ 12 12 sl $occr ! )d 1 av 1 rellena ,l ot

    :in

    ara cuadro,lue

    Re$ite ! Fav 2 )d 8 sl $occr 1 )d 1 av 1 rellena ,l ot

    :in

    ara triverde

    Re$ite 3 Fav 22 )d 12 sl $occr 1 )d 1 av 1 rellena ,l ot

    :in

    ara $entailloRe$ite * Fav 1* )d 62 sl $occr + )d 1 av 1 rellena ,l ot

    :in

    ara eAaviol

    Re$ite + Fav 12 )d + sl $occr 13 )d 1 av 1 rellena ,l ot

    :in

    +n objeto co#,o,oA es un objeto compuesto por una lista$ en la %ue el usuario puede

    elegir una de las opciones %ue ofrece$ una ventana de teAto en la %ue el usuario puede

    introducir una epresin %ue no est' en la lista(

    ara crear un combobo *a %ue utiliar la sintais siguiente

    creaco#,o,oA Sventana Snombre SBitulo pos pos largo alto

    +na ve creado$ podemos a&adir el teto de las opciones %ue se ofrecen en la lista

    a_adelineaco#,o,oA Snombre Oepresion 1Q

    a_adelineaco#,o,oA Snombre Oepresion 2Q

    ? continuacin$ designamos cu'l de las opciones aparecer' seleccionada por defecto al

    crearse el combobo

    $onteAtoco#,o,oA Snombre Oepresion Q

    67

  • 8/19/2019 Libro de Logo

    67/119

    ara averiguar cu'l es la opcin elegida por el usuario$ utiliaremos la epresin

    leeteAtoco#,o,oA no#,re

    57( Famos a escribir el cdigo de un script para una agencia de viajes$ en el %ue el cliente

     puede elegir el lugar elegido para sus vacaciones( !a agencia de viajes ofrece una lista de

    destinos comunes$ los m's solicitados$ pero tambin permite al cliente solicitar un destino

    %ue no est' en esa lista( +n objeto combobo es la opcin ideal

    ara via%e

    creaventana destino FEli%a el destino de su via%e 1* 7 12 11 F

    creaco#,o,oA destino listado 2 * 7 *

    a_adelineaco#,o,oA listado FTur"uiaa_adelineaco#,o,oA listado F4iena cl-sica

    a_adelineaco#,o,oA listado Fra)a ro#-ntica

    a_adelineaco#,o,oA listado FItalia

    a_adelineaco#,o,oA listado F:iordos norue)os

    a_adelineaco#,o,oA listado F4i_edos de :rancia

    a_adelineaco#,o,oA listado FCostas de Es$a_a

    a_adelineaco#,o,oA listado FIslas Canarias

    $onteAtoco#,o,oA listado F:iordos norue)os

    crea,oton destino ,otace$to Ele)ir 2 6 3 2 Fconir#a

    crea,oton destino ,otcierre Cerrar 6 6 3 2 F,orraventana destino

    creaestatico destino teAto F:iordos norue)os 3 ** 7 8

    :in

    ara conir#a

    @a= lu)ar leeteAtoco#,o,oA listado

    actuali=aestatico teAto 5lu)ar

    :in

    68

  • 8/19/2019 Libro de Logo

    68/119

    !. ORIENT/CIONE' &ETODOLÓGIC/' / LO' RO:E'ORE' /R/ INICI/R 

    L/ EN'E;/N

  • 8/19/2019 Libro de Logo

    69/119

    • !a tortuga entiende rdenes en castellano(

    • !as rdenes se epresan con una palabra(

    • ? veces$ la orden va acompa&ada de un par'metro numrico %ue indica cantidad(

    uando no comprende un mensaje$ !"#" lo indica por medio de otro mensaje enla ventana de tetos(

    En cuanto descubran alguna palabra del vocabulario de la tortuga$ la comunicar'n a toda la

    clase escribindola en la piarra(

    Curante el desarrollo de la sesin$ la funcin del profesor o profesora ser' ante todo de

    animacin$ audando al grupo a refleionar sobre los distintos mensajes de error %ue ir'n

    recibiendo$ de modo %ue distingan entre

    NO 'E CÓ&O @/CER CORRE :/LT/N D/TO' /R/ /4/N as$ en la ventana de #H:-" ver'n %ue la tortuga dibuja pero$ en la de

    BE.B"$ !"#" enva mensajes mientras$ los nuestros aparecen en la de B?G?L"(

    !es *aremos refleionar sobre el car'cter estricto del lenguaje !"#" en el %ue *asta los

    espacios en blanco tienen un valor donde no caben interpretaciones %ue completen una

     palabra mal escrita seg@n su conteto de uso$ como ocurre con los lenguajes naturales(

    !os giros de la tortuga son difciles de descubrir$ en algunos casos$ por%ue engloban en un

    solo trmino la orden el sentido de giro de la tortuga una ve ejecutada la orden(

    ?udaremos a descubrir uno de ellos escenificando una orden de giro con un alumno

    viendo la necesidad de darle un sentido adem's de un par'metro(

    El juego no tiene por %u durar m's de 30 minutos$ pues una ve asumida la arbitrariedad

    del lenguaje$ el juego se transforma en una lotera en la %ue el profesor o la profesora es el

    @nico %ue conoce los resultados(

    70

  • 8/19/2019 Libro de Logo

    70/119

    !.3 El /$rendi=a%e De Las ri#eras ri#itivas

    El planteamiento m's *eurstico del aprendiaje de !"#" tendra %ue partir deldescubrimiento individual o$ mejor$ grupal de su vocabulario sintais( in llegar a

    etremos$ podemos plantearnos presentar las primitivas al grupo conforme las vaan

    necesitando para solventar los problemas %ue se les plantean al dise&ar los dibujos( Ce este

    modo$ el papel del profesorado$ adem's de animar motivar$ supondr' proporcionar 

    informacin ser'$ as$ un apoo al %ue se recurre ante las dificultades(

    Bambin conviene pensar cu'ndo conviene %ue sean los propios alumnos alumnas

    %uienes piensen los dise&os %ue %uieren efectuar (proyectos abiertos) o sea el profesor %uien d las ideas (proyectos libres) o presente un dise&o concreto para %ue los e%uipos

    intenten lograr otro igual (proyectos cerrados).

    Cespus de dedicar un rato a la investigacin del vocabulario de !"#"$ nos aseguraremos

    de %ue todo el alumnado conoce la sintais de estas primitivas

    /4/N

  • 8/19/2019 Libro de Logo

    71/119

    • Cibujar un rect'ngulo %ue ocupe un cuadrante de la ventana

    • Cibujar los cuatro cuadrantes de la ventana(

    Cibujar un camino$ lo m's recto posible$ %ue vaa de etremo a etremo de la ventana(

    !a realiacin de estos proectos llevar' a la necesidad de tener limpia la pantalla para

    empear un nuevo trabajo( robablemente$ nuestro alumnado demandar' %ue le

    informemos de la primitiva %ue realia esta tarea( resentaremos$ entonces$ la primitiva

     B/%%7P7T77.

    Jabr' llegado el momento de comunicarles %ue muc*as de las primitivas %ue entiende la

    tortuga las puede comprender tambin en forma abreviada> 7

  • 8/19/2019 Libro de Logo

    72/119

    abemos %ue !"#" ":EE la posibilidad de repetir una orden o modificarla con slo

    subir el cursor a la lnea a ejecutada volver a pulsar O-,B"Q( odemos presentar a

    nuestro alumnado esta propiedad de !"#" escribiendo en la piarra el nombre de una

    orden incorrectamente$ como 'BE 7P6G.

    +na ve escrita ejecutada$ nos aseguraremos de %ue lean el mensaje de error( ubir'n el

    cursor modificar'n la orden suprimiendo el espacio intermedio comprobando$ despus

    de pulsar O-,B"Q$ %ue aparentemente tampoco pasa nada$ Mno aparece tampoco mensaje

    de errorN( er'$ pues$ al ordenar el movimiento de la tortuga$ cuando apreciar'n por medio

    de esta primitiva %ue la tortuga puede desplaarse sin dejar rastro( !a primitiva opuesta

     podr'n deducirla por s mismos$ as como #"/?$ instrumento de uso cotidiano(

    Centro de las posibilidades de edicin inmediata %ue nos ofrece !"#"$ advertiremos %ue

    se pueden escribir varias rdenes separadas por espacios dentro de una misma lnea$ %ue no

    tiene por %u acabar en el etremo de la ventana( ropondremos como ejemplo la sucesin

     7< 52 0D 2 de modo %ue$ al repetirla cuatro veces$ consigan un cuadrado(

    +sando el modo directo subiendo el cursor para repetir o modificar rdenes$

     propondremos los siguientes ejercicios

    • Cibujar las cifras ar'bigas en la pantalla(

    • ituar la tortuga en un 'ngulo de la pantalla de gr'ficos para dirigirla posteriormente

    al otro etremo$ traando en el recorrido una lnea %uebrada$ de forma %ue cada

    segmento concatenado sea cada ve menor los 'ngulos cada ve maores(

    • Braar una lnea %uebrada espiral desde el centro de la ventana$ de modo %ue no se

    corte a s misma(

    • ealiar una espiral doble %ue$ una ve se *a alejado del centro intente regresar por 

    el pasillo %ue *a dejado el trao anterior(

    Braar dos segmentos paralelos(

    !os ejercicios dar'n pie para presentar las primitivas 9ET%/   6-P67  por la

    conveniencia de tener controlada la posicin de la tortuga antes de programar una serie de

    73

  • 8/19/2019 Libro de Logo

    73/119

    movimientos$ pues suele suponer un serio tropieo en el aprendiaje de la programacin por 

     parte de nuestros alumnos alumnas( +n simple giro mal concebido cambia totalmente el

    aspecto de su dise&o provoca una gran frustracin(

    !.! El Cuaderno De Lo)o

    Centro de este apartado epondremos una serie de tareas cuo desarrollo supone el

    ejercicio del control de la tortuga$ as como el paso previo a la creacin de procedimientos(

    ara la realiacin de estos ejercicios$ pediremos a nuestro alumnado %ue dibuje en un

    cuaderno de papel cuadriculado el dise&o %ue desea realiar$ as como el conjunto de

    rdenes necesario para ello( Cespus$ se trabaja con !"#"(

     ,o se valorar'n los sucesivos errores cometidos *asta llegar al dise&o final$ a seacorrigiendo con la primitiva #"/?$ a sea retrocediendo$ cambiando el 'ngulo de giro o

    *aciendo tanteos a pasos cortos( ?l final$ %uedar' en la pantalla de trabajo una serie de

    rdenes separadas por espacios en blanco$ %ue comenar'n con un 9  terminar'n con el

    cursor al final de la lnea( uando *aan llegado a esa situacin$ tanto en la pantalla como

    en su cuaderno$ llamar'n al profesora para %ue sea testigo de la ejecucin de las rdenes$

    con la esperana de %ue el dise&o del cuaderno se repita en la pantalla(

    El cuaderno sirve tambin como diccionario !"#" puede ser usado por el profesorado

    como recurso de control del trabajo diario realiado en el aula por los distintos e%uipos(

    "tros ejercicios @tiles para afianar el aprendiaje de las primitivas son los siguientes

    • Cibujar una espiral %uebrada cuadrada con una sucesin de avances %ue aumenten

    la longitud de los lados(

    • Jacer %ue la tortuga dibuje la palabra !"#"(

    • Cibujar unas gafas de cristal rectangular en la pantalla(

    • ? lo largo de la sesin$ insistiremos a nuestro alumnado en la necesidad de ad%uirir 

    algunos *'bitos mu @tiles en la programacin

    74

  • 8/19/2019 Libro de Logo

    74/119

    • !a necesidad de simplificar las rdenes para visualiar r'pidamente los errores> as$

    dos avances seguidos se transforman en su suma> dos giros opuestos se anulan>

    antes retroceder %ue girar 180(

    • !a necesidad de tener controlada la tortuga para evitar %ue se salga de la ventana o

    dibuje formas no deseadas(

    El inters por la b@s%ueda de la figura precisa$ limpia centrada en la ventana sin

    conformarnos con el `