π
<-
Chat plein-écran
[^]

Module turtle pour NumWorks

Module turtle pour NumWorks

Message non lude 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: Tout sélectionner
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.
Fichiers joints
epsilon.bin.rom
(657.86 Kio) Téléchargé 10 fois
Avatar de l’utilisateur
jean-baptiste boricPremium
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 63.7%
 
Messages: 152
Inscription: 21 Déc 2015, 22:22
Genre: Non spécifié

Re: Module turtle pour NumWorks

Message non lude 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
Avatar de l’utilisateur
compsystems
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Prochain niv.: 21.9%
 
Messages: 213
Inscription: 30 Mai 2011, 13:44
Genre: Homme
Calculatrice(s):

Re: Module turtle pour NumWorks

Message non lude 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.
Avatar de l’utilisateur
jean-baptiste boricPremium
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 63.7%
 
Messages: 152
Inscription: 21 Déc 2015, 22:22
Genre: Non spécifié

Re: Module turtle pour NumWorks

Message non lude ptitjoz » 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
Avatar de l’utilisateur
ptitjoz
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 39.8%
 
Messages: 31
Inscription: 17 Oct 2018, 15:38
Localisation: France Loir et Cher
Genre: Non spécifié
Calculatrice(s):
Twitter: @PtitJoz

Re: Module turtle pour NumWorks

Message non lude 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).
Avatar de l’utilisateur
jean-baptiste boricPremium
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 63.7%
 
Messages: 152
Inscription: 21 Déc 2015, 22:22
Genre: Non spécifié

Re: Module turtle pour NumWorks

Message non lude 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...
Avatar de l’utilisateur
parissePremium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 43%
 
Messages: 1431
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié

Re: Module turtle pour NumWorks

Message non lude 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.
Avatar de l’utilisateur
jean-baptiste boricPremium
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 63.7%
 
Messages: 152
Inscription: 21 Déc 2015, 22:22
Genre: Non spécifié

Re: Module turtle pour NumWorks

Message non lude 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...
Avatar de l’utilisateur
parissePremium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 43%
 
Messages: 1431
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié

Re: Module turtle pour NumWorks

Message non lude 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.
Avatar de l’utilisateur
jean-baptiste boricPremium
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Prochain niv.: 63.7%
 
Messages: 152
Inscription: 21 Déc 2015, 22:22
Genre: Non spécifié

Re: Module turtle pour NumWorks

Message non lude 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.
Avatar de l’utilisateur
parissePremium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 43%
 
Messages: 1431
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié

Suivante

Retourner vers Programmation native (C/C++/...)

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 4 invités

-
Rechercher
-
Sujets à la une
Triconcours universel de la rentrée - 2000 euro de prix !
"NumWorks++": Challenge de modification matérielle pour rajouter une puce de mémoire Flash !
Offre TI-Planet/Jarrety pour avoir la TI-83 Premium CE avec son chargeur pour 79,79€ port inclus !
Offre TI-Planet/Jarrety pour avoir la TI-Nspire CX CAS à seulement 130€ TTC port inclus!
Jailbreake ta TI-Nspire avec Ndless et profite des meilleurs jeux et applications !
Transforme ta TI-Nspire CX en console Game Boy Advance!
123456
-
Donations/Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
PayPal : paiement en ligne sécurisé - secure online payments
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety 
-
Stats.
466 utilisateurs:
>445 invités
>15 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)