Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Vos tutoriels et astuces


Index du Forum » Vos tutoriels et astuces » Chiffres compressés
Ray Hors ligne Membre Points: 1338 Défis: 18 Message

Chiffres compressés

Posté le 15/07/2012 18:14

Bonjour à tous, j'ai eu une petite idée de compression de chiffres, un exemple :

"Vous avez le chiffre 1256 et vous voulez obtenir le 1 ? 2 ? 5 ? 6 ? mais comment faire ?"
Voici comment obtenir par exemple l'unité : le 6,
Imaginons que 1256 soit dans la variable A,
A->B
B/10->B
Int B->B
B*10->B
A-B->C
C[DISP]

Voilà pour le 6, mais comment faire pour le 5, ou le 2 ?
C'est à peu près pareil :
-Pour le 5 :
A->B
B/100->B
Int B->B
B*100->B
A-B->C
C/10->C
Int C
C[DISP]

-Pour le 2
A->B
B/1000->B
Int B->B
B*1000->B
A-B->C
C/100->C
Int C
C[DISP]

Voilà, et pour obtenir le 1, très très simple :
A/1000->A
Int A->A
A[DISP]

Voilà pour la petite explication, voici maintenant un petit logiciel à recopier pour illustrer ce que je dis :
While 1
ClrText
?->A
"1 Unite"
"2 Dizaine"
"3 Centaine"
"4 Millier"
?->D
D=1=>10->E
D=2=>100->E
D=3=>1000->E
D=4=>10000->E
A->B
B/E->B
Int B->B
B*E->B
A-B->C
If D>=2
Then C/(E/10)->C
Int C->C
IfEnd
C[DISP]
WhileEnd

En espérant que ma trouvaille puisse inspirer quelqu'un à créer un logiciel avec les chiffres compressés, ça peut être utile pour économiser des Variables ou des Listes/Matrices.


Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 15/07/2012 18:33 | #


Les chiffres sont les caractères utilisés pour écrire des nombres. Seuls les nombres ont une valeur numérique.

De plus, ta méthode est incroyablement compliquée.
Pour récupérer le Nième chiffre d'un nombre, il suffit de faire :
MOD(Int (A/EN),10)
E étant le symbole x10^x (à coté de EXE)
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 15/07/2012 19:13 | #


Pour le chiffre des unités, tu n'as qu'à faire
10Frac .1A[DISP]

Ray Hors ligne Membre Points: 1338 Défis: 18 Message

Citer : Posté le 15/07/2012 23:31 | #


Ah, je ne connaissait pas ces fonctions.
Mais bon, pourquoi faire simple quand on peut faire compliqué ?
Au moins ça m'a occupé une partie de mon après-midi.
J'espère qu'un sujet aussi inutile ne vous dérange pas...
Projets que je soutiens
Masquer
Totoyo Hors ligne Membre d'honneur Points: 16040 Défis: 102 Message

Citer : Posté le 15/07/2012 23:47 | #


Y a pire comme topics inutiles

En soit, le thème de l'astuce peut être bien pour les débutants recherchant des optimisations de la mémoire, mais il faut des codes et des exemples plus génériques.


LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2021 | Il y a 78 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd