π
<-

À 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 » Yesterday, 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: 2
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: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: 3661
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Previous

Return to Langages alternatifs

Who is online

Users browsing this forum: ClaudeBot [spider] and 4 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.
748 utilisateurs:
>711 invités
>30 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)