Resoudre une equation du second degre c

Resoudre une equation du second degre c - C - Programmation

Marsh Posté le 13-02-2013 à 10:58:21    

1er fichier :
 
#include <stdio.h>
 
int main(int argc, char **argv)
 
{
 
double a, b, c, r1, r2, q ;
 q = 4 ;
 
 printf ("Resoudre l'equation du second degre de type :  ax aucarre + bx + c= 0\n" ) ;  
 printf ("Entrer a le coefficient: " ) ;  
 scanf ("%lf",&a) ;
 printf ("Entrer b le coefficient: " ) ;  
 scanf ("%lf",&b) ;
 printf ("Entrer c le coefficient: " ) ;  
 scanf ("%lf",&c) ;
 
 printf ("Calcul du discriminant Delta : b aucarre - 4ac\n\n" ) ;
 printf ("%lf * %lf  = %lf\n\n", b,b, b*b) ;
 printf ("%lf * %lf * %lf = %lf\n\n", a, c, q, a*c*q) ;
 printf ("Entrer la valeur du premier terme : " ) ;
 scanf (" %lf", &r1) ;
 printf ("Entrer la valeur du second terme : " ) ;
 scanf (" %lf", &r2) ;
 printf ("Delta : %lf - %lf = %lf\n", r1,r2,r1-r2) ;
 
 return 0;
}
 
 
2d fichier :
 
#include <stdio.h>
#include <math.h>
 
int main(int argc, char **argv)
{
 
char reponse;
float coefb,i,coefa,nb,constc,q,delta,coefbform,aaform ;
 
 delta = 464  ; // initialiser les valeurs, attention : pour obtenir la racine de Delta, dans la situation où Delta est négatif. Initialiser sa valeur à valeur absolue.
 q = 4 ;
 i=2;
 nb = 2 ;
 coefa = 5 ; // initialiser les valeurs
 coefb = 22; // initialiser les valeurs
 coefbform = -22 ; //b dans la formule aprés règle de priorité des signes.
 constc = 1; // initialiser les valeurs
 aaform = 10 ; // initialiser, c'est 2a.  
 
 printf ("si Delta < 0, alors l'equation n'a pas de solution reelle. Par contre, elle possede deux solutions complexes conjuguees.\nSi Delta = 0, alors l'equation a pour solution : -b / 2a\nSi Delta > 0, alors l'equation a deux solutions : -b  -RacinedeDelta / 2a  et moins b + RacineDelta/ 2a.\n" ) ;
 printf ("Delta est il positif, nul ou negatif ? Taper + ou 0 ou - : \n" ) ;
 scanf ("%c", &reponse) ;
 
 if (reponse == '+' )
 
   {
 
      printf ("Le discriminant est positif : l'equation a deux solutions : -b moins RacinedeDelta / 2a et moins b + RacineDelta/2a\nPour trouver les solutions, j'utilise les formules : \n\n1) -b moins RacinedeDelta / 2a \n" ) ;  
  printf ("b = %f \n",coefb) ; //Attention aux règles de prorité des signes : si b est positif, ce sera -b dans la formule mais si b est negatif, ce sera +b dans la formule.
  printf("Racine de Delta : %f => %fi\n",delta,sqrt(delta));
  printf ("2a = %f * %f = %f\n",coefa, nb, coefa*nb) ;
  printf ("ce qui donne la fraction suivante, au numerateur : %f - %f i sur\n",coefbform,sqrt(delta),coefbform-sqrt(delta)) ;
  printf("au denominateur : 2a = %f * %f = %f\n",coefa, nb, coefa*nb) ;
  printf ("Diviser chaque terme par le denominateur 2a : \nLe premier terme : -b = %f\n",coefbform) ;
  printf ("par le diviseur 2a : %f * %f = %f\n",coefa, nb, coefa*nb) ;
  printf ("Premier terme de la premiere solution : %f / %f  = %f moins\n",coefbform,aaform,coefbform/aaform) ;
  printf ("Second terme de la premiere solution : %f i/ %f = %f i\n\n", sqrt(delta),aaform,sqrt(delta)/aaform) ;
  printf ("2) -b + i *  Racinede |Delta| / 2a =  + i, j'utilise la premiere solution et je remplace moins par plus : premier terme + second terme.\n" );
       
 
   }
   
     
     else if (reponse == '0')
 
   {
 
    printf ("Le discriminant est nul : l'equation a pour solution : - b /2a \nD'abord calcul de la valeur de b : moins%f\n",coefb);
    printf ("Calcul de 2a  %f  * %f = %f\n",nb,coefa,nb * coefa) ;
     
  }
 
   else if (reponse == '-')
 
   {
 
   printf ("Le discriminant est negatif : donc l'equation proposee n'a pas de solution reelle. Par contre, elle possede deux solutions complexes conjuguees.\nPour trouver les solutions, j'utilise les formules : \n\n1) -b moins i * Racinede |Delta| / 2a\n" ) ;  
  printf ("b = %f \n",coefb) ; //Attention aux règles de prorité des signes : si b est positif, ce sera -b dans la formule mais si b est negatif, ce sera +b dans la formule.
  printf("Racine de Delta : %f => %fi\n",delta,sqrt(delta));
  printf ("2a = %f * %f = %f\n",coefa, nb, coefa*nb) ;
  printf ("ce qui donne la fraction suivante, au numerateur : %f - %f i sur\n",coefbform,sqrt(delta),coefbform-sqrt(delta)) ;
  printf("au denominateur : 2a = %f * %f = %f\n",coefa, nb, coefa*nb) ;
  printf ("Diviser chaque terme par le denominateur 2a : \nLe premier terme : -b = %f\n",coefbform) ;
  printf ("par le diviseur 2a : %f * %f = %f\n",coefa, nb, coefa*nb) ;
  printf ("Premier terme de la premiere solution : %f / %f  = %f moins\n",coefbform,aaform,coefbform/aaform) ;
  printf ("Second terme de la premiere solution : %f i/ %f = %f i\n\n", sqrt(delta),aaform,sqrt(delta)/aaform) ;
   
  printf ("2) -b + i *  Racinede |Delta| / 2a =  + i, j'utilise la premiere solution et je remplace moins par plus : premier terme + second terme.\n" );
   }  
 
 return 0;
}


Message édité par venbio edit le 24-02-2013 à 22:46:19
Reply

Marsh Posté le 13-02-2013 à 10:58:21   

Reply

Marsh Posté le 13-02-2013 à 11:48:35    

Et la question est ? :)

Reply

Marsh Posté le 13-02-2013 à 13:01:06    

Farian a écrit :

Et la question est ? :)


Le programmeur C connaît-il le second degré ?  [:taiche]


---------------
last.fm
Reply

Marsh Posté le 22-02-2013 à 22:52:53    

Bonjour ! C'est un programme pour apprendre en jouant, il y a des valeurs à initialiser, la question, peux-tu jouer à ça? Le cours sur les equations du premier et du second degre est disponible sur mon site.

Message cité 1 fois
Message édité par venbio edit le 22-02-2013 à 22:59:37
Reply

Marsh Posté le 26-02-2013 à 13:56:45    

venbio edit a écrit :

Bonjour ! C'est un programme pour apprendre en jouant


Bonjour
Pour apprendre quoi ? A résoudre une équation du second degré ? Je pense que ceux qui circulent ici connaissent déjà la méthode et les principes. Par ailleurs ceci est un forum dédié à aider ceux qui ont un souci d'écriture de code en langage C et non un forum dédié aux mathématiques de niveau collège.
 

venbio edit a écrit :

Le cours sur les equations du premier et du second degre est disponible sur mon site.


Qu'est-ce qu'on en a rien à cirer...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 26-02-2013 à 14:33:49    

Il a déjà un autre topic qui s'est fait fermer parce que son post ne servait qu'à attirer l'attention sur son site ... Bref, c'est du spam, circulez, y'a rien à voir.


---------------
last.fm
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed