exercice et solution la boucle for java
Comprendre la boucle for
Exercice 1 :
Afin d’exécuter le programme suivant :
{
public static void main (String
[] parametre)
{
long i, b = 1;
int a;
System.out.println("Entrer un entier :");
a = Lire.i();
for (i = 2; i <= a;
i++)
b = b * i;
System.out.println("Le resultat vaut
" + b);
}
}
a. Examinez le programme, repérez les instructions concernées par
la boucle répétitive, et déterminez les instructions de début et
fin de boucle.
b. Quelle est la valeur initiale de i et
quelle est sa valeur en sortie de boucle ? Combien de boucles sont
réalisées ?
c. Quelle est l’instruction qui permet de modifier le
résultat du test de sortie de boucle ?
d. En supposant que l’utilisateur entre la
valeur 6, exécutez le programme à la main (pour vous
aider, construisez le tableau d’évolution de chaque variable déclarée).
e. Quel est le calcul réalisé par
ce programme ?
Exercice
2 :
En utilisant une boucle for,
écrivez un programme qui affiche l’alphabet, d’abord à
l’endroit, puis à l’envers, après un passage à la ligne.
--------------------------------------------------------------------
Correction
- Solution TP
--------------------------------------------------------------------
Solution
exercice 1 :
public class Exercice1 {
public static void main (String []
paramètre) {
long i, b = 1;
int a;
System.out.print("Entrer
un entier :");
a = Lire.i();
for (i = 2; i <= a; i++)
b = b * i;
System.out.println("La resultat vaut
" + b);
}
}
a. Repérez
les instructions concernées par la boucle : voir tracé orange sur
le programme ci-dessus.
Déterminez
les instructions de début et fin de boucle
: voir tracé vert sur
le programme ci-dessus.
b. La variable i est
initialisée à 2. Elle vaut a + 1 en sortant de la boucle. Le nombre de boucles
est calculé par la formule : (valeur en sortie de boucle –
valeur initiale) soit, a + 1 – 2 = a – 1 tours de boucle.
c. Recherchez l'instruction
permettant de modifier le résultat du test de sortie de boucle
:voir tracé jaune sur le programme ci-dessus.
d.
e. Ce programme calcul la factorielle d'un
nombre soit, n! = 1 * 2 * 3 * … * n.
Solution
exercice 2 :
public class Exercice2
{
public static void main (String
[] parametre) {
char c;
for (c = 'a'; c <= 'z';
c++) System.out.print(c + " ");
System.out.println();
for (c = 'z'; c >= 'a';
c--) System.out.print(c + " ");
System.out.println();
}
}
Les caractères correspondent en
réalité à des valeurs numériques (Unicode). Il est donc possible de
les utiliser comme variable de contrôle d'une boucle for.
Article plus récent Article plus ancien