π
<-
Chat plein-écran
[^]

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

:fxesp32b: :fxesp32n: :fxesp32v:

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

Unread postby grosged » 06 Apr 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 ;) )
User avatar
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 30.2%
 
Posts: 770
Images: 75
Joined: 14 Sep 2011, 12:29
Gender: Not specified
Calculator(s):
MyCalcs profile

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

Unread postby grosged » 06 Apr 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: Select all
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
User avatar
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 30.2%
 
Posts: 770
Images: 75
Joined: 14 Sep 2011, 12:29
Gender: Not specified
Calculator(s):
MyCalcs profile

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

Unread postby critor » 06 Apr 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
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 41.8%
 
Posts: 41467
Images: 14480
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

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

Unread postby grosged » 07 Apr 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: Select all
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#:
User avatar
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 30.2%
 
Posts: 770
Images: 75
Joined: 14 Sep 2011, 12:29
Gender: Not specified
Calculator(s):
MyCalcs profile

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

Unread postby grosged » 07 Apr 2018, 17:03

Tiens!..Petite découverte :

On peut remplacer

Code: Select all
Si (C-5)(C-6)=0 Alors
...
par...
Code: Select all
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: Select all
Si 4≠C≠9 Alors
...


Intéressant, non ? :)


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

Code: Select all
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)
User avatar
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 30.2%
 
Posts: 770
Images: 75
Joined: 14 Sep 2011, 12:29
Gender: Not specified
Calculator(s):
MyCalcs profile

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

Unread postby critor » 07 Apr 2018, 17:44

Merci pour ces astuces intéressantes, j'y repenserai. :)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 41.8%
 
Posts: 41467
Images: 14480
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

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

Unread postby Extra44 » 07 Apr 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 '==' )
User avatar
Extra44Premium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 58.4%
 
Posts: 591
Images: 1
Joined: 20 Jan 2011, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: S.I.

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

Unread postby grosged » 07 Apr 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: Select all
Si (A≠1)+(A<9) Alors
...


Ce qui provoque une "ERREUR de syntaxe" :(

Idem pour...
Code: Select all
Si (A≠1)+(A<9)=0 Alors
...

ou...
Code: Select all
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: Select all
(A=6)→B
User avatar
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 30.2%
 
Posts: 770
Images: 75
Joined: 14 Sep 2011, 12:29
Gender: Not specified
Calculator(s):
MyCalcs profile

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

Unread postby critor » 07 Apr 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
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 41.8%
 
Posts: 41467
Images: 14480
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

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

Unread postby Extra44 » 07 Apr 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 ;-)
User avatar
Extra44Premium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 58.4%
 
Posts: 591
Images: 1
Joined: 20 Jan 2011, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: S.I.

Next

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

Who is online

Users browsing this forum: No registered users and 9 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
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.
1022 utilisateurs:
>1005 invités
>13 membres
>4 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)