Projet C++ sur les polynômes
laure
-
kij_82 Messages postés 4089 Date d'inscription Statut Contributeur Dernière intervention -
kij_82 Messages postés 4089 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour!
Actuellement en licence de maths, je fais aussi du C++ et j'ai un projet sur les polynômes à rendre après les vacances.
J'ai fait le début mais je ne suis pas sûre que ce soit juste car j'ai pas mal de difficultés en programmation ( en particulier pour l'usage des pointeurs, quand faut-il les utiliser?....)
Pourriez-vous me donner votre avis? d'autant plus que si le début est faux le reste le sera aussi donc je préfère m'assure que ce que j'ai fait est juste!
Merci d'avance à tous ceux qui voudront bien m'aider!!
Laure
Tout d'abord voici le sujet (la première partie porte sur les monômes et la deuxième sur les polynômes, avec plusieurs inconnues):
INTRODUCTION
Etant donné un anneau A, on note A[X] l’anneau des polynômes à coefficients dans A. L’anneau des polynômes à n>=1 indéterminées X1,…..,Xn, noté A[X1,…Xn] est souvent défini par induction comme étant l’anneau des polynômes à coefficients dans A[X1,…Xn-1]. Pour diverses raisons, cette manière de voir les choses n’est pas toujours très pratique, et on préfère parfois passer par la notation de monôme : un monôme à n indéterminées X1….Xn noté aX1^(i1)X2^(i2)….Xn^(in), est un n+1-uplet composé d’un coefficient appartenant à A et de n entiers qui sont les exposants respectifs des variables. Un polynôme à n-indéterminées X,…Xn peut alors être vu comme une suite finie de monômes en les n indéterminées X1,…Xn.
Dans ce devoir, on se propose d’utiliser ce point de vue pour implanter en C++ les polynômes à n indéterminées. On suppose dans toute la suite, qu’on a un nombre maximal d’indéterminées qui est défini par une constante MAX-IND. Et, bien que ce ne soit pas un anneau, on considère que A est implanté par le type float.
1 La classe monôme
Quelles sont les opérations permettant de définir la notion de monôme ?
Proposez une structure de données et les fonctions membres correspondant à la classe monome implantant la notion de monôme à coefficients dans R. Les déclarations se feront dans un fichier appelé monome.h tandis que le code des fonctions membres sera donné dans un fichier appelé monome.cpp. Parmi les fonctions membres, vous devrez obligatoirement avoir les fonctions suivantes :
- constructeur : vous devez avoir au moins un constructeur mais plusieurs sont envisageables ;
- fonction retournant le coefficient du monôme ;
- fonction retournant le degré maximum parmi les indéterminées du monôme ;
- fonction retournant le degré homogène (= somme des degrés) ;
- fonction indiquant les indéterminées effectivement présentes ;
- fonction retournant le degré d’une indéterminée ;
- fonction évaluant un monôme à partir de valeurs attribuées aux indéterminées.
Vous pourrez ajouter, en dehors des fonctions membres, des fonctions utiles comme la saisie et l’affichage d’un monôme.
Voici ce que j'ai fait :
// fichier monome.h
#define MAX-IND 20
class monome {
float coeff; // coefficient du monôme
int degres [MAX-IND]; // tableau pour stocker les degrés (faut-il plutôt utiliser un pointeur?)
public :
monome ( ); // constructeur
float coefficient_monome( );
int deg_max( ) ;
int deg-hom( ) ; // renvoie la somme des degrés
int deg_ind ( float x) ; // retourne le degré de l’indéterminée x
float eval_monome (float valeurs[MAX-IND]) ; // calcule le monôme à partir de
// valeurs stockées dans un
// tableau
// fichier monome.cpp
monome ::monome ( ) // on définit le monome nul
{ for (int i = 0 ; i < MAX-IND ; i++)
degrés[i] = -1;
coeff = 0;
}
float monome :: coefficient_monome ( )
{ return coeff ; }
int monome :: deg_max ( )
{ int max = degrés [0] ;
for (int i = 1 ; i < MAX-IND ; i++)
if (degrés[i] > max) max = degrés [i];
return max;
}
int monome :: deg_hom ( )
{ int res = degrés [0];
for (int i = 1 ; i < MAX-IND ; i++)
res = res + degrés [i] ;
return res ;
}
je ne sais pas comment programmer les deux dernières fonctions membres.
Quant à la deuxième partie qui concerne les polynômes, je ne sais pas comment utiliser la classe monôme...
2 La classe polynôme
Un polynôme peut alors être implanté par une liste de monômes. Proposez dans une classe de nom polynome une structure de données permettant une telle implantation, puis programmez des fonctions membres permettant, notamment :
- de construire un objet de la classe polynome à partir de différentes sortes de données ;
- de retourner le degré suivant une indéterminée donnée ;
- de retourner le degré global ;
- d’indiquer si une indéterminée intervient ou non dans un polynôme ;
- de faire les opérations arithmétiques classiques (somme, différence, produit) de deux polynômes ;
- d’éliminer une indéterminée donnée entre deux polynômes ;
- d’afficher un polynôme à plusieurs indéterminées comme un polynôme à une indéterminée donnée (les coefficients du dit polynôme sont des polynômes en les autres indéterminées) ;
- de dériver un polynôme suivant une indéterminée ;
- de calculer la valeur d’un polynôme en un point (n-uplets de réels) ;
Vous y ajouterez les fonctions externes comme celles permettant l’affichage et la saisie d’un polynôme.
Actuellement en licence de maths, je fais aussi du C++ et j'ai un projet sur les polynômes à rendre après les vacances.
J'ai fait le début mais je ne suis pas sûre que ce soit juste car j'ai pas mal de difficultés en programmation ( en particulier pour l'usage des pointeurs, quand faut-il les utiliser?....)
Pourriez-vous me donner votre avis? d'autant plus que si le début est faux le reste le sera aussi donc je préfère m'assure que ce que j'ai fait est juste!
Merci d'avance à tous ceux qui voudront bien m'aider!!
Laure
Tout d'abord voici le sujet (la première partie porte sur les monômes et la deuxième sur les polynômes, avec plusieurs inconnues):
INTRODUCTION
Etant donné un anneau A, on note A[X] l’anneau des polynômes à coefficients dans A. L’anneau des polynômes à n>=1 indéterminées X1,…..,Xn, noté A[X1,…Xn] est souvent défini par induction comme étant l’anneau des polynômes à coefficients dans A[X1,…Xn-1]. Pour diverses raisons, cette manière de voir les choses n’est pas toujours très pratique, et on préfère parfois passer par la notation de monôme : un monôme à n indéterminées X1….Xn noté aX1^(i1)X2^(i2)….Xn^(in), est un n+1-uplet composé d’un coefficient appartenant à A et de n entiers qui sont les exposants respectifs des variables. Un polynôme à n-indéterminées X,…Xn peut alors être vu comme une suite finie de monômes en les n indéterminées X1,…Xn.
Dans ce devoir, on se propose d’utiliser ce point de vue pour implanter en C++ les polynômes à n indéterminées. On suppose dans toute la suite, qu’on a un nombre maximal d’indéterminées qui est défini par une constante MAX-IND. Et, bien que ce ne soit pas un anneau, on considère que A est implanté par le type float.
1 La classe monôme
Quelles sont les opérations permettant de définir la notion de monôme ?
Proposez une structure de données et les fonctions membres correspondant à la classe monome implantant la notion de monôme à coefficients dans R. Les déclarations se feront dans un fichier appelé monome.h tandis que le code des fonctions membres sera donné dans un fichier appelé monome.cpp. Parmi les fonctions membres, vous devrez obligatoirement avoir les fonctions suivantes :
- constructeur : vous devez avoir au moins un constructeur mais plusieurs sont envisageables ;
- fonction retournant le coefficient du monôme ;
- fonction retournant le degré maximum parmi les indéterminées du monôme ;
- fonction retournant le degré homogène (= somme des degrés) ;
- fonction indiquant les indéterminées effectivement présentes ;
- fonction retournant le degré d’une indéterminée ;
- fonction évaluant un monôme à partir de valeurs attribuées aux indéterminées.
Vous pourrez ajouter, en dehors des fonctions membres, des fonctions utiles comme la saisie et l’affichage d’un monôme.
Voici ce que j'ai fait :
// fichier monome.h
#define MAX-IND 20
class monome {
float coeff; // coefficient du monôme
int degres [MAX-IND]; // tableau pour stocker les degrés (faut-il plutôt utiliser un pointeur?)
public :
monome ( ); // constructeur
float coefficient_monome( );
int deg_max( ) ;
int deg-hom( ) ; // renvoie la somme des degrés
int deg_ind ( float x) ; // retourne le degré de l’indéterminée x
float eval_monome (float valeurs[MAX-IND]) ; // calcule le monôme à partir de
// valeurs stockées dans un
// tableau
// fichier monome.cpp
monome ::monome ( ) // on définit le monome nul
{ for (int i = 0 ; i < MAX-IND ; i++)
degrés[i] = -1;
coeff = 0;
}
float monome :: coefficient_monome ( )
{ return coeff ; }
int monome :: deg_max ( )
{ int max = degrés [0] ;
for (int i = 1 ; i < MAX-IND ; i++)
if (degrés[i] > max) max = degrés [i];
return max;
}
int monome :: deg_hom ( )
{ int res = degrés [0];
for (int i = 1 ; i < MAX-IND ; i++)
res = res + degrés [i] ;
return res ;
}
je ne sais pas comment programmer les deux dernières fonctions membres.
Quant à la deuxième partie qui concerne les polynômes, je ne sais pas comment utiliser la classe monôme...
2 La classe polynôme
Un polynôme peut alors être implanté par une liste de monômes. Proposez dans une classe de nom polynome une structure de données permettant une telle implantation, puis programmez des fonctions membres permettant, notamment :
- de construire un objet de la classe polynome à partir de différentes sortes de données ;
- de retourner le degré suivant une indéterminée donnée ;
- de retourner le degré global ;
- d’indiquer si une indéterminée intervient ou non dans un polynôme ;
- de faire les opérations arithmétiques classiques (somme, différence, produit) de deux polynômes ;
- d’éliminer une indéterminée donnée entre deux polynômes ;
- d’afficher un polynôme à plusieurs indéterminées comme un polynôme à une indéterminée donnée (les coefficients du dit polynôme sont des polynômes en les autres indéterminées) ;
- de dériver un polynôme suivant une indéterminée ;
- de calculer la valeur d’un polynôme en un point (n-uplets de réels) ;
Vous y ajouterez les fonctions externes comme celles permettant l’affichage et la saisie d’un polynôme.
A voir également:
- Projet C++ sur les polynômes
- Filigrane projet - Guide
- Gant projet - Télécharger - Gestion de projets
- Musique projet x - Forum Musique / Radio / Clip
- Comment projeter une image sur un mur - Forum TV & Vidéo
- J'aimerais projeter une image sur un mur - Forum TV & Vidéo
clavier vrai ou pas le polynome doit etre ecrit comme suit:
ex: polynome de 2eme degre
2x^2+5x+1
nb: le symbole ^ represente la puissence
l'implimentation à l'aide de liste chainnées
- les operations:
addition de deux poly
la sustraction de deux poly
la division d'un polynome par un monome
-suppression d'un monome de poly
ajouter un monome à un poly