π
<-

Aide programmation

:32ti89: :32ti892: :32ti89t: :32ti89tn: :32ti92: :32tiv200:

Re: Aide programmation

Unread postby Bisam » 26 Nov 2011, 10:10

Ugo Blfr wrote:Merci bisaam ! j'avais réussi en mettant un goto label, mais c'est moin propre ^^
j'ai un ptit programme de convertion d'unité que je n'arrive pas a traduire en 89... (a cause des liste et chaines que je ne maitrise pas)

Retourne dans ton manuel pour apprendre !
M'enfin, voici ce qu'on peut faire de ton programme.
Code: Select all
Lbl 0
newlist(2)->L1         // newlist(n)->truc  crée une liste de taille n 
                       // remplie de 0 et la stocke dans la variable nommée truc.
                       // Dans ce cas précis, il est plus rapide de taper {0,0}->L1

{12,9,6,3,2,1,0,-1,-2,-3,-6,-9,-12,-15}-> L2
                       // Ca devrait marcher.

L2[A+7B-7]->C          // Il faut mettre des crochets après le nom de la liste
                       // et non des parenthèses.
C->L1[W]               // Je suppose que W, A et B ont déjà été définis avant...
input Str1,variable 
P(L1[1]-L1[2])->U      // Je ne sais pas ce que c'est que ce P...
                       // Il faudra mettre des [ ] si c'est une liste.

// Q: comment on défini un nombre (5) dans une variable en une string ? (le contraire de expr() )
// R : Il faut utiliser la fonction string() pour convertir une expression en chaîne de caractères.

variable1->variable2    // Le nom de ta variable est trop long
                        // (8 caractères max.). Ici, il y en a 9.
if variable1=1:"A"
if variable2=2:"B"
ans(1)-> str1      // On ne peut pas utiliser Ans dans un programme. Il faut
                   // stocker les résultats intermédiaires dans des variables.

Je n'ai pas cherché à comprendre mais à te faire comprendre comment ça marche.

Rappelle-toi que sur TI89, toutes les variables peuvent être de n'importe quel type, et tu peux donner des noms de variable qui font jusqu'à 8 caractères. Tu n'es pas obligé d'utiliser un nom bâtard comme Str1, Str2... pour une chaîne, ni L1, L2... pour une liste. Si tu donnes un nom plus explicite, c'est plus facile à lire !
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Aide programmation

Unread postby Hedg-Hops » 26 Nov 2011, 13:58

Merci pour tout ;) ça m'aide bien.

PS: comment depuis un programme on met le mode normal/sci ?

voila merci !
User avatar
Hedg-Hops
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 93.8%
 
Posts: 54
Joined: 09 Nov 2011, 14:06
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ère Scientifique

Re: Aide programmation

Unread postby Hedg-Hops » 27 Nov 2011, 13:06

Bon, j'ai un code, mais ça ne marche pas...
Code: Select all
0->ss:0->sss:0->uuub
newlist(2)->l1:newlist(14)->l2
{12,9,6,3,2,1,0,-1,-2,-3,-6,-9,-12,-15}->l2
pxltext "(entrer valeur 1)",0,0
pxltext "  tera    deci",10,0
pxltext "  Giga    centi",20,0
pxltext "  mega    mili",30,0
pxltext "  kilo     micro",40,0
pxltext "  hecto    nano",50,0
pxltext "  deca    pico",60,0
pxltext "  unité    femto",70,0
4->aa : 0->bb : 0->k
"1>"->str1
pxltext str1,40,0
For w,1,2
if w=2: pxltext "converti en: ",0,0
0->k
if w=2:"2>" -> str1

while k#13
  pxltext str1,10aa,60bb
  0->k
  while k=0
    getkey()->k
  endwhile
  pxltext "  ",10aa,60bb

  if k=338:aa-1->aa
  if k=344:aa+1->aa
  if k=337:bb-1->bb
  if k=340:bb+1->bb
  if aa>7:1->aa
  if aa<1:7->aa
  if bb>1:0->bb
  if bb<0:1->bb
  l2 [aa+7bb-7]->azut    // erreur domaine ? (par rapport au choix du getkey ça dois valoir l'un des 14 nombre dans l2... et je vois pas pourquoi ça marche pas)
endwhile
azut -> l1(w)       // choix 1 dans l1(1), choix 2 dans L1(2)
endfor

input "unite 1:",x
l1[1]-l1[2]->uuub   //  choix 1 - choix 2 = valeur qui va permettre de convertir
norm
disp X*10^(uuub)     //  unité converti en normal
sci
disp X*10^(uuub)    // unité converti écriture en puissance de 10
disp "multiplié par: 1e ",uuub     // combien de fois l'unité 1 a été multiplié
pause



voila... et pour norm et sci... je ne sais pas si c'est correct
User avatar
Hedg-Hops
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 93.8%
 
Posts: 54
Joined: 09 Nov 2011, 14:06
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ère Scientifique

Re: Aide programmation

Unread postby Lionel Debroux » 27 Nov 2011, 13:20

"l2[aa+7bb-7]" -> si bb vaut 0, aa + 7 * bb - 7 peut facilement valoir moins que 0 :)
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.3%
 
Posts: 6865
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: Aide programmation

Unread postby Hedg-Hops » 27 Nov 2011, 13:44

{12,9,6,3,2,1,0,-1,-2,-3,-6,-9,-12,-15}

il doit valoir l'un de ces 14 nombre...
User avatar
Hedg-Hops
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 93.8%
 
Posts: 54
Joined: 09 Nov 2011, 14:06
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ère Scientifique

Re: Aide programmation

Unread postby Hedg-Hops » 29 Nov 2011, 18:57

Merci lionel t'avais raison je voulais que b soit égal a 1 ou 2 et la c'étais 0 ou 1... :)

ptit Up pour autre chose: explique moi le disp ! disp "bonjour" ça ok, mais:
1->im1
1.5->im2
disp "unité égal:",m2*sin(90)/m1=im2*sin(90)/im1
le résultat étrange: m2 * "unité égal" * sin(90)/m2= 1.3

je voudrai que ça mette:
unité égal: m2 * sin(90) / m1 = [résultat] // m1 et M2 ici ne sont pas les variable et sont écrite en toute lettre...

que faire quand c'esst égal a "true" ? parfois ça ne veux pas afficher le résultat... et comment on défini depuis un programme le mode degree ou radian ?
User avatar
Hedg-Hops
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 93.8%
 
Posts: 54
Joined: 09 Nov 2011, 14:06
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ère Scientifique

Re: Aide programmation

Unread postby Hedg-Hops » 29 Nov 2011, 19:16

Et, comment on demande d'afficher un nombre avec aucun/1/2/3 nombre après la virgule ?

et comment on dessine des angle dans le draw en mode graphique ? un cercle je sais, mais un angle je sais pas...
User avatar
Hedg-Hops
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 93.8%
 
Posts: 54
Joined: 09 Nov 2011, 14:06
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ère Scientifique

Re: Aide programmation

Unread postby Bisam » 30 Nov 2011, 11:53

Si par "dessiner un angle" tu veux dire dessiner un arc de de cercle, tu peux t'en sortir en utiliser "DrawParm".
Code: Select all
DrawParm a+R*cos(t),b+R*sin(t),t0,t1

(a,b) sont les coordonnées du centre du cercle (attention, ce sont les coordonnées relatives à la fenêtre et non les coordonnées Pixel !)
R est le rayon du cercle
t0 et t1 les angles de début et de fin de l'arc de cercle en radian (0 pour l'horizontale vers la droite, pi/2 pour la verticale vers le haut).

Pour afficher un certain nombre de chiffres après la virgule tout le temps, tu peux changer le Mode.
[Mode]>[Display digits]>[Float ou Fix n] où n est le nombre de chiffres que tu souhaites.
Pour le faire sur un calcul précis, tu peux te contenter de l'arrondir avec la fonction "round(expr, n)" qui arrondit l'expression expr à n chiffres après la virgule.

Pour changer le mode depuis un programme, utilise la fonction "SetMode". Il vaut mieux la combiner avec "GetMode" pour pouvoir revenir en arrière. Fais une recherche dans le manuel pour savoir comment les utiliser.

Enfin, pour "Disp", je n'ai pas très bien compris la question.
Code: Select all
Disp "truc",a,"machin",b

affichera sur 4 lignes différentes :
truc
la valeur de a
machin
la valeur de b

Si tu veux écrire sur une même ligne le résultat d'un calcul ET une chaîne de caractères, il faut convertir le résultat du calcul en chaîne... et du coup tu perdras l'affichage en PrettyPrint.
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

Re: Aide programmation

Unread postby Hedg-Hops » 30 Nov 2011, 19:11

Merci pour tes réponses j'ai trouvé :) je voulais que il y ait dasn le disp: "truck est égal a:" puis la formul "2pi/sinus(3) = " résultat et la formul+ résultat sur la même ligne (j'ai réussi)

l'angle c'est exactement ça ^^

sinon, comment on défini le mode scientifique/normal ? (pour les puissance de 10 ou pas)

et encore, comment on ajoute des lettre dans une chaine ?
par exemple:
"exemple"-> chaine1
chaine1+"S"->chaine1 // chaine1 = "exempleS"

les chiffres après virgule nickel encore merci ;)
la TI 89 fait-elle des conversion ? si oui lesquel ? sinon je n'ai pas trouvé de programme de conversion ^^
User avatar
Hedg-Hops
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 93.8%
 
Posts: 54
Joined: 09 Nov 2011, 14:06
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ère Scientifique

Re: Aide programmation

Unread postby Bisam » 30 Nov 2011, 23:39

Pour faire une concaténation de chaînes, il faut utiliser les symbole & entre les 2 chaînes.

Pour le mode, tu n'as pas dû chercher beaucoup : [MODE]>[Exponential Format] et là tu as le choix entre Normal, Scientific (1 chiffre avant la virgule puis puissance de 10) ou Engineering (1à 3 chiffres avant la virgule puis puissance de 10^3).

Pour les conversions, je pense que tu parles simplement des multiples et sous-multiples d'unité... et la calculette ne le fait pas directement.
Cependant, tu peux créer tes propres unités... et par exemple définir des unités qui sont de simples constantes multiplicatives mais malheureusement, la calculette ne différencie pas les majuscules des minuscules dans les noms de variables.
Un programme sera donc nécessaire.
Je pencherais néanmoins pour un menu déroulant pour le choix du multiple ou sous-multiple...
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5670
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

PreviousNext

Return to Problèmes divers / Aide débutants

Who is online

Users browsing this forum: ClaudeBot [spider] and 5 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.
970 utilisateurs:
>917 invités
>46 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)