Cours C++ GIREF

Devoir 0.

Exercice 0.

Décrire les propriétés (attributs) et actions possibles des objets suivants:

  - Crayon
  - Porte
  - Briquet
  - Vecteur3D

Exercice 1.

La factorielle de n s'écrit n! et est définie comme suit:

n! = n * (n-1) * (n-2) *... * 1;

avec n! = 1 pour n = 0.

Par exemple, 5! vaut 120.

a) Écrire un programme qui  lit un entier positif, calcule sa factorielle et l'imprime.

b) Écrire un programme qui estime la valeur de la constante mathématique e en utilisant la formule suivante:

   e = 1 + 1/1! + 1/2! + 1/3! + ...

c) Écrire un programme qui calcule la valeur de ex en utilisant la formule suivante:

   e = 1 + x/1! + x2/2! + x3/3! + ...

Exercice 2.

Calculer la valeur de PI en utilisant la série:

  PI = 4 - 4/3 + 4/5 - 4/7 + 4/9 - 4/11 + ...

Imprimer un tableau qui montre les valeurs calculées en utilisant 1 terme de la série, 2 termes, 3, etc.

Exercice 3.

Il existe un ensemble de triangles droits dont les valeurs des 3 côtés sont toutes entières.  Trouver tous les trios qui répondent au théorème de Pythagore et qui n'ont pas de nombre  plus grand que 500.

Exercice 4.

Le plus grand commun diviseur de x et y est l'entier le plus grand qui divise x et y.  Écrire une fonction "pgcd" récursive qui retourne le plus grand commun diviseur de 2 nombres.  Le pgcd est défini par la fonction récursive qui suit:

si (y == 0) alors

on retourne x; // c'est-à-dire que pgcd(x,y) = x;

autrement

on retourne pgcd (y , x % y); //c'est-à-dire que pgcd(x,y) = pgcd (y , x % y)

"%" est l'opérateur modulo, qui retourne le reste d'une division entière (ex.: 14%4 retourne 2, car 14 divisé par 4, c'est 3 reste 2).

Exercice 5.

Refaire l'exercice 4 mais sans argument de retour pour la fonction que vous définirez.  Vous devrez donc passer la réponse par référence.