Universit´e d’Orl´eans Algorithmique 1
L1 Maths STIC, PCSI Ann´ee scolaire 2006-2007
Feuille de Travaux Dirig´es n2.
BOUCLES
Exercice 1 ´
Ecrire un programme qui calcule la somme des npremiers entiers, n´etant saisi au
clavier.
Exercice 2 ´
Ecrire un programme qui permet de saisir deux entiers xet n, puis qui calcule xn
par multiplications successives.
Exercice 3 ´
Ecrire un programme qui affiche tous les couples (x, y) o`u xest un entier compris
entre 1 et pet yun entier compris entre 1 et q;pet qsont deux entiers strictement positifs lus
au clavier.
Exercice 4 ´
Ecrire un programme qui, ´etant donn´e un entier nstrictement plus grand que 2,
affiche tous les ensembles A⊆ {1,···, n}tels que Aest exactement trois ´el´ements. Si l’entier
est inf´erieur ou ´egal `a 2, on demandera `a l’utilisateur de saisir un nouvel entier.
Par exemple, pour n= 5, le programme affiche :
{1,2,3} {1,2,4} {1,2,5} {1,3,4} {1,3,5} {1,4,5} {2,3,4} {2,3,5} {2,4,5} {3,4,5}
Exercice 5 ´
Ecrire un programme qui ´etant donn´e un entier positif ou nul, calcule la factorielle
de cet entier. Si l’entier est strictement n´egatif, on demandera `a l’utilisateur de saisir un nouvel
entier.
Puis, ´ecrire un programme qui ´etant donn´es deux nombres pet q, calcule Cq
p.
Rappel : La factorielle de n, not´ee n!, est : n! = 1 2 · · · nLa combinaison de pparmi p
est : Cq
p=p!
q!(pq)!
Exercice 6 ´
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 liste est indiqu´ee par un nombre
n´egatif. La longueur de la liste n’est pas limit´ee.
Exemple : 7 2 20 15 2 6 5 -1. Le maximum est 20, le minimum est 2.
Exercice 7 ´
Ecrire un programme qui renverse un entier saisis au clavier. Par exemple, si l’on
saisit 1234, le programme affiche 4321.
Exercice 8 Saisir la longueur et la largeur d’un rectangle et afficher `a l’´ecran le rectangle form´e
du caract`ere *.
Puis modifier le programme pour qu’il affiche seulement le contour du rectangle.
Exercice 9 ´
Ecrire un programme qui affiche la table de multiplication de 1 `a 10.
Exercice 10 Nombre parfait
´
Ecrire un programme qui d´etermine si un nombre est parfait. Un nombre est parfait s’il est
´egal `a la somme de ses diviseurs stricts. Par exemple, 28 est parfait car 28 = 1 + 2 + 4 + 7 + 14.
Modifier votre programme pour qu’il affiche tous les nombres parfaits ente 1 et 100.
1
Exercice 11 Nombre premier
´
Ecrire un programme qui d´etermine si un nombre est premier. Un nombre est premier si ses
seuls diviseurs sont 1 et lui-mˆeme.
Exercice 12
Indiquer la valeur de x`a la fin de ces boucles, ainsi que le nombre d’it´erations effectu´ees.
Puis remplacer toutes les boucles par des boucles Tant que
1 - x<-2
Pourtout i de 1 `a 10 faire
x<-x+2
FinPour
2 - i<-1 ; x<-1
ep´eter
x<-i
i<-i+1
Jusqu’`a (i>10)
3 - i<-1 ; x<-1
ep´eter 8.00
x<-x+2
i<-i+1
Jusqu’`a (i>= 5)
4- i<-1 ; x<-0
ep´eter
x<-x+2
i<-i+1
Jusqu’`a (i >= x)
5- i<-1 ; x<-2
ep´eter
x<-x+2
i<-i+1
Jusqu’`a (i < x)
Exercice 13 ´
Ecrire un programme qui ´etant donn´es le nde jour (1,···,7) et l’heure (de 0 `a
24) affiche le jour correspondant et le nombre d’heures ´ecoul´ees depuis le d´ebut de la semaine.
Si le jour ou l’heure n’est pas valide alors il redemande la saisie jusqu’`a avoir une valeur valide.
Exercice 14 Calcul du PGCD
Le plus grand diviseur commun (PGCD) de deux entiers positifs aet b, avec a > b, est tel que
P GCD(a, b) = P GCD(b, a mod b) et P GCD(a, 0) = a.
Utiliser ces informations pour ´ecrire un algorithme qui calcule le PGCD de deux entiers stricte-
ment positifs (on recommencera la saisie des nombres jusqu’`a ce qu’ils soient bien strictement
positifs).
Exercice 15 Suite de Fibonacci
La suite de Fibonacci est d´efinie par u0= 1, u1= 1 et un+2 =un+1 +unpour n > 0. ´
Ecrire un
programme qui ´etant donn´e un entier npositif, donne le ni`eme terme de la suite de fibonacci.
Exercice 16 Le nombre 5 est un entier pythagoricien car il existe deux autres entiers, en
l’occurence 3 et 4, tels que 52= 32+ 42.´
Ecrire un programme qui recherche et affiche tous les
entiers pythagoriciens compris entre 1 et 100.
2
Exercice 17 Le jeu du nombre myst´erieux
Un entier est entr´e par le joueur A. Le joueur Bdoit ensuite retrouver ce nombre. Il entre un
nombre. Si ce n’est pas le bon, l’ordinateur indique si le nombre donn´e par Best trop grand
ou trop petit. Ba le droit `a 10 essais pour trouver le nombre de A.`
A la fin de la partie,
l’ordinateur propose de recommencer une nouvelle partie. Si Becline l’offre, le programme
affiche le nombre total de parties jou´ees et le nombre de parties gagn´ees par B.
Exercice 18 ´
Ecrire un programme qui pour un ndonn´e :
Si nest strictement positif, saisit au clavier nnombre(s) strictement(s) positif(s) a1,···, an
tel que ai, 0 < ai<4. Puis, il affiche la moyenne (n11 + n22 + n33)/n, o`u niesigne
le nombre d‘apparitions de iparmi le(s) nombre(s) saisi(s).
Si nest n´egatif, affiche 1.
Exercice 19 Conjecture de Goldbach
La conjecture de Goldbach affirme que tout nombre pair peut s’´ecrire comme la somme de deux
nombres premiers. Par exemple, 500 s’´ecrit comme 1+499, o`u 1 et 499 sont premiers.
´
Ecrire un programme qui ´etant donn´e un entier npositif et pair, donne la liste (si possible) de
toutes les d´ecompositions de ce nombre comme la somme de deux nombres premiers. Si l’entier
est n´egatif ou impair, on demandera `a l’utilisateur de saisir un nouvel entier.
Puis ´ecrire un programme qui ´etant donn´e un entier nstrictement positif, affiche la liste des
nombres pairs v´erifiant la conjecture de Goldbach et compris entre 1 et n.
3
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !