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
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…
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
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+"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…
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...