Affichage 7 segments [fx-92+ Spéciale Collège]
28 posts
• Page 1 of 3 • 1, 2, 3
Affichage 7 segments [fx-92+ Spéciale Collège]
Je me suis amusé à programmer un affichage de type "7 segments" pour la fx-92+
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 )
Ah j'oubliais !.. Un conseil important : ne faîtes pas comme moi, veillez à préalablement régler l'extinction auto à 60 minutes )
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 )
Ah j'oubliais !.. Un conseil important : ne faîtes pas comme moi, veillez à préalablement régler l'extinction auto à 60 minutes )
-
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)- Posts: 770
- Images: 75
- Joined: 14 Sep 2011, 12:29
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Affichage 7 segments [fx-92+ Spéciale Collège]
Hé bien j'ai un peu revu ma copie
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
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
⤴
-
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)- Posts: 770
- Images: 75
- Joined: 14 Sep 2011, 12:29
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Affichage 7 segments [fx-92+ Spéciale Collège]
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.
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.
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 42133
- Images: 16453
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: Affichage 7 segments [fx-92+ Spéciale Collège]
Ah mais oui !! C'est encore mieux !
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:
(https://pastebin.com/WbeekfCd)
Hmmm...Je crois que ça va être dur d'optimiser davantage
...Peut-être en fusionnant les 2 boucles ..? J'en doute
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
...Peut-être en fusionnant les 2 boucles ..? J'en doute
-
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)- Posts: 770
- Images: 75
- Joined: 14 Sep 2011, 12:29
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Affichage 7 segments [fx-92+ Spéciale Collège]
Tiens!..Petite découverte :
On peut remplacer
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:
Intéressant, non ?
Du coup, on peut simplifier encore un peu le programme:
(https://pastebin.com/SXQEmFqz)
On peut remplacer
- Code: Select all
Si (C-5)(C-6)=0 Alors
...
- 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)
-
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)- Posts: 770
- Images: 75
- Joined: 14 Sep 2011, 12:29
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Affichage 7 segments [fx-92+ Spéciale Collège]
Merci pour ces astuces intéressantes, j'y repenserai.
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 42133
- Images: 16453
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: Affichage 7 segments [fx-92+ Spéciale Collège]
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 '==' )
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 '==' )
-
Extra44Premium
Niveau 11: LV (Légende Vivante)- Posts: 591
- Images: 1
- Joined: 20 Jan 2011, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: S.I.
Re: Affichage 7 segments [fx-92+ Spéciale Collège]
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...
Ce qui provoque une "ERREUR de syntaxe"
Idem pour...
ou...
inhabituel, non?
Et pour corser le tout, l'éditeur de programme nous empèche, par exemple, de taper :
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
-
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)- Posts: 770
- Images: 75
- Joined: 14 Sep 2011, 12:29
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Affichage 7 segments [fx-92+ Spéciale Collège]
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.
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.
-
critorAdmin
Niveau 19: CU (Créateur Universel)- Posts: 42133
- Images: 16453
- Joined: 25 Oct 2008, 00:00
- Location: Montpellier
- Gender:
- Calculator(s):→ MyCalcs profile
- YouTube: critor3000
- Twitter: critor2000
- GitHub: critor
Re: Affichage 7 segments [fx-92+ Spéciale Collège]
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
(Je suis ptet bien habitué un peu trop aux "grosses machines", genre ordinateur )
Dans ce cas, vous avez donc bien raison
-
Extra44Premium
Niveau 11: LV (Légende Vivante)- Posts: 591
- Images: 1
- Joined: 20 Jan 2011, 00:00
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: S.I.
28 posts
• Page 1 of 3 • 1, 2, 3
Return to Casio (fx-82/83/85/92/95/115/300/350/500/570/991, Collège)
Who is online
Users browsing this forum: ClaudeBot [spider] and 0 guests