π
<-

Aide programmation

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

Re: Aide programmation

Unread postby Hedg-Hops » 23 Nov 2011, 19:51

et je peut faire genre
if main\programm = archive Then
unarchive main\programm
Else
archive main\programm
endif

?
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 » 23 Nov 2011, 20:12

isArchiv() ? Mais ça n'est dispo que sur la toute dernière version de l'OS, ça ne fonctionnera pas sur les versions plus anciennes (ce qui est un handicap, si tu veux distribuer tes programmes).
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 » 23 Nov 2011, 20:25

J'ai un problème de programmation plus sérieux pour toi ^^

Alors, dans l'écran IO il y aura ça
Code: Select all
Programme:
x numéro 1 <-
  numéro 2
  numéro 3
x numéro 4
  numéro 5


faut définir un getkey pour que la chaine "<-" bouge de bas en haut grace au flèche (dire que si la flèche est en haut elle va en bas et vice versa)
et que si j'appui sur entré a la numéro 1 par exemple, elle archive ou désarchive le programme ! ;)

je te montre mon code: (mais juste un début c'est la première fois sur 89 que je fais le getkey)

Code: Select all
output 1,1," programmes: "
output 2,2,"numéro 1"
output 3,2,"numéro 2"
output 4,2,"numéro 3"
output 5,2,"numéro 4"
output 6,2,"numéro 5"
"<-" [sto>] str1   //chaine 1 = "<-"
output 2,11,str1
2->A
repeat key=13     //enter
output A,11,str1
repeat K
getKey-> key
endkey

output A,11,"  "
A+(key=338)-(key=334)->A
if A=0
5->A
if A=6
1->A




voila si tu pouvais m'expliqué la suite ^^', ou réparer les erreur que j'ai faite (je me suis basé sur mes connaissances en z80 tu l'auras compris ;)...)
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 Creative Basic » 23 Nov 2011, 21:20

Salut!
Juste, par rapport à ton code... tu es obligé d'utiliser Output (IO) tu veux pas passer par le Draw? :)
C'est plus simple... enfin j'ai toujours fait ça dans mes progs
Dis moi si ca t'intéresse de cette manière
User avatar
Creative Basic
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 57%
 
Posts: 93
Joined: 24 Jul 2011, 12:51
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Aide programmation

Unread postby Hedg-Hops » 23 Nov 2011, 21:22

Oui je veux bien ! :P j'apprendrai les 2 manières de toute façon :)
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 Creative Basic » 23 Nov 2011, 21:31

Ok. par contre les chiffres que je donne sont à reprendre (je ne vérifie pas ce que cela donne on calc, c'est juste pour te donner un exemple -- et je ne suis plus sur des codes getkey pour bas et haut)
Pxltext "Mes programmes",0,0
Pxltext "numéro 1",20,0
Pxltext "numéro 2",40,0
pxltext "numéro 3",60,0
1 -> a
loop
getkey() ->k
if k=338: a-1->a
if k=344: a+1->a
if a>3:1->a -- pour ton exemple il faudra : if a>6:1->a
if a<1:3->a
if a=1 then:pxltext "<-",20,50:pxltext " ",40,50:pxltext " ",60,50:endif
if a=2 then:pxltext " ",20,50:pxltext "<-",40,50:pxltext " ",60,50:endif
if a=3 then:pxltext " ",20,50:pxltext " ",40,50:pxltext "<-",60,50:endif
if k=13:goto suite
endloop
lbl suite
if a=1:programme1()
if a=2:programme2()
if a=3:programme3()
...
Voilà, le code n'est pas optimisé mais il devrait te permettre d'avancer.
Dis moi si ça te parle ou si tu as besoin de plus d'explication
User avatar
Creative Basic
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 57%
 
Posts: 93
Joined: 24 Jul 2011, 12:51
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Aide programmation

Unread postby Hedg-Hops » 23 Nov 2011, 21:37

Merci ! non je comprend ça va, ma ligne "A+(key=338)-(key=334)->A" ne marche pas ;) je vais faire ça, puis j'essairai de faire de même en plaçant une boucle pour éviter de mettre 5 longue condition (je faisait de la programmation z80 alors jsuis tatillon sur le gain d'octet ;)

merci encore !
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 » 23 Nov 2011, 22:26

Voila ! j'ai réussi ! :))

Code: Select all
Lbl test
PxlText "programe\:",0,10
PxlText "numéro 1",10,10
PxlText "numéro 2",20,10
PxlText "numéro 3",30,10
PxlText "numéro 4",40,10
PxlText "numéro 5",50,10
1->a
0->k
While k#13     // pas égal à
    PxlText "<",10a,60
    While k=0
        getKey()->k
    EndWhile
    PxlText " ",10a,60
    if k=338:a-1->a         // pourquoi ici, a+(k=338)-(k=344)->a   n'est pas correcte ?
    if k=344;a+1->a        /
    if a>5:1->a               // et ici ? a+(a>5)-(a<1)->a
    if a<1:5->a
    0->k
EndWhile
 


voila, je n'ai pas encore fais la suite, mais je le fais bientôt !
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 » 24 Nov 2011, 23:07

Pour ce qui est du a+(k=338)-(k=344), ça ne marche pas car la TI89 gère les variables booléennes, contrairement à la TI84 (et à d'autres langages comme le C).
Par conséquent, (k=338) est égal à "true", à "false" ou à "undef"... mais pas à 0 ou 1.

Par ailleurs, tu peux utiliser la factorisation de code pour gagner de la place.

Enfin, ta boucle "while k#13..." ne se termine jamais car tu redonnes la valeur 0 à k à la fin !

Voici ce que ça donne, si on corrige et si on améliore :
Code: Select all
Lbl test
PxlText "programme\:",0,10
for i,1,5
    PxlText "numéro "&string(i),10*i,10
endfor
1->a
0->k
While k#13                    // k différent de 13
    PxlText "<",10a,60
    0->k
    While k=0
        getKey()->k
    EndWhile
    PxlText " ",10a,60
    if k=338
       mod(a-2,5)+1->a     // si a>1, mod(a-2,5)=a-2, si a=1, mod(a-2,5)=4
    if k=344
       mod(a,5)+1->a        // si a<5, mod(a,5)=a, si a=5, mod(a,5)=0
EndWhile
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 » 25 Nov 2011, 10:06

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)

Code: Select all
Lbl 0
2->dim(L1)     // bloque
{12,9,6,3,2,1,0,-1,-2,-3,-6,-9,-12,-15}-> L2   // bloque
L2(A+7B-7)->C  // liste toujours je bloque
C->L1(W)   // L1(1) ou L1(2)
input Str1,variable 
P(L1(1)-L1(2))->U

//comment on défini un nombre (5) dans une variable en une string ? (le contraire de expr() )

variable1->variable2  // marche pas !!!
if vaariable1=1:"A"
if vaariable2=2:"B"
ans(1)-> str1   // invalide ans...


mon programme que j'ai poster, "puissance 10" dans les convertion il y a tout le programme si tu veux le voir en z80.
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

PreviousNext

Return to Problèmes divers / Aide débutants

Who is online

Users browsing this forum: ClaudeBot [spider] and 6 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.
766 utilisateurs:
>743 invités
>16 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)