Posté le 18/12/2013 12:12
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 250 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
Citer : Posté le 18/12/2013 12:30 | #
Then 3+In (Log (Abs A->Z
Else 3->Z
IfEnd
Locate 1,1,A
Locate 1,Z,"€"
Le seul défaut : ne prend pas en compte les nombres décimaux.
Sinon, tu as Alphaconvert de Dark Storm qui utilise les Str.
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<
Citer : Posté le 18/12/2013 12:33 | #
Pour connaitre la taille d'un nombre non-negatif et sans virgule, utilise log
(int (log 99)) +1 = 2
(int (log 4832))+1 = 4
Ect.
En fait la fonction log te renvoye la reciproque de 10^.
Donc par exemple,
log A = 20 <=> 10^20 = A
log 500 = 2.69 <=> 10^2.69 = 500
Ajouté le 18/12/2013 à 12:35 :
Euh... Totoyo t'aurais pas oublié une condition? car le if A est bizarre
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 18/12/2013 12:38 | #
J'ai inversé le Then et le Else
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<
Citer : Posté le 18/12/2013 12:59 | #
Je vais tester ça, dommage que Casio n'ait pas pensé à une fonction simple...
@ Dodormeur, j'ai aussi des pourcentages, à virgule, et négatifs, t'as un plan B ?
Merci à vous !
Edit Louloux : attention à l'orthographe et à la ponctuation.
Citer : Posté le 18/12/2013 13:01 | #
Tu as regardé Alpha Convert ?
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<
Citer : Posté le 18/12/2013 13:16 | #
Alors, il y a moyen de faire un sous-programme qui te fait ca
Tu met ta variable dans Z, et après tu appelles ce sous-programme, et dans Y tu aura le nombre de caracteres (- et , compris)
0->Y
int (log (abs Z))->Y
Z<0=>Y+1->Y //-
if int Z ≠ Z
then Y+1->Y//virgule
for 1->A to 1
Y+1->Y
int (Z*10^a) != (Z*10^a) =>break;
next
ifEnd
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 18/12/2013 13:54 | # | Fichier joint
Tu peux te servir des Str : la fonction Exp>Str permet de transformer une expression (donc un nombre aussi) en chaîne de caractères, et la fonction StrJoin permet d'ajouter à cette chaîne une autre chaîne (donc ton signe €).
Pour savoir comment les utiliser :
Citer : Posté le 18/12/2013 15:48 | #
@ loulou
c'est très aimable à toi de me copier coller le mode d'emploi,
maintenant, si tu peux me démontrer que la méthode marche je te paie le champagne.....
J'avais aussi essayé cette voie mais ça ne marche pas.....
Citer : Posté le 18/12/2013 16:04 | # | Fichier joint
@ totoyo et @ dodormeur
Vous êtes des génies!!!!! Le log, fallait y penser!!!!!
Voila le sous programme fini (et qui marche!!)
permet d'ajouter le signe € à la fin d'un nombre, positif, et/ou négatif, et en plus il compte les chiffre après la virgule 8)
Voir fichier g3m joint
La variable est A
transformée en Z
Les chiffres après la virgule sont X
La somme de tout ça donne la position du "€"
Je ne sais pas pourquoi mais je dois décaler de +2 pour l'entier et pour la virgule..
J'ai finalement ajouter quelques lignes pour la valeur 0
finalement, ça ne marche pas à 100%
ya un problème avec les nombres genre: 0.000236
?→A
A→Z
Abs Z→Z
'taille entier+2
Int (log Z+2)→Y
'si neg +1
A<0⇒Y+1→Y
'si virgule +2
If Int A≠A
Then
Y+2→Y
IfEnd
'apres virgule·
If Z≠(Int Z)
Then
Z-(Int Z)→X
Else
Goto 1
IfEnd
Lbl 0
X*10→X
If X≠(Int X)
Then
Goto 0
Else
Int (log (Abs X))→X
IfEnd
X+Y→Y
Lbl 1
Locate 1,3,A
Locate Y,3,"€"
Pffffff ça soulage quand ça marche!!!!!
Encore merci+++++
Modifié par Dark Storm : merci d'utiliser la balise [ code ]
Citer : Posté le 18/12/2013 16:21 | #
Frac renvoie la partie décimale du nombre. Remplace-le au lieu de Z-(Int Z).
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<
Citer : Posté le 18/12/2013 16:45 | #
@ loulou
c'est très aimable à toi de me copier coller le mode d'emploi,
maintenant, si tu peux me démontrer que la méthode marche je te paie le champagne.....
J'avais aussi essayé cette voie mais ça ne marche pas.....
Je me suis déjà servi de telles fonctions sur ClassPad, donc je sais que cette méthode marche.
Pour m'envoyer le champagne c'est 42 rue Héverlor, 01 337 Sacémieux.
PS : c'est Louloux et pas loulou.
Citer : Posté le 18/12/2013 16:59 | #
On retrouve souvent 42 chez toi Louloux
Citer : Posté le 18/12/2013 17:39 | #
bon ok,
montre moi le script alors STP,
moi je n'ai pas réussi,
jte jure que je te l'envoie le champagne!!!
Ajouté le 19/12/2013 à 15:00 :
résultat final... en attendant la réponse de loulouX
Là ça marche à 100% dans la limite d'un affichage "norm" suffisant pour pour des euros donc.
0→Q
0→X
?→A
'si a=0
If A=0
Then 2
2→Y
Goto 1
IfEnd
'si entier a=0
If Int A=0
Then
2→Y
IfEnd
'taille entier si>0
If Int (Abs A)>0
Then
Int (log (Abs A))+2→Y
IfEnd
'si neg +1
A<0⇒Y+1→Y
'si virgule +1
If Int A≠A
Then
Y+1→Y
IfEnd
'apres virgule
(Frac (Abs A))→X
If X>0
Then
Goto 0
Else
Goto 1
IfEnd
'comptage après virgule
Lbl 0
If Frac X>0
Then
X*10→X
Q+1→Q
Goto 0
Else
log (10^Q)→X
IfEnd
X+Y→Y
'vérification
Lbl 1
Locate 1,3,A
Locate Y,3,"€"
bon, faut aimer se prendre la tête pour du détail... mais ça fait plaisir :-)
Modifié par Dark Storm : merci d'utiliser la balise [ code ]
Citer : Posté le 19/12/2013 18:52 | #
Tiens, ça me fait penser que récemment, j'avais essayé de faire un algorithme qui convertit n'importe quel nombre en String.
Mais ça me prenait la tête donc je l'ai laissé de côté
Citer : Posté le 19/12/2013 19:09 | #
tu pourrais partager l'ébauche, ça donnerait des idées....
Citer : Posté le 19/12/2013 20:37 | #
Non, pour l'instant c'est un code de 208 octets qui ne marche même pas comme il faut, que j'ai programmé vite fait
Citer : Posté le 24/03/2014 14:34 | #
Désolé d'upper le topic mais le sujet m'intéressait à la vue du titre mais en fait j'ai l'impression que y'a pas la réponse
Donc finalement, est ce qu'on peut insérer une variable dans un String ?
En fait, je voudrais utiliser la fonction Menu, mais dans les choix possibles afficher des valeurs de variables, c'est possible ?
Désolé, j'ai des années de retard en prog Casio à rattraper
PS : Et si le champagne est toujours dispo, j'ai une adresse également
Citer : Posté le 24/03/2014 16:45 | #
Le programme que j'utilise:
[b][blue]If[/blue][/b] θ≠0 And θ≠-1
[b][blue]Then[/blue][/b] Abs θ
[b][blue]For[/blue][/b] [maroon]1[/maroon][b]->[/b]r [b][blue]To[/blue][/b] [maroon]1[/maroon]+Intg log Ans
StrMid([gray]"0123456789"[/gray],[maroon]1[/maroon]+Int (10Frac (θÁ10^ª)),[maroon]1[/maroon])+Str [maroon]2[/maroon][b]->[/b]Str [maroon]2[/maroon]
[b][blue]Next[/blue][/b]
[b][blue]If[/blue][/b] Frac θ≠0
[b][blue]Then[/blue][/b] Str [maroon]2[/maroon]+[gray]"."[/gray][b]->[/b]Str [maroon]2[/maroon]
-1[b]->[/b]r
[b][blue]While[/blue][/b] Frac (θ*10^(r+1))≠0
r+1[b]->[/b]r
Str [maroon]2[/maroon]+StrMid([gray]"0123456789"[/gray],[maroon]10[/maroon]Frac (.1Int (10(Frac Ans*10^r)))+1,[maroon]1[/maroon])[b]->[/b]Str [maroon]2[/maroon]
[b][blue]WhileEnd[/blue][/b]
[b][blue]IfEnd[/blue][/b]
θ<0⇒[gray]"-"[/gray]+Str [maroon]2[/maroon][b]->[/b]Str [maroon]2[/maroon]
[b][blue]Else[/blue][/b] θ=[maroon]0[/maroon]⇒[gray]"0"[/gray][b]->[/b]Str [maroon]2[/maroon]
θ=-1⇒[gray]"-1"[/gray][b]->[/b]Str [maroon]2[/maroon]
[b][blue]IfEnd[/blue][/b]
Après il suffit de mettre ça dans un sous-programme pour l’appeler dès qu'on veut, le code marche pour les nombres positifs et négatifs mais pas avec les nombres à virgule.
Par contre je ne sais plus où j'ai trouvé cette fonction