Exercice corrigé java boucle for TP avec solution

Comprendre la boucle for

Exercice 1 : 


Afin d’exécuter le programme suivant :
public class Exercice1
{
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

Leave a Reply