Espace TI: Forum
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

TI-BASIC Code touche

3 participants

Aller en bas

TI-BASIC Code touche Empty TI-BASIC Code touche

Message par jovasco Sam 16 Fév - 20:28

Bonjour
je cherche le moyen avec "codeTouche" de faire en sorte que ça génère une action différente à chaque appui comme un bouton poussoir qui allume ou éteint une lampe

exemple j'appuie sur la touche f(x) ça m'affiche 1
je réappuie ça m’affiche 0
je réappuie ça m'affiche 1
etc ...

j'ai bien fais un code mais ce n'est pas très performant ...
Code:
0->x
While codeTouche<>105
    if codeTouche=11
    Then
        Disp X
        if X=1
        Then
            0->X
        Else
            1->X
        End
    End
End

merci de vos conseils
jovasco
jovasco
Argent 4
Argent 4

Age : 68
Messages : 80
Date d'inscription : 01/12/2012
Points Forum : 6
Points Concours : 0
Langages :
  • - TI-Basic Z80
Calculatrices :
  • - TI-80
  • - TI-82 Stats.fr
  • - TI-86
  • - TI-89

TI-82 Stats.fr


Revenir en haut Aller en bas

TI-BASIC Code touche Empty Re: TI-BASIC Code touche

Message par linkakro Sam 16 Fév - 20:47

En clair tu veux réaliser des bascules, comme en logique séquentielle.
Tu utilises déjà une variable d'état alors pas de problème.

Tu n'utilises pas correctement le codeTouche.
Il faut l'écrire une seule fois et stocker son état si tu veux le réutiliser à plusieurs endroits ou plus tard et que Rép ne convient pas.

Code:
EffVar X
Disp X
While K-105
codeTouche->K
If K=11
Then
non(X->X  // convient uniquement pour les états binaires
Disp X
End
End
linkakro
linkakro
Or 4
Or 4

Sexe : Masculin
Age : 30
Messages : 768
Date d'inscription : 01/07/2010
Etudes : dut geii (elec/info)
Points Forum : 51
Points Concours : 8
Langages :
  • - TI-Basic Z80
  • - ASM TI-82 Stats / TI-83
  • - ASM TI-83+ / TI-84+
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-84 Pocket.fr

TI-84+ SE


Revenir en haut Aller en bas

TI-BASIC Code touche Empty Re: TI-BASIC Code touche

Message par jovasco Sam 16 Fév - 21:16

parfait ah oui c'est vrai que là ça marche impeccablement bien

et je n'ai pas du tout pensé à utiliser NOT non(x)->x qui bascule de 1 à 0

un grand merci comme d'habitude
jovasco
jovasco
Argent 4
Argent 4

Age : 68
Messages : 80
Date d'inscription : 01/12/2012
Points Forum : 6
Points Concours : 0
Langages :
  • - TI-Basic Z80
Calculatrices :
  • - TI-80
  • - TI-82 Stats.fr
  • - TI-86
  • - TI-89

TI-82 Stats.fr


Revenir en haut Aller en bas

TI-BASIC Code touche Empty Re: TI-BASIC Code touche

Message par maxence Dim 17 Fév - 14:43

Tu peux faire un code très optimisé pour modifier l'état de ton bit de cette manière:

Code:

:EffVar X
:While K-105
:CodeTouche(→K
:abs(X-(K=11→X
:Enf

Je me permet juste de compléter le code de linkakro, car celui que je viens de présenter est peut-être plus utile si tu veux simplement modifier ton bit et non pas l'afficher, sinon le code de linkakro reste le meilleur.
maxence
maxence
Or 4
Or 4

Sexe : Masculin
Age : 27
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-84+

TI-84+


Revenir en haut Aller en bas

TI-BASIC Code touche Empty Re: TI-BASIC Code touche

Message par linkakro Dim 24 Fév - 16:58

Je te conseille plutôt l'opération suivante :
X OuExcl (K=11→X
avec OuExcl qui devient simplement "xor" en anglais
Cela revient bien à une inversion conditionnelle.
linkakro
linkakro
Or 4
Or 4

Sexe : Masculin
Age : 30
Messages : 768
Date d'inscription : 01/07/2010
Etudes : dut geii (elec/info)
Points Forum : 51
Points Concours : 8
Langages :
  • - TI-Basic Z80
  • - ASM TI-82 Stats / TI-83
  • - ASM TI-83+ / TI-84+
Calculatrices :
  • - TI-82 Stats.fr
  • - TI-84 Pocket.fr

TI-84+ SE


Revenir en haut Aller en bas

TI-BASIC Code touche Empty Re: TI-BASIC Code touche

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum