Correction TD 3 : Algorithmes it´eratifs
Licence 1 MASS semestre 2, 2007/2008
Exercice 1 : Plus petit, plus grand
a-
Algorithme devinerA(n : entier) : rien
ebut
variable a: entier
an1
tant que a6=nfaire
´ecrire(”Proposer un nombre ”)
lire(a)
si a < n alors
´ecrire(”trop petit”)
sinon
´ecrire(”trop grand”)
fin si
fin tant que
´ecrire(”vous avez trouv´e”)
fin
b-
Algorithme devinerB(n : entier) : rien
ebut
variable a,i: entier
an1
i0
tant que a6=net i < 5faire
´ecrire(”Proposer un nombre ”)
lire(a)
si a < n alors
´ecrire(”trop petit”)
sinon
´ecrire(”trop grand”)
fin si
ii+ 1
fin tant que
1
´ecrire(”vous avez trouv´e”)
fin
Exercice 2 : Comptage
a-
Algorithme comptageTailleSup160() : entier
ebut
variable t,n,i: entier
n0
pour ide 1`a 10 faire
´ecrire(”Saissez votre taille (en cm) :” )
lire(t)
si t160 alors
nn+ 1
fin si
fin pour
retourner n
fin
b-
Algorithme votation(n: entier) : rien
ebut
variable oui, non, blanc, i: entier
vote : caract`ere
oui 0
non 0
blanc 0
pour ide 1`a nfaire
lire(vote)
si vote = ”O” alors
oui oui + 1
sinon
si vote = ”N” alors
non non + 1
sinon
blanc blanc + 1
fin si
fin si
fin pour
´ecrire(”Pourcentage de BLANC : ”, 100*blanc/n)
´ecrire(”Pourcentage de OUI parmi les exprim´es : ”, 100*oui/(oui + non))
´ecrire(”Pourcentage de NON parmi les exprim´es : ”, 100*non/(oui + non))
2
fin
Exercice 3 : Suite r´ecurrentes
a- u1=1
2u0+ 2 = 3
2
u2=1
2u1+ 2 = 11
4
u3=1
2u2+ 2 = 27
8
u4=1
2u3+ 2 = 59
16
u5=1
2u4+ 2 = 123
32
b- Algorithme U100() : eel
ebut
variable i: entier
u: r´eel
u1
pour ide 1`a 100 faire
u1
2u+ 2
fin pour
retourner u
fin
c- Algorithme Un(n: entier) : r´eel
ebut
variable i: entier
u: r´eel
u1
pour ide 1`a nfaire
u1
2u+ 2
fin pour
retourner u
fin
d- Algorithme rangLimite() : entier
ebut
variable u,p: entier
u1
p0
tant que |u4|>102faire
u1
2u+ 2
pp+ 1
fin tant que
retourner p
fin
3
Exercice 4 : Z´ero d’une fonction
a- Algorithme zeroIteratif(f: fonction, a,b: entier) : r´eel
ebut
variable x: entier
xa
tant que f(x)<0faire
xx+ 102
fin tant que
retourner x
fin
b- Algorithme zeroDichotomie(f: fonction, a,b: entier) : eel
ebut
variable x1,x2,xm: entier
x1a
x2b
tant que |x1x2|>102faire
xmx1+x2
2
si f(xm)<0alors
x1xm
sinon
x2xm
fin si
fin tant que
retourner x1
fin
Exercice 5 : Suite de polynomes
a- P1(X) = (X1+X)P0(X) = X1+X
P2(X) = (X1+X)P1(X) = X2+ 2 + X2
P3(X) = (X1+X)P2(X) = X3+ 3X1+ 3X+X3
P4(X) = (X1+X)P3(X) = X4+ 4X2+ 6 + 4X2+X4
P5(X) = (X1+X)P4(X) = X5+5X3+10X1+10X+5X3+X5
Les coefficients correspondent aux coefficients du binˆome de Newton.
b- Algorithme P100() : polynme
ebut
variable P: polynome
i: entier
P1
pour ide 1`a 100 faire
P(X1+X)P
fin pour
4
retourner P
fin
Exercice 6 : Lapins
a- Le nombre de couples de lapins au mois nest la somme des couples exis-
tants le mois d’avant (au mois n1) et des couples naissants au mois n.
Or, le texte pr´ecise que tous les couples existants deux mois auparavant
(au mois n2) se reproduisent.
Par cons´equent, au mois n2 le nombre de lapins est :
un=un1+un2
b- Le premier mois, il n’y a qu’un seul couple u0= 1 et le mois suivant aucun
lapin n’est encore n´e, donc u1= 1.
Algorithme lapin12() : entier
ebut
variable u,v,i,tmp : entier
v1
u1
pour ide 2`a 12 faire
tmp u
uu+v
vtmp
fin pour
retourner u
fin
c- Algorithme mois300() : entier
ebut
variable u,v,tmp,m: entier
v1
u1
m0
tant que u300 faire
tmp u
uu+v
vtmp
mm+ 1
fin tant que
retourner m
fin
d- Algorithme moisL(L: entier) : entier
ebut
variable u,v,tmp,m: entier
v1
5
1 / 6 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 !