td4

4
Facult ´ e des Sciences de Gab ` es D ´ epartement Informatique Algorithmique et Structures de Donn´ ees TD4: Les structures it´ eratives Section: LFSI1 A.U: 2014/2015 Exercice 1 : ecrire le r´ esultat g´ en´ er´ e par chacun des algorithmes suivants : Algorithme XX Var i, x : Entier 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 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 Algorithme ZZ Var i, x : Entier ebut i0 x0 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 2 : Soit l’algorithme suivant : Algorithme Inconnu Var a, b : Entier ebut 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 r´ esultat est : ”, a) Fin 1. Ex´ ecuter ` 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

Upload: abdelghani-moro

Post on 10-Feb-2016

214 views

Category:

Documents


0 download

DESCRIPTION

a

TRANSCRIPT

Page 1: TD4

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

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

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

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