Programmation C++/Les classes/Exercices de développement
Apparence
Exercices
[modifier | modifier le wikicode]EXERCICE 1
[modifier | modifier le wikicode]Écrire une classe Fraction dont le fichier d'en-tête est le suivant :
#ifndef FRACTION_H
#define FRACTION_H
#include<iostream>
using namespace std;
class Fraction
{
friend ostream & operator<<(ostream & out, const Fraction &f);
friend istream & operator>>(istream &in, Fraction &f);
public:
Fraction();
Fraction(int i);
Fraction(int num,int den);
Fraction operator+(const Fraction & f);
Fraction operator-(const Fraction & f);
Fraction operator*(const Fraction & f);
Fraction operator/(const Fraction & f);
private:
int num,den;
int pgcd(int x, int y);
void normalise();
};
#endif
Voici le rôle de chaque fonction :
- Fraction(); : le constructeur par défaut initialise la fraction à 0.
- Fraction(int); : initialise la fraction à l'entier i.
- Fraction(int num, int den); : initialise le numérateur et le dénominateur de la fraction.
- ostream & operator<<(ostream & out, const Fraction &f) : affiche à l'écran la fraction f.
- istream & operator>>(istream &in, Fraction &f) : saisit au clavier la fraction f.
- Fraction operator+(const Fraction & f); permet de faire la somme de 2 fractions.
- Fraction operator-(const Fraction & f); permet de faire la différence de 2 fractions.
- Fraction operator*(const Fraction & f); permet de faire la multiplications de 2 fractions.
- Fraction operator/(const Fraction & f); permet de faire la division de 2 fractions.
- int pgcd(int x, int y) : calcule le pgcd de 2 entiers.
- void normalise() : normalise la fraction. Le dénominateur doit être positif et la fraction irréductible.
Écrire un programme principal qui saisit au clavier 2 fractions f1 et f2 et qui affiche E=(f1+3/4-f2)/(f1*f2-5/8)+4.
EXERCICE 2
[modifier | modifier le wikicode]Créez une classe fonction. Elle enregistre une fonction de type f(x) = a + bx + cx² avec les champs double a, b, c
. Elle dispose des méthodes suivantes:
void saisir(double a, b, c)
pour entrer les coefficients,double image(double x)
donne l'image de x par la fonction f,double antécédent(double x)
donne l'antécédent de x par la fonction f.