Feuille 2 - Université d`Orléans

publicité
Université d'Orléans
Licence Maths & PC & STIC 1ère année
SCL1S1IO01-Java1
Année scolaire 2005-2006
Feuille de Travaux Dirigés n° 2
Exercice 1
clavier.
Ecrire un programme qui calcule la somme des n premiers entiers, n étant saisi au
Exercice 2
Ecrire un programme qui permet de saisir deux entiers x et n, puis qui calcule xn 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 Cpq.
Rappel : La factorielle de n, notée n!, est : n ! = 1 * 2 * … * n
La combinaison de q de p est :
Cpq.= 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.
2.
3.
x = 2;
for (int i = 1; i<=10; i++) {
x = x +2;}
i = 1; x = 1;
do { x = i;
i++;
} while (i <= 10);
x = 1;
i = 1;
do { x = x + 2;
4.
5.
i++;
} while (i < 5);
x = 0;
i = 1;
do {
x = x + 2;
i++;
} while (i > x);
x = 2;
i = 1;
do { x = x + 2;
i = i + 1;
} while (i <= x);
Exercice 11
Ecrire un programme qui étant donnés le N° de jour (1,…,7) et l’heur (de 0 à 24) affiche le jour
correspondant et le nombre d’heurs écoulées depuis le début de la semaine. Si le jour ou l’heur n’est
pas valide il redemande la saisie jusqu’à avoir une valeur valide.
Exercice 12
Calcul du PGCD
Le plus grand diviseur commun (PGCD) de deux entiers positifs a et b, avec a > b, est tel que
PGCD(a,b) = PGCD(b, a mod b)
et si b = 0 alors PGCD(a,b) = a
Utiliser ces informations pour écrire un programme qui calcul le PGCD de deux entiers strictement
positifs (on recommencera la saisie des nombres jusqu’à ce qu’ils soient bien strictement positifs).
Exercice 13
Suite de Fibonacci
La suite de Fibonacci est définie par :
u0 = 1
u1 = 1
u n+2 = u n+1 + u n , avec n > 0
Ecrire un programme qui étant donné un entier n positif, donne le nième terme de la suite de
Fibonacci.
Exercice 14
Le nombre 5 est un entier pythagoricien car il existe deux autres entiers, en l’occurrence 3 et 4, tels
que 5² = 4² + 3².
Ecrire un programme qui recherche tous les entiers pythagoriciens compris entre 0 et 100.
Exercice 15
Le jeu du nombre mystérieux
Un entier est entré par le joueur A. Le joueur B doit ensuite retrouver ce nombre. Il entre un nombre. Si
ce n’est pas le bon, l’ordinateur indique si le nombre donné par B est trop petit ou trop grand. B a le
droit à 10 essais pour trouver le nombre de A. A la fin de la partie, l’ordinateur propose de
recommencer une nouvelle partie. Si B décline l’offre, le programme affiche le nombre total de parties
jouées et le nombre de parties gagnées par B.
Exercice 16
Ecrire un programme qui pour un n donné :
• Si n est strictement positif, saisit au clavier n nombre(s) strictement positif(s) a1, a2,…,an tel
que ∀ai, 0<ai<4 ; affiche la moyenne (n1*1+n2*2+n3*3)/n sachant que ni est le nombre
d’apparitions de i parmi le(s) n nombre(s) saisi(s).
• Si n est négatif, affiche -1.
Téléchargement