Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Vos tutoriels et astuces


Index du Forum » Vos tutoriels et astuces » Fonction d'arrondi à l'unité pour Basic Casio Graph
Critor En ligne Administrateur Points: 2687 Défis: 18 Message

Fonction d'arrondi à l'unité pour Basic Casio Graph

Posté le 28/12/2018 18:11

En Basic Casio Graph, nous n'avons pas de fonction d'arrondi à l'unité.
Cela amène pour certains programmes à mettre des tests supplémentaires, et donc à alourdir le code.

Et bien en voici une très courte que je viens de développer :
"Int x+Int (2Frac x)"→Y1

J'ai mis Y1 comme nom de fonction, mais rien ne vous empêche d'utiliser un autre nom de fonction autorisé.

Et ça marche :



Lephenixnoir En ligne Administrateur Points: 24676 Défis: 170 Message

Citer : Posté le 28/12/2018 18:19 | #


Pas mal ! Le trick classique que j'utilise en C est en gros le suivant :

Intg (x+.5)→Y1

Je ne l'ai pas testé sur la machine, mais je suppose que ça doit marcher...
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 28/12/2018 18:21 | #


J'aurais tendance à dire Intg (X+.5)→Y1, car Int -0.7 = 0 et Intg -0.7 = -1
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir En ligne Administrateur Points: 24676 Défis: 170 Message

Citer : Posté le 28/12/2018 18:22 | #


Ah, merci Darks ! C'est vrai que la conversion en entier du langage C se comporte comme Intg. J'ai corrigé mon message au-dessus !
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Critor En ligne Administrateur Points: 2687 Défis: 18 Message

Citer : Posté le 28/12/2018 18:37 | #


Oui, j'ai oublié de préciser que j'ai fait attention à ce que ça marche pour les négatifs également.
Lephenixnoir En ligne Administrateur Points: 24676 Défis: 170 Message

Citer : Posté le 28/12/2018 18:39 | #


Après test, je confirme que Int (x+.5) ne marche pas, mais Intg (x+.5) oui.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Critor En ligne Administrateur Points: 2687 Défis: 18 Message

Citer : Posté le 28/12/2018 18:46 | #


Merci pour ton astuce, ça me donne du choix pour évoluer un jour vers un arrondi à plusieurs chiffres après la virgule.
Lephenixnoir En ligne Administrateur Points: 24676 Défis: 170 Message

Citer : Posté le 28/12/2018 18:49 | #


On peut même arrondir à y près pour n'importe quel y en dilatant simplement un peu la fonction (y = 10⁻² pour deux chiffres, par exemple) :

y×Inth(x/y+.5)→Y1

Mais ça marche avec n'importe quelle fonction d'arrondi f, y compris la tienne :

y×f(x/y)

Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Sentaro21 Hors ligne Membre Points: 878 Défis: 0 Message

Citer : Posté le 29/12/2018 14:14 | #


How about RndFix?
RndFix(1.349,0) -> 1
RndFix(1.567,0) -> 2
RndFix(1.567,1) -> 1.6

Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.
Lephenixnoir En ligne Administrateur Points: 24676 Défis: 170 Message

Citer : Posté le 29/12/2018 15:45 | #


Now you just taught me someting!
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Critor En ligne Administrateur Points: 2687 Défis: 18 Message

Citer : Posté le 30/12/2018 00:39 | #


Never found it for some reason.
Thank you very much @Sentaro21 !
Sentaro21 Hors ligne Membre Points: 878 Défis: 0 Message

Citer : Posté le 30/12/2018 07:10 | #


@Lephenixnoir
That's good.

@Critor
Because rounding is often necessary in C.Basic,it is used frequently.

btw,
C.Basic has new option "Sci" of "RndFix(".
RndFix(1234567,Sci 4) -> 1235000

In this context,a bug was found in Sci of display format of current version of C.Basic.
This topic helped the discovery of the bug.
Thanks very much too.
Je continue à développer C.Basic. (Il est compatible avec Basic Casio.)
Overclocking utilitaire Ftune/Ptune2/Ptune3 est également disponible.
Si vous avez des questions ou un rapport de bogue, n'hésitez pas à me le faire savoir.

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 v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 99 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