Exercice 1#
Spécifiez par une documentation et définissez une fonction
aireRectangle qui renvoie l’aire d’un rectangle de longueur et
largeur réels donnés (rappel : aire = longueur x largeur).
/// BEGIN SOLUTION
/** aireRectangle
* @param longueur
* @param large
* @return l aire du rectangle
**/
double aireRectangle(double longueur, double largeur) {
return longueur * largeur;
}
/// END SOLUTION
Écrivez un test automatique avec CHECK pour cette fonction vérifiant
que l’aire d’un rectangle de longeur 3.5 et de largeur 2 est bien 7.
\(\clubsuit\) Pour le maximum de points, le test devra tenir compte
d’éventuelles erreurs d’arrondis dans les calculs (on suppose qu’on a
déjà à disposition la fonctions abs qui calcule la valeur absolue).
/// BEGIN SOLUTION
float precision = 0.0001;
CHECK ( abs(aireRectangle(3.5, 2)-7) < precision );
/// END SOLUTION
Complétez le programme suivant calculant l’aire d’un rectangle \(3.5\times 2\) :
// Déclare une variable `longueur` initialisée à 3.5; idem pour `largeur` à 2.
/// BEGIN SOLUTION
double longueur = 3.5;
double largeur = 2;
/// END SOLUTION
// Déclare une variable `aire` et lui affecte l'aire du rectangle en
// utilisant la fonction `aireRectangle`
/// BEGIN SOLUTION
int aire = aireRectangle(longueur, largeur);
/// END SOLUTION
Dessinez l’état de la pile lors de l’exécution du programme précédent
juste avant l’exécution du return de aireRectangle.
BEGIN SOLUTION
┌ ┌─────────────────┬─────┐
│ │ double largeur │ 2 │
aireRectangle ┤ ├─────────────────┼─────┤
│ │ double longueur │ 3.5 │
└ ├─────────────────┼─────┤
│ double largeur │ 2 │
├─────────────────┼─────┤
│ double longueur │ 3.5 │
├─────────────────┴─────┤
│ ... │
└───────────────────────┘
Pile
END SOLUTION