Upload
tarek-bouazza
View
225
Download
0
Embed Size (px)
Citation preview
7/23/2019 Exercices - Troisime Srie.pdf
1/36
LMD / S.T. Srie 2 : Testes / Boucles
SommaireTroisime Srie.....................................................................................................................................2
Exercice 1 : Types de valeurs...........................................................................................................2Exercice 2 : Nombres.......................................................................................................................2Exercice 3 : Expressions..................................................................................................................2
Exercice 4 : Ideni!icaeurs valides " non valides............................................................................3Exercice # : $claraion de variables %&!!ecaion " 'ecure(.........................................................4Exercice ) : Excuion " $roulemen d*un al+ori,me...................................................................-Exercice - : 'e si+ne d*un nombre...................................................................................................Exercice : /omparaison enre deux nombres.............................................................................10Exercice : soluion de l*uaion ax2bxc50.......................................................................11Exercice 10 : $roulemen d*un al+ori,me..................................................................................13Exercice 11 : 6valuaion des expressions ari,miues e lo+iues.............................................1-Exercice 12 : /alculer une somme d*une manire iraives.........................................................1Exercice 13 : /alculs iraives 7 sommes8 produis......................................................................2#Exercice 14 : /alcul de somme en !oncion de n e x....................................................................2-
Exercice 1# : /alcul de salaire pour N individus...........................................................................2Exercices Supplmenaires :...............................................................................................................32Exercice 1) : Soluion d*une uaion de deuxime de+r............................................................32Exercice 1- : Sommes iraives....................................................................................................33
L'objectif de cette deuxime srie est de comprendre les notions de : expressions et leursvaluations, droulement d'algorithme, teste alternatif simple et double ainsi que la notion deboucles.
Vous allez aborder les points suivants :
Dterminer le type d'une valeur (entier, rel, caractre, chane ou boolen) crire correctement les valeurs et les expressions dans le langage PASCAL Droulement d'un algorithme Organigramme Utilisation du teste alternatif double et simple Utilisation des boucles Pour, Tant-que et Rpter (for, whileet repeat). Calcul de sommes et produits itratives
1
7/23/2019 Exercices - Troisime Srie.pdf
2/36
LMD / S.T. Srie 2 : Testes / Boucles
Troisime Srie
Exercice 1 : Types de valeurs
Donner le type des constantes suivantes : 2010 ; 124.5 ; 667.0E-8 ; 'A' ; 'erreur : divisions par
zro' ; TRUE ; FALSE
Rponse :
Valeur Type (Algorithme) En Pascal
2010 Entier Integer
124.5 Rel (avec une virgule fixe) Real
667.0E-8 Rel (avec une virgule flottante) Real
'A'Caractre Char
'erreur:division par zro' Chane String
TRUE Boolen Boolean
FALSE Boolen Boolean
En algorithmique et en langage PASCAL, il y 5 types de base.
Exercice 2 : Nombres
Exprimer les nombres suivants dans un langage (PASCAL) : 8,50 96,2 109 0,39 10-16
Rponse :
Nombres En PASCAL
8,50 8.50
96,2 109 96.2 E+9
0,39 10-16 0.39 E-16
Exercice 3 : Expressions
Pour les expressions mathmatiques (arithmtiques / logiques), la transcription manuelle n'est pas
toujours valables pour le langage PASCAL. Le tableau suivant montres comment crire
correctement quelques oprations / fonctions mathmatiques
Expression normale Expression en Pascal
a
b
a / b(division rel : rsultat avec la virgule)adivb(division entire : rsultat entier)
2
7/23/2019 Exercices - Troisime Srie.pdf
3/36
LMD / S.T. Srie 2 : Testes / Boucles
a2 sqr(a)
a sqrt(a)
|a| abs(a)
ex exp(x)
Ln(x) ln(x)
an exp(n*ln(x))
Exprimer les expressions suivantes dans un langage (PASCAL) :
b+b24 ac
2a 2x e
x (xy )29
ab
Rponse :
Expression En Pascal
b+b24 ac2a
( -b + sqrt(sqr(b) 4*a*c) ) / (2 * a)
2x ex 2 * x * exp(x)
(xy )29
abexp(2*k*ln(x-y)) / (a*b)
Il faut faire attention lors d'criture des expressions mathmatiques (arithmtiques ou logiques).
Exercice 4 : Identificateurs valides / non valides
Indiquer les identificateurs valides et non valides parmi la liste suivante : 1A ; R? ; K2 ;
T280 ; 12R ; Hauteur ; Prix-HT ; Prix_HT ; Code prod ; Code_prod
Rponse :
Identificateurs Valide / Non Valide
1A Non valide : il commence par un chiffre
R? Non valide : il contient le point d'interrogation
K2 Valide
T280 Valide
12R Non valide (comme le premier)
Hauteur Valide
3
7/23/2019 Exercices - Troisime Srie.pdf
4/36
LMD / S.T. Srie 2 : Testes / Boucles
Prix-HT Non valide : il contient tir 6 (signe de moins)
Prix_HT Valide
Code prod Non valide : il contient un blanc
Il faut revoir la dfinition de l'identificateur en cours
Les identificateurs sont utiliss pour donner un nom un programme, constante ou variables
Exercice 5 : !claration de variables "#ffectation / $ecture%
crire un algorithme / programme PASCAL permettant d'initialiser des variables par affectations
ou par lectures les donnes (valeurs) suivantes et les affiche l'cran :
135 -125 150,0 127543,50 96,2 109 0,39 10-16 'A' 'Informatique 1' true false
(Il y a 10 valeurs, donc vous devez dclarer 10 variables = 10 espaces mmoires)
Premire solution : Par affectation
L'algorithme :
Le programme PASCAL :
Dans cette premire solution, on crit les valeurs dans le code sources (dans le programme
4
Programexercie_5;
Useswincrt ;vara, b : integer ; c, d, e, f : real ; g:char ; h:string ;i, j : boolean ;
Begin
a:=135; b:=-125; c:=1500; d:=12!5"350; e:=#$2 %#;f:=03#%-1$; g:=&'&; h:=&(nfor)ati*+e 1&; i:=tr+e ;j:=false;write a, b, c, d, e, f, g, h, i, j ;
End
1
23"5$!.#
1011
Algorithmeexercie_5Variables
a, b : entierc, d, e, f : r/elg : caractre
h : chanei, j : bool/en
Dbut
a 135 ; b -125 ; c 1500 ; d 12!5"350e #$2 % # ; f 03# %-1$ ; g &'& ;h &(nfor)ati*+e 1& ; i tr+e ; j false ;crirea, b, c, d, f, g, h, i, j
Fin
7/23/2019 Exercices - Troisime Srie.pdf
5/36
LMD / S.T. Srie 2 : Testes / Boucles
lui mme). Et les valeurs sont connus avant d'excuter le programme.
La partie gauche d'une affectation est toujours une variables
Vous pouvez ajouter des chane de caractres (message) la fonction writepour montrer les
noms des variables et leurs valeurs respectives : write ('a = ', a, ' b=', b, .etc.
Organigramme :
L'organigramme est une faon de montrer un algorithme (ou un programme) sous forme d'actions
schmatiseset leurs enchanement (flches)
Les diffrentes figures d'organigramme
Figure Smantique / Sense
Reprsente le dbut et la Fin del'organigramme
Entres / Sorties : Lecture des donneset criture des rsultats.
Calculs, Traitements
Tests et dcision : on crit le test l'intrieur du losange
Ordre d'excution des oprations(Enchanement)
Connecteur
#
$bu
in.
a ;13#
b ;712#
c ;1#0.0
d ;12-#43.#0
e ;).E
! ;0.3E71)
+ ;*&*
< ;*In!ormaiue 1*
i ;rue
= ;!alse
7/23/2019 Exercices - Troisime Srie.pdf
6/36
LMD / S.T. Srie 2 : Testes / Boucles
Deuxime solution : Par lecture
L'algorithme :
Le programme PASCAL :
Organigramme :
)
Program4al_absol+e_carre;Useswincrt ;var
a, b : integer ; c, d, e, f : real ; g:char ; h:string ;i, j : boolean ;
Begin
reada; readb; readc; readd; reade;readf; readlng; readlnh; i:=tr+e ;j:=false;
write a, b, c, d, e, f, g, h, i, j ;End
123"5$!.#
1011
Algorithme4al_absol+e_carreVariables
a, b : entierc, d, e, f : r/elg : caractreh : chanei, j : bool/en
Dbut
lirea ; lireb ; lirec ; lired ;liree ; liref ; lireg ;lireh ; i tr+e ; j false ;crirea, b, c, d, f, g, h, i, j
Fin
$bu
in.
i ;rue
= ;!alse
lire%a(
lire%b(
lire%c(
lire%d(
lire%e(
lire%!(
lire%+(
lire%,(
7/23/2019 Exercices - Troisime Srie.pdf
7/36
LMD / S.T. Srie 2 : Testes / Boucles
Exercice & : Ex!cution / !roulement d'un al(orit)me
Excuter les squences d'instructions suivantes manuellement et donner les valeurs finales des
variables A, B, C et celle de X, Y, Z.
a) A 5; ; B 3; ; C B+A; ; A 2; ; B B+4; ; C B-2;
b) X -5; ; Y 2*X; ; X X+1; ; Y sqr(-X-Y); ; Z sqr(-X+Y); ; X -(X+3*Y)+2;
Rponse :
Excuter manuellement une squences d'instructions (algorithmes / programme) nous permet de
voir l'volution des variables (changement de valeurs pour les variables) et a nous permet de
comprendre l'algorithme et de prouver qu'il donne un bon rsultat.
Pour drouler un algorithme / programme on utilise un tableau dans le quel les colonnes
reprsentent les variables et les lignes reprsentent les instructions.
a) Pour la premire squence, nous avons 3 variables : A, B et C. et selon les affectations on
dduit qu'ils sont de type entier.
Variables
InstructionsA B C
A 5; 5 / /
B 3; 5 3 /
C B+A; 5 3 8
A 2; 2 3 8
B B+4; 2 7 8
C B-2; 2 7 5
Les valeurs finales sont : A=2 B=7 C=5
b) Pour la deuxime squence, nous avons 3 variables : X, Y et Z. et selon les affectations on
dduit qu'ils sont de type entier.
Variables
Instructions
X Y Z
X -5; -5 / /
Y 2*X; -5 -10 /
X X+1; -4 -10 /
Y sqr(-X-Y); -4 196 /
Z sqr(-X+Y); -4 196 40000
X -(X+3*Y)+2; -582 196 40000
Les valeurs finales sont : X=-582 Y=196 Z=40000
-
7/23/2019 Exercices - Troisime Srie.pdf
8/36
LMD / S.T. Srie 2 : Testes / Boucles
L'algorithme :
Le programme PASCAL :
N.B. :a sera la mme chose pour la deuxime squence.
Exercice * : $e si(ne d'un nombre
crire l'algorithme puis le programme PASCAL qui lit un nombre rel X, dtermine et afficheson signe. Selon le cas : il affiche 'X est positif', 'X est ngatif' ou 'X est nul'.
Rponse :
Cette algorithme peut tre schmatiscomme suit :
On introduit un nombre rel quelconque, et l'algorithme affiche une message indiquant si le
nombre est positif, ngatif et bien nul. Pour introduire ce nombre on a besoin d'une variable relle
X. Donc la premire instruction est lire(x). la fin on doit afficher un message.
Programexo$_a;Useswincrt ;var
a, b, c : integer ;Begin
':=5 ; :=3 ; 6:=7' ; ':=2 ; :=7" ; 6:=-2 ;8rite &' = &, ', & = &, , & 6 = &, 6 ;
End
123"5
$!.
Algorithmeexo$_aVariables
a, b, c : entierDbut
'5; 3; 67'; '2; 7"; 6-2;
crire', , 6Fin
Traiemen
X
Message (l'un des 3 messages selon le cas)
7/23/2019 Exercices - Troisime Srie.pdf
9/36
LMD / S.T. Srie 2 : Testes / Boucles
L'algorithme :
Le programme PASCAL :
Organigramme :
Program4al_absol+e_carre;Useswincrt ;var
9 : real ;Begin
ead9;ifx0 then
8rite&9 est
7/23/2019 Exercices - Troisime Srie.pdf
10/36
LMD / S.T. Srie 2 : Testes / Boucles
Exercice + : ,omparaison entre deux nombres
crire l'algorithme puis le programme PASCAL qui lit deux nombres rels aet b, et affiche :
'a est plus grand que b' si a > b
'a est plus petit que b' si a < b
'a est gal b' si a = b
Rponse :
Cette algorithme peut tre schmatiscomme suit :
On introduit deux nombres rels quelconques, et l'algorithme affiche une message indiquant si le
premier nombre est plus grand, plus petit ou gale au deuxime nombre. Pour introduire ces deux
nombres on a besoin de deux variables relle aet b. Donc la premire instruction sera lire(a, b).
la fin on doit afficher un message : 'a est plus grand que b', 'a est plus petit que b'ou 'a est gal b'.
L'algorithme :
10
Algorithme4al_absol+e_carreVariables
a, b : r/elDbut
lirea, bSia b alors
crire&a est
7/23/2019 Exercices - Troisime Srie.pdf
11/36
LMD / S.T. Srie 2 : Testes / Boucles
Le programme PASCAL :
Organigramme :
Exercice - : .!solution de l'!uation ax20bx0c
crire l'algorithme (et le programme PASCAL) permettant de rsoudre, dans , l'quationax2+bx+c=0. Avec a 0.
11
Program4al_absol+e_carre;Useswincrt ;var
a, b : real ;Begin
eada, b;ifab then
8rite&a est
7/23/2019 Exercices - Troisime Srie.pdf
12/36
LMD / S.T. Srie 2 : Testes / Boucles
La premire tape dans l'algorithme est d'introduire les valeurs de a, b et c. En suite, on calcule
delta. En utilisant les tests alternatifs doubles (si sinon ), l'algorithme dcide quoi afficher
comme rsultat.
L'algorithme :
Le programme PASCAL :
12
Program4al_absol+e_carre;Useswincrt ;var
a, b, c, delta, x1, x2 : real ;Begin
eada, b, c; delta:=s*rb-"?a?c;ifdelta0 then
8rite&@as de sol+tions r/elles&else
ifdelta = 0 thenbegin
x1:= -bA2?a;8rite&Bol+tion do+ble x1 = x2 = &, x1:$:2;
EndElse
Begin
91:=-b - s*rtdeltaA2?a ;92:=-b 7 s*rtdeltaA2?a ;8rite&Ce+x sol+tions x1=&,x1:$:2,&x2=&, x2:$:2;
End;End
123"5$!.#
101112131"1$1!1.1#202122
Algorithme4al_absol+e_carreVariables
a, b, c, delta, x1, x2 : r/elDbut
lirea, b, cCelta b?b - "?a?cSidelta 0 alors
crire&@as de sol+tions r/elles&Sinon
Sidelta = 0 alorsx1 -bA2?a
crire &Bol+tion do+ble x1=x2=&, x1Sinonx1 -b-s*rtdeltaA2?ax2 -b7s*rtdeltaA2?acrire &de+x sol+tions x1=&, x1, & x2=&, x2
FinSi
FinSi
Fin
7/23/2019 Exercices - Troisime Srie.pdf
13/36
LMD / S.T. Srie 2 : Testes / Boucles
Organigramme :
Exercice 1 : !roulement d'un al(orit)me
Soit l'algorithme suivant :
13
'ire %a8 b8 c(
in.
dela 5 0
6crire %*Cas de soluions elles*(
@ui Nondela ? 0
@ui
$bu
6crire%x1(
6crire%x18 x2(
Non
dela ; bDb74DaDc
x1 ; 7b"%2Da(x1 ; %7b7sr%dela(("%2Da(
x2 ; %7bsr%dela(("%2Da(
Algorithme%xo10Variables
a, b, c, d : entierDbut
lirea, b, c ; d 0Sia b alors
Sia c alorsb b7ca b-cc a7b
SinonSib=c alors
c c73FinSi
d a-b7cFinSi
Sinon
Siac alorsa 2?b
FinSib b7c
FinSid s*ra7b7d/crirea, b, c, d
Fin
7/23/2019 Exercices - Troisime Srie.pdf
14/36
LMD / S.T. Srie 2 : Testes / Boucles
- Faire le droulement de cet algorithme et dduire les valeurs finale des variables a, b, cet
ddans chacun des cas suivantes :
1) a=1 ; b=2 ; c=1 2)a=2 ; b=1 ; c=1 3) a=1 ; b=1 ; c=-2 4) a=2 ; b=1 ; c=3
crire le programme Pascal correspondant et l'excuter.
Rponse
Nous avons dans l'algorithme 3 variables d'entre et 4 variables de sortie. Pour droulerl'algorithme, on doit connatre la valeur de chaque variable d'entre.
Droulement
1) a=1 ; b=2 ; c=1
Variables
Instructionsa b c d
Lire(a, b, c)
d 0*1 2 1 0
Si a>b false+
=> Sinon1 2 1 0
Si a>c false+
b b+c*1 3 1 0
d sqr(a+b+d)* 1 3 1 16
Les valeurs finales sont :a=1, b=3, c=1et d=16
14
Traiemen
b
a
a c
b dc
7/23/2019 Exercices - Troisime Srie.pdf
15/36
LMD / S.T. Srie 2 : Testes / Boucles
2) a=2 ; b=1 ; c=1
Variables
Instructionsa b c d
Lire(a, b, c)
d 0*2 1 1 0
Si a>b true+
si a sinon
si b=c true+
2 1 1
c c+3* 2 1 4 0
d a-b+c=2-1+4 = 5* 2 1 4 5
d sqr(a+b+d)=8* 2 2 1 4 64
Les valeurs finales sont :a=2, b=1, c=4et d=64
3) a=1 ; b=1 ; c=-2
Variables
Instructionsa b c d
Lire(a, b, c)
d 0*1 1 -2 0
Si a>b false+
=> sinon
si a>c true+
a 2*b*
2 1 -2 0
b b + c* 2 -1 -2 0
d sqr(a+b+d)=-1* 2 2 -1 -2 1
Les valeurs finales sont :a=2, b=-1, c=-2et d=1
4) a=2 ; b=1 ; c=3 Les valeurs finales sont :a=2, b=-1, c=-2et d=1
Variables
Instructionsa b c d
Lire(a, b, c)
d 0* 2 1 3 0
Si a>b true+
si a< c true+
b b + c*2 4 3 0
a b - c* 1 4 3 0
c a + b* 1 4 5 0
d sqr(a+b+d)=-1* 2 1 4 5 25
1#
7/23/2019 Exercices - Troisime Srie.pdf
16/36
LMD / S.T. Srie 2 : Testes / Boucles
Le programme PASCAL correspondant :
Remarques :
Il faut jamais mettre de point-virgule pour l'instruction qui prcde else.
Si le bloc de if contient plusieurs instructions (plus d'une instruction) on dlimite,
obligatoirement, ces instructions parbeginet end
Si le bloc de else contient plusieurs instructions (plus d'une instruction) on dlimite,obligatoirement, ces instructions parbeginet end
Si le bloc de ifou elsecontient une seule instruction, on peut enlever beginet end
Dans le langage PASCAL, il n y a pas le mot clendIfou endElse
1)
Program%xo.;Useswincrt ;var
a, b, c, d : real ;Begin
eada, b, c;d:=0;ifab then
if ac thenbegin
b:=b7c;a:=b-c;
c:=a7b;endelse
begin
ifb=c thenc:=c73;
d:=a-b7c; endelse
beginifac then
a:=2?b;b:=b7c;
endC:=s*ra7b7d;
8rite&a=& , a, & b=& , b, & c=& , c, & d=&, d;End
123"5$!.#101112131"1$1!
1.1#202122232"252$1!2.
2#30
Cas de poin7vir+uleavan else
7/23/2019 Exercices - Troisime Srie.pdf
17/36
LMD / S.T. Srie 2 : Testes / Boucles
Exercice 11 : valuation des expressions arit)m!tiues et lo(iues
Une expression mathmatiques peut tre soit arithmtiques (donne un rsultat numrique) ou
bien logique (donne un rsultat boolen). valuer un expression veut dire dterminer la valeur finale
(le rsultat) de cette expression aprs avoir remplac toutes les variables avec leurs valeurs
respectives. Cette valuation doit respecter l'ordre de calcul des diffrents oprations utilises dasn
l'expression. On a 6 niveaux de prioritd'oprateurs :
1) Les parenthse : on value tout d'abord les parenthses les plus profondes
2) Les fonctions : comme par exemple sqr, sqrt, abs, cos, sin, exp, etc.
3) Les oprateurs unaires : - unaire et not
4) Multiplication *, division /, Div (division entire), Mod (reste de division) et le And (et
logique)
5) Addition +, Soustraction , OR (le ou logique)
6) Oprateurs relationnels (de comparaison) : , , =, =, =, (diffrent)
Dans le cas ou deux oprateurs ont la mme prioriton calcul tout d'abord celui gauche (de
gauche droite).
Expression 1 :a + b / c + ( ( d / 3 + 4 ) / 3 + a ) / b
Expression 2 :( a > b ) or not ( c >= d ) and ( b < c )
Aveca=1 ; b=2 ; c=4 ; d=6.
Rponse
Expression 1
a + b / c + ( ( d / 3 + 4 ) / 3 + a ) / b
(5) 0.5 (1) 2(7) 1.5 (2) 6
(3) 2(4)
3 (6) 1.5(8)3
Dans l'expression 1, il y a huit oprateurs, donc on trouvera 8tapes de calcul.
L'ordre des oprations sera dfini donc comme suit :
a + b / c + ( ( d / 3 + 4 ) / 3 + a ) / b
(7) (5) (8) (1) (2) (3) (4) (6)
1-
7/23/2019 Exercices - Troisime Srie.pdf
18/36
LMD / S.T. Srie 2 : Testes / Boucles
Expression 2
(a > b) or not (c >= d) and (b < c)
(1) False (2) Flase (3) TRUE(4) TRUE
(5) TRUE(6) TRUE
Dans l'expression 1, il y a 6 oprateurs, donc on trouvera 6tapes de calcul.
L'ordre des oprations sera dfini donc comme suit :
(a > b) or not (c >= d) and (b < c)
(1) (6) (4) (2) (5) (3)
Exercice 12 : ,alculer une somme d'une manire it!ratives
1- crire un algorithme pour calculer la somme suivante : S = 12+ 32+ 52+ + (2m+1)2. Avec
mdonn. Rsoudre l'exercice en utilisant chacune des boucles : (a)la boucle Pour (b) la boucle
Tant-que (c)la boucle Rpter et dduire la plus approprie dans ce cas.
2- Effectuer le droulement (trace d'excution) de l'algorithme pour m=4 dans chacun des cas (a),
(b)et (c).
3- Traduire chacun des algorithmes en programme PASCAL
Remarque : On peut utiliser une boucle de 0 mpour tous les cas. Une autre solution consiste
utiliser une boucle de 1(2m+1)mais en incrmentant le compteur de 2.
Rponse
1- Pour faire une somme rptitive (itratives) il faut tout d'abord dduire le terme gnral (terme
itratif). On peut crire la somme Scomme suit :
S = 12+ 32+ 52+ + (2m+1)2 Qu'on peut crire sous la forme abrge suivante :
#=i=0
m
(2i+1)2
Le terme rptitive (gnrale) est : (2i+1)2
ic'est un indice qui varie de la valeur initiale 0jusqu'la valeur finale m.
Le symbole de la somme peut tre remplac, trs facilement, par la boucle Pour comme
suit : Pour i 0 m faire*
1
7/23/2019 Exercices - Troisime Srie.pdf
19/36
LMD / S.T. Srie 2 : Testes / Boucles
chaque itration de la boucle Pouron ajoute Sle terme rptitive : (2i+1)2 comme
suit : S S +* sqr(2*i + 1) ce qui est en gras est le terme itrative (rptitive ou gnrale)
Bien videmment, pour calculer la valeur de Son aura besoin de la valeur de m. mc'est valeur
introduire l'algorithme (une variable d'entre => lire(m)). Par contre Sest le rsultat calculer
(une variable de sortie => crire(s))
a)La solution en utilisant la boucle Pour
b)La solution en utilisant la boucle Tant-Que
c)La solution en utilisant la boucleRpter
Remarques :
La boucle Pourfonctionne avec un compteur (indice) qui reprsente une variable entire (le
compteur doit tre obligatoirement une variable entire)
1
Algorithme%xo12_@o+rVariables
), s, i:entierDbut
lire) ;B 0 ;Pouri0 ) faire
B B 7 s*r2?i71FinPour
/crireBFin
Algorithme%xo12_DantE+eVariables
), s, i:entierDbut
lire) ;B 0 ;i 0 ;Tant-uei= ) faire
B B 7 s*r2?i71
i i 7 1FinTant-!ue/crireB
Fin
Algorithme%xo12_e
7/23/2019 Exercices - Troisime Srie.pdf
20/36
LMD / S.T. Srie 2 : Testes / Boucles
Dans la boucle Pouron spcifie la valeur initialeet la valeur finale(deux valeurs entires)
du compteur
Si la valeur finale est plus petite que la valeur initialedonc on n'excute pas la boucle
Pour(nombre d'itrations = 0)
Si la valeur finaleest suprieur la valeur initialedonc on excute la boucle Pouravec un
nombre d'itrations = - + 1. Dans l'exemple prcdent, la boucle
Poursera excute pour (m+1) itrations(Sim=4 a sera alors5 itrations).
Les deux boucles Tant-queetRpterfonctionnent avec des conditions (expressions logiques
qui donnent soit True soit False).
D'une manire gnrale, traduire une boucle Pourune boucle Tant-quese fait comme suit :
Pourfaire
FinPour
Tanue-!ue= faire
7 1FinTant-ue
Tel-que :
: c'est une variable entire (le compteur de la boucle Pour)
: c'est une valeur entire (la valeur initiale de la boucle Pour)
: c'est une valeur entire (la valeur finale de la boucle Pour).
Donc, pour transformer la boucle Pour une boucle Tant-que il faut ajouter deux
instructions : linitialisation du compteur la valeur initiale et l'incrmentation du compteur (de 1)
la fin de chaque itration. Bien videmment, le boucle Tant-quecontient la condition compteur
infrieur ou gale la valeur finale.
Toute boucle Pourpeut tre remplace par une boucle Tant-que. Cependant, on peut trouver
des boucles Tant-quequ'on ne peut pas (ou bien difficile ) remplacer par une boucle Pour.
Toute boucle Tant-quepeut tre remplace par une boucleRpteret vice-versa.
La boucle Tant-que et Rpter sont quivalentes.
La condition de la boucle Tant-que est value au dbut de l'itration : si la condition est
vraie on entre l'itrationsinon on quittela boucle.
La condition de la boucleRpterest value la fin de l'itration : si la condition est vraie
on quittela boucle sinon on ralise une autre itration (ritre : re-boucle).
Pour la boucle Tant-quela condition reprsente le test d'entre, par contre, pour la boucle
Rpterla condition reprsente le test de sortie.
20
7/23/2019 Exercices - Troisime Srie.pdf
21/36
LMD / S.T. Srie 2 : Testes / Boucles
Pour remplacer la boucle Tant-quepar la boucleRpter, il suffit de nier la condition de la
boucle Tant-queet bien-sr de respecter la syntaxe des deux boucles comme suit :
Tant-ue faire
FinTant-ue
"#ter
$usu%
Tel-que : et la ngation de ,autrement dit :
=Not()
2- Le droulement pour m=4
a) La boucle Pour
Variables
Instructionsm i s
Lie (m) 4 / /
S 0* 4 / 0
Pour i=0 4 0 0
S S + sqr(2*i+1) = 0 + sqr(2*0+1) =*
124 0 12= 1
Pour i=1 4 1 1
S S + sqr(2*i+1) = 1* 2+ sqr(2*1+1) =
1 + 32= 104 1 12+ 32= 10
Pour i=2 4 2 10
S S+sqr(2*i+1)=* 10+sqr(2*2+1)=
10+52= 354 2 12+ 32+52= 35
Pour i=3 4 3 35
S S+sqr(2*i+1)=35* +sqr(2*3+1)=
35+72= 35+49 = 844 3 12+ 32+52+72= 84
Pour i=4 (la dernire itration i=m) 4 4 84
S S+sqr(2*i+1)=84* +sqr(2*4+1)=
84+92= 84+81 = 165 4 4 12
+ 32
+52
+72
+ 92
= 165
crire (s) 4 4 165
La valeur finale de l'algorithme est S = 165
Remarque : Les deux couleurs gris clair / fonc sont utilis pour montrer et sparer les
itrations de la boucle Pour.
21
7/23/2019 Exercices - Troisime Srie.pdf
22/36
LMD / S.T. Srie 2 : Testes / Boucles
b) La boucle Tant-Que
Variables
Instructionsm i s
Lie (m) 4 / /
S 0*i 0*
4 0 0
Tant-que iTrue=>entrer la boucle 4 0 0
S S + sqr(2*i+1) = 0 + sqr(2*0+1) = 1* 2 4 0 12= 1
i i +1* 4 1 1
Tant-que iTrue=>entrer la boucle 4 1 1
S S+sqr(2*i+1) =* 1+sqr(2*1+1) = 1+32= 10 4 1 12+ 32= 10
i i +1* 4 2 10
Tant-que iTrue=>entrer la boucle 4 2 10
S S+sqr(2*i+1)=* 10+sqr(2*2+1)= 10+52= 35 4 2 12+ 32+52= 35
i i + 1* 4 3 35
Tant-que iTrue=>entrer la boucle 4 3 35
S S+sqr(2*i+1)=35* +sqr(2*3+1)=35+72=84 4 3 12+ 32+52+72= 84
i i + 1* 4 4 84
Tant-que iTrue=>entrer la boucle 4 4 84
S S+sqr(2*i+1)=84* +sqr(2*4+1)=84+92
= 165 4 4 12
32
#2
-2
2
5 165i i + 1* 4 5 1)#
Tant-que iFalse=>quitter la boucle 4 5 1)#
crire (S) 4 5 1)#
La valeur finale de l'algorithme est S = 165
Remarque : Comme dans le cas de la boucle Pour, la boucle Tant-que possde 5 itrations. Par
contre, le teste i
7/23/2019 Exercices - Troisime Srie.pdf
23/36
LMD / S.T. Srie 2 : Testes / Boucles
c) La boucleRpter
Variables
Instructionsm i s
Lie (m) 4 / /
S 0*i 0*
4 0 0
Rpter 4 0 0
S S + sqr(2*i+1) = 0 + sqr(2*0+1) = 1* 2 4 0 12= 1
i i +1* 4 1 1
Jusqu'i>m :1>4 =>False=>refaire la boucle 4 1 1
S S+sqr(2*i+1) =* 1+sqr(2*1+1) = 1+32= 10 4 1 12+ 32= 10
i i +1* 4 2 10
Jusqu'i>m :2>4 =>False=>refaire la boucle 4 2 10
S S+sqr(2*i+1)=* 10+sqr(2*2+1)= 10+52= 35 4 2 12+ 32+52= 35
i i + 1* 4 3 35
Jusqu'i>m :3>4 =>False=>refaire la boucle 4 3 35
S S+sqr(2*i+1)=35* +sqr(2*3+1)=35+72=84 4 3 12+ 32+52+72= 84
i i + 1* 4 4 84
Jusqu'i>m :4>4 =>False=>refaire la boucle 4 4 84
S S+sqr(2*i+1)=84* +sqr(2*4+1)=84+92
= 165 4 4 12
32
#2
-2
2
5 165i i + 1* 4 5 1)#
Jusqu'i>m :5>4 =>True=> quitter la boucle 4 5 1)#
crire (S) 4 5 1)#
La valeur finale de l'algorithme est S = 165
3- Traduction des algorithmes en programme PASCAL
a) La boucle Pour
23
Programexo12_@o+r;Useswincrt ;var
), i, s : integer ;Begin
8rite&Conner la 4ale+r de ) : &; ead);B := 0;Fori:=0 to) do
B := B 7 s*r2?i71;8rite&Fa so))e B = &, B;
End
123"5$!.#
10
11
7/23/2019 Exercices - Troisime Srie.pdf
24/36
LMD / S.T. Srie 2 : Testes / Boucles
b) La boucle Tant-Que
c) La boucle Rpter
Remarques :
Pour le programme (avec la boucle Pour), on n'a pas mis begin end ; ceci cause de
lexistence d'une seule instruction l'intrieur de la boucle Pour. Rien n'empche de les mettre
comme suit :
Fori:=0 to) doBegin
B := B 7 s*r2?i71;End;
Begin .. end ;se mettent aprs la structure de contrle (soitif, else, for, while).
S'il y a plus d'une instruction (nombre dinstructions > = 2), dans ce cas le begin end ;
24
Programexo12_Dant*+e;Useswincrt ;var
), i, s : integer ;Begin
8rite&Conner la 4ale+r de ) : &;ead);B := 0;i:=0 ;&hilei=) do
begin
B := B 7 s*r2?i71;i:=i71;
end;
8rite&Fa so))e B = &, B;End
123"5$!.#
101112131"151$
Programexo12_e
7/23/2019 Exercices - Troisime Srie.pdf
25/36
LMD / S.T. Srie 2 : Testes / Boucles
sont obligatoires.
Pour la boucle Repeat, on mis pas de begin end ;puisque le bloc d'instruction de la
boucleRepeatest dlimitpar les deux mots cl:Repeatet Until
Il faut jamais mettre de point-virgule aprs do(Pour la boucle Whilea gnre une boucle
infinie)
Exercice 13 : ,alculs it!ratives sommes6 produits
crire un algorithme et le programme PASCAL pour chacun des cas suivants avec Ndonne :
a) Calculer le factoriel deNsoit : 123...,=, -
b) crire un programme PASCAL qui permet de calculer le somme :12+
23+
34+ ...+
n
n+1
c) Calculer la valeur de de sachant que 4=11
3+1#1
-+...(.aire 100it)rations )
Rponse
a) On suppose que P = N !
Donc : P=1234...,
La forme abragie : P=i=1
,
i (Le produit des itel que iallant de 1 jusqu' N) => le facteur
gnral est : i. on aura alors la boucle Pourqui possde un compteur iavec la valeur initiale 1et lavaleur finaleN. On multiplie P par le facteur gnral (facteur rptitif) iComme suit :
Pouri 1 G Faire@ @ ? i;
FinPour;
Il reste s'assurer que la valeur de Psoit initialement neutre (il faut initialiser P1. (P 1)* ).
2#
Algorithme%xo13_a_factorielVariables
G, @, i : entierDbutlireG ;@ 1 ;Pouri1 G faire
@ @ ? iFinPour
/crire@Fin
Programexo13_a_factoriel;Useswincrt;var
G, i, @ : integer ;Begin8rite&Conner la 4ale+r de G : &;eadG;@:=1;fori:=1 toG do
@ := @ ? i;8rite&GH = &, @;
End
123
"5$!.#101112
7/23/2019 Exercices - Troisime Srie.pdf
26/36
LMD / S.T. Srie 2 : Testes / Boucles
b) On suppose que #=1
2+2
3+3
4+...+
n
n+1
La forme abragie : #=i=1
ni
i+1(La somme termes
i
i+1tel que iallant de 1jusqu'n) =>
le terme gnral est : ii+1
. On aura alors la boucle Pourqui possde un compteur iavec la valeur
initiale 1et la valeur finale n. On ajoute Spar le terme gnral (terme rptitif)i
i+1Comme
suit :
Pouri 1 n FaireB B ? iAi71;
FinPour;
Il reste s'assurer que la valeur de Ssoit initialement neutre (il faut initialiser S 0. (S 0)* ).
c)On met #=4=1
13+
1#
1-+ ...(.aire100 itrations)
Donc aura le terme gnrale suivant : #=/=0
(1)
/
2/+1
Ainsi on aura une boucle Pouravec un compteur kallant de 0 jusqu'99 (100 itrations=99
0+1) Il reste calculer (-1)k. Il suffit de mettre une variable signe = (-1)k. Cette variable bascule
entre les deux valeur 1et -1. Pour faire a, il suffit de multiplier signepar -1. comme suit :
signe - signe* . Et de cette faon, si signe = 1donc il devient -1. Et si signe = -1il devient 1.
L'objectif de l'algorithme et de calculer la valeur approximatif de = 4 * S.
2)
Algorithme%xo13_b_so))eVariables
n, i : entierB : r/el
DbutlireG ;B 0 ;Pouri1 n faire
B B 7 iAi71FinPour/crireB
Fin
Programexo13_b_so))e;Useswincrt;var
n, i : integer ;B : real;
Begin
8rite&Conner la 4ale+r de G : &;eadG;
B:=0;fori:=1 ton do
begin
B := B 7 iAi71;end;
8rite&Fa so))e = &, B:$:3;End
123"5$!.
#1011121"151$
7/23/2019 Exercices - Troisime Srie.pdf
27/36
LMD / S.T. Srie 2 : Testes / Boucles
Exercice 14 : ,alcul de somme en fonction de n et x
1) crire un algorithme pour calculer la somme suivante :
#=x+x
3
3+
x#
#+
x-
-+ ....+((n+1)itrations) avec la valeur de net dexdonnes.
2) Drouler l'algorithme jusqu'n=4(en fonction dex)
3) Traduire l'algorithme en programme.
Rponse
1) Algorithme pour le calcul de S
Pour cette algorithme, on veut calculer la valeur de S. Pour cela, il faut introduire la valeur dexet
de n. Donc nous avons une variable de sortie Set deux variable d'entre netx.
Ainsi, au dbut de l'algorithme on aura lire(n, x)et la fin de l'algorithme on aura crire (S).
La question qui se pose est quel est le traitement raliser pour avoir la valeur de S.
Nous avons : #=x+x
3
3+
x#
#+
x-
-+....+((n+1)itrations)=
i=0
nx
2i+1
2i+1La somme sera de i=0
2-
Algorithme%xo13_c_@(Variables
I,signe : entierB, @ : r/el
DbutB 0 ; signe 1PourI0 ## faire
BB7signeA2?I71Bigne - signe
FinPour@ "?B;crire@
Fin
Programexo13_c_@(;Useswincrt;var
I, signe : integer ;B, @ : real;
Begin
B:=0;Bigne:=1;forI:=0 to## do
begin
B := B 7 signeA2?i71;Bigne:= - signe;
end;
@:="?B;8rite&@ = &, @:$:3;
End
123"5$!.#1011121"151$1!
Traiemen
x
#
n
7/23/2019 Exercices - Troisime Srie.pdf
28/36
LMD / S.T. Srie 2 : Testes / Boucles
jusqu'n. (n+1itrations)
Pour le calculer de puissancex2i+1, on mit P=x2i+1. Initialement P = x. ensuitex3, aprsx5
Donc il suffit de faire P P * sqr(x)*
2) Droulement de l'algorithme pour n = 4etxquelconque.
Variables
Instructionsn x i P s
Lie (n, x) 4 x / / /
S 0*
P x*4 x / x 0
Pour i=0 '' '' 0 '' ''
S S + P / (2i+1)* '' '' '' '' x
P P * sqr(x)* '' '' '' x3 x
Pour i=1 '' '' 1 '' ''
S S + P / (2i+1)* '' '' '' '' x + x3/3
P P * sqr(x)* '' '' '' x5 ''
Pour i=2 '' '' 2 '' ''
S S + P / (2i+1)* '' '' '' '' x + x3/3 + x5/5
P P * sqr(x)* '' '' '' x7 ''
Pour i=3 '' '' 3 '' ''
S S + P / (2i+1)* '' '' '' '' x + x3/3 + x5/5 + x7/7
P P * sqr(x)* '' '' '' x9 ''
Pour i=4 (dernire itration i=n) '' '' 4 '' ''
S S + P / (2i+1)* '' '' '' '' x + x3/3 + x5/5 + x7/7 + x9/9
2
Algorithme%xo_1"
Variables
i, n : entierB, x, @ : r/el
DbutFire n, xB 0@ xPouri0 n faire
B B7 @ A 2?i71@ @ ? s*rx
FinPour
crireBFin
7/23/2019 Exercices - Troisime Srie.pdf
29/36
LMD / S.T. Srie 2 : Testes / Boucles
P P * sqr(x)* '' '' '' x11 ''
crire (S) '' '' '' '' x + x3/3 + x5/5 + x7/7 + x9/9
Donc la valeur finale S =x + x3/3 + x5/5 + x7/7 + x9/9 (le rsultat est en fonction dexpuisqu'on
n'a pas donner une valeur pourx).
3) Traduction de l'algorithme en programme
Exercice 15 : ,alcul de salaire pour N individusSupposant qu'une grandeur V en dinars est calcule en fonction de la situation familiale de
l'individu. Soit V = VB + R, sachant que VBest une donne etR est calcule en fonction de la
situation familiale comme suit :
1) crire un algorithme permettant de saisir les valeurs les donnes VB, SF, NFet calcule la
valeur de VpourNindividus (Ndonne). Sachant que V, VB et R sont des rels, N, SF, NF sont des
entiers naturels. (Attention dans le cas oSF=0, l'algorithme ne doit pas lireNF). Faire les lectures
et traitements dans une boucle de 1N.
2
Programexo_1";Useswincrt;var
n, i : integer ;x, s, < : real;
Begin
eadn, x;
B:=0;@:=x;fori:=0 ton do
begin
B := B 7 @A2?i71;@ := @ ? s*rx;
end;
8rite&B = &, B:$:3;End
123"5$!
.#1011121"151$1!
! "
1 # si S 5 0 %clibaaire(1 3 si S 5 1 %divorc( e N 5 01 10 si S 5 1 %divorc( e N A 01 10 si S 5 2 %mari( e N 5 01 15 si S 5 2 %mari( e 1 N 31 20 si S 5 2 %mari( e N A 3
7/23/2019 Exercices - Troisime Srie.pdf
30/36
LMD / S.T. Srie 2 : Testes / Boucles
2) Traduire l'algorithme en programme.
Rponse
1) Algorithme
Dans cet algorithme, on afficheraNvaleurs pour V(salaires des individus).
30
Algorithme%xo_15Variables
i, G : entierBJ, GJ : entierK, , K : r/el
DbutFire GPouri 1 G faire
Fire K, BJ;siBJ = 1 L BJ = 2 alors
Fire GJFinSi
SiBJ = 0 alros K ? 005
Sinon
SiBJ = 1 alorsSiGJ = 0 alros
K ? 003Sinon
K ? 010FinSi
SinonSiBJ = 2 alors
SiGJ = 0 alors K ? 010
Sinon
SiGJ = 1A'DGJ = 3 alors K ? 015
Sinon
K ? 020FinSi
FinSi
FinSiFinSi
FinSi
K K 7 crireK
FinPour
Fin
7/23/2019 Exercices - Troisime Srie.pdf
31/36
LMD / S.T. Srie 2 : Testes / Boucles
2) Traduction de l'algorithme en programme
31
Programexo_15;Useswincrt;var
G, i : integer;BJ, GJ : integer;K, , K : real;
Begin
8rite &Conner le no)bre d&indi4id+s : &;eadG;
fori:=1 toG dobeign
8rite &(ntrod+ire le salaire de base : &;ead K;8rite &(ndi*+er la sit+ation fa)iliale : &;eadBJ;
ifBJ = 1 L BJ = 2 then {Divorc ou Mari}begin
8rite&(ntrod+ire le no)bre d&enfants : & ;ead GJ ;
end;
ifBJ = 0 then:= K ? 005
else
ifBJ = 1 thenifGJ = 0 then
:= K ? 03else:= K ? 010
%lseifBJ = 2 then
ifGJ = 0 then:= K ? 010
else
ifGJ = 1A'DGJ =3 then:= K ? 015
else
:= K ? 020K:=K 7 ;8riteln&Fe salaire de l&&indi4id+ &, i, &est :&, K:$:2;
end;End
123"5$!.#1011121"151$1!
1.1#202122232"252$2!2.
2#303132333"353$3!3.3#"0"1"2"3""
7/23/2019 Exercices - Troisime Srie.pdf
32/36
LMD / S.T. Srie 2 : Testes / Boucles
Exercices Supplmentaires :
Exercice 1& : 7olution d'une !uation de deuxime de(r!
crire un algorithme (et programme) pour rsoudre une quation du second ordre ax2+bx+c=0
dans C (les nombres complexes). Dans le cas ole discriminant est ngatif, on calcule la partie
relle X et la partie imaginaire Y en considrant la racine du discriminant en valeur absolue. Les
solutions sont alors X, Y et X, Z avec Z=-Y. (Solution conjugue).
Solution
L'algorithme possde trois variables d'entre a, bet c et deux variables de sortieX1etX2. (deux
solutions relles diffrentes (delta > 0), solution double (delta = 0) et deux solutions complexesZ1
= X1 + i X2etZ2 = X1 - i X2
32
Traiemen
b
X$
a c
X%
Algorithme%xo_1$Variables
a, b, c : r/eldelta, 91, 92 : r/el
DbutFire a, b, cTant-uea = 0 faire
lirea;finTant-ue
delta s*rb M "?a?b;sidelta = 0 alors
91 = -bA2?acrire&Bol+tion do+ble 91 = 92 =&, 91;
sinon
sidelta 0 alors91 = -b-s*rdeltaA2?a ;92 = -b7s*rdeltaA2?a ;crire&Ce+x sol+tions r/elles 91=&, 91, & 92=&, 92;
Sinon
91 = -bA2?a;92 = s*r-deltaA2?acrire&Ce+x sol+tions 6o)
7/23/2019 Exercices - Troisime Srie.pdf
33/36
LMD / S.T. Srie 2 : Testes / Boucles
Exercice 1* : 7ommes it!ratives
crire les algorithmes et programmes correspondants pour chacun des cas suivants avec la valeur
deNetxdonnes : (Drouler chaque algorithme pouN=5).
(a) #$=x
2
2
x4
4+
x)
)
x
+ ...
x2n
2n
33
Programexo_1$;Useswincrt;var
a, b, c : real;Celta : real;
91, 92 : real;Begin
8rite &Conner la 4ale+r de a, b et c : &;eada, b, c;(hilea = 0 do{s'assurer que la valeur de a }begin
8rite&Ke+illeO donner +ne 4ale+r non n+lle
7/23/2019 Exercices - Troisime Srie.pdf
34/36
LMD / S.T. Srie 2 : Testes / Boucles
(b) #%=x+x
3
3!+
x#
#!+ ... +
x2n+1
(2n+1)!
Rponse
(a) Il faut crire la somme S1sous forme abrge. Nous avons :
#$=x
2
2
x4
4+
x)
)
x
+ ...
x2n
2n=
i=1
n
signex
2i
2iTel-que signe prend, respectivement, les deux
valeur 1et -1d'une manire alternative. Donc, le terme gnral (rptitif) est :x2i/ (2i)
On ralise un changement de variable, on mettant P = x2i. Initialement, lorsque que i=1, P=x2
aprs passex4,x6, jusqu'x2n. Pour raliser a, il suffit de multiplie Pparx2.
Donc, L'algorithme possde deux variable d'entre netx. et une variable de sortie S1.
(b) Il faut crire la somme S2sous forme abrge. Nous avons :
#%=x+x
3
3!+
x#
#!+ ... +
x2n+1
(2n+1)!=
i=0
nx
2i+1
(2i+1)!
Donc, le terme gnral (rptitif) est :x
2i+1
(2i+1)!
On ralise deux changements de variables, on mettant P = x2i+1. Initialement, lorsque que i=0,
P=x. On met aussif=(2i+1)! . Initialementf=1.
34
Algorithme%xo1!_aVariables
n,i,signe:entierx,@,B1 : r/el
DbutFire n, xB1 0 ;Bigne 1@ s*rx;Pouri1 n faire
B1B1 7 signe?@A2?i
Bigne - signe@ @ ? s*rxFinPourcrireB1
Fin
Programexo1!_a;Useswincrt;var
n, i, signe : integer ;x, @, B1 : real;
Begin
eadn, x;B1:=0;signe:=1;
@:=s*rx;fori:=1 ton do
begin
B1 := B1 7 signe ? @A2?i;Bigne := - signe;@ := @ ? s*rx;
end;
8rite&B1 = &, B1:$:3;End
123"5$!.#
1011121"151$1!1.1#
7/23/2019 Exercices - Troisime Srie.pdf
35/36
LMD / S.T. Srie 2 : Testes / Boucles
La faon comment passer P de la valeur initialex x3, x5, jusqu' x2i+1est de le multiplie
chaque itration parx2comme suit P P * sqr(x)* .
La manire comment passer f de la valeur initiale 1 3! puis 5! jusqu' (2n+1) !est de le
multiplie chaque itration par (2*(i+1))*(2(i+1)+1)comme suit :f f * ((2*(i+1))*(2*(i+1)+1))* .
Pour i=0 ==> f f * 2 * 3 = 1 * 2 * 3 = 3!*
Pour i=1 ==> f f * 4 * 5 = 3* ! * 4 * 5 = 5!
Pour i=2 ==> f f * 4 * 5 = 3* ! * 4 * 5 = 7!
.
Donc, L'algorithme possde deux variable d'entre netx. et une variable de sortie S2.
Droulement pour n=5 et x quelconque
(a)Pour la somme S1
VariablesInstructions
n x i signe P S1
Lie (n, x) 5 x / / / /
S1 0*
P sqr(x)*
signe=1
'' '' / 1 x2 0
Pour i=1 '' '' 1 '' '' ''
S S + signe * P / (2i)* '' '' '' '' '' x2/2
3#
Algorithme%xo1!_bVariables
n,i,f:entier
x,@,B2 : r/elDbut
Fire n, xB2 0 ;f 1@ x;Pouri1 n faire B2B2 7 @Af @@ ? s*rx ff?2?i71?2?i7171FinPour
crireB2Fin
Programexo1!_b;Useswincrt;
varn, i : integer ;f:longint; {&n entier plus !rand}x, @, B2 : real;
Begin
eadn, x;B2:=0;f:=1;@:=x;fori:=0 ton do
begin
B2 := B2 7 @Af;@:= @ ? s*rx;f:=f?2i71? 2?i7171;
end;
8rite&B2 = &, B2:$:3;End
12
3"5$!.#
1011121"151$1!1.1#20
7/23/2019 Exercices - Troisime Srie.pdf
36/36
LMD / S.T. Srie 2 : Testes / Boucles
signe -signe* -1
P P * sqr(x)* '' '' '' '' x4 x2/2
Pour i=2 '' '' 2 '' '' x2/2
S S + signe * P / (2i)* '' '' '' '' '' x2/2 - x4/4
signe - signe* 1
P P * sqr(x)* '' '' '' '' x6 ''
Pour i=3 '' '' 3 '' '' ''
S S + signe * P / (2i)* '' '' '' '' '' x2/2 - x4/4 +x6/6
signe -signe* -1
P P * sqr(x)* '' '' '' '' x8 ''
Pour i=4 '' '' 4 '' '' ''
S S + signe* P / (2i)* '' '' '' '' '' x
2
/2 - x
4
/4 + x
6
/6 - x
8
/8signe - signe* 1
P P * sqr(x)* '' '' '' '' x10 ''
Pour i=5 (dernire itration i=n) '' '' 5 '' '' ''
S S + signe * P / (2i)* '' '' '' '' '' x2/2 - x4/4 + x6/6 - x8/8 + x10/10
signe - signe* '' '' '' -1 ''
P P * sqr(x)* '' '' '' '' x12 ''
crire (S) '' '' '' '' '' x2/2 - x4/4 + x6/6 - x8/8 + x10/10