Posté le 26/06/2015 20:11
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 64 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 26/06/2015 20:13 | #
Oh une loi binomiale !
Pong400
PierrePaCiseaux (CP400)
Les Triangles
Menu
ASCII
Nombres premiers
Citer : Posté le 26/06/2015 20:18 | #
Schéma de Bernouilli serait plus juste
Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
Tableau de variations
Equations Diophantiennes
Conversion d'un nombre décimal en fraction
Citer : Posté le 26/06/2015 20:24 | #
Bon, alors la structure de programme qui convient à ça est typiquement une structure While.
Je m'explique.
Le nombre d'itérations est potentiellement infini.
Les nombre de conditions est infini.
La récursivité n'est pas un choix acceptable.
Voilà donc la structure intéressante :
Afficher le message de la question actuelle
Afficher les réponses de la question actuelle
Lire les entrées utilisateur
Mettre à jour le numéro de la question actuelle
WhileEnd
Sachant que toute la complexité du programme revient à l'écriture de la loi de numérotation qui doit permettre un nombre suffisant de rassemblements pour éviter la croissance exponentielle du nombre d'issues.
Citer : Posté le 26/06/2015 20:27 | #
Utilise les strings et deux sous programme
"A" est l'étape actuelle (1 au début, puis 2 ou 3 en fonction du choix, puis 4 ou 5 ou 6 ou 7, etc., le tout en colonne sur ton image)
Le programme principal ressemble à ça :
Récupérer la question
Récupérer les réponses possibles
Traiter les réponses
Afficher la question et les réponses
Demander à l'utilisateur de choisir
Calculer la nouvelle étape
Fin Tant que
Dans ton sous-programme "questions", tu met un truc du genre :
A=2=>"Content que tu aille bien, tu sors ce soir ?"->Str 1
A=3=>"C'est dommage que tu sois triste, tu veux que je te chante une chanson ?"->Str1
…
Et dans réponses :
A=2=>"Oui|Non, je reste chez moi"->Str 2
A=3=>"Oui, une chanson !|Non, j'aime pas ta musique
Là du coup il te faudra un petit programme qui parse la string 2 pour afficher les deux réponses l'une en dessous de l'autre (lis un tuto sur les strings, c'est assez simple au final)
Ensuite, à chaque fois que l'utilisateur répond, la nouvelle question aura pour valeur A * 2 + réponse (0 ou 1)
A=1 je répond 0 => A = 2
A=1 je répond 1 => A = 3
A=2 je répond 0 => A = 4
A=2 je répond 1 => A = 5
A=3 je répond 0 => A = 6
A=3 je répond 1 => A = 7
…
Citer : Posté le 27/06/2015 09:12 | #
Bon, alors la structure de programme qui convient à ça est typiquement une structure Goto - Lbl.
Je m'explique.
Le nombre d'itérations est potentiellement infini.
Les nombre de conditions est infini.
La récursivité n'est pas un choix acceptable.
Voilà donc la structure intéressante :
Afficher le message de la question actuelle
Afficher les réponses de la question actuelle
Lire les entrées utilisateur
Mettre à jour le numéro de la question actuelle
Goto Q
Sachant que toute la complexité du programme revient à l'écriture de la loi de numérotation qui doit permettre un nombre suffisant de rassemblements pour éviter la croissance exponentielle du nombre d'issues.
Un while 1 serait plus acceptable
Citer : Posté le 27/06/2015 09:15 | #
Je m'en suis rendu compte après. Trop d'assembleur ces derniers jours...
Edit : j'ai édité, merci.
Citer : Posté le 27/06/2015 10:21 | #
Non tu n'est pas un geek, les geeks ne font pas ce genre de choses... (enfin ils le faisaient avant de devenir geek)
Citer : Posté le 27/06/2015 10:55 | #
Ah oui, et dans cette partie-là :
Dans ton sous-programme "questions", tu met un truc du genre :
A=2⇒"Content que tu aille bien, tu sors ce soir ?"→Str 1
A=3⇒"C'est dommage que tu sois triste, tu veux que je te chante une chanson ?"→Str1
…
Oublie pas de rajouter quelque chose comme :
A≥200⇒Goto 2
A=1⇒...
...
A=99⇒...
A<100⇒Return
Lbl 1
A=100⇒...
...
A=199⇒...
A<200⇒Return
Lbl 2
...
pour éviter qu'il parse tout le programme à chaque fois.
Citer : Posté le 27/06/2015 10:58 | #
Yep, mais avant qu'il fasse 300 questions, y'a de la marge
Citer : Posté le 27/06/2015 11:00 | #
C'était surtout par principe, ce genre de programmes a ce gros défaut
Citer : Posté le 29/06/2015 16:50 | #
Merci pour toutes vos réponses
Je vais lire tout sa et essayer vos différents conseils
En attendant, il n'y a pas une technique pour le "scrolling" quand on affiche les Q-R en text X,Y,"[texte]" pour que l'image monte d'une ligne (7pixels) à chaque fois ?
Citer : Posté le 29/06/2015 16:51 | #
En Text ? Non, absolument rien. Tu es obligé de tout effacer.
Citer : Posté le 29/06/2015 17:25 | #
Ah si , j'ai trouver :
Text ,7,1,Str 2
Text ,13,1,Str 3
Text ,19,1,Str 4
Text ,25,1,Str 5
Text ,31,1,Str 6
Text ,37,1,Str 7
Text ,43,1,Str 8
Text ,49,1,Str 9
Text ,55,1,Str 10
Str 2->Str 1
Str 3->Str 2
Str 4->Str 3
Str 5->Str 4
Str 6->Str 5
Str 7->Str 6
Str 8->Str 7
Str 9->Str 8
Str 10->Str 9
Str 11[green][celle de la réponse à afficher][/green] -> Str 10
et on a plus qu'à rafraichir la page
Citer : Posté le 29/06/2015 17:27 | #
Ah ben oui, mais du cout tu réaffiches tout
C'est vrai que point du vue manipulation du texte c'est pas mal... bien trouvé
Citer : Posté le 29/06/2015 17:32 | #
mais je dois pouvoir optimiser sa
Str A+1 -> Str A
Text 6*(A-1)+1,1,Str A
next
Voila
Citer : Posté le 29/06/2015 17:37 | #
Eh bien... non.
L'opérateur Str ne prend pas de variable en argument.
Citer : Posté le 29/06/2015 17:44 | #
En effet, sa ne marche pas.. Lephenixnoir peut vous dégouter du Basic en quelque secondes...
Citer : Posté le 29/06/2015 17:45 | #
En mode Locate, quelqu'un avait trouvé une astuce
Citer : Posté le 29/06/2015 18:00 | #
Cela dit, en mode Locate, tu peux te contenter de jouer du scrolling pour faire remonter tout le texte d'une ligne...