[Précédent] |
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 |
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 + " "); } |
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); |
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); |
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] |