CALCULER LES RACINES D'UNE FONCTION QUE L'ON RENTRE DANS LE PROGRAMME.

garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 - 4 déc. 2003 à 09:16
garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 - 4 déc. 2003 à 14:58
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/18404-calculer-les-racines-d-une-fonction-que-l-on-rentre-dans-le-programme

garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 1
4 déc. 2003 à 14:58
et j'avais oublié de dire qu'il ne s'agit des racines que s'il s'agit d'un polynômes. Mais cet algo s'applique à toute fonction continue sur l'intervalle choisi.
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
4 déc. 2003 à 13:09
Un truc pour le #define F(x) :

entoure les x de parenthèses dans ta définition pour éviter des pbs dans l'utilisation :
ex

#define F(x) (x*x)

si tu fait F(2), pas de pb, mais en faisant F(2+3), l'expansion de la macro donnera :
2+3*2+3= 11 au lieu de 25

en faisant
#define F(x) ((x)*(x)), pas de pbs.
D1m3x Messages postés 402 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 21 juillet 2005 1
4 déc. 2003 à 10:52
donc pour les truc important du while tu dois mettre ici dans ta boucle:

if ( b <= 0 )
continue; // va sortir de la boucle... :)
garslouche Messages postés 583 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 29 mai 2015 1
4 déc. 2003 à 09:16
Tu as l'air de débuter en programmation alors je vais te donner qq conseils importants pour ne pas faire n'importe quoi.

1) Le code doit être correctement indenté
2) Le nom des variables et des fonctions doit être explicite (evite les a,b,c,l1,l2,SP...)
3) Va à la ligne après chaque instruction, càd après chaque point-virgule
4) Evite les void main() et utilise plutot les int main. Certains compilateurs refusent les void main.
5) gets(A);sscanf(A,"%f",&x1); peut être avantageusement remplacé par scanf("%f", &x1);
6) Ton programme utilise le thérorème des valeurs intermédiaires. Ce thérorème exige que la fonction soit continue
7) Un truc SUPER IMPORTANT : quand tu fais un while (ou un do...while) vérifie TOUJOURS que tu es CERTAIN de sortir de la boucle. Par exemple ici si on met une précision de 0 (ou encore une précision négative), ton programme ne s'arretera jamais !
Rejoignez-nous