Université d'Orléans SCL1S1IO01-Java1
Licence Maths & PC & STIC 1ère année Année scolaire 2005-2006
Feuille de Travaux Dirigés n° 2
Exercice 1 Ecrire un programme qui calcule la somme des n premiers entiers, n étant saisi au
clavier.
Exercice 2 Ecrire un programme qui permet de saisir deux entiers x et n, puis qui calcule x
n
par
multiplications successives.
Exercice 3 Ecrire un programme qui étant donné un entier positif ou nul, calcule la factorielle de
cet entier. Si l’entier est strictement négatif, on demandera à l’utilisateur de saisir un nouvel entier.
Puis étant donnés deux nombres p et q calcule C
pq
.
Rappel : La factorielle de n, notée n!, est : n ! = 1 * 2 * … * n
La combinaison de q de p est : C
pq
.= p!/(q!*(p-q) !)
Exercice 4 Ecrire un programme qui permet de retrouver le maximum et le minimum d’une liste
de nombres positifs saisis par l’utilisateur. La fin de la liste est indiquée par un nombre négatif. La
longueur de la liste n’est pas limitée. Exemple : 7 2 20 15 2 6 5 -1. Le maximum est 20, le minimum
est 2.
Exercice 5 Ecrire un programme qui renverse un entier saisi au clavier. Par exemple si l’on saisi
1234, le programme affiche 4321.
Exercice 6 Saisir la longueur et la largeur d’un rectangle et afficher à l’écran le rectangle formé
du caractère *. Modifier le programme pour qu’il affiche seulement le contour du rectangle.
Exercice 7
Ecrire un programme qui affiche la table de multiplication de 1 à 10.
Exercice 8 Nombre parfait
Ecrire un programme qui détermine si un nombre est parfait. Un nombre est parfait s’il est égal à la
somme de ses diviseurs. Par exemple, 28 est parfait car 28 = 1 + 2 + 4 + 7 + 14. Puis affiche tous les
nombres parfaits entre 1 et 100.
Exercice 9 Nombre premier
Ecrire un programme qui détermine si un nombre est premier. Un nombre est premier si ses seuls
diviseurs sont 1 et lui-même.
Exercice 10
- Indiquer la valeur de x à la fin de ces boucles, ainsi que le nombre d’itérations effectuées.
- Remplacer toutes les boucles par des boucles while.
1. x = 2;
for (int i = 1; i<=10; i++) {
x = x +2;}
2. i = 1; x = 1;
do { x = i;
i++;
} while (i <= 10);
3. x = 1;
i = 1;
do { x = x + 2;