TD4
TD4
TD4
`s
Faculte
partement Informatique
De
Algorithmique et Structures de Donnees
TD4: Les structures iteratives
Section: LFSI1
A.U: 2014/2015
Exercice 1 :
Decrire le resultat genere par chacun des algorithmes suivants :
Algorithme XX
Var
i, x : Entier
D
ebut
i0
x0
Pour i de 1 `
a 9 faire
Si (i mod 2 = 1) Alors
xx+i
Sinon
xx-1
Fin Si
Ecrire(x)
Fin Pour
Ecrire(x= , x)
Fin
Algorithme YY
Var
i, x : Entier
D
ebut
i0
x0
Tant que (i<20) faire
Si (i mod 5 = 0) Alors
xx+i
Ecrire(x)
Fin Si
ii+1
Fin Tq
Ecrire(x= , x)
Fin
Exercice 2 :
Soit lalgorithme suivant :
Algorithme Inconnu
Var
a, b : Entier
D
ebut
R
ep
eter
Ecrire(Donner deux entiers :)
Lire(a, b)
Jusqu`
a (a>0 Et b>0)
Tant que (a<>b) faire
Si (a>b) Alors
aa-b
Sinon
bb-a
Fin Si
Fin Tq
Ecrire(Le resultat est : , a)
Fin
1. Executer `
a la main lalgorithme ci-dessus pour les 2 cas suivants :
(a) a=30 b=40
(b) a=18 b=65
2. Quelle est la fonction de cet algorithme ?
Exercice 3 :
1
Algorithme ZZ
Var
i, x : Entier
D
ebut
i0
x0
R
ep
eter
Si (i mod 5 = 0) Alors
xx+1
Ecrire(x)
Fin Si
ii+1
Jusqu`
a (i>=20)
Ecrire(x= , x)
Fin
Exercice 4 :
Soit lalgorithme suivant :
Algorithme Inconnu
Var
i, j, n, m, hyp : Entier
D
ebut
R
ep
eter
Ecrire(Donner deux entiers : ) ;
Lire(n, m)
Jusqu`
a (n>2 Et n<m)
Pour i de n `
a m faire
j2
hyp1
Tant que (j<=i div 2 Et hyp=1) faire
Si (i mod j=0) Alors
hyp0
Sinon
jj+1
Fin Si
Fin Tq
Si (hyp=1) Alors
Ecrire(i)
Fin Si
Fin Pour
Fin
1. Executer `
a la main lalgorithme ci-dessus pour les cas suivants :
(a) n=3 m=8
(b) n=12 m=17
2. Quelle est la fonction de cet algorithme ?
Exercice 5 :
Ecrire un algorithme qui permet de calculer et dafficher la somme dun element sur trois dans la suite
des nombres entiers, demarrant `
a la valeur 2 ( soit la somme 2 + 5 + 8 + 11 ... ) et sarretant `a 100 pour
le compteur. Donner trois solutions distinctes.
1. avec une instruction Tant que.
2. avec une instruction Repeter...Jusqu`a.
3. avec une instruction Pour.
Exercice 6 :
Le PPCM (plus petit commun multiplicateur) de deux entiers a et b est le plus petit entier m tel que m
est divisible par a et b. Par exemple PPCM (4 ; 3) = 12.
Ecrire un algorithme qui calcule le PPCM de deux entiers a et b strictement positifs tel que a>b.
Exercice 7 :
Dans cet exercice, on se propose de developper un Algorithme realisant la multiplication de deux entiers
positifs A et B en utilisant la methode egyptienne.
La methode Egyptienne qui est decrite comme suit :
Si A est impair alors on lui retranche 1, et on augmente le resultat de la multiplication de B.
Si A est pair, alors on le divise par 2 et on multiplie lentier B par 2.
Ce processus est repete jusqu`
a que la valeur de A devienne zero.
Exercice 8 :
Ecrire un algorithme qui permet de :
Saisir deux entiers a et b au clavier ( 0<=a<=9, b<>0 )
Chercher et afficher le nombre doccurrence du chiffre a dans le nombre b.
Exercice 9 :
Ecrire un algorithme qui permet de :
Saisir deux dates de lannee 2014 (chaque date est representee par un numero de jour, un numero
de mois),
Calculer et afficher les jours ecoules entre ces deux dates.
Exercice 10 :
Ecrire un programme C qui permet de :
Saisir un entier positif NB de 3 chiffres minimum.
Determiner et afficher le plus petit chiffre qui rentre dans la composition de ce nombre.
Determiner et afficher le nombre dapparition de ce chiffre dans le nombre NB.
Exercice 11 :
On consid`ere deux suite (U) et (V) definies `a partir de :
U1 = 1
U2 = 2
Un = Un1 + Un2
Vn = Un /Un1
La suite (Vn ) tend vers une limite, appelee nombre dor.
On suppose que le k e`me terme de la suite (V) donne une valeur approchee du nombre dor avec une
precision E, des que |Vk Vk1 | < E.
Ecrire un algorithme qui permet de calculer et dafficher Vk `a 104 pres et son rang.
Exercice 12 :
Ecrire un algorithme qui permet de :
Saisir deux nombres entiers A et B. (A>0 et B>0 et A<B).
Saisir une suite de nombres entiers strictement positifs, on sarrete lorsquon introduit lentier 999.
Determiner et afficher le nombre dentiers divisibles par A et non divisibles par B.
Calculer et afficher la moyenne des entiers nappartenant pas `a lintervalle [A, B].
Remarque : 999 ne fait pas partie du calcul de la moyenne.
Exercice 13 :
On se propose decrire un algorithme permettant de chercher puis dafficher tous les entiers naturels dun
intervalle [a, b] ( 10< a<b<200 ) qui sont divisibles par chacun de leurs chiffres non nuls.
3
Exercice 14 :
Un nombre parfait est un entier presentant la particularite detre egal `a la somme de tous ses diviseurs,
excepte lui-meme. Le premier nombre parfait est 6, il est bien egal `a 1+2+3.
Ecrire un algorithme permettant de sortir la liste de tous les nombres parfaits compris entre 6 et N (N>6).
Exercice 15 :
Un nombre est dit totalement pair si tous ses chiffres pairs occupent des positions paires.
Ecrire un algorithme qui permet de (d) :
1. Saisir un entier NB (NB>10),
2. Afficher les positions des chiffres paires de NB,
3. Verifier et afficher si NB est totalement pair ou non.
Remarque : Les positions des chiffres sont numerotees de la droite vers la gauche en commencant par
1.
Exercice 16 :
Un entier positif X forme de quatre chiffres est valable sil verifie la condition suivante : Le chiffre des
milliers, qui ne doit pas etre nul, est suivi par ses multiples.
Exemple : 2486 est valable car 4, 8 et 6 sont des multiples de 2.
On vous demande decrire un algorithme qui permet de :
1. Saisir un entier N. (N>1).
2. Saisir une suite de N entiers (chaque entier de la suite est positif et forme de quatre chiffres).
3. Chercher et afficher le nombre des entiers valables dans la suite qui verifient la condition mentionnee
ci-dessus.