td4
DESCRIPTION
aTRANSCRIPT
![Page 1: TD4](https://reader036.vdocuments.pub/reader036/viewer/2022081817/563db84b550346aa9a925f92/html5/thumbnails/1.jpg)
Faculte des Sciences de Gabes
Departement Informatique
Algorithmique et Structures de DonneesTD4: Les structures iteratives
Section: LFSI1
A.U: 2014/2015
Exercice 1 :
Decrire le resultat genere par chacun des algorithmes suivants :
Algorithme XXVar
i, x : EntierDebut
i←0x←0Pour i de 1 a 9 faire
Si (i mod 2 = 1) Alorsx←x+i
Sinonx←x-1
Fin SiEcrire(x)
Fin PourEcrire(”x= ”, x)
Fin
Algorithme YYVar
i, x : EntierDebut
i←0x←0Tant que (i<20) faire
Si (i mod 5 = 0) Alorsx←x+iEcrire(x)
Fin Sii←i+1
Fin TqEcrire(”x= ”, x)
Fin
Algorithme ZZVar
i, x : EntierDebut
i←0x←0Repeter
Si (i mod 5 = 0) Alorsx←x+1Ecrire(x)
Fin Sii←i+1
Jusqu’a (i>=20)
Ecrire(”x= ”, x)Fin
Exercice 2 :
Soit l’algorithme suivant :
Algorithme InconnuVar
a, b : EntierDebutRepeterEcrire(”Donner deux entiers :”)Lire(a, b)
Jusqu’a (a>0 Et b>0)
Tant que (a<>b) faireSi (a>b) Alors
a←a-bSinon
b←b-aFin Si
Fin TqEcrire(”Le resultat est : ”, a)
Fin
1. Executer a la main l’algorithme 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
![Page 2: TD4](https://reader036.vdocuments.pub/reader036/viewer/2022081817/563db84b550346aa9a925f92/html5/thumbnails/2.jpg)
Soit l’algorithme suivant :
Algorithme InconnuVar
n, i : EntierR, x : Reel
DebutRepeter
Lire(x)Jusqu’a (x<>0)
Lire(n)R←1Pour i de 1 a Abs(n) faire
R←R*1Fin PourSi (n<>0) Alors
R←1/(2*Abs(n))*(R*(n+abs(n))-1/R*(n-Abs(n)))Fin SiEcrire(R)
Fin
1. Executer a la main l’algorithme ci-dessus pour les cas suivants :
(a) x=3 n=3
(b) x=2 n=0
(c) x=2 n=-1
(d) x=4 n=2
2. Quelle est la fonction de cet algorithme ?
Exercice 4 :
Soit l’algorithme suivant :
Algorithme InconnuVar
i, j, n, m, hyp : EntierDebutRepeter
Ecrire(”Donner deux entiers : ”) ;Lire(n, m)
Jusqu’a (n>2 Et n<m)
Pour i de n a m fairej←2hyp←1Tant que (j<=i div 2 Et hyp=1) faire
Si (i mod j=0) Alorshyp←0
Sinonj←j+1
Fin SiFin TqSi (hyp=1) Alors
Ecrire(i)Fin Si
Fin PourFin
1. Executer a la main l’algorithme ci-dessus pour les cas suivants :
(a) n=3 m=8
(b) n=12 m=17
2. Quelle est la fonction de cet algorithme ?
2
![Page 3: TD4](https://reader036.vdocuments.pub/reader036/viewer/2022081817/563db84b550346aa9a925f92/html5/thumbnails/3.jpg)
Exercice 5 :
Ecrire un algorithme qui permet de calculer et d’afficher la somme d’un element sur trois dans la suitedes nombres entiers, demarrant a la valeur 2 ( soit la somme 2 + 5 + 8 + 11 ... ) et s’arretant a 100 pourle 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 mest 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 entierspositifs 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 l’entier 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 d’occurrence du chiffre a dans le nombre b.
Exercice 9 :
Ecrire un algorithme qui permet de :– Saisir deux dates de l’annee 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 d’apparition de ce chiffre dans le nombre NB.
Exercice 11 :
On considere deux suite (U) et (V) definies a partir de :U1 = 1U2 = 2Un = Un−1 + Un−2
Vn = Un/Un−1
La suite (Vn) tend vers une limite, appelee nombre d’or.On suppose que le keme terme de la suite (V) donne une valeur approchee du nombre d’or avec uneprecision E, des que |Vk − Vk−1| < E.Ecrire un algorithme qui permet de calculer et d’afficher Vk a 10−4 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 s’arrete lorsqu’on introduit l’entier 999.– Determiner et afficher le nombre d’entiers divisibles par A et non divisibles par B.– Calculer et afficher la moyenne des entiers n’appartenant pas a l’intervalle [A, B].
Remarque : 999 ne fait pas partie du calcul de la moyenne.
Exercice 13 :
On se propose d’ecrire un algorithme permettant de chercher puis d’afficher tous les entiers naturels d’unintervalle [a, b] ( 10< a<b<200 ) qui sont divisibles par chacun de leurs chiffres non nuls.
3
![Page 4: TD4](https://reader036.vdocuments.pub/reader036/viewer/2022081817/563db84b550346aa9a925f92/html5/thumbnails/4.jpg)
N.B : a et b sont deux entiers saisis a partir du clavier.
Exercice 14 :
Un nombre parfait est un entier presentant la particularite d’etre 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 par1.
Exercice 16 :
Un entier positif X forme de quatre chiffres ”est valable” s’il verifie la condition suivante : Le chiffre desmilliers, 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 d’ecrire 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 mentionneeci-dessus.
4