Posté le 05/07/2014 22:07
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 236 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 05/07/2014 23:48 | # | Fichier joint
Bonjour,
J'ai un peu allégé mon programme et j'ai ajouté l'erreur entre la fraction de départ (G/P)
et la fraction obtenue (N/D) après une itération (G/P-N/D).
Le peu de ligne disponible à l'affichage ne me permet pas d'écrire "erreur :" avant l'affichage
de la valeur de l'erreur !
Ci joint le programme modifié.
Comme je ne pouvais pas afficher le N° du résultat, je l'ai supprimé.
Quelqu'un peut-il me dire comment afficher :
RESULTAT "i" :
à chaque itération ?
Cordialement,
GUGUSSE.
Citer : Posté le 06/07/2014 08:13 | #
Bonjour,
Tu as deux posibilités.
La première est la plus simple, il te suffit de mettre
I
Mais c'est embêtant car cela implique un retour automatique à la ligne, et permet très peu de gérer la mise en page.
La suivante est plus efficace, elle utilise la commande Locate. Au cas où, la commande Locate se trouve dans le menu I/O ([SHIFT][VARS][F6][F4]) et s'utilise comme suit :
Du coup, tu peux afficher "Resultat i" comme suit :
Locate 10,1,I
Tu peux toujours déplacer les inscription sur l'écran en modifiant les coordonnées, mais garde bien le I 9 caractères plus loin que le "Resultat".
Enfin, x doit être compris entre 1 et 21, et y entre 1 et 7, sinon tu obtiens une erreur Argument à l'exécution.
Cela répond-il à ta question ?
Cordialement,
LePhenixNoir
Citer : Posté le 07/07/2014 20:50 | # | Fichier joint
Bonjour Phénix,
J'ai essayé les deux solutions et dans les deux cas, j'obtiens le même résultat,
à savoir que "résultat " n'apparaît pas et qu'un "Disp" viens tout perturber !
(voir pièce jointe). Est-ce que cela ne viendrait-il pas du fait que je demande
un arrêt (le triangle noir) ? Y a t-il moyen de faire autrement ?
En tout cas, merci de vous être intéressé à mon problème,
cordialement,
GUGUSSE.
Citer : Posté le 07/07/2014 21:24 | #
Bonjour,
Une chose est sûre.
Si tu utilises Locate avec un Disp (le triangle noir), cela rendra mal car le "-Disp-" va apparaître sur la première ligne et l'effacer. Mon Locate dans l'exemple ci-dessus l'affichait sur la première ligne, c'est pourquoi tu n'as pas pu le voir. Et le "-Disp-" vient en effet du triangle noir, puisqu'il s'agit de la fonction "Display".
Par conséquent, il est plus pratique d'utiliser la fonction Getkey. Elle aura ici l'avantage de ne rien afficher en plus à l'écran. Voilà comment tu devras l'utiliser :
While Getkey≠31:WhileEnd
Tu peux trouver cette fonction dans le menu I/O ([SHIFT][VARS][F6][F4]). Son fonctionnement est simple : si aucune touche n'est pressée, elle renvoie 0, sinon elle renvoie une valeur qui désigne la touche.
Ici, nous avons donc deux boucles. La première tourne tant que Getkey renvoie quelque chose de différent de 0, donc tant qu'une touche est pressée. Elle se termine donc lorsqu'aucune touche ne l'est.
La seconde tourne tant que Getkey renvoie une valeur différente de 31. 31 étant le code de la touche [EXE], cette boucle se terminera lorsque cette dernière sera pressée.
Pour résumer, les deux boucles attendent que l'on relâche toutes les touches puis que l'on appuie sur [EXE]. Cela te permet d'obtenir un fonctionnement semblable au Disp, mais rien ne s'affiche à l'écran -- en revanche, tu auras le petit carré noir en haut à droite de l'écran.
Finalement, je te conseille d'utiliser une combinaison de Locate et de Getkey pour obtenir le meilleur résultat. Voilà un code d'exemple :
Locate 11,2,I
While Getkey:WhileEnd
While Getkey≠31:WhilEnd
Je pense que ceci répondra mieux à ton besoin.
Cordialement,
LePhenixNoir
Citer : Posté le 08/07/2014 16:28 | # | Fichier joint
Bonjour,
Un grand merci pour m'avoir aidé.
J'essaierai à l'avenir de me rappeler cette astuce, mais une seule boucle suffit !
Ci-joint le programme complet pour ceux que cela intéresse : il permet de trouver
des fractions dont la valeur s'approche de plus en plus de la valeur souhaitée au
fur et à mesure que l'on fait des itérations pour s'arrêter quand le programme "tombe"
sur la fraction initiale.
Utile pour trouver un équivalent approché d'une fraction avec un nombre premier en
numérateur et/ou dénominateur.
Bien cordialement,
GUGUSSE
Citer : Posté le 08/07/2014 16:37 | #
Bonjour,
J'essaierai à l'avenir de me rappeler cette astuce, mais une seule boucle suffit !
Pour bien préciser les choses, en effet une seule boucle (la seconde) suffit. Néanmoins, si tu omets la première, alors en restant appuyé sur [EXE], les boucles se termineront immédiatement. Cela pose problème, car si tu affiches plusieurs résultats d'affilée en les séparant par une telle boucle, si le programme s'exécute vite, le temps que tu relâches la touche [EXE], plusieurs résultats auront pu être affichés.
Je ne sais pas si je suis clair... en gros si on reste appuyé sur [EXE] (avec une seule boucle), le programme ne fait plus de pause, alors qu'avec deux boucles on est obligé de relâcher la touche d'abord -- ce qui correspond plus au fonctionnement du Disp.
Par ailleurs, c'est un programme assez utile.
J'en avais utilisé un une fois qui approchait une valeur décimale par une fraction de plus en plus précise.
Si tu as une autre question, n'hésite pas à la poser sur le forum.
Cordialement,
LePhenixNoir
Citer : Posté le 08/07/2014 22:04 | #
Bonsoir,
et merci pour l'explication. J'ai enfin compris l'utilité de la première boucle !
Sujet clos.
Je ne dis pas à une prochaine fois car j'espère toujours pouvoir m'en sortir seul !
cordialement,
GUGUSSE.