π
<-

Module turtle pour NumWorks

Module turtle pour NumWorks

Unread postby jean-baptiste boric » 27 Oct 2018, 13:56

Je suis en train d'écrire un module MicroPython pour implémenter la tortue (https://github.com/numworks/epsilon/pull/748) :

Code: Select all
from turtle import *
for i in range(255):
  gray=255-i
  color(gray,int(gray*0.75),int(gray*0.25))
  forward(i*0.1)
  left(10)

Image

C'est perfectible et à améliorer (cf. pull request), mais ça fonctionne et c'est rapide. J'ai laissé un firmware précompilé en pièce-jointe pour ceux qui veulent tester.
You do not have the required permissions to view the files attached to this post.
User avatar
jean-baptiste boricPremium
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 5.5%
 
Posts: 379
Joined: 21 Dec 2015, 22:22
Gender: Not specified
Calculator(s):
MyCalcs profile
GitHub: boricj

Re: Module turtle pour NumWorks

Unread postby compsystems » 27 Oct 2018, 14:47

Hi, how similar is to LOGO or turtle of xcas? or have something new.

see quick reference on page 15
https://www-fourier.ujf-grenoble.fr/~pa ... vie_en.pdf

paper on logo/ turtle
http://blog.core-ed.org/blog/2014/08/th ... rs-on.html
User avatar
compsystems
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 40.2%
 
Posts: 256
Joined: 30 May 2011, 13:44
Gender: Male
Calculator(s):
MyCalcs profile

Re: Module turtle pour NumWorks

Unread postby jean-baptiste boric » 27 Oct 2018, 16:24

I'm writing an implementation of https://docs.python.org/3/library/turtle.html. The goal is compatibility with CPython's turtle module for common usecases (I won't implement support for filling, polygons, custom turtle shapes, custom pens, events and so on) so that it'll be good enough for my nephew.

I am aware of the origins of the programming turtle, but I've never actually programmed in Logo. I believe Python's turtle module was designed to be a faithful re-implementation of the original.
User avatar
jean-baptiste boricPremium
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 5.5%
 
Posts: 379
Joined: 21 Dec 2015, 22:22
Gender: Not specified
Calculator(s):
MyCalcs profile
GitHub: boricj

Re: Module turtle pour NumWorks

Unread postby ptijoz » 27 Oct 2018, 16:59

Bonjour
super boulot ! ça peut être un plus pour les collégiens (et les autres)
J'ai téléchargé la ROM
comment le tester ? j'ai bien une Numworks mais je pense que tu as un émulateur ?
Bien à toi
Un peu poète, un peu geek, un peu rêveur, un peu écolo.
https://joz.alwaysdata.net/info/
User avatar
ptijoz
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 34.3%
 
Posts: 334
Images: 0
Joined: 17 Oct 2018, 15:38
Location: France Loir et Cher
Gender: Male
Calculator(s):
MyCalcs profile
Class: a la poursuite du vent et des etoiles.

Re: Module turtle pour NumWorks

Unread postby jean-baptiste boric » 27 Oct 2018, 17:10

Il faut flasher la calculatrice avec un utilitaire DFU. Je n'ai jamais testé la manipulation avec autre chose que dfu-utils et OpenOCD, mais WebDFU devrait en théorie fonctionner sur Chrome. Sinon, il faut compiler ma branche Git avec le SDK pour obtenir les autres targets (j’essaierai de le faire ce soir).
User avatar
jean-baptiste boricPremium
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 5.5%
 
Posts: 379
Joined: 21 Dec 2015, 22:22
Gender: Not specified
Calculator(s):
MyCalcs profile
GitHub: boricj

Re: Module turtle pour NumWorks

Unread postby parisse » 27 Oct 2018, 20:45

Pour info, la tortue de Xcas a des instructions en plus par rapport au logo standard: (en francais) rond, disque pour tracer des arcs de cercle ou des portions de disques remplies, ainsi que des triangles/rectangles remplis et une instruction de saut lateral (sans marquage). Ceci simplifie certains dessins qui necessitent des boucles un peu penibles (et parfois un peu imprecises) en logo standard (cf. le concours), cela m'avait ete demande par Renee De Graeve qui a teste a l'epoque l'enseignement du logo a l'ecole primaire.
Sinon, aussi bien le module turtle de Python que la tortue de Xcas permettent d'ecrire des boucles for/while alors qu'en logo il n'y a pas de telles boucles...
Enfin, la tortue de Xcas est programmable en francais (optionnellement en anglais si on tape from turtle import *). Pour des eleves un peu en difficultes, c'est un plus de ne pas melanger le probleme de la langue (meme s'il nous parait trivial). Ca pourrait etre une bonne idee d'assigner les noms de commande aussi en francais sur un module tortue pour la Numworks : avance/recule/tourne_droite/tourne_gauche/pas_de_cote/saute/crayon/efface. Ceci afin de favoriser la compatibilite...
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86.2%
 
Posts: 3666
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Module turtle pour NumWorks

Unread postby jean-baptiste boric » 27 Oct 2018, 23:52

Le module turtle de CPython possède des primitives supplémentaires de dessin (circle(), begin_fill()/end_fill(), dot()...). Je vais faire l'impasse sur la plupart d'entre elles à part circle(), qui peut tracer des arcs de cercle en passant, car la bibliothèque graphique d'epsilon est très spartiate et je ne veux pas concurrencer (et encore moins surclasser) un environnement Python complet sur ordinateur. Les "extras" peuvent très bien être rangés dans un module externe utilisable par tout le monde sans nuire à la portabilité des scripts.

Quitte à passer pour un puriste, je n'ajouterai pas des alias français dans le module turtle non plus ; on peut très bien écrire un module externe tortue.py qui fait le passe-plat pour tout le monde si besoin est.
User avatar
jean-baptiste boricPremium
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 5.5%
 
Posts: 379
Joined: 21 Dec 2015, 22:22
Gender: Not specified
Calculator(s):
MyCalcs profile
GitHub: boricj

Re: Module turtle pour NumWorks

Unread postby parisse » 28 Oct 2018, 06:44

Sauf que ca complique les choses pour l'utilisateur final, ce n'est deja pas evident pour certains eleves de taper sans erreur from turtle import * ou from math import *. Les puristes Python sont en position de force aujourd'hui (un peu comme les maths modernes a leur epoque), ce ne sera peut-etre pas toujours vrai...
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86.2%
 
Posts: 3666
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Module turtle pour NumWorks

Unread postby jean-baptiste boric » 28 Oct 2018, 09:40

Je dirais plutôt que c'est un problème d'IHM dans ce cas. La touche toolbox de NumWorks dans Python permet d'insérer différents bouts de scripts (conditions, boucles, imports/fonctions de modules) qu'il suffit de compléter si nécessaire, on ne tape au final que peu de code à la main. Pour les fonctions de module et le catalogue, une courte description accompagne chaque entrée du menu. Ce sont des petits détails qui au final rendent la chose bien plus abordable pour les néophytes, même si l'éditeur de scripts NumWorks reste encore à améliorer (notamment sur la surbrillance des parenthèses, de l'indentation et des erreurs de syntaxe).

On pourrait pousser le vice jusqu'à traduire tous les mots clés du langage Python en français pour tout aseptiser, mais je pose une autre question à la place : comment concevoir un ensemble environnement+IHM+supports de programmation qui aide les débutants à faire leurs premiers pas sans nécessiter un professeur pour leur tenir la main en permanence? Ce ne sont pas les pistes de réflexion qui manquent (la fameuse tortue, Scratch, CodeCombat, Microsoft SmallBasic...), mais dans la plupart des cas ça demande de faire des efforts sur l'ergonomie.
User avatar
jean-baptiste boricPremium
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 5.5%
 
Posts: 379
Joined: 21 Dec 2015, 22:22
Gender: Not specified
Calculator(s):
MyCalcs profile
GitHub: boricj

Re: Module turtle pour NumWorks

Unread postby parisse » 28 Oct 2018, 11:13

Traduire les mots-clefs du langage ce n'est pas la meme chose que d'avoir un module avec des commandes en francais, il y a essentiellement 7 mots-clefs en anglais a retenir : if/else, for/range, while, def, return (au debut, beaucoup de profs vont utiliser input et print et le transtypage int/float mais leur utilisation devrait etre decouragee avec l'accent mis sur l'utilisation de fonctions).
Un module comme turtle n'a pas le meme statut que le module maths par exemple, sa vocation est essentiellement pedagogique et il sera uniquement utilise en classe de seconde en transition, je pense donc qu'avoir des commandes en francais est tres utile, quitte a renommer le module tortue sinon il faut doubler le nombre de mots a retenir en anglais. Apres bien entendu l'interface peut faciliter la saisie de commandes en anglais, mais si le code source est affiche en anglais, on ne gagne qu'au moment de la saisie et la programmation sera pour certains eleves (et peut-etre certains profs) un peu comme la messe en latin de nos ancetres.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86.2%
 
Posts: 3666
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Next

Return to Programmation native (C/C++/...)

Who is online

Users browsing this forum: ClaudeBot [spider] and 1 guest

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1052 utilisateurs:
>1016 invités
>27 membres
>9 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)