Calculette spéciale en PHP

kouray
Invité n'ayant pas de compte PHPfrance

08 sept. 2005, 21:26

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

Mammouth du PHP | 19672 Messages

08 sept. 2005, 21:29

Le problème est que x sera une variable indéfinie, je vois pas trop comment gérer ça.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

HD
Mammouth du PHP | 1181 Messages

08 sept. 2005, 21:34

oh mais je crois que c'est tout a fait faisable, faut juste que je me rappele les cours de maths du lycee :oops: :lol:
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

Eléphanteau du PHP | 10 Messages

08 sept. 2005, 21:34

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 :/ )

HD
Mammouth du PHP | 1181 Messages

08 sept. 2005, 21:35

oh mais je crois que c'est tout a fait faisable, faut juste que je me rappele les cours de maths du lycee :oops: :lol:
j'ai dit que si
bug dans ta calculette : additionne 2 lettres par exemple et tu verra le resultat
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

Eléphanteau du PHP | 10 Messages

08 sept. 2005, 21:36

oh mais je crois que c'est tout a fait faisable, faut juste que je me rappele les cours de maths du lycee :oops: :lol:
LoL
Collège ^^
On va en faire une petite pour rafraichir la mémoire à certains :D

2x + 5 = 3x - 7
-x = -12
x = 12

Et une autre pour la route :D

4x + 12 = 2x - 3
2x = -15
x = -15/7

Eléphanteau du PHP | 10 Messages

08 sept. 2005, 21:37

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 :D ( et c'est surtout que je sais pas comment faire pour que ce soit pas possible de mettre des lettres xD )

HD
Mammouth du PHP | 1181 Messages

08 sept. 2005, 21:38

:oops: 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
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

Eléphanteau du PHP | 10 Messages

08 sept. 2005, 21:40

Merci beaucoup ^^
Je te demande pas de me le faire en entier lol :D
juste me dire comment atribuer x ( sinon ia plus aucun plaisir :D )

Mammouth du PHP | 19672 Messages

08 sept. 2005, 21:43

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.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

HD
Mammouth du PHP | 1181 Messages

08 sept. 2005, 21:46

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
Modifié en dernier par HD le 08 sept. 2005, 22:07, modifié 2 fois.
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

Eléphanteau du PHP | 10 Messages

08 sept. 2005, 21:50

Merci, je vais essayer, je donne des nouvelles dans la soirée ( si j'ai compris d'ici la ^^ )
Merci encore

Mammouth du PHP | 19672 Messages

08 sept. 2005, 21:56

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... :-k

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 ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

HD
Mammouth du PHP | 1181 Messages

08 sept. 2005, 22:04

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 ;
"Si Dieu descendait sur la Terre, tous les peuples se mettraient a genoux, excepte les Français qui diraient : " Ah ! Vous êtes la ! C'est pas trop tôt ! On va pouvoir discuter un peu !" [Michel Balfour]

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

08 sept. 2005, 22:09

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é
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer