π
<-
Chat plein-écran
[^]

Affichage 7 segments [fx-92+ Spéciale Collège]

:fxesp32b: :fxesp32n: :fxesp32v:

Affichage 7 segments [fx-92+ Spéciale Collège]

Message non lude grosged » 06 Avr 2018, 18:47

Je me suis amusé à programmer un affichage de type "7 segments" pour la fx-92+ :D
Le programme vous demande d'entrer successivement des valeurs codées sur 7 bits, de cette façon:

......
bit 2

bit 3
......
bit 1

......
bit 0

bit 4
......
bit 6

......
bit 5


En entrant successivement les valeurs 1, 2, 4, 8, 16, 32, 64, vous provoquerez l'affichage isolé de chacun des 7 segments ;)

D'où cette autre façon de représenter le codage:

......
4

8
......
2

......
1

16
......
64

......
32


Par exemple, si vous taper directement 8+1+2+64 , la Casio affichera le chiffre 4 ;)

Il est possible d'afficher jusqu'à 13 caractères . (par souci d'esthétique, je vous recommande de désactiver l'affichage du repère orthonormé)

Voici le programme en question (je le trouve un peu long, y a peut-être plus court , plus simple :p)

Image

Ah j'oubliais !.. Un conseil important : ne faîtes pas comme moi, veillez à préalablement régler l'extinction auto à 60 minutes ;) )
Avatar de l’utilisateur
grosgedProg.
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 47.7%
 
Messages: 579
Images: 27
Inscription: 14 Sep 2011, 12:29
Genre: Homme

Re: Affichage 7 segments [fx-92+ Spéciale Collège]

Message non lude grosged » 06 Avr 2018, 20:52

Hé bien j'ai un peu revu ma copie :p
Nouvelle version un peu plus courte : on passe de 29 à 22 lignes ;)

Petite astuce
: si vous souhaitez entrer directement des valeurs en binaire, remplacer simplement
,5Ent(A→A
par
,1Ent(A→A
;)

Code: Tout sélectionner
Style Croix
Aller à x=-94;y=0
Répéter 13
   0→M
   ?→A
   Répéter 7
      M+1→M
      ,5Ent(A→A
      Si A=Ent(A Alors
         Stylo relevé
      Sinon
         Stylo écrit
      Fin
      Avancer de 10 pixels
      Si M≠4 Alors
         Tourner de 90 degrés
      Fin
   ⤴
   Stylo relevé
   S'orienter à 0 degré
   Avancer de 5 pixels
Avatar de l’utilisateur
grosgedProg.
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 47.7%
 
Messages: 579
Images: 27
Inscription: 14 Sep 2011, 12:29
Genre: Homme

Re: Affichage 7 segments [fx-92+ Spéciale Collège]

Message non lude critor » 06 Avr 2018, 21:57

Ah, bien ce premier programme pour fx-92+ Spéciale Collège. :)

Voici une version qui permet directement de saisir le nombre entier à afficher :
http://wes.casio.com/math/index.php?q=I ... 03F901F902

Par contre, elle est basée sur le code de ta première version.
Image
Avatar de l’utilisateur
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Prochain niv.: 78.8%
 
Messages: 30992
Images: 7329
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
Classe: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Re: Affichage 7 segments [fx-92+ Spéciale Collège]

Message non lude grosged » 07 Avr 2018, 09:53

:~o Ah mais oui !! C'est encore mieux ! :D
:idea: Bien joué, ton astuce : pallier le manque de test logique OU grâce aux multiplications ;)

Du coup, j'ai fait le mix avec ma boucle d'affichage précédemment optimisée.
J'en ai profité pour raccourcir un peu quelques lignes de test (Si...Alors...) en prenant comme point de départ 6 segments "allumés" (chiffre 9) par défaut (d'où la variable A à 119)
Mis à part le segment inférieur gauche, cette inversion de tests rend ça plus court ;)
J'ai également un peu chamboulé la façon de tracer (c'était juste pour économiser une ligne quand la Casio se repositionne correctement entre chaque tracé ;) )

Voici donc ce que ça donne:

Code: Tout sélectionner
Style Croix
Aller à x=85; y=0
? →B
Répéter jusqu'à B<1
    ,1Ent(B→B
    10(B-Ent(B→C
    119→A
    Si (C-5)(C-6)=0 Alors
        A-1→A
    Fin
    Si (C-1)(C-4)=0 Alors
        A-2→A
    Fin
    Si (C-1)(C-2)(C-3)(C-7)=0 Alors
        A-4→A
    Fin
    Si C(C-2)(C-6)(C-8)=0 Alors
        A+8→A
    Fin
    Si (C-1)(C-4)(C-7)=0 Alors
        A-16→A
    Fin
    Si C=2 Alors
        A-32→A
    Fin
    Si C(C-1)(C-7)=0 Alors
        A-64→A
    Fin
    0→M
    Répéter 7
        ,5Ent(A→A
        Si A=Ent(A Alors
            Stylo relevé
        Sinon
            Stylo écrit
        Fin
        M+1→M
        Si M≠4 Alors
            Tourner de 90 degrés
        Fin
        Avancer de 10 pixels
    ⤴
    Stylo relevé
    Avancer de 5 pixels
    S'orienter à 0 degré

(https://pastebin.com/WbeekfCd)

Hmmm...Je crois que ça va être dur d'optimiser davantage :p
...Peut-être en fusionnant les 2 boucles ..? J'en doute :#roll#:
Avatar de l’utilisateur
grosgedProg.
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 47.7%
 
Messages: 579
Images: 27
Inscription: 14 Sep 2011, 12:29
Genre: Homme

Re: Affichage 7 segments [fx-92+ Spéciale Collège]

Message non lude grosged » 07 Avr 2018, 17:03

Tiens!..Petite découverte :

On peut remplacer

Code: Tout sélectionner
Si (C-5)(C-6)=0 Alors
...
par...
Code: Tout sélectionner
Si 5≤C≤6 Alors
...


Et quand on souhaite tester par exemple la condition "si C est à la fois différent de 4 et 9",
On peut écrire ça ainsi:

Code: Tout sélectionner
Si 4≠C≠9 Alors
...


Intéressant, non ? :)


Du coup, on peut simplifier encore un peu le programme:

Code: Tout sélectionner
Style Croix
Aller à x=85; y=0
? →B
Répéter jusqu'à B<1
   ,1Ent(B→B
   10(B-Ent(B→C
   117→A
   Si 5≤C≤6 Alors
      A-1→A
   Fin
   Si 1≠C≠4 Alors
      A+2→A
   Fin
   Si (C-1)(C-2)(C-3)(C-7)=0 Alors
      A-4→A
   Fin
   Si C(C-2)(C-6)(C-8)=0 Alors
      A+8→A
   Fin
   Si (C-1)(C-4)(C-7)=0 Alors
      A-16→A
   Fin
   Si C=2 Alors
      A-32→A
   Fin
   Si C(C-1)(C-7)=0 Alors
      A-64→A
   Fin
   0→M
   Répéter 7
      ,5Ent(A→A
      Si A=Ent(A Alors
         Stylo relevé
      Sinon
         Stylo écrit
      Fin
      M+1→M
      Si M≠4 Alors
         Tourner de 90 degrés
      Fin
      Avancer de 10 pixels
   ⤴
   Stylo relevé
   Avancer de 5 pixels
   S'orienter à 0 degré

(https://pastebin.com/SXQEmFqz)
Avatar de l’utilisateur
grosgedProg.
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 47.7%
 
Messages: 579
Images: 27
Inscription: 14 Sep 2011, 12:29
Genre: Homme

Re: Affichage 7 segments [fx-92+ Spéciale Collège]

Message non lude critor » 07 Avr 2018, 17:44

Merci pour ces astuces intéressantes, j'y repenserai. :)
Image
Avatar de l’utilisateur
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Prochain niv.: 78.8%
 
Messages: 30992
Images: 7329
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
Classe: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Re: Affichage 7 segments [fx-92+ Spéciale Collège]

Message non lude Extra44 » 07 Avr 2018, 17:46

Petite correction quand même...
Le test logique a OU b (en supposant que a est un test qui rend 0 ou 1....je ne connais pas ce que rend la calto quand ça renvoie 'vrai (1, -1,...?) ) peut se remplacer par une ADDITION (Et non par une multiplication ).
Exemple : si à et b sont des tests renvoyant 0 ou 1 alors :
"a OU b" peut s'écrire "a + b>=1" (voire " a + b" tout court selon le fonctionnement de la calto)
De même le ET logique peut se remplacer par une multiplication !
Exemple : "a ET b" par "a x b"
Tant qu'à faire on peut donc écrire le ou exclusif...
"a ou ex b "par "a + b =1" ('=' ou '==' )
Avatar de l’utilisateur
Extra44Premium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 30%
 
Messages: 443
Images: 1
Inscription: 20 Jan 2011, 00:00
Genre: Homme
Calculatrice(s):
Classe: S.I.

Re: Affichage 7 segments [fx-92+ Spéciale Collège]

Message non lude grosged » 07 Avr 2018, 17:53

Oui, je suis tout à fait d'accord avec ce que tu dis ;)

Le hic , c'est qu'avec la fx-92+, je nai pas l'impression qu'elle renvoie 1 (ou -1) pour une valeur "vraie" ou 0 pour une valeur "fausse" (en tout cas, je n'arrive pas à le confirmer ou l'infirmer)

Par exemple, je viens de tenter un...

Code: Tout sélectionner
Si (A≠1)+(A<9) Alors
...


Ce qui provoque une "ERREUR de syntaxe" :(

Idem pour...
Code: Tout sélectionner
Si (A≠1)+(A<9)=0 Alors
...

ou...
Code: Tout sélectionner
Si (A≠1)(A<9)=0 Alors
...


inhabituel, non?

Et pour corser le tout, l'éditeur de programme nous empèche, par exemple, de taper :
Code: Tout sélectionner
(A=6)→B
Avatar de l’utilisateur
grosgedProg.
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 47.7%
 
Messages: 579
Images: 27
Inscription: 14 Sep 2011, 12:29
Genre: Homme

Re: Affichage 7 segments [fx-92+ Spéciale Collège]

Message non lude critor » 07 Avr 2018, 19:05

Oui, j'avais remarqué que l'on ne pouvait pas faire de calcul avec les résultats de tests.
Donc Vrai/Faux n'ont pas d'équivalent numérique.

Inhabituel sur cette gamme de prix en effet. Et dommage puisque cela nous verrouille nombre d'astuces d'écriture de tests. :(
Image
Avatar de l’utilisateur
critorAdmin.
Niveau 18: DC (Deus ex Calculatorum)
Niveau 18: DC (Deus ex Calculatorum)
Prochain niv.: 78.8%
 
Messages: 30992
Images: 7329
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
Classe: Lycée
YouTube: critor3000
Twitter: critor2000
Facebook: critor.ti

Re: Affichage 7 segments [fx-92+ Spéciale Collège]

Message non lude Extra44 » 07 Avr 2018, 20:49

Ha bon, bizarre cette "petite" machine.
(Je suis ptet bien habitué un peu trop aux "grosses machines", genre ordinateur ;-) )

Dans ce cas, vous avez donc bien raison ;-)
Avatar de l’utilisateur
Extra44Premium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 30%
 
Messages: 443
Images: 1
Inscription: 20 Jan 2011, 00:00
Genre: Homme
Calculatrice(s):
Classe: S.I.

Suivante

Retourner vers Casio (fx-82/83/85/92/95/115/300/350/500/570/991, Collège)

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

-
Rechercher
-
Sujets à la une
"NumWorks++": Challenge de modification matérielle pour rajouter une puce de mémoire Flash !
Offre TI-Planet/Jarrety pour avoir la TI-83 Premium CE avec son chargeur pour 79,79€ port inclus !
Offre TI-Planet/Jarrety pour avoir la TI-Nspire CX CAS à seulement 130€ TTC port inclus!
Jailbreake ta TI-Nspire avec Ndless et profite des meilleurs jeux et applications !
Transforme ta TI-Nspire CX en console Game Boy Advance!
12345
-
Donations/Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
PayPal : paiement en ligne sécurisé - secure online payments
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety 
-
Stats.
305 utilisateurs:
>294 invités
>5 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)