| |
|
Programmes et jeux pour calculatrices Casio Graph et calculatrice ClassPad 300, jeux casio, cours...: Forums |
Forum Casio
Un espace convivial pour poser vos questions ou simplement venir discuter...
Entrer
|
Forum Programmation
Toutes les discussions à propos de la programmation sur calculatrices Casio...
Entrer
|
Foire aux Questions
Les réponses aux questions les plus courantes sont ici !
Entrer
|
| Auteur |
Problèmes de débutante |
|
|
Tzatia Membre

 Messages: 4 | Message posté: 21-12-2009 à 12:48  
Bonjour à tous,
* J'ai crée un programme afin de calculer le discriminant d'une équation du second degré.
Lorsque je souhaite l'utiliser, il me demande de définir a, b et c, et me pond le résultat (souhaité). Je souhaiterais "améliorer" mon programme en le faisant afficher : DELTA = (la réponse). Mais ne sais pas comment m'y prendre avec les " ", les =, les -> ...
Voilà mon programme :
"A="?->A
"B="?->B
"C="?->C
B^2-4AC->D
** Toujours par rapport au second degré, je veux créer un programme permettant de calculer le minimum d'une fonction du second degré sans passer par la réalisation graphique.
J'ai commencé un nouveau programme :
"A="?->A
"B="?->B
"C="?->C
B^2-4AC->D
Je sais ensuite que le minimum est atteint en (-b/2a) et vaut (-D/4a), je voudrais que mon programme affiche quelque chose comme :
X min = (-b/2a)
Y min = (-D/2a)
Ces deux problèmes sont similaires, j'accepte donc que l'on m'aide sur le premier et que grâce à ces indications je trouve de moi-même le premier.
Merci !
Question subsidiaire : quelqu'un sait-il comment l'on élève un chiffre-nombre à l'exposant avec un clavier Mac ?
|  |
Tzatia Membre

 Messages: 4 | Message posté: 21-12-2009 à 13:02  
Petit oubli de ma part : je possède une graph65.
|  |
M2A Programmeur Basic

 Messages: 95 Calculatrice : Graph 35+ | Message posté: 21-12-2009 à 14:50  
Voila un Programme Du second degré qui Calcule Le delta, et les solution s'il y en a
"Valeur de A"->A
"Valeur de B"->B
"Valeur de C"->C
B^2-4AC->D // dans ta calculette met le petit 2
"Deltat="
D-Display- // -display- = petit triangle Noire qui va a la ligne suivante
If D<0
Then "Il n'y a pas de solution"
Ifend
If D=0
Then "il y a une solution"
(-B)÷(2A)-Display-
Ifend
If D>0
Then " Il y a deux solutions"
(-B+RacineCarrededelta)÷(2xA)-Display- // je ne possede pas ces touche --'
(-B-RacineCarredeDelta)÷(2xA)-Display- // IDEM
Ifend
et le tours et joué, si c'est bien ce programme que tu voulais
|  |
PierrotLL Administrateur

 Messages: 1228 Calculatrice : Graph 85 | Message posté: 21-12-2009 à 16:10  
Bonjour Tzatia.
Pour afficher un texte, il suffit de le mettre entre guillemets.
Dans ton exemple, tu peux faire :"A="?->A  "B="?->B  "C="?->C  "DELTA="  B^2-4AC->D Mais ça affichera le résultat à droite de l'écran, et à la ligne en dessous de "delta"
Si tu veux que le résultat soit écrit à la suite, tu peux faire ceci :"A="?->A  "B="?->B  "C="?->C  B^2-4AC->D  ClrText  "DELTA="  Locate 7,1,D ClrText efface l'écran, et Locate écrit un texte (ou un nombre) aux coordonnées qu'on veut.
Pour ton autre programme, tu peux faire :"A="?->A  "B="?->B  "C="?->C  B^2-4AC->D  ClrText  "X min = "  Locate 9,1,(-B/2A)  "Y min = "  Locate 9,2,(-D/2A)
 |  |
drsi-prog1max ► Programmeur Basic

 Messages: 463 Calculatrice : Graph 65 | Message posté: 21-12-2009 à 18:08  
En reprenant le programme de PierrotLL, pour afficher le signe delta (c'est plus joli), tu fais : ClrText  Locate 1,1,"  List " // List : [Optn]-[f1]-[f6]-[f6]-[f5]Locate 2,1,"= " // il faudrait mettre trois espaces après le = (on ne peut pas sur ce site)Locate 3,1,D
Le sommet d'une parabole a pour coordonnées S(-b/2a,-D/4a) et le minimum de la courbe n'est pas forcément le sommet (que si a>0, le sommet étant le maximum quand a<0).
Tu dois donc modifier le second programme de PierrotLL par : ClrText  A>0  "Xmin = " // Xmin : [Vars]-[f1]-[f1]-[f1]A<0  "Xmax = " // Xmax : [Vars]-[f1]-[f1]-[f2]Locate 8,1,-B  2A  A>0  "Ymin = " // Ymin : [Vars]-[f1]-[f2]-[f1]A<0  "Ymax = " // Ymax : [Vars]-[f1]-[f2]-[f2]Locate 8,2,-D 4a
-------------------------------------------------------------------------------------------
A chaque fois que tu demande une valeur de A, celle-ci doit être non nulle (car sinon ce n'est plus un polynôme du second degré, donc tu auras des Ma Error dans l'exécution des tes programmes (à cause des /a)) donc tu peux modifier tes programmes :
Tu remplace la ligne "A="?  A par
 |  |
Tzatia Membre

 Messages: 4 | Message posté: 22-12-2009 à 09:47  
Tout d'abord merci de vos réponses ;
Ensuite je m'adresse à M2A, merci d'avoir répondu, même si ce n'était absolument pas ce que je demandais...
En effet, drsi-prog1max, j'y pensasi en relisant le sujet une fois posté, ce n'est pas forcément un minimum, mais plutôt un extremum, je vais suivre ton conseil d'afficher x min ou x max à la place de xextr.
De ce qui est des affichages, merci à PierrotLL, qui présente une solution plus simple.
|  |
Tzatia Membre

 Messages: 4 | Message posté: 22-12-2009 à 11:30  
Après lecture très approfondie du commentaire de drsi-prog1max, je me demande si l'on ne peut pas plus simplement (à mes yeux) utiliser les fonctions de communication If-Then-Else pour arrêter le programme si A=0
"A="?->A
If A=0
"PAS SECOND DEGRE"
Et là je bloque, comment dire que si A=0, alors le programme s'arrête et recommence à zéro ; et si ce n'est pas égal à zéro, il continue : "B="?->B ...
J'ai bien vu la solution de drsi-prog1max, mais ne la comprend pas...
Merci
|  |
drsi-prog1max ► Programmeur Basic

 Messages: 463 Calculatrice : Graph 65 | Message posté: 22-12-2009 à 12:41  
Tu peux alors faire comme ça : "A="?  A  If A=0  Then "PAS SECOND DEGRE"  Else "B="?  B  "C="?  C  .... }.... } tout le programme.... }IfEnd
La solution que je t'avais proposé consiste à initialiser A à la valeur interdite puis de faire une boucle qui s'exécutera tant que A = valeur interdite (ici c'est 0). Il faut donc utiliser une boucle qui se répètera un nombre indéterminé de fois (boucles While...WhileEnd ou Do....LpWhile)
Do (début de la boucle)
instructions
Lpwhile condition(s) (si la condition est réalisée alors retour au début de la boucle sinon poursuite du programme)
Dans ce genre de boucle, la condition est vérifiée à la fin donc les instructions de la boucle sont réalisées au moins une fois.
While condition(s) (si la condition est réalisée alors réalisation des instructions de la boucle sinon poursuite du programme après le WhileEnd)
instructions
WhileEnd (fin de la boucle, retour au début de la boucle)
Dans ce genre de boucle, la condition est vérifiée au début, si elle est fausse, l'ensemble de la boucle n'est pas lu.
 |  |
Meetic
- Les règles du jeu ont changé | MeeticAffinity
|
 |
|
|
|
|