Page 1 sur 2
Calculette spéciale en PHP
Posté : 08 sept. 2005, 21:26
par kouray
Hello, j'ai fait une petite calculette classique ( tres nule mais bon, elle marche c'est l'essentiel ^^ )
http://noobnet.free.fr/calculette.php
Elle n'est pas faite pour intégrer spécialement un site, mais juste pour mon plaisir personnel

Je voulais donc vous demander si il est "techniquement" possible de créer un script PHP calculette pour résoudre des équations ( au premier degré pour commencer, du type : 2x = 3x + 5 ) ou si ce n'est pas gérable par PHP ( enfin qu'il n'y a pas moyen de lui faire faire une suite de calculs pour calculer x )
Voila, merci beaucoup

Sinon, si vous avez une technique pour ma premiere calculette pour mettre d'une fasson plus agréable les signes ( + - x / )
Merci bien
Posté : 08 sept. 2005, 21:29
par Cyrano
Le problème est que x sera une variable indéfinie, je vois pas trop comment gérer ça.
Posté : 08 sept. 2005, 21:34
par HD
oh mais je crois que c'est tout a fait faisable, faut juste que je me rappele les cours de maths du lycee

Posté : 08 sept. 2005, 21:34
par kouray
Ah ok...
vu que j'ai commencé il y a quelques jours le PHP... jsens que sa va etre dur ^^
Il n'y a vraiement aucune manière de traiter une variable indéfinie ?
( jsuis en train de réfléchir depuis tout a l'heure a une astuce possible avec mes faibles conaissances en la matière mais jvois pas :/ )
Posté : 08 sept. 2005, 21:35
par HD
oh mais je crois que c'est tout a fait faisable, faut juste que je me rappele les cours de maths du lycee

j'ai dit que si
bug dans ta calculette : additionne 2 lettres par exemple et tu verra le resultat
Posté : 08 sept. 2005, 21:36
par kouray
oh mais je crois que c'est tout a fait faisable, faut juste que je me rappele les cours de maths du lycee

LoL
Collège ^^
On va en faire une petite pour rafraichir la mémoire à certains
2x + 5 = 3x - 7
-x = -12
x = 12
Et une autre pour la route
4x + 12 = 2x - 3
2x = -15
x = -15/7
Posté : 08 sept. 2005, 21:37
par kouray
Désolé, j'ai vu ton message seulement apres avoir posté le miens :/
Sinon pour les lettres c'est pas bien grave, c'est fait pour aditionner des chifres

( et c'est surtout que je sais pas comment faire pour que ce soit pas possible de mettre des lettres xD )
Posté : 08 sept. 2005, 21:38
par HD

j'ai honte de moi
non ca je sais, j'etais parti sur les ax²+bx+c=0
ca aussi c'est faisable
bon je travaille un peu sur ton code et je te repond
Posté : 08 sept. 2005, 21:40
par kouray
Merci beaucoup ^^
Je te demande pas de me le faire en entier lol

juste me dire comment atribuer x ( sinon ia plus aucun plaisir

)
Posté : 08 sept. 2005, 21:43
par Cyrano
Le problème, c'est que tu pourras pas simplement mettre une équation directement avec une variable indéfinie, ça ne fonctionnera pas: il faudra donc manipuler ton équation de façon à ce qu'elle serve à initialiser ta variable. Donc pour faire quelque chose comme 2x = 3x + 5 par exemple, il va falloir décomposer ton calcul de façon à n'avoir plus que x = opération modifiée. Ce qui en fin de compte n'est pas un avantage considérable vu qu'il va falloir effectuer le calcul toi-même.
Posté : 08 sept. 2005, 21:46
par HD
je t'ai pas bien suivi cyrano mais j'ai ecrit ca :
<?
// comme pour ta calculette crée un formulaire avec
// une case, un "x +" , une autre case , un = , une case, un "x +" , une autre case
// attribue leurs dans l'ordre les noms : x1 , c1 , x2 , c2
$x=$x1-$x2 ;
$c=$c1-$c2 ;
$res=($c * (-1)) / $x ;
echo "X = $res" ;
// je ne l'ai pas testé alors à toi de me dire si c'est correcte !
?>
c'est trop facile d'où le doute qui s'installe chez moi...
edit : j'ai ajouté "x +" 2fois comme ca c'est plus clair
Posté : 08 sept. 2005, 21:50
par kouray
Merci, je vais essayer, je donne des nouvelles dans la soirée ( si j'ai compris d'ici la ^^ )
Merci encore
Posté : 08 sept. 2005, 21:56
par Cyrano
je t'ai pas bien suivi cyrano mais j'ai ecrit ca :
<?
// comme pour ta calculette crée un formulaire avec
// une case, un "x +" , une autre case , un = , une case, un "x +" , une autre case
// attribue leurs dans l'ordre les noms : x1 , c1 , x2 , c2
$x=$x1-$x2 ;
$c=$c1-$c2 ;
$res=$c/$x ;
echo "X = $res" ;
// je ne l'ai pas testé alors à toi de me dire si c'est correcte !
?>
c'est trop facile d'où le doute qui s'installe chez moi...
edit : j'ai ajouté "x +" 2fois comme ca c'est plus clair
Faudrait que tu m'explique comment tu initialises tes variables...
Que certaines viennent de la calculatrice, admettons, mais l'exemple du calcul 2x = 3x + 5 pose un problème: si "2", "3" et et "5" proviennent de la calculatrice, pas de problème, mais "x" pose un problème majeur par ce qu'on le trouve des deux cotés de l'égalités et il n'est pas initialisé : comment vas-tu donc faire ?
Posté : 08 sept. 2005, 22:04
par HD
non c'est pas ca
ce que j'ai proposé s'insipre (seulement) de sa calculette pour faire un formulaire de ce genre :
[ ] x1 + [ ] = [ ] x2 + [ ]
(x1) (c1) (x2) (c2)
(remplir les [] car elles correspondent à des textarea ou numeriqueupdown ou comme il veut)
et apres c'est facile
$x=$x1-$x2 ;
$c=$c1-$c2 ;
$res=($c * (-1)) / $x ;
echo "X = $res" ;
CORRECTION :
$res= ($c * (-1)) / $x ;
Posté : 08 sept. 2005, 22:09
par zeus
Si je comprend la méthode de HD et je suis d'accord.
Il veut demander l'équation comme suit :
(_)x+(_)=(_)x+(_) où _ est une variable à saisir
donc dans l'équation -2x+3=-12, il faudra saisir (-2)x+(3)=(0)x+(-12)
J'ai pas testé mais le script doit donner le bon résultat.
Ensuite, je pense qu'il devrait y avoir le moyen de saisir l'équation directement et de la découper par le = puis par les opérateurs +,-,*,/ et d'identifier les différents membres
Intéressant comme question. Je ne peut pas m'y mettre ce soir mais si j'ai 5mn demain, je cherche de mon côté