Exercice 2#
Rappelez la syntaxe et la sémantique de la boucle while :
BEGIN SOLUTION
Syntaxe:
while ( condition ) {
bloc d instructions
}
Sémantique:
évaluer la condition
si la condition est vraie 2.1. exécuter le bloc d’instructions 2.2. recommencer en 1
END SOLUTION
Écrivez les lignes de code permettant d’afficher tous les nombres de 3 à 1789 inclus :
/// BEGIN SOLUTION
for (int i = 3; i <= 1789; i++ ) {
cout << i << endl;
}
/// END SOLUTION
… De même pour tous les nombres de 3 à 1789 qui ne sont multiples ni de 7 ni de 13 :
/// BEGIN SOLUTION
for (int i = 3; i <= 1789; i++ )
if ( i % 7 != 0 and i % 13 != 0 )
cout << i << endl;
/// END SOLUTION
On suppose définie la fonction puissance documentée ci-dessous :
/** La fonction puissance
* @param x un nombre réel (double)
* @param k un nombre entier positif
* @return la k-ième puissance x^k de x
**/
En utilisant la fonction puissance, définissez une fonction nommée
sommePuissances qui prend en paramètres un réel \(x\) et un entier \(n\)
et qui renvoie la somme des \(n\) premières puissances de \(x\). Par
exemple, sommePuissances(3, 5) calcule : \(3^0 + 3^1 + 3^2 + 3^3 + 3^4\).
/// BEGIN SOLUTION
double sommePuissances(double x, int n) {
double resultat = 0;
for ( int k = 0; k < n; k++ )
resultat += puissance(x, k);
return resultat;
}
/// END SOLUTION
Donnez une définition récursive de la fonction puissance :
/// BEGIN SOLUTION
double puissanceRecursive(double x, int k) {
if ( k == 0 )
return 1;
else
return x * puissanceRecursive(x, k-1);
}
/// END SOLUTION