<div dir="ltr">Quería hacer una consulta a titulo personal sobre turtleart.<br>Desde siempre he sido un enamorado de logo y esta reencarnación me gusta mucho, junto con scratch.<br>Hace un tiempo que estoy haciendo algunas pruebas con turtleart y me han dado ganas de ampliar turtle art un poco.<br>
<br>La idea es crear:<br> variables de tipo cadena<br> variables de tipo booleano(si o no)<br>permitir crear: <br> variables de tipo cadena de caracteres<br> procedimientos nominados, y no solo stack1 o stack2<br>
pasaje explicito de parámetros, que permita hacer recursión<br> funciones(definidas dentro de TA y no usando python) con tipo explicito de salida(numérico, booleano o cadena), que permitan utilizar su salida en llamadas, por ejemplo a avanzar. Y permitan definir alcance local de los parámetros. <br>
<br>La idea es poner algunas primitivas nuevas:<br>evaluar "pepito" para llamar a la función booleana pepito<br>calcular "pepito" para llamar a la función entera <br>obtener palabra de "pepito" para llamar a la función de cadena pepito<br>
hacer "pepito" para ejecutar el procedimiento pepito.<br><br><br>Por eso les quería preguntar si les parece que sería un cambio útil desde el punto de vista pedagógico y didáctico: por ejemplo permitirles definir su multiplicación como multiplicación iterada o con definición recursiva.<br>
La razón de esta proposición es que me parece que no es demasiado intuitivo que una vez llamar a stack1 signifique hacer una estrella y al siguiente sea hacer un polígono regular. Además para muchas cosas dos procedimientos y variables me resultan por demás pocos para algunos problemas. Además que la resolución de problemas es más entendible cuando se permite llamar las cosas por su nombre y modularizar las acciones para permitir trabajar en distintos niveles de abstracción además que la resolución en forma recursiva me parece que es intuitiva y permite obtener resultados muy vistosos en forma relativamente simple... por ejemplo para hacer una forma fractal.<br>
<br>La idea de permitir las funciones de cadena es que me parece que, por ejemplo (y tomando las practicas con letras ya comentadas en la lista), que estaría muy bueno poder hacer una función que dibuje cada letra (incluido el espacio) y después una función que tome una cadena y haga:<br>
<br>para escribir_oracion oracion:<br> largo_oración=largo(oración)<br> iterar pos entre 1 y largo_oracion:<br> letra=posicion pos de oracion<br> hacer escribir_letra letra<br> derecha 90<br> avanzar 10<br>
izquierda 90<br><br>que les permitiría hacer lo que quieren hacer a los niños y como contenido actitudinal los induciría a intentar ir resolviendo los problemas partiéndolos en problemas más pequeños.<br><br>Como trabajo a futuro, me pregunto si les resultaría interesante la posibilidad de poder importar en un script otros archivos .ta como librerías de funciones que les permita utilizar lo producido antes por ellos o otros. Y que haya una pestaña especial en TA que sea compartiendo (o algo así), que se habilite cuando se está en una instancia compartida, que permita pasarse con el compañero los archivos de ta que ya hice o que el me mande alguno que hizo.<br>
Además generar otro formato de archivo de TA que sea (casi) un archivo logo correcto, porque el formato actual no es muy legible. Esto permitiría pasar más adelante a versiones más potentes de logo sin perder lo ya hecho.<br>
Y por último crear una interfaz amigable que permita agregar nuevas funcionalidades más avanzadas utilizando python, del estilo de la raíz cuadrada, en forma visual. un ejemplo de esto sería por ejemplo en el caso de querer dibujar un triángulo rectángulo, poder definir(o utilizando la función predefinida correspondiente de python) la función arcotangente, que era una de las herramientas idóneas para ese problema:<br>
<br>para triangulorectangulo cateto1 cateto2:<br> avanzar cateto1<br> derecha 90<br> avanzar cateto2<br> hipotenusa=raizcuadrada ((cateto1 * cateto1) + (cateto2 * cateto2))<br> dirección=180 - arcotangente(cateto1/cateto2)<br>
derecha direccion<br> avanzar hipotenusa<br><br>o<br><br>para triangulorectangulo hipotenusa angulo:<br> avanzar hipotenusa<br> retrocede rhipotenusa<br> derecha angulo<br> avanzar hipotenusa * coseno(angulo)<br>
izquierda 90<br> avanzar hipotenusa * seno(angulo)<br><br>lo que me parece que sería una linda forma de ir entrándose en la idea de trigonometría, que es un concepto que nace naturalmente al necesitar hacer un manejo cualitativo de la geometría(que es un aspecto casi diría intrínseco de logo y por herencia de TA), para hacerlo menos árido, podría ser utilizado el dibujar una casa en su encarnación más típica, cuando el techo no está inclinado a 45 o 60 grados. <br>
<br>Felicidades a los que llegaron hasta acá ;)<br><br>Como añadidura, me pongo a la disposición en caso que les interese una charla sobre formas de abordar este tema en el aula, o gracias al tutorial de Walter, hacer un pequeño taller "hands on" sobre como trasladar funciones disponibles en python a turtleart, que significaría un pequeño paseo por turtleArt, paint, develop(o aunque sea vi si develop no está pronto), y python(aunque en este paso el código de TA no es el más adecuado). Aunque claro me tienen que dar un tiempito para que lo prepare ;-)<br>
<br>Saludos,<br>Luis Michelena<br><br></div>