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 - Autres questions


Index du Forum » Autres questions » Affichage "dynamique" pour programme de maths [RESOLU]
FlamingKite Hors ligne Membre Points: 516 Défis: 9 Message

Affichage "dynamique" pour programme de maths [RESOLU]

Posté le 23/06/2020 19:46

Bonjour,

J'ai fait et posté un programme qui résout des équations diophantiennes (soit résoudre Ax + By = C) en Basic sur Graph 35 à 100 (utilise Locate) pour ceux que ça intéresse c'est ce programme
Dans ce programme l'affichage ne dépend pas des entrées (A, B, C), et donc pour des A, B ou C trop grand, le texte (locate) va écraser la variable à afficher ou inversement.

Le code est par exemple :
"A" : ?→A
"B" : ?→B
"C" : ?→C
Locate 1 , 2 , "On cherche (x;y) ∈ Z"
Locate 1 , 3 , "tq A x + B y = C"
Blue Locate 4 , 3 , A
Blue Locate 10 , 3 , B
Blue Locate 16 , 3 , C


Autrement dit, j'aimerais pouvoir faire comme en python avec :
print ("On cherche (x;y) ∈ Z tq ", A , "x + " , B , "y + " , C , "=0")


On m'a dit de me tourner vers les Str et StrLen() mais je n'ai pas compris comment les utiliser pour ce programme.

Pouvez vous m'aider ?

Merci

NB : j'ai fait une recherche dans Forum avec les mots clés "Affichage" et "Affichage dynamique" mais je n'ai rien trouvé, si la question a déjà été posée (avec la réponse ) est ce que vous pouvez me donner le lien ?

EDIT :
Le programme en basic
Le programme en Python


Shadow15510 Hors ligne Administrateur Points: 5500 Défis: 18 Message

Citer : Posté le 23/06/2020 20:10 | #


Hey o/
Je sais qu'on a déjà eu un topic mais c'est pas grave la formule : Int (Log (Abs (n))) + 1 renvoie le nombre de chiffres dans le nombres, par exemple n = 123 renvoie 3…
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

FlamingKite Hors ligne Membre Points: 516 Défis: 9 Message

Citer : Posté le 23/06/2020 20:12 | #


Merci beaucoup pour l'info, mais je vois pas vraiment comment l'utiliser
(Tu pourrais expliquer en reprenant le code stp ?)

Ajouté le 23/06/2020 à 20:15 :
Ah si : je dois prendre la chaine de caractères pour voir il y en a combien. Je récupère le nombre de caractères, et je fais dépendre le Locate suivant d'après ce que j'ai trouvé c'est ça ?
si t'as commencé à expliquer avec le code, t'arrête pas hein
Dark storm Hors ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 23/06/2020 21:07 | #


En gros l'idée c'est de créer une chaine de caractères dynamique, puis de l'afficher.

""→Str 1
Str 1+"On cherche (x;y) ∈ Z tq "→Str 1
// Une opération à faire pour convertir A en chaine de caractères, disons Str 2
Str 1+Str 2→Str 1
Str 1+"x + "→Str 1
// Etc.


Ensuite, il suffit d'afficher la string en faisant attention à ne pas sortir de l'écran (grouper par paquets de 21 caractères, voire faire du retour ligne automatique sur les caractères sécables.

De mémoire (ça fait longtemps que j'ai pas fait de Basic), il y a une fonction pour faire Str → expression, mais pas expression → Str. Du coup faut bidouiller.

Si quelqu'un a une astuce que j'ai plus en tête…
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
FlamingKite Hors ligne Membre Points: 516 Défis: 9 Message

Citer : Posté le 23/06/2020 21:14 | #


Ah j'ai compris le fonctionnement, merci beaucoup.
T'as raison on ne peut pas passer de expression à Str, mais j'avais vu comment faire il y a pas si longtemps, donc je vais retrouver l'astuce

Ajouté le 05/07/2020 à 11:03 :
J'avais trouvé le truc pour le faire, donc je le mets ici si ça peut profiter à quelqu'un : c'est le programme Var2Str de Totoyo : on le télécharge sur la calto, et à chaque fois qu'on a une nouvelle variable à changer en Str, on fait un copier-coller du programme dans le programme choisi (attention à changer la variable et le Str à chaque fois qu'on copie-colle)

moi j'ai fait comme ça, mais peut être qu'il y a une autre manière plus optimisée...

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 84 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