[Précédent]
[Index] | [Corrigé] | [Version imprimable]
[Prochain]

3.5
  On tourne en rond - Enoncé
Niveau 1
 
 
But:
  Indiquez l'affichage/comportement de divers boucles    
Thème:
  Boucles, Portée    
Fichiers:
  BouclesFor.java, AffichageBoucles.java, BouclesEquivalentes.java    

Exercice 5.3.1

Indiquez l'affichage de chacune des boucles for suivantes. Exécutez dans un terminal le programme BouclesFor.java pour vérifier vos réponses (Tapez "Enter" pour passer d'une boucle à la suivante). Les boucles infinies éventuelles peuvent être interrompues en tapant <ctrl-c> dans le terminal ou encore, si vous exécutez ce code dans Eclipse/IntelliJ, en cliquant sur le petit carré rouge dans la vue "Console".

// Exemple 1
for (int i = 0; i < 5; i++) {
    System.out.print(i + " ");
}

// Exemple 2
for (int i = 3; i <= 8; i++) {
    System.out.print(i + " ");
}
        
// Exemple 3        
for (int i = 2; i > -2; i--) {
    System.out.print(i + " ");
}
        
// Exemple 4
for (int i = 0; i > 5; i--) {
    System.out.print(i + " ");
}
        
// Exemple 5
for (int i = 0, j = 5; (i <= 10 && j < 7); i++, j++) {
    System.out.print(i + " " + j + " * ");
}

// Exemple 6
for (int i = 0, j = 5; i <= 10 || j < 7; i++, j++) {
    System.out.print(i + " " + j + " * ");
}
        
// Exemple 7
boolean b = true;
for (int i = 3; b; i++) {
    System.out.print(i + " " + b + " * ");
    b = (i < 6);
}
        
// Exemple 8
for (int i = 0, j = 6; i != j; i++, j--) {
    System.out.print(i + " " + j + " * ");
}
        
// Exemple 9
for (int i = 0; i < 3; i++) {
    System.out.print(i + " ");
    for (int j = 0; j < 3; j++) {
        System.out.print(j + " ");
    }
    System.out.print(" * ");
}
        
// Exemple 10
for (int i = 3; i < 15; i--) {
    System.out.print(i + " ");
}

Exercice 5.3.2

Indiquez ce qui sera affiché par chaque partie de code ci-dessous. Exécutez dans un terminal le programme AffichageBoucles.java pour vérifier vos réponses (ce programme affichera le résultat pour toutes les boucles d'un seul coup, contrairement au précédent).

// Exemple 1
int n = 5;
int a = 2;
for(a = 3; a < n + 1; a = a++) {
    System.out.println(a-1);
    a = a + 1;
}

// Exemple 2
int n = 3;
int b = 5;
while (b <= 4 * n) {
    System.out.println(b);
    b = b * 2;
}
System.out.println(b);

// Exemple 3
int n = 3;
int c = 6 * n;
do {
    c = c - n * 2;
    System.out.println(c);
} while (c >= 0);
System.out.println(c);

// Exemple 4
int n = 3;
int d = 3;
while (d < n) {
    d = d + 1;
}
System.out.println(d);

// Exemple 5
int n = 3;
int e = 3;
do {
    e = e + 1;
} while (e < n);
System.out.println(e);

// Exemple 6
int n = 3;
int f = 3;
for (f = 0; f < n; f = f + 1);
    System.out.println(f);

Exercice 5.3.3

Expliquez pourquoi les deux portions de code suivantes ne compilent pas en Java :

// Exemple 1
int i = 0;
for (int i = 1; i < 5; ++i)
    System.out.println(i);

// Exemple 2
for (int i = 0; i < 5; ++i);
    System.out.println(i);

Exercice 5.3.4

Complétez le programme BouclesEquivalentes avec une boucle while et une boucle do..while qui font la même chose que la boucle for déjà présente dans le programme.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
class BouclesEquivalentes {

    public static void main(String[] args) {
        System.out.println("Boucle for :");
        for (int a = 3; a <= 10; a++) {
            System.out.println("a : " + a);
        }

        System.out.println("Boucle while :");
        // A compléter. Ecrivez une boucle while qui fait la même chose
        // que la boucle for ci-dessus 

        System.out.println("Boucle do..while :");
        // A compléter. Ecrivez une boucle do..while qui fait la même
        // chose que la boucle for ci-dessus.
    }
}

 


[Précédent]
[Index] | [Corrigé] | [Version imprimable]
[Prochain]