[LANGAGE C] GrpB - Exercice 4 Td2
3 participants
Forum UVSQ :: DUT :: Informatique :: Programmation :: Programmes
Page 1 sur 1
[LANGAGE C] GrpB - Exercice 4 Td2
Voici l'étude d'une équation du second degré :
Le principe de ce programme est de calculer les racines donnant pour résultat b²-4*a*c=0 dans ℝ.
Pour cela on ne prendra en compte que les cas ou le discriminant ("delta") et positif ou nul.
Edit par Thomas: corrections de fautes d'orthographes, problème dans les "if", lisibilité.
Le principe de ce programme est de calculer les racines donnant pour résultat b²-4*a*c=0 dans ℝ.
Pour cela on ne prendra en compte que les cas ou le discriminant ("delta") et positif ou nul.
- Spoiler:
- Code:
#include <stdio.h>
#include <stdlib.h>
#include <math.h> // Cette bibliotheque va nous permettre de calculer la racine d'un nombre
int main()
{
int a,b,c,delta; // on initialise 4 variables entières
float rac1, rac2, rac3; // On initialise 3 variables réelles
printf("Bonjour, voici un programme qui va pouvoir etudier les solutions d'une equation du second degre\n");
/*On rentre les valeurs a b et c pour determiner le nombre de solution*/
printf("D'apres votre equation ax^2+bx+c=0, entrez les valeurs des coefficients: \n");
printf("a= ");
scanf("%d", &a);
printf("b= ");
scanf("%d", &b);
printf("c= ");
scanf("%d", &c);
/*On utilise la fonction if pour savoir dans quel cas on se trouve*/
if(a==0 && b==0)
{
printf("l'equation est degeneree\n");
}
if(a==0 && b!=0)
{
printf("l'equation a une racine\n");
}
else
{
printf("l'equation a deux racines\n");
}
/* L'equation a donc 2 racines il faut maintenant calculer le Discriminant*/
printf("On utilise donc b^2-4ac pour determiner le nombre de solutions.\n");
delta=(b*b)-(4*a*c);
printf("delta= %d\n", delta);
if(delta == 0) // dans ce cas on calcule la racine double avec la variables flottante rac1
{
printf("Il y a une racine double, \n");
rac1=(-b)/(2*a);
printf("la racine double est: %f", rac1);
}
else if(delta > 0) // dans ce cas on calcule les deux racines avec les variables flottantes rac2 et rac 3
{
printf("Il y a deux racines, \n");
rac2=(-b-sqrt(delta))/(2*a);
rac3=(-b+sqrt(delta))/(2*a);
printf("les deux racines sont: %f et %f", rac2, rac3);
}
else
{
printf("Il n'y a pas de racine reelle");
}
return 0;
}
Edit par Thomas: corrections de fautes d'orthographes, problème dans les "if", lisibilité.
Mattheousse- Noob en Informatique
- Messages : 1
Date d'inscription : 29/09/2011
Re: [LANGAGE C] GrpB - Exercice 4 Td2
Merci Matt, je me suis permis d'éditer ton post pour le mettre en spoiler et sous la balise code. Quand tu copie colle dans un logiciel de programmation type code :: blocks, il te met directement les couleurs ^^" Merci beaucoup pour ce post en tout cas !!!!
Dernière édition par Arthur - TitrOu le Jeu 13 Oct - 15:36, édité 3 fois
Re: [LANGAGE C] GrpB - Exercice 4 Td2
Suite a un bug d'origine inconnue, sur le programme proposé par Matthieu, je me permet de vous proposer le mien:
- Spoiler:
- Code:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[])
{
int a, b, c;
float delta, x, x1, x2;
printf("Entrer les differents coefficients de votre polynome du seconde degre:\n");
printf("a= "); scanf("%d", &a);
printf("b= "); scanf("%d", &b);
printf("c= "); scanf("%d", &c);
if((a == 0 && b ==0) && c ==0)
printf("L'equation n'a aucun sens...\n\n");
else
{
if((a == 0 && b == 0) && c != 0)
{
printf("Il n'y a pas de solution(s): ");
printf("%d ne peut pas etre egal a zero\n", c);
}
else if ((a == 0 && b != 0) || (a != 0 && b ==0))
{
if(a == 0)
{
printf("L'equation a une solution:\n");
x = (((float)-c)/b);
printf("La solution est: %f\n", x);
}
else
{
printf("L'equation n'a pas de solution...\n");
}
}
else
{
printf("L'equation a deux solutions\n");
delta = (b*b) - (4*a*c);
printf("Delta vaut: %f\n\n", delta);
if(delta == 0)
{
x = ((-b)/(2*a));
printf("La solution a l'equation est: %f\n", x);
}
else if(delta < 0)
{
printf("Il n'y a pas de solution reelle...\n");
}
else
{
x1 = (((-b) + sqrt(delta))/2*a);
x2 = (((-b) - sqrt(delta))/2*a);
printf("Les deux solutions a cette equation sont:\n");
printf("%f et %f\n\n", x1, x2);
}
}
}
system("PAUSE");
return 0;
}
Sujets similaires
» [LANGAGE C] GrpB - Marées
» [LANGAGE C] La Calculatrice basique
» [LANGAGE C]Salaire Net[V1.1]
» [LANGAGE C] Le GPS du champ !
» [LANGAGE C] Morpion
» [LANGAGE C] La Calculatrice basique
» [LANGAGE C]Salaire Net[V1.1]
» [LANGAGE C] Le GPS du champ !
» [LANGAGE C] Morpion
Forum UVSQ :: DUT :: Informatique :: Programmation :: Programmes
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|