pdf - e-book - archive - github.com

2.4  Boucles

2.4.1  Compréhension

Exercice 1

Qu’affichent les instructions suivantes ?

package boucles;

public class ExerciceUn
{
 public static void main(String[] args)
 {
  int a = 1, b = 0, n = 5;
  while (a <= n)
   b += a++;
  System.out.println(a + ", " + b);
 }
}

Télécharger le fichier Corrigé

Exercice 2

Qu’affichent les instructions suivantes ?

package boucles;

public class ExerciceDeux
{
 public static void main(String[] args)
 {
  int a = 0, b = 0, c = 0, d = 0, m = 3, n = 4;
  for (; a < m; a++)
  {
   d = 0;
   for (b = 0; b < n; b++)
    d += b;
   c += d;
  }
  System.out.println(a + ", " + b + ", " + c + ", " + d + ".");
 }
}

Télécharger le fichier Corrigé

Exercice 3

Qu’affichent les instructions suivantes ?

package boucles;

public class ExerciceTrois
{
 public static void main(String[] args)
 {
  int a, b, c, d;
  a = 1;
  b = 2;
  c = a / b;
  d = (a == b) ? 3 : 4;
  System.out.println(c + ", " + d + ".");
  a = ++b;
  b %= 3;
  System.out.println(a + ", " + b + ".");
  b = 1;
  for (a = 0; a <= 10; a++)
   c = ++b;
  System.out.println(a + ", " + b + ", " + c + ", " + d + ".");
 }
}

Télécharger le fichier Corrigé

2.4.2  Utilisation de toutes les boucles

Les exercices suivants seront rédigés avec les trois types de boucle : tant que, répéter jusqu’à et pour.

Exercice 4 Compte à rebours

Écrire un programme demandant à l’utilisateur de saisir une valeur numérique positive n et affichant toutes les valeurs n, n−1, …, 2, 1, 0.

Corrigé Corrigé Corrigé

Exercice 5 Factorielle

Ecrire un programme calculant la factorielle (factorielle n = n! = 1 × 2 × … × n et 0! = 1) d’un nombre saisi par l’utilisateur.

Corrigé Corrigé Corrigé

2.4.3  Choix de la boucle la plus appropriée

Pour les exercices suivants, vous choisirez la boucle la plus simple et la plus lisible.

Exercice 6 Table de multiplications

Écrire un programme affichant la table de multiplication d’un nombre saisi par l’utilisateur.

Corrigé

Exercice 7 Tables de multiplications

Écrire un programme affichant les tables de multiplications des nombres de 1 à 10 dans un tableau à deux entrées.

Corrigé

Exercice 8 Puissance

Écrire un programme demandant à l’utilisateur de saisir deux valeurs numériques b et n (vérifier que n est positif) et affichant la valeur bn.

Corrigé

Exercice 9 Joli carré

Écrire un programme demandant la saisir d’une valeur n et affichant le carré suivant (n = 5 dans l’exemple) :

n = 5
X  X  X  X  X

X  X  X  X  X

X  X  X  X  X

X  X  X  X  X

X  X  X  X  X

Corrigé

2.4.4  Morceaux choisis

Exercice 10 Approximation de 2 par une série

1

On approche le nombre 2 à l’aide de la série ∑i=0+ ∞ 1/2i. Effectuer cette approximation en calculant un grand nombre de termes de cette série. L’approximation est-elle de bonne qualité ?

Corrigé

Exercice 11 Approximation de e par une série

Mêmes questions qu’à l’exercice précédent en e à l’aide de la série ∑i=0+ ∞ 1/i!.

Corrigé

Exercice 12 Approximation de ex par une série

Calculer une approximation de ex à l’aide de la série ex = ∑i=0+ ∞ xi/i!.

Corrigé

Exercice 13 Conversion d’entiers en binaire

Écrire un programme qui affiche un int en binaire.

Corrigé

Exercice 14 Conversion de décimales en binaire

Écrire un programme qui affiche les décimales d’un double en binaire.

Exercice 15 Inversion de l’ordre des bits

Écrire un programme qui saisit une valeur de type unsigned short et qui inverse l’ordre des bits. Vous testerez ce programme en utilisant le précédent.

Exercice 16 Racine carrée par dichotomie

Écrire un algorithme demandant à l’utilisateur de saisir deux valeurs numériques x et p et affichant √x avec une précision p. On utilisera une méthode par dichotomie : à la k-ème itération, on cherche x dans l’intervalle [min, sup], on calcule le milieu m de cet intervalle (à vous de trouver comment le calculer). Si cet intervalle est suffisament petit (à vous de trouver quel critère utiliser), afficher m. Sinon, vérifiez si √x se trouve dans [inf, m] ou dans [m, sup], et modifiez les variables inf et sup en conséquence. Par exemple, calculons la racine carrée de 10 avec une précision 0.5,

2.4.5  Extension de la calculatrice

Une calculatrice de poche prend de façon alternée la saisie d’un opérateur et d’une opérande. Si l’utilisateur saisit 3, + et 2, cette calculatrice affiche 5, l’utilisateur a ensuite la possibilité de se servir de 5 comme d’une opérande gauche dans un calcul ultérieur. Si l’utilisateur saisit par la suite * et 4, la calculatrice affiche 20. La saisie de la touche = met fin au calcul et affiche un résultat final.

Exercice 17 Calculatrice de poche

Implémentez le comportement décrit ci-dessus.

Exercice 18 Puissance

Ajoutez l’opérateur $ qui calcule ab, vous vous restreindrez à des valeurs de b entières et positives.

Exercice 19 Opérations unaires

Ajoutez les opérations unaires racine carrée et factorielle.