NewbieContest

Programmation => Langages compilés => Discussion démarrée par: FulliZing le 04 Novembre 2006 à 09:30:03



Titre: [Ti] Aide Basic
Posté par: FulliZing le 04 Novembre 2006 à 09:30:03
Comme je suis au lycé, j'ai acheté une TI 82 stats (fr). On peut y programmer des programmes (ah bon? t'es sûr :p ) donc je voudrais savoir si vous connaissiez une fonction qui choisisse un nombre au hasard  parmi ceux que je lui donne?
merci


Titre: [Ti] Aide Basic
Posté par: Nebelmann le 04 Novembre 2006 à 12:50:55
tu mets tes nombres dans une liste, tu appelles la fonction de génération de nombre aléatoire, qui te donnera l'indice de l'élément de la liste :p
(faut choisir un nombre aléatoire entre 1 et taille(liste))


Titre: [Ti] Aide Basic
Posté par: shiroko le 04 Novembre 2006 à 13:29:43
Ca doit être un truc genre entAléat( qui se trouve (sur ma 84+) dans "MATH" => "PRB" => "entAléat(" soit le 5e chez moi.

Voila mais sinon, Google doit pouvoir t'aider =D

EDIT : le TI Basic, c'est de l'interprété et non du compilé me semble t-il


Titre: [Ti] Aide Basic
Posté par: _o_ le 04 Novembre 2006 à 13:44:53
Citation de: shiroko
EDIT : le TI Basic, c'est de l'interprété et non du compilé me semble t-il
Si cela n'a pas changé depuis mon époque, le code est compilé à la volée juste avant l'exécution (comme Perl, par exemple). Cela se remarquait sur les programmes un peu longs (elle moulinait quelque secondes avant que l'exécution ne commence) et à l'époque certains expliquaient ainsi la différence de performance avec les calculatrices Casio contemporaines (mais je n'ai jamais su si cela était vrai).


Titre: [Ti] Aide Basic
Posté par: FulliZing le 04 Novembre 2006 à 14:38:48
la fonction entaleat(A,B) définie cela ==> A<entier aléatoire<B
comment je fais pour mettre mes nombre dans une liste
merci
EDIT: c'est bon j'ai trouver un bon tuto pour ceux qui veule ==> http://jlpti83.free.fr/?rub=tibas


Titre: [Ti] Aide Basic
Posté par: shiroko le 04 Novembre 2006 à 14:42:39
Dans ton livre vendu avec ta calculette çà doit être écrit ;)


Titre: [Ti] Aide Basic
Posté par: FulliZing le 04 Novembre 2006 à 15:13:18
mais quand je tape entAléat(L1),A il y a un message "Erreur: argument"
on peut m'expliquer où je me suis trompé?
dois-je mettre entAléat(1,dim(L1)),A  :?:
merci


Titre: [Ti] Aide Basic
Posté par: shiroko le 04 Novembre 2006 à 16:24:18
Mais tu veux juste choisir un nombre aléatoire entre 1 et 100 par exemple ??

Si c'est çà et bien tu tappes

entaleat(1,100)

Pas besoin de tableau dans ce cas.


Titre: [Ti] Aide Basic
Posté par: FulliZing le 04 Novembre 2006 à 16:36:45
je sais, j'ai déja fait le jeu Plus ou Moins mais là en faite je voudrais que le programme choisisse une touche au hasard parmi celle que je lui propose sachant que chaque touche a une valeur une valeur correspondante
(http://www.siteduzero.com/uploads/fr/files/40001_41000/40263.jpg)
merci


Titre: [Ti] Aide Basic
Posté par: shiroko le 04 Novembre 2006 à 17:28:23
Et bien tu fais enaleat(11,105) puis un test, si le nombre choisi n'existe pas, tu recommences pour rechoisir un autre nombre


Titre: [Ti] Aide Basic
Posté par: FulliZing le 04 Novembre 2006 à 17:37:12
donc j'aurai cela ==>
 
Code:
 Lbl 0 
 entAléat(11,105),A
 If A!=11 or 12 or 13 or ... or 105
 Goto 0
 If A=11 or 12 or 13 or ... or 105
 Goto 1
 Lbl 1
 If codeTouche=A
 (le code)
 If codeTouche!=A
 (le code)
 Goto 1


Titre: [Ti] Aide Basic
Posté par: Nebelmann le 04 Novembre 2006 à 19:05:58
Citation de: _o_
Citation de: shiroko
EDIT : le TI Basic, c'est de l'interprété et non du compilé me semble t-il
Si cela n'a pas changé depuis mon époque, le code est compilé à la volée juste avant l'exécution (comme Perl, par exemple). Cela se remarquait sur les programmes un peu longs (elle moulinait quelque secondes avant que l'exécution ne commence) et à l'époque certains expliquaient ainsi la différence de performance avec les calculatrices Casio contemporaines (mais je n'ai jamais su si cela était vrai).
C'est pas vraiment de la compilation, mais de la "tokenisation"... chaque fonction ou mot clé interne est remplacé par un nombre hexa sur un octet (c'est pas aussi simple que ça, mais je schématise)... donc lorsque tu lances ton prog pour la première fois, il tokenise le tout, et au prochain lancement, s'il n'y a pas eu de modifications, le code s'exécute bcp plus rapidement.
Et si tu veux modifier, il suffit de détokeniser, ce qui rend le code source original, et non un listing asm incompréhensible ^^
vala vala, ça clôt ce bref intermède pédagogique...