π
<-
Chat plein-écran
[^]

Py4Calc, le premier traducteur python vers Ti-Basic

Py4Calc, le premier traducteur python vers Ti-Basic

Message non lude Zynk » 29 Mar 2020, 17:27

Bonjour à tous,

Aujourd’hui j’ai le plaisir de vous présenter le premiers convertisseur python vers Ti-Basic : Py4calc

Py4Calc est un projet datant de 2008 initié par Luke Bryan qu’il a arrêté de développer en 2013 et que j’ai retrouvé il y a peu.

Je me suis donc permit de le dépoussiérer, de l’actualiser, et de le modifier quelque peu avec l’aide de Dogm afin qu’il puisse remarcher dans des conditions optimales et ainsi vous présenter la version 2.0.

Pour utiliser le logiciel c’est très simple :
- Lancez Py4CalcV2.exe
- Sélectionnez le script Python que vous souhaitez convertir
- Donner lui un nom
- Et enfin récupérer le programme Ti-basic dans le dossier, il ne vous reste plus qu’à l’introduire dans votre calculatrice via le
logiciel Ti-connect

Petit disclaimer : le langage Ti-basic n’ayant pas les mêmes fonctions que le python, il est possible qu’il faille simplifier le script python comme par exemple avec les “ellif” à transformer en :

if <condition>:

...

else:

if <condition>:

...

else:



Mais ne vous inquiétez pas, un message d’erreur vous expliquera comment faire pour chaque cas :

Image

Par ailleurs, si vous rencontrer le moindre problème, bug, critique ou suggestion d’amélioration, n’hésitez pas à vous manifester dans ce topic et nous nous ferons un plaisir d’y répondre

Le lien vers l'archive : http://ti-pla.net/a2618648
Dernière édition par Zynk le 12 Fév 2022, 18:22, édité 1 fois.
Avatar de l’utilisateur
ZynkProgrammeur
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Prochain niv.: 61.9%
 
Messages: 4
Inscription: 26 Sep 2018, 14:34
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Prepa ECG (Maths Approfondie / ESH)

Re: Py4Calc, le premier traducteur python vers Ti-Basic

Message non lude Larwive » 21 Avr 2020, 08:11

Le contraire serait utile aussi.
Vous prévoyez de le faire ?

Il va falloir que je me débrouille pour le faire fonctionner sur mac.
Je dis que je ne dis rien, à part que mes programmes sont disponibles ici. Image

En mettant à profit mes pouvoirs de devin, sachant que j'ai écrit ma signature bien avant ta venue, ton pseudo est Anonymous.:whistle:
Avatar de l’utilisateur
LarwiveProgrammeur
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 88.2%
 
Messages: 282
Images: 20
Inscription: 25 Oct 2018, 17:41
Localisation: Chez moi
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 1ère année d'école d'ingénieur informatique
GitHub: Larwive

Re: Py4Calc, le premier traducteur python vers Ti-Basic

Message non lude Bisam » 21 Avr 2020, 12:59

Serait-il possible d'avoir un aperçu un peu plus précis des capacités de ce convertisseur ?
Le python est beaucoup plus riche que le TI-Basic et il y a donc forcément des choses non prises en charge, mais pourrait-on savoir ce qui est pris en charge, exactement ?

Je suppose par ailleurs que l'on convertit seulement vers le TI-Basic pour TI-z80... est-ce prévu de proposer le TI-Basic pour TI-68k ou mieux pour Nspire ?

Cela serait vraiment un beau projet, surtout si on lui adjoint un convertisseur dans l'autre sens (plus utile de nos jours et plus facile !)
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.5%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Py4Calc, le premier traducteur python vers Ti-Basic

Message non lude Zynk » 21 Avr 2020, 13:33

Bonjour a tous merci pour vos retours

LePetitMage a écrit:Le contraire serait utile aussi.
Vous prévoyez de le faire ?

Il va falloir que je me débrouille pour le faire fonctionner sur mac.


Normalement pour mac (et pour linux) le .exe est censé fonctionner sans ajustement avec python 3.x mais je ne l'ai pas essayé n'aillant pas de mac :p
Si vous pouviez me faire un retour là-dessus cela m'intéresserait

Bisam a écrit:Serait-il possible d'avoir un aperçu un peu plus précis des capacités de ce convertisseur ?
Le python est beaucoup plus riche que le TI-Basic et il y a donc forcément des choses non prises en charge, mais pourrait-on savoir ce qui est pris en charge, exactement ?

Je suppose par ailleurs que l'on convertit seulement vers le TI-Basic pour TI-z80... est-ce prévu de proposer le TI-Basic pour TI-68k ou mieux pour Nspire ?

Cela serait vraiment un beau projet, surtout si on lui adjoint un convertisseur dans l'autre sens (plus utile de nos jours et plus facile !)


Pour ce qui est de ces capacité c'est assez limiter pour l'instant (un gros programmes python ne marchera pas cela ce limite plus a un usage de petit programme scolaire) je vais essayer de dresser une liste relativement exhaustive de ce qui est pris en charge ou non

Effectivement pour l'instant c'est que pour du TI z80 pour les autres cela pourrait être possible mais je ne les connais pas du tout donc ce n'est actuellement pas prévus

Pour le convertisseur de ti basic vers python je vais m'en occuper de ça je vous tiens au courant de l'avancement de la suite de ce projet
Avatar de l’utilisateur
ZynkProgrammeur
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Prochain niv.: 61.9%
 
Messages: 4
Inscription: 26 Sep 2018, 14:34
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Prepa ECG (Maths Approfondie / ESH)

Re: Py4Calc, le premier traducteur python vers Ti-Basic

Message non lude Dogm » 21 Avr 2020, 14:48

Voici la liste des instructions prise en charge.

Le convertisseur prend en charge :

- les boucles (while et for)
- les fonctions : int(, float(, len(, random(), randint(, input(, print( et eval(
- les constantes : pi et e

Ainsi que les fonctions mathématiques :

- sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, asinh, acosh, atanh
- sqrt(
- fabs(
- log(
- exp(
- floor(
- log10(


En revanche il affiche des erreurs lorsque :

- la fonction pow est utilisée
- l'opérateurs -= est utilisé
- des fonctions sont définies
- l'instruction open est utilisée
- le signe - est utilisé
- l'opérateur % (modulo) est employé (pas d'équivalent en Ti-basic)
- des instructions d'importation sont employés
- la condition elif est utilisée (le message d'erreur sera accompagné d'un texte qui vous suggérera un équivalent)

Ou des messages de mise en garde lorsque :

- des chaines de caractère de plus de 16 caractères sont employées (elle dépasse de l'écran)
- la commande \n pour le retour à la ligne est comprise dans une chaine de caractère (pas d'équivalent en Ti-basic)
- les blocs de documentation sous forme """ sont employés (pas d'équivalent en Ti-basic)
Dernière édition par Dogm le 21 Avr 2020, 15:56, édité 1 fois.
Avatar de l’utilisateur
DogmEcrivain
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 44.3%
 
Messages: 117
Images: 7
Inscription: 14 Nov 2019, 18:53
Localisation: Lyon, France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Terminale Math NSI
GitHub: Tim-ats-d

Re: Py4Calc, le premier traducteur python vers Ti-Basic

Message non lude Larwive » 21 Avr 2020, 15:17

Il existe la fonction reste( en TI-Basic qui devrait être l'équivalent du % (modulo).

Et pour les instructions d'importations, il suffit de les ignorer, non ?

Pour les définitions de fonctions, un sous-programme devrait faire l'affaire.
Je dis que je ne dis rien, à part que mes programmes sont disponibles ici. Image

En mettant à profit mes pouvoirs de devin, sachant que j'ai écrit ma signature bien avant ta venue, ton pseudo est Anonymous.:whistle:
Avatar de l’utilisateur
LarwiveProgrammeur
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 88.2%
 
Messages: 282
Images: 20
Inscription: 25 Oct 2018, 17:41
Localisation: Chez moi
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 1ère année d'école d'ingénieur informatique
GitHub: Larwive

Re: Py4Calc, le premier traducteur python vers Ti-Basic

Message non lude Bisam » 21 Avr 2020, 15:35

"pow" n'est pas une commande en python, mais une fonction... et c'est simplement la fonction puissance (éventuellement modulo quelque chose). Il est facile de la convertir, me semble-t-il.

Les fonctions mathématiques en python, ainsi que les constantes
$mathjax$\pi$mathjax$
et e nécessitent une importation... donc il ne sert à rien de les convertir si tu ne gères pas les importations !

Les affectations condensées (du type +=, -=, *=, etc...) sont faciles à convertir également.

Enfin, tu as déjà trouvé comment gérer le "elif"... alors il suffit de le faire dans ton convertisseur, non ?

Pour les fonctions, malheureusement, c'est le gros problème du TI-Basic z80.... contrairement au Basic 68k ou Nspire.
Avatar de l’utilisateur
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 69.5%
 
Messages: 5665
Inscription: 11 Mar 2008, 00:00
Localisation: Lyon
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: Py4Calc, le premier traducteur python vers Ti-Basic

Message non lude Dogm » 21 Avr 2020, 15:55

LePetitMage a écrit:Il existe la fonction reste( en TI-Basic qui devrait être l'équivalent du % (modulo).


Okay merci on va modifier ça :#top#:.

Et pour les instructions d'importations, il suffit de les ignorer, non ?


J'ai dit des bêtises. Le programme les ignore déjà et affiche un message de mise en garde :), au temps pour moi.

"pow" n'est pas une commande en python, mais une fonction... et c'est simplement la fonction puissance (éventuellement modulo quelque chose). Il est facile de la convertir, me semble-t-il.

Les affectations condensées (du type +=, -=, *=, etc...) sont faciles à convertir également.

Enfin, tu as déjà trouvé comment gérer le "elif"... alors il suffit de le faire dans ton convertisseur, non ?


On va essayer de fixer tous cela, merci pour vos sugestions
Avatar de l’utilisateur
DogmEcrivain
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 44.3%
 
Messages: 117
Images: 7
Inscription: 14 Nov 2019, 18:53
Localisation: Lyon, France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Terminale Math NSI
GitHub: Tim-ats-d


Retourner vers TI-Basic

Qui est en ligne

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

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
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 Calculatrices à acheter chez Calcuso
-
Stats.
713 utilisateurs:
>688 invités
>20 membres
>5 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)