π
<-

À quand KhiCas pour TI-83 Premium CE / Edition Python ?

Assembleur, Axe, C/C++, ICE...

Re: À quand KhiCas pour TI-83 Premium CE / Edition Python ?

Unread postby miickboy » 20 Nov 2024, 17:50

Hello !
parisse wrote:Merci pour le feedback!

Tout le plaisir est pour moi :)


parisse wrote:Il n'y a pas de sous-menus de stats dans maths

Euh, j'entendais par là la touch
stats
pour ouvrir “13Listes (stats)”


parisse wrote:Ca je ne peux rien y faire, c'est peut-être le mode vidéo 8bpp qui n'est pas bien supporté.

Ah, du coup qu'est-ce qui a été utilisé pour faire les captures ? (simple curiosité, je ne pense pas que j'en ferais beaucoup)


parisse wrote:Cf. la doc. https://www-fourier.univ-grenoble-alpes ... html#sec24

Autant pour moi, je n'ai pas pensé à consulter entièrement la page 😅


parisse wrote:Là il me faudrait des exemples. Ne pas oublier que ce n'est pas du vrai Python, c'est du Xcas en syntaxe compatible Python.

Ah, mes programmes sont du Python pur, il me semble :

1) Dans le cas où j'avais un résultat mais qui était un peu mal agencé
En spé Maths, on a écrit un programme pour trouver un résultat par dichotomie :
Code: Select all
from math import exp
def f(x):
  return -3*exp(x)+4
a,b=0,1
while (b-a)>0.01:
  y=f((a+b)/2)
  if y>-1:
    a=(a+b)/2
  else:
    b=(a+b)/2
print(a,b)

Et, la calculatrice me ressort le résultat, mais de la sorte :


2) Dans le cas où la syntaxe était considérée comme invalide :
Je m'étais créé un programme pour me ressortir la division euclidienne de a par b (a et b étant deux entiers relatifs) :
Code: Select all
a=int(eval(input("a ? ")))
b=int(eval(input("b ? ")))
r=a%b
if r<0:r+=abs(b)
q=(a-r)//b
try:print(a,"=",b,"(",q,")+",r,sep="")
except MemoryError:print("r =",r)

La calculatrice n'a en effet pas l'air d'apprécier :


Comment faire pour pouvoir lancer ces types de programmes Python sur la TI du coup ?

Je viens de voir qu'il y a par ailleurs d'autres raccourcis de cassés en allant sur F5 Fichier :
“8 Exec script (->)” ne s'ouvre pas en pressant la touche
sto→
(je suppose, vu que c'est la seule touche avec une →), et
mode
n'ouvre pas “13 Config”.

Une petite photo-bonus de KhiCAS en mode couleurs inversées (merci Cesium) :
User avatar
miickboy
Niveau 0: MI (Membre Inactif)
Niveau 0: MI (Membre Inactif)
Level up: 40%
 
Posts: 4
Joined: 19 Nov 2024, 21:02
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Terminale
GitHub: mickbot-92

Re: À quand KhiCas pour TI-83 Premium CE / Edition Python ?

Unread postby parisse » 20 Nov 2024, 20:51

En fait le mode de fonctionnement optimal de KhiCAS est un peu différent de celui du script que vous avez copié. Dans l'éditeur, on est censé n'écrire que des fonctions non interactives, et on appelle une fonction depuis le shell en lui passant des arguments. Ceci permet d'éviter les variables globales, ce qu'il vaut mieux éviter.
Donc, d'abord pas besoin d'import, dans KhiCAS les maths sont toujours disponibles. Pour f(x) la définition est ok, mais ce serait plus logique de le définir dans le shell par f(x):=-3*exp(x)+4. Ce qui permet de tracer la fonction avec plot(f(x)) et de vérifier le résultat ensuite avec solve.
Par contre l'algo de dichotomie devrait se trouver dans une fonction
Code: Select all
def dicho(f,a,b):
  while (b-a)>0.01:
    y=f((a+b)/2)
    if y>-1: # ce test est bizarre, il vaudrait mieux rajouter 1 dans f et tester avec 0
      a=(a+b)/2
    else:
      b=(a+b)/2
  return a,b

Ensuite depuis le shell on appelle dicho(f,0,1), on peut vérifier avec solve(f(x)=-1). Avantage, si on veut changer de fonction ou de bornes il suffit juste de changer les paramètres de dicho dans le shell sans toucher au programme. Et on peut améliorer le programme en passant la précision (ici 0.01) en paramètre
Code: Select all
def dicho(f,a,b,prec=0.01):
  while (b-a)>prec:
    y=f((a+b)/2)
    if y>-1: # ce test est bizarre, il vaudrait mieux rajouter 1 dans f et tester avec 0
      a=(a+b)/2
    else:
      b=(a+b)/2
  return a,b


Pour la division euclidienne de deux entiers, on a % // irem iquo et même iquorem qui renvoie les deux en Xcas.
Pour try/except, c'est une structure de programmation avancée dont seule la syntaxe la plus simple est acceptée (en cas d'erreur on va dans le bloc except mais sans tenir compte du type d'erreur). Le parser semble imposer de passer à la ligne après try:, même chose après MemoryError: (et MemoryError ne sera pas pris en compte, s'il y a un problème mémoire KhiCAS s'arrête et on revient au shell de TI, mais c'est très improbable pour une division).

Enfin, je vous déconseille fortement l'utilisation de input. Il est beaucoup plus pratique de gérer l'interaction en passant des arguments à une fonction depuis le shell. Cela permet en particulier de recopier un appel depuis l'historique et de le modifier. L'utilisation de print est également déconseillée, sauf pour afficher des informations de progression ou de mise au point. La bonne méthode c'est de renvoyer un résultat avec return, pas de l'afficher avec print, il sera affiché par le shell, et réutilisable par une autre fonction.
Au passage, c'est assez étonnant qu'on vous enseigne l'algorithmique de cette façon...
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86%
 
Posts: 3662
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: À quand KhiCas pour TI-83 Premium CE / Edition Python ?

Unread postby miickboy » Yesterday, 19:48

Oups, autant pour moi, j'avais modifié le programme original, celui qui était celui-ci dans l'exo :
Code: Select all
from math import *
def f(x):
  return -3*exp(x)+4
def d():
  a = 0; b = 1
  while (b-a) > … :
    y = f((a+b)/2)
    if y > -1 :
      …= (a+b)/2
    else:
      …= (a+b)/2
  return a,b

C'est juste que je l'avais modifié (en retirant la définition) et qu'il fonctionnait de la même manière, donc j'avais oublié que j'avais altéré l'original 😅

Mais en effet vos corrections font à nouveau fonctionner le programme, merci 👍

J'ai découvert autre chose, mais c'est peut-être juste de ma faute : cliquer sur le bouton RESET fait beaucoup vider la batterie, on dirait (j'ai fait aussi crash KhiCAS je ne sais comment, en voulant annuler l'exécution d'une session, et j'ai perdu mes scripts car “niveau de batterie faible”). Je recharge ma calculatrice pour revoir ça, mais il m'a bien semblé que c'était suffisamment chargé. (Je rééditerai le message si je n'ai plus le problème.)
User avatar
miickboy
Niveau 0: MI (Membre Inactif)
Niveau 0: MI (Membre Inactif)
Level up: 40%
 
Posts: 4
Joined: 19 Nov 2024, 21:02
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Terminale
GitHub: mickbot-92

Re: À quand KhiCas pour TI-83 Premium CE / Edition Python ?

Unread postby parisse » Yesterday, 20:07

A propos de la batterie, il faut prendre garde au fait que si on "éteint" depuis KhiCAS, la consommation d'énergie est me semble-t-il significativement plus grande que si on éteint depuis le shell de TI. Je ne sais pas trop ce qui se passe avec la commande void boot_TurnOff(void) de la toolchain, je pense que ça éteint l'écran rétroéclairé mais ne met probablement pas le CPU en mode basse conso. C'est donc utile pour des petites périodes de quelques minutes. Mais à la fin d'un cours de maths ou d'un examen, il faut quitter KhiCAS, sinon ça vide la batterie en 2 ou 3 jours maxi me semble-t-il.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 86%
 
Posts: 3662
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: À quand KhiCas pour TI-83 Premium CE / Edition Python ?

Unread postby miickboy » Yesterday, 20:40

Okay, merci pour toutes ces infos 👍
User avatar
miickboy
Niveau 0: MI (Membre Inactif)
Niveau 0: MI (Membre Inactif)
Level up: 40%
 
Posts: 4
Joined: 19 Nov 2024, 21:02
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Terminale
GitHub: mickbot-92

Previous

Return to Langages alternatifs

Who is online

Users browsing this forum: No registered users and 2 guests

-
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.
774 utilisateurs:
>726 invités
>41 membres
>7 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)