Page 1 of 2

Festiv'Algo - exécuter et traduire des algorithmes en ligne

PostPosted: 13 May 2013, 10:49
by Nitrosax
Je code depuis plusieurs mois une petite application web destinée à l'algorithmie au lycée.
Le site est aujourd'hui en ligne et permet de programmer, traduire et exécuter toute sorte d'algorithmes simples.



http://www.festivalgo.fr

Le site est encore en version Beta.
Parlez en à vos profs de maths ;)

Re: Festiv'Algo

PostPosted: 13 May 2013, 10:52
by Nitrosax
Je suis à l'origine un programmeur Casio.
Je ne suis donc pas sur de moi à 100% pour la traduction des algorithmes en TI-Basic.
N'hésitez pas à me proposer des corrections si vous trouvez des erreurs à ce niveau là. ;)

Re: Festiv'Algo - exécuter et traduire des algorithmes en li

PostPosted: 13 May 2013, 10:59
by Hayleia
(il y a un bouton "modifier" ou "éditer" pour éviter de double poster en 2 minutes ;))

Je salue l'initiative prise pour faciliter la traduction d'un algorithme "français" vers le Basic (qui revient à traduire des mots simples du français à l'anglais) mais malheureusement, je crains que ton site ne soie "trop compliqué" à utiliser pour ceux qui l'utiliseront, même avec tutoriel vidéo (la vidéo de présentation est très bien, mais un tutoriel vidéo plus précis que des situations qui s'enchaînent aurait été plus adapté).

Note, je ne dis pas "il est compliqué", l'utilisation de ton site est aussi simple (ou compliquée) que la traduction à la main des algorithmes, et c'est bien ça qui va leur poser problème ;)

Re: Festiv'Algo - exécuter et traduire des algorithmes en li

PostPosted: 13 May 2013, 12:23
by Levak
Voici ce que je regrette de ne pas avoir fait pendant ma scolarité, autrement appelée "source de temps libres"...

Juste par curiosité, comment tu te débrouilles pour "traduire" les algorithmes d'un langage à un autre ? Arbre de syntaxe abstraite avec visiteur indépendant par langage ? Est-ce donc extensible à un nouveau langage, tel que le Nspire-Basic ?
PHP 5 offre la POO, il est donc possible d'utiliser des designs patterns réservés à la POO, dont le visiteur.

Re: Festiv'Algo - exécuter et traduire des algorithmes en li

PostPosted: 13 May 2013, 12:36
by Adriweb
Sympa :)

J'ai moi-même fait un convertisseur algobox => Nspire-Basic (en Nspire lua ^^) que je n'ai pas (encore) publié... mais il était moins poussé au niveau du remplacement de fonction (mais bon, c'est juste une question de remplacer des mots-clés par leur équivalent :P)

Re: Festiv'Algo - exécuter et traduire des algorithmes en li

PostPosted: 13 May 2013, 12:42
by Persalteas
Ce genre de traducteur existe aussi directement sur calculatrice (CMD puis TXT2PROG de Maxence, cf Espace-TI)

Je trouve ça une bonne idée, de le faire en ligne :bj:

Re: Festiv'Algo - exécuter et traduire des algorithmes en li

PostPosted: 13 May 2013, 13:23
by Loulou 54
Wow bonne idée, et bien réalisée ! :)

Re: Festiv'Algo - exécuter et traduire des algorithmes en li

PostPosted: 13 May 2013, 16:17
by Nitrosax
Merci à tous ! :)

Pour répondre à Levak, voici, de façon simplifiée, la méthode avec laquelle je procède (tout est fait côté utilisateur en javascript) :
Je commence par "lire" caractère par caractère le code entré par l'utilisateur. Cette étape me permet surtout de détecter les erreurs de l'algorithme pour éviter de tout faire planter... L'ensemble de l'algorithme est ainsi découpé et placé dans un tableau. A partir de là, je peux traduire ou exécuter l'algorithme en question.

Grâce à cette méthode, il n'est pas bien compliqué de rajouter des langages de programmation. Cependant, je préfère ne pas en mettre trop pour l'instant de peur d'encombrer l'interface et de faire peur aux néophytes :#fou#:

Re: Festiv'Algo - exécuter et traduire des algorithmes en li

PostPosted: 13 May 2013, 16:29
by Excale
Deux idées:
1) Numéroter les lignes
2) Autoriser les programmes multilignes :D. Je veux dire par là que quand je met un retour à la ligne, ça ne le voit pas (exemple: ligne 1 : expression "1Fin_Tant_que" inadaptée au contexte. (alors qu'il y a un retour à la ligne après le 1).

Re: Festiv'Algo - exécuter et traduire des algorithmes en li

PostPosted: 13 May 2013, 16:42
by Bisam
Je n'arrive pas à écrire d'algorithme : il y a toujours des erreurs de syntaxe...
Le parseur ne voit pas les passages à la ligne et du coup met des erreurs à chaque nouvelle instruction...