Où est le bug?

Programmation d'applications complexes
meganet
Messages : 317
Inscription : jeu. 20/janv./2005 22:00

Où est le bug?

Message par meganet »

Bonjour, j'ai fait ce petit soft pour vérifier mes résultats, mais je ne comprend pas avec une calculette ça marche, mais avec pb (4.30 Windows X86), ile me retourne 0 pour le x1 mais pour x2 il me retourne 1.
Pouvez-vous me dire où est la faute?

Code : Tout sélectionner

Procedure calcule(x)
resultat = 2*(x*x)+x*Sqr(3)-4
ProcedureReturn resultat
EndProcedure

MessageRequester("Resultat 1", "x1 = "+Str(calcule((-Sqr(3)+Sqr(35))/4))+"", #PB_MessageRequester_Ok)
MessageRequester("Resultat 2", "x2 = "+Str(calcule((-Sqr(3)-Sqr(35))/4))+"", #PB_MessageRequester_Ok)
End
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

sans avoir testé, c'est OBLIGATOIREMENT un problème de parenthèses :)

ps : ou de typage de variable ou de retour de procedure!! :lol:

tu veux des resultats en virgule ou pas ??

n'oublie pas que str() c'est pas strf()
et que Resultat.f = Sqr(Nombre.f)
le resultat renvoyé est un FLOTTANT !!!!

qu'une variable "toto" est différente de "toto.f"
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

Logiquement, ceci devrait t'éviter tout type d'erreur. Et qu'est-ce que tu fous à m@~chonner les caractħres avec accents? T'as pas honte?!?

Ollivier

Code : Tout sélectionner

Procedure.F calcule(x.F) 
Protected Resultat.F
resultat = 2.0 * (x * x) + x * Sqr(3.0) - 4.0 
ProcedureReturn resultat 
EndProcedure 

MessageRequester("Resultat 1", "x1 = "+Str(calcule((0.0 - Sqr(3.0) + Sqr(35.0) ) / 4.0) ) + "", #PB_MessageRequester_Ok) 
MessageRequester("Resultat 2", "x2 = " + Str(calcule((0.0 - Sqr(3.0) - Sqr(35.0) ) / 4.0) ) + "", #PB_MessageRequester_Ok) 
End
meganet
Messages : 317
Inscription : jeu. 20/janv./2005 22:00

Merci!

Message par meganet »

Merci, ça marche nikel!!!! Pour le coup de Sqr() qui renvois un float, j'avais pas fait gaf! Et pour les accents merci Firefox!!
Répondre