·· ..
/ ;_:tasses_: 4 S_C EXP+MJ\ lf I-I TFCI 1 :_J·
. 1- ... [ __ . __ CHAP 1 fi{!~ -r --~-~~- -~~-ri~~ ~S1'Rl1CTl lf~l~~- _!Jf~ DONNEES
"Les constantes : nssocie f'I trr1r> vnfPtir
A I Definftfon :
~r;~J~_: _une constants est t111 ide11fific:Ale111
" ... pi.:- .. '.3..i,. ".". www.BACorg.tn
Bl o,ctaratlon : Page BAC-TUNISIE
Const
Nom_constante=valeur; 1e1: 25 361 197 t 5i 311 502
Exemple : Const
Pl=3.14 ;
If! Les Variables :
A I Definition :
Une variable est definie par : ·
i_J~MfJ.fr• sen nom c'est-a-dire SOUS quel 1101ll est
• son . lgf e fa variable ;
: qui definit la lisle des valeurs que peut prendre la variable.
• sa valeur : son .. c.1ml-u,g.
Bl Les Types numeriques
1- Type entier : integer (sous ensemble de Z)
D~clatatlon :
VAA Vl!lriNbl•il, v a r i l'lh.lP?., ... , v a r i ;,hlPN JN'fEGER;
Les sous t:ypes entlrer
Nom Pascal Plage des valeurs
Octets - Byte 0. 255
Shortint
Entier court Inteqer -- -128 .. 127
Enlier . -32768 .. 32767
Mot Word 0. 65535 --
Enlier lonq l.onqinl
-2 f,17 483 648 .. 2 147 483 647
Les operateurs: + , - . * . I. Div . Mori . = . <> . < . > . <=, >= . dans (in)
"Dans" (In en Pascal) est utilise pour verifier l'appartenance d'une valeur a inlervalle.
= u (25 Div 3 = '1
(Division .. (>0J.~Y? )
25 Mod 3 Ft:Je
de division entiers)
2- type R~ef : Rear (sous ensernbre de R>
2-1-0jclaratlon :
VAR vatfabfe1, varlabfe2, ... , variableN: REAL;
2-2- Les operatsurs: +. -. *, I
-Pr-o-fe-s-s-e-u--r : Mme PEI-JR J I Mrne rvn I Bill\ Page : - I -
.,Lses: 4 SC EXP +Mt\TI I+ TECI I
~·::P. ~'.'_1e operation cornprend un m;1ume11t reef et 1111 entier. le resultat est
I I donne toujours un resultat reef. meme si les deux arqurnents son! enliers.
2-3- Ordres de priorlte :
1- Les parentheses () www.BACorg.tn
2- *, I, Div, mod
Page BAC-TUNISIE
3- +, - Tel: 25 361 197 I 53 371 502
2-4- le9 fonctlons predefinles sur les types numertques :
f Etialgo -·:r ·-· . -- . En Pascal
. /Abs(xj. . · labs fx> => ixi .
lcarr~fx> ---/~qr. fxj =>- xau carre. Sqr(2)= L1 .
:fRaclne(xf"/sqft(x).retou-m:e. un--r~el qui c_:3icu~e-,a raci~e cam~ -~e x si x>O Sinon elfe
/ Retourne une erreur sqrt(9)- 3 , sqrt(O)-- .. ~ (reu.t
"/cos:ICo9(X)_ .. . (x) => cosinus de X.
Jexp(x) --·{exp (xT=;··exponentielle cie x. .. . - . . -·
:1I~1LSo-ing((Xx-)) . ---. r.l1s:1:n-in[x(]X-)=·-:>:-:->-loS-gi·na-ur·is·t·h··-dm-·e·e··-·X··-n.·e·p-erien-- d.e x. -- ..
.foJcifx--) -···lo"Jci··{xf;·; ·i;o·c;i~en. ·vrai si x. e3t impair. Fau~ si x est p;ii"r.
:fArrondl(xHrou-n·~nxr;;-~·n-ti~·r··v:· aie~rr arrondie cie x. R~unci (i5°j= 3 .
/rronc(x) ltrunc (x) => ent1er: vateur entiere de x. rmnc(2.5)= :6 ..
Preci(x)-···-,pracf(x} ;·;_.-;e· .pr~d~c·e·sseLlr..de x dans un tyre -~m,m~rJ. Pred{2)= ... 1.....
PRED('e')= ... :J .. :.. ...... .
f
"'>lsucc (><) ie sur:cPSSf'llf di" x ciAn!'l 1111 lypA Pr111111t!>rP. Suc:r.(2)""' .. :~....
Succ(Jt) Succ('A')=.: .1) .
ix>~~/ ,~-i'~act~re :.conversion ent.ier vers caract~r~ (table ascli).
chr(xf___ :/ciir
oCrhdr.((6a5))=- >....eln\.t.f...e. r : conversion caractere vers entie. r (table ascii). Orcf(' A')=
Ord(a)
' .b.5. ..
I Ord(1 )= .
Ord('1')= .
·,.-~ei:fFrac(x) IFrac(x)=> reel qui represents la oartie fraction dun reel (frac(7.2)= ..(ti ... ,
fent(x)·-·-····1;n·tixf·~; foupp.rime ia partie d~cimaie d\rn ~eei) (int(7.2)=.:to ... ) .
Cl f .e Type Honleen : Jlnnlcnn (vrai), soit la val=-» FALSE
Ces variables peuvent prendre soit la valeur I\C'1 '1:1\N:
(faux).
C- ·1- Oecfaratlon :
1·;11 i.J1,1r,tJ
C-2- Operations booleennes :
• Et (AND)
• Ou (OR)
Professeurs : Mme rEHR l+Mme MTfJ3;\;\ Page: - 2 -
lses: 4 SC EXP+Mi\Tll+TECII
a :='a' ; veut dire la varlable a recoit It:? caractere 'a'.
0-3-Les fonctrons sur fes cAf'acteres :
En cpalurascdteeresuecnc,.rapo.rle.JdJ>, .~. ~h.tr:,'e..e. .t. or~ ~a fonctio~ (majus (upcase en Pascal)) convertit
un er s est possible. ,1
AUpcase('A')= .. '.A.' Upcase('1 ')= ~A.'. . upcase('a')= \,
upcase('$')= $. .
E/ Le Type Chafne : String
E-1- Definition :
Le type String defini des variables "chaines de caracteres" ayant au maximum 255
caracteres, ces derniers appartenant a la table ASCII. Une chalne peut en confenir
moins si cela est specifie lors de la declaration (le nombre de caracteres : cornpris
a IA suite du type
reenctrheef1neet 255) sera mis en crochet pour indlce 255 Strinq. Le premier caractere de
a pour lndlce 1, le demier a (ou 111oi11s si specifie tors de la
declaration).
E-2- tJecfaration :
Var chains : String ; longueur entre 0.. ~'55 10
J..telephone : String( 1 OJ ; longueur entre .. 0. ..
E-3- Remarques :
l.orsqu'une valeur e~t affectP.e A tine variable chaine de caracteres. ori precede
comme pour un nombre mals cette valeur dolt ~tre entre quotes. Si cette valeur
contient une apostrophe, celle-ci doit etre doublee dans votre code. ·
Syntaxe:
variable : = vnleur ;
animal := 'l''ebeille' ;
Note tres lmportante : le type String est en fait un tableau de caracteres a une
dimension. ·
Done on peut seceder a l'ieme element d't111 chaine. II suffit d'ecrire le nom de la
variable suivi d'indice entre crochets. (avec 1 <= i <= long(chi))
Exettlpfe :
Var
Ch :si t1rvinegut; dire le caractere a la position .....
Ch[
Soit ch :='BONJOUR'
[[I]lf}Lg]J ffDone fes carecteres sont dans leur ordre 1-
3, I
Ch[1J= ... <rs: . .p.~.~~·· Caractere de ch
Ch[lohg(ch)J= ~ ..... d~:.l.-. Caractere de ch ·~·
Ch[(long(ch)+1) div 2)= .. \;.'..... Caractere du .. ~.· .... ~. de ch
C :=ch[2J; C doit ~tre declare de type .. ~\-&_l · r: r:
X :=Ord(ch[1J); X est de type .. 4.i;,,~ et de valeur \o. .6
.
Professeur : Mme Ff] JR f +l'vf me M'll T3A A Page : - 4 -
lasses : 4 SC EXP +rvfA Tf I+ TECH
,.
I ,rs Fond ions p1·e,I'H.inirs xnr lr.s rlrninf's flf' <·i,n,di-rf's :
I
Parmi les fonctions prc'clL1finics. signnlnns :
-En AI_Q.£_
Rofe ~~. ~~. _ ,.---.,~~~Ex~e-r-np-le·~
-Concetener
Con-ce.. -i-E·-(cn·· /-)·1P-.-ca-hs.2c.._.a........l....c. /11 1) renvoie la chalne obtenue Concat('abc','ef')= r.:i\--H-'ce-t,
~-~~~&.-~---··Souscheine
Copytch.p.-n-)--------.. -=~s~~~~~e~,~~,t 8 ~-~~'------ .. .. . ..
Conie n caraciere de ch fl Copy('BQnjour',4,'1)= ...
i:m:1 '•!. _<_1_ • ~111~ pc1s1• t 1•011 _p : ".: . : .... ',,..k;_o..tlA. '. __ . __ ...
-lo-n-g·---- -------------- -······ --··-
renvoie In longueur d'1111e L :=length('abcd')=.4.
Len?,th(ch)
l'o.\' /'ns·(-·rh I .ch'?) ----- chaine de caracteres --P.-os-( 'cd,.-.·-a.b-..c.~.d-e . )-..:~.""'i. -·-··-
I'ositiou d'1111e chninc Plf
dun c:m:icfrn.· clans t111f
deuxierne chaine Pos('c','occurrences')= ~
Parmi Jes Procedures predefinies. signalons :
.-,----~··---~----- ~-·-- . ·-----~·----- ..-·-- ~ .. ----- --~-----· ~ -·~---
En Algo ----~!!. f:!!~£!1Ln~n .. ·--- . .~ole. ' . ... . .. ~X~tnJ?.~.~ --- ---
--~Ettecetch.o.n) Delete(ch,p,n) Efface n caracteres de ch S='radar' · , 1
a partir de la position p __ c::btiOelete(s, 11.2)_;_s= ...
Tnserer(ch1,ch2.-p) fnserl(ch1.ch2.p) alnserer ch1 dans ch2 :{: '1 ,1,,,1 ·:
partir de la position r
Convch(x,ch) STR(x, ch) - .. - -
Valeur(ch,n,e) Valich.n.e) ------ convcrtit une valour
I 1111111t1riquc en chnlnc de
cnrncteres
~l;iforme une chaine de l°d I <'I '.;I. '1' ,· 'X, r )
caracteres rcpresenlnnt 1m x· ..~~\ (. c: -..... 0 ....... · ·
, x11_a..,01'1.'.a...'...... . .r.· ~31,c·) .
1 11n111hrc en er 11n111hr c
www.BACorg.tn
Page BAC·TUNlSIE
Tel: 25 361 197 / 53 371 502
I
Professeurs : Mme FEf fRI I Mme M 1113/\/\ Pngc : - 5 -
,II, __ ..,... •• ~ .~ .. ~--~ ..... ~-i..~ _.,.....__..,,. ... ,
I
C"J'
"Cl
t/l
.;::: aJ
..t./..l. tt//ll
"tl'lcJm
c::Cl.J Cl.J
"O
sOJ ;::l
'U
Q) ~>
Cl.
g.~•-t ~a;
sCl.J tn
8 Cl.J
"O
g,o ~ -~m...... cCl.J Cl.J
...... >, c::
Cl. O O
c:: E "U
;:::l --,aClJ.J
(lJ ~ .....i
C1l
............... ~
E........Ccl.J
u
•• '~ -~ Cu
c
~..... :CJl.J ~C1l
;::l
~o-~.u..... >c::
v/\
.::3
0
E
Cl.J
.eC...-.l.,
c-~M "'- ~..,.. ,v. ..;:. \..'{ -,
~ ~·Ji-~ JP' 'd'ro.~--- o.N\~ [A .. G] i
\Jo..A
k ~ab;
I I?,ofJ) 1{ it
C: A J.. b :0 t<oo
r
..,
~Ccu,e. ... ~ I
,-rc
:.0::; a,1
Q'-.)
cC/1
-..
V)
QJ
•Q..J..
iV)
..E...
Cl)
......~.....CC~Il.JI1~~~--~~~~~~
acc::i ;.>..:;.,
eCl.I
0
z:">". .E_,
EO ....J
E ro O
-;::: <(
c~ tc.L::l
w
·=..... Q,) Q::l:Q:·Q.,))zC:..Q0::)C:1:l,Qc ) -
N ~I e _ai ·Q) ~ QJ "OC~ _"O
~c.>,-! .s " g- ·a ~•Q.>~·2r(/o) a~::,i ~ ·aE> uo 5Cl.I
·ac.> E a>>
.i.... ::i
c: ·en ~ w ~j c ro
.c.> I o §"'C "Q0)
(.) _Q) Q) ~
,,, I ...., a, ...U...::.-. .D-.~D'-
cQ:J) ·.r:o,
VI , '-J ,QJ
0..
·-o· I .... -~E .....,.....,C:1a.>z~
c 0:Q:-)i oo
..... ..aO:..:..:>,;i Qc.) o:::,
('ti ai "- ·-
i.. :::, Q)
Qc)t·-n.
•Q.) I ::::, ::) ~ Q •(1)
co.' . . . . a3 e ~c0Nc; QJ
I 0 0..
c lll >-,->-
II) I!•QQJ) ~ ·ro ~:::) v, ~j: EE
l .2 w ~ -; ·- _8+Q.) E(!)- :_tr=o ,Q) c-,
IL C: Ql ";
c .QgI ..s ··~~ -'-~-'Eo1...J
,+-' ;;:::: •Qcl ;:::::, "-O
\.=.l Q) c
•OQ) Ql
•,
11:S """' i:: c;
.g ~- § $INc: Ql
"0 W
OQ) 1 I I~ C
IDQJ'-:0
l/l"!"" ,.....,<i;o::C::0II 0
cQJ0"r5:o:i0r.·o-.::rJroo~C°'I ·;::
V<o:.;_,J ::i-cr>>
--
------1
E+o
wz z
c::'
r :i:: t0l
I-
<t:
iiii ~'z ·z0w
QJ
:,
.V...) .·..cE.c.. : Q)
·:>iiwi
U)
w..J
Q) 0
ell
~~
~
~:::,
QJ
"'.~Q
;,...,
g(.)
~<ct
NI
•
I
....!!! ........ C: I0N-::NI0-:: NI0-:: aN:::
-010-:: 10-:·: a:::
0c: ~-o,I
I-
en,... c
<( Q) Q) {g {g {g Q) cl
c "O"O "O "t0l
"';,..., ~0 ,- N E .-N c
nn<~c:t: cc : c cc c ·(c-/): : ::J • -
"cO Q 00
0o ·.o0.::::;::0o;:::; t2s . ·.0;:::; : b(/) -c0:
22 22 0::J 'EW
: !::;
e~n -- ·-tci Uc)
ti vi Uc) E(/) u.
E c
~c
f~\"' \,,_ >lt..f:».. t"~~ C.1.1 ,J~ -0O,J.?''~
t° \ JE.r"'\ '\
~'\#\._ ~, -((. I
bL.:' :. \~\)'9 r e,A
a\'\'\~to ~ • A,
v-1 ,\:. ~ ~
- - \.f J
'{.) JJ ,;~V\'(' I
-' -
VJ,, r<VA ._~ '·
./
\~ <-.Jt-,.. I C..JA .
)\ ..,1·
) (J\
'
JJ
Exerc/ces sur /es structures de controle conditionnelles
Exercice1 : If .. then .. else r Case .. of
Ecrf,-e un proqremme qui pennet de selslr un temps (lieure et minute) Jui ejoute 5
minutes puts l'affiche.
C
Exemples : I 20 -> donne : 10:25 www.BA orQ tn
57 - > donne: 11: 02 UNISIE
heure: 110o I minute: page BAC-T
heure : minute: ie\·.ZS36i ,97 /5'3371502
heure: 23 I minute:55 -> donne: 00:00
Exerclce2:
Ecrire un programme qui permet de seisir une moyenne (moy) puis affiche la decision:
ADMIS -> SI moy >=10
CONTPIOt.,, "'~ •1 tt.f !!~l'IV JtJ;
R~OCJUIJL!! p !lo- 8/7h()y,t
Exerclce3:
Ecrire un programme qui perm et de faire la resolution de t'equetion du 1 er deg re :
ex+b = 0
Exerclce4:
Saisir une chafne de cerectere et verifier si elle est composee de plusieurs mots.
Indication: une chaine qui ne contient aucun espace est comoosee d'un seu/ mot.
Exercice5:
aEcrire un programme intitule TOUCHE, qui affiche selon le cas, la nature du cerectere
(Consonne, voyelle, chiffre ou symbole) correspondant une touche saisie.
WV> ec ~ N:€Y. eA G:~ ~'J e!}: £~ t,\ ~C<- 3~
ljf'.o ,c:.,.,. c ... o( ; f\J~ ~ G'l( ~ .
~eo w Vt\ (/\ t- • Qe1.>....f\o\- . A~,cO,.; ~ .fleo ;J,.l;.s,..,,,
I cJ-l~~ ~ j
cs. eo, ==- o o CJ\..1)
""QJ\
r, \..J"e" JJ,;.~.""~ t I. ~, .I Si b-=o ~€J\.J:) er
C.1·11' /\ ~
J.1 ,, \u~ 1.
a~ ~,.
'-'"' ..J~ l O""'v I, J. .J' fl
C\";. d~t
'~d =- ~o \.
6~fo-;.~t'
\}J ,i ,.." '11
c- ~.
\..
I.;,
~~ r ;; ..J ~~ <~') dt'b11.'t £'
\} \ ~·cd'-') '9 RIA'- lo.)
\. ~ L~ -t.:M 6)
t:- .6, I s~ <;{ C\:::.O ~~u\.o
'Rr ,; ti.. e"" \. ~ ) c:;; :..o Q.{Ju> . - •
J
'\:::., )
C<M ~cl~ f"" ~ G c, ,J: 1; : ~ ~ cc. ,J! 5:
·,J..~r\. ~~(f
r:p;;(} f\0-M, 6~ ~ ; ( Ir"""<-
Leo-to \/J \M (}\~ )# ~ ~ V\(
,~H h3\lcv. ct , <;,t- cc, r""'i.1. \ J
P, ~ -:;. '- ._J
e, ; ' t- . ~·pef~
'?:,eo~ °' ... 3,, ,, ~ " ~ fl.. ~ ':::( 1, •• • ,v.,. ('j \A/::) \ ....I.
lci~fA eo.~th\AJ()~ ...
,{)a c 1 )i I
crea.dev, (ct) ;
P'- ~ p~ L./ I c_Q._) j
t~ p:;a ~teM
w(\;\~QM (' u, ~f ""'rA ') .(j\M... ~\
c~ \JJ~~ ~e_t~ ('~~ /MJ-); .v,, ,, . .~ .),, ~ rl
MO.
tfY'd. ~ ...
£~~ G:u.. IV t J . .~ ~~t...'.. ,-.-< \oi~,_,c')
e, [ tJ: ; t~e_,o\\ QY-~
VIV\ l ( ~ ! 1, I \\ )
1
~· -t <. 2 ~ eQ Cl\/.) O'""""' ..:::; .,< •
© ~©n<s)s('sr\~~,M~\~l"©ll)+C r7~ ') 1?CV)la
&~, , . . ol ,·
t~ c--: -+ I\_ \.l...oe.o JJ ' CM' •
n (:- 'rt -\- ( - ~~\J'o0' I
t
.......: '-- ~ .; .
©)( M\~J
(!) z cc o, \~;· AoJ> Zs·AC
~~~ it"" .Q,._~ !l.~
t\ q_-\1cA-o \\ ~
~ M~ (-4t1@) ~.;(_~ --"' ./ ''
,e e-- <::> •' I.,..I• •
I
i~ '1 c- \l-\-c _ b a
<;~ """-...4,......., \,
' ' I .. ' '2I I ' A0 I •• , I
rJ
{-:.-ci~~{
8~\) =- d~~t
Eo( ,i
ct ('h' \ ~( IUM
~~ ~ C?J,f.'f 'c.cUM fAI""A
,·1. . ¥Ai~
lq_~ .Ji., {' ffi .r
~ WV..( -t -f.ti,t ~\ ·'-
~ ._,{<:A~~ (
&.~-f'q_ : ""I ,, =e-:_9_.o.JK.o.nY_. + -+
+ ~ "~ be ;
~ P, p•'r:
~ Cd\!) ec l.~.
+-
k t eI N~: C'( -+--+------- + v "" . Jlr ,.
l..i.t ~r .::: :..~, · __"L' <::, + .
'
c eoF ' ".\ ~I , I
\,\ =r:
,, ••
g\N. ~eR~
;. ~'<
;~ c)\ --
+-
'.s . ww BAC org.tr.
~.
Page. BAC-TUNISIE
) Tel. 2s1361-+97--I -37~ ·.i:·
.. +
..-N
cc
nuro 0 0
(.)
ro(/) :J :J
!::; ~
0.. c cIf) If)
=. ~U) -.GQ>i
-e ;.... Cl)
=o .....r.o. If)
Cl)
':5::gC:: c~
_ro
c §0 Cl)
uc
c 2"O -<O ~u
Q)
0 :.>=; -;;
o ~c
•ctl .-~G> "·'-O
>(1)
~.....
•(l)
:t::
c
~:c0E
C'1
c
0
0, •(1)
0
-(l) I
..J
I
.........c......-e ...Cl.I CIIiii
c
0
OJ) "..."..
...~ CII
"C
~ u
.."C:l.:'I, :J AA
ro a0.. J<IU (j,JJ!"){ ,H,H,H . ins SU,>l/11?:X;J to S.1!0,1.JQ
~ ·~c
II
0::
Exercices sur Jesstructure de contrble iteretives
Soucie Pour
Exercice 1:
Ecrire un programme qui permet remplir un tableau par 10 reels puis ca/cu/er leurs
moyennes.
Exercice 2:
Ecrire un programme qui permet de faire le factoriel d'un entier n donne.
Exercice 3: qui permet de faire x a la puissance y avec x et y deux entiers.
Ecrire un programme
Exemples: xY=J4 =3 x 3 x 3 x 3
Exercice 4 : .
p1 d~r .. _ . __ -~ . ~ _ ~-Faire la sfH'R-F/7e de deux entiers A et B sans utiliserHA *B=A+A+A+ .... +A
"---~
B fois
Exercice 5:
v\.J 1·Ecrire un programme qui dessine un triangle isocete par des etoiles comme suit :
u L.-JU**** • "'
L.l ***** ."
*******
Exercice 6:
Ecrire un mot sous la forme ttidiquee par l'exemple suivant :
Mot= 'MODEM'
On aura: WWW_SAC orq .tn
M
MO Page BAC-TUN\S\E
MOD
ie1: 25 36, ,97 t 53 37, 502
MODE
MODEM
Exercice 7:
Ecrire un programme qui permet de saisir un mot 'Mot' puis une /ettre 'lettre' puis affiche
le nombre d'occurrence de 'lettre' dans 'tnot'; ·
Exerclce 8:
Ecrire un programme qui permet de remptir un tableau T par n entiers puis determine le
maximum de ce tableau.
f}*. 1. , A)J i\.._ ~ , ,...
.f~oc:3,.0,... ~
~~ Wwi or- ,
i:"°"\M' kcJ e..
~<-J~
l I) l 0 fI -" l ~"'
~I
II n de. ic ~ 1. ~-\--'1.),.J
~~ f'
' ,.,4-
~ ¥t
......./ I
0
",.,
--b((/\(A'a, ~~ J. :
A~f~~:
R~))l4Y~~ -;. €.~1ftt '-\\(Cl.,;~:,, J~ t
=>Ht.. \,-" I N\
r '1 s ~j<-':::>-::. '-'
....*. L ~ t~l,, "'
6~ p~ '"'._.) "'- - '::;) 1'" I ' t phV-~ L
&~\.~ 'f\ c3~""7(;),,_~ 1c¥o»-.
pI ~ : ~ I I
i ~(. r,,..,,...1,,". \.
..I \ "..J :a , fl j
.~,.~!:" ~1..\ / \. ...
i ~o
& ' CW\A.~IJ i. I . ..u~,o I' - ' .-=\...,I• I. ~ ;fI
-,o~ J
I --.J I
J
./
/ 6,,, e.. C; Ct (),jt 't ,
- Gtou e~ ..t' ~ WWW.SAC org.tn
€1-0;~ ~ v,, 1{7 (__ "-{ ""~yi_r.-.
Page SAC-TUNfSIE
1e1 25 361197 / 53 371 so2
ear "'/ I ""'°'~
Jjl'M.c..:x :::. ["""' C\"' <:---- 1 (1
f 69-w- l c::k i 0:. M. 0 y. r._
>?~ I [i )
.f\'\o\c..:x, o €1.\0
jf'M.o. " <:- t [ ,,
+-
ct\\ '""-..Q.e1 s ...=.. "T -JI --1--
\f >rd\; ·= Wh ff\ ch
fM~ ~[aj ~l~~
f'M. o.. ')( ' -=-- I [ ;_~ J
h~ J /vJra ,'
Q-"' ( ' --ft.,_ :>., o...t<•,-.ci. l'(ol. \J..#v, .::::. 1 ) ~ ex.
ev.ci. c~c~ ~f :f: +-
6~~
-+--+-- -
---~-----occ.. c~ occ \- L
- -------
'· I
·-
~~c.•r~r,.~- =-r ~~ --+ -
- - ~ (- ~ ~h\,.MtQ_
__ Occ :=. ~~
- +-
\JOA
VOA - - +- i _; ; ~ \ q__.c:\ ~ . )
- ) <-) (___)
/'MO~ ·. St;.,_~~C) ), c..Q....: st;:IA..,5 ; '--
1-1~ .cl~) J0e ( \~~~ -
o« > ,· ; V:'r:_s~ > _ _ \}J 1' ,.'.
bo~ tjloh~ ( '~~VJ .fl: c::;t)MM ~ lAM /VV\.Q ~ j
c,._. '°'~ ~ c.Q,) j
clM-.~ v.,.. J de$,'(•=0~ At0 f~ti.(c~do
~o~)1ec_df~
rl, j)\}JI\: fq ( \ ~e/\
j_ lFe"\ j : z: 11 h,. , d-a
l4c. (_o,,.Oc._ h»M'N(l1 cl [~))
f<~a c:W""' ( ee...ll t\E'-)-j v-r«, ~QRM j
QQ_ : -=- 0 /
eN() ~_ (i cS) I~ = ,1 ~o f {Md ?
)
y J : ' r~I\MO~ [ l ~do
l_ ( M\0 ~ ) do
Pt_~fl~ ('.,v.
Xe ~ .::: o:« + -1.. ; £0( b- G·c~
v-J ~:\(1,.Q,.,. ( ' & k~ f::;;:Ji.,e_ d\x.:c~1t2.-::.1 QII ~ I\ 0.,W.. -EC)( '2_j +-
I E) <c, ) j _. - - - Lloe.o w ~ ()\\.-- \
I
,(.._ 6..
6°0( ~ c: Ct f\j~ 6 :
or , A.Ji c ~.·f).:. ,.. vu vi'. -
tA v.,,. tw-o ~
t<tl.;\_~ {r
=ci ~ [)
1 ~ _()~s _(c.J.jcfo~~
."~ I
P.~.d ~ _1- ~ (j~ O~c_
I l_
; t+ -:-.
-:i~ TT!:~ c-_c. !~_fr_-~- ~; -i [
c:J~p1\0 t<>< ] -i-
l\, :: ----t!--- . ~W<'1~\-- ',
L + - ____::.___.------1-~~~11 + tt
+ ~-~-- -~ +- - +--- -+l----_.;...- -----r+-
.e.: ~~ o~~~h70~ ) ---;----- ----;-j-V\, 1' }! ·t-~-r---;--·-+. r -+--
j -+---t----t- +~ -- --- +
~~ ..
rvAJh {' ~= ') ; r - .. +---+---+--- - ---t---------------· - - -- +
G?(_(2d-~ ~ ) j ,---t--- t + --
1/V '11'~e {)j ~ ') +
l 'v.c..de"' ( J J ' '. t +- t
I d~'°f di •iz: tt ..
r+ t +t
p;::::-1-)
.
A 5 J:,
p ; -P-!;:___
-Yl .. .
<. ' - )_e +
c.e. I I ----+--
P 'v, -., -1~---~ !\, \
.,1. \ '
~O&
(\
v.ci : ·1 t+-
t ~C: Ce --t-- +-
t
...,. t. .. . t
I _J+ + + +
tr
..,._
++
+- + +
t
1-· .+ .. -+-· t +t
t
......... - ...,______,..._ --+-- +- +
--~ + t+ +-
t
" + .. ..,._
0 .. r
--+-
+---
t+
~
I- l I+ + 1 .. --. '
+
+ ..+ + +
1-
j + t .+-I + +
++ +--- +- +- + +- +
+ + ..
f..+ +
l.. I- t- t +---+-- -
+ t+
.. -t ------
.. + .. .. +
.+-
+ +- -
t
i~r~.. ..t- -+-- --+- -- +- - + I- +--
+ f
+ + .. ..1- +
+- + +
+
+
. .....
+
I
+I
. .. ..+- +- +i
+-
l- + ++ I- + tl- +
+ ++ .--- +
I ++ +
t .+ -+- -+----+---+-- +- +- t + + j. t
+ t
t .++ + I
.t
t -+ t
t
+ l ++ j. t +-
+-
t .. I rl t
+- + + - -+ .. t + +
+ +- + I
.+ + t
++ it +-
I + +
+- j- +- i
I+ t I -+
l +I l-
t+ _ .I- + + ' ,,.
t- t t -+-
---------------+---+----+----+--- t-- - + + . I-
. +
I. + + 't +--
+ ---+
+ f I- +
+
+ -+ .. .+
++
.. i .+
+
++
+- + I- .. + I- t- .
t I- +-
I . r.,.. ---+- - --++----+-- -+---+-- .. -+- +
t
+ +t • +
+ + I- t-
+ t ....__,
+
-~ +- -+---+ -+--+I +-
+- +
t... .. .t I- +- +
t
t
+ ++ t
.+ t ..+
+t
t t+ .+ ++
t + + t I- ..
t +
I- + ... + t
t -----.....------+-- -+----+-
+ .
1
..t +
. ++ + - +- + . ..I +
+ + -+
+ •+t
i •+ .
+ I- + + +
++ +
t t
+
t+ + + +I
+ + +-
t+
++
++ I-
+- ... -- -+- -----...---+---+-
+
+ ..+ +
t ~ . +
+ ----+ ++
+
s4 CIII~ c Ex-m~ Aat h-1'ecJ1
Clzapitre 5 : Les sous programmes
L Analyse Modulaire
I) Definition de moindres
(fonctions et
L· analyse modulaire eonsiste a diviser un problerne en sous problemes
acornplexitcs. La resolution de ces derniers sc fait travers des modules
procedures).
2) Caracter-istiques d'un module
• Un sous programme peut utiliser des variables glohales (definies par le programme
principal).
; Un sous programme peut utiliser des variables locales (ces pararnetres ne sont pas
accessible que par le module)
• Un sous programme pcut contcnir d'autres fonctions et/ou procedures.
• 11 existe deux types de parametres : Jes parametres formels (fictib) et les parametr.es
effectifs (reels).
11. Les fonctions www.BACorg.tn
I) Definition : Page BAC-TUNISIE
Tel: 25 361 197 I 53 371 502
Une fonction est un sous programme qui permet de resoudre un problerne precis et qui doit avoir
un seul rcsultat de type simple (enticr, reel, boolcen, caractere ou chaine de caracteres).
La communication entre le programme principal ct la fonction se fail par des pararnetrcs.
2) Caracteristiqucs :
• Pour appcler une fonction, ii suffit decrire son norn suivi par des parametres effectifs qui
se substitueront aux parametres forrncls.
Nom-fonction (Peffectf l ,Peffectj2, ...)
• Les pararnetres effectifs ct les parametres formcls doivcnt sc correspondre de point de vue
nornbrc, ordre et type.
• Unc fonction possede un type simple qui est celui de son rcsultat.
• Tous lcs pararnetres forrncls dune fonction ont un mode de passage par valcur.
• Au nivcau de lalgorithmc de la fonction, ii faut ajoutcr l'instruction de rctour suivante:
Nom-fonction ~ resultat
3) Syntaxc et vocabulairc
Analyse Alsortthme Pascal
0) Fonction Nom-fonction(Par-
Def fn Nom-fonction (Par- formels) :type resultat Function nom _fonction(Par-
forrnels) :type resultat 1) Instruction I
Resultat : 2) Instruction 2 formels) : type de resultat
Norn-Ionction ~ Resultat
Traitemenl : n-1) Nom-fonction ~ resultat {Declaration des objets locaux}
Li le des instructions n) Fin Norn-Procedure
Begin
Instruction 1 ;
Jnstruction 2 ;
...
Nom-fonction := resultat
END;
HJ. Les Procedures
e procedure est un sous programme de resolution d'un problerne qui peut avoir plus(eurs
ultats. L'echange des informations entre le module et le programme appelant est assure par
s prametrcs. (9Page :
Prof: M111c Narjcs MTTBAA
4~m~ Sc Ex-Math-Tech
2) Caracteristiqucs
• Line procedure peut utiliser des variables globales (definies par le programme principal) .
• Une procedure peut utiliscr des variables locales (ccs parametres ne sont pas accessible
quc par la procedure)
• Un sous programme pcui contenir d'autrcs fonctions et/ou procedures .
• 11 exisic deux types de pararnetres : les parametres formels (fictifs)
effectib (reels).
Exemple: Appel de la procedure
Affichage(Tl .taille)
·vDefinition de la procedure
~
Affichage(T:Tab; u.entier) Parametres effectifs
Parametres formels
• Our appeler une procedure, ii faut ecrire son nom suivi des pararnetres effectifs qui se
substitueront aux parametres forrncls.
Nom-Procedure(Pel,Pe2,Pe3, ... )
• Lors de l'appel, il faut respecter le nornbre, I'ordre, et les types des pararnetres.
• En cas d'utilisation d'un tableau, il faut utiliser le type tableau.
3) Modes de passages des parametres
La substitution des parametres effectifs aux pararnetres formels s'appelle passage des parametres,
Deux modes de passages des pararnetres soot distingues :
• Passage par valeur : Le programme appelant assure le transfert dune valeur au
programme appele, sans aucune modification de cette derniere au nivcau du programme
appcle. Ce mode est unidircctionnel.
Appclant ~ Appele
• Pas age par vu riahle : Le programme appele et le programme appelant echangent lcs
informations entre eux. Dans ce cas toute modification d'une valeur dun parametre au sein
dun programme appele est cornrnuniquee au programme Appelant. Ce mode est
bidirectionnel. > Appclc
Appelant -(;
~ Dans ce mode. ii Iaut preceder les parametres formels qui seront transmis par variable
par le mot VAR
Fxcmnle : Procedure Soi,iefVAR n .ent ier)
4) ' Syntaxc ct vocab ula ire
En Algorithm<' En Pascal
0) Procedure Nom-Proccdun:(PHr-formcls) P roced urc Nom-Procedurel Par-formels)
1) Instruction 1 {Declaration des objets locaux}
2) Instruction 2
Begin
Instruction 1 ;
Instruction 2 ;
n) Fin Nom-Proddun: END;
Rcrnaryuc: Chaque pnlccdmc prcseuic des objcts locaux. Done ii faut lcs pre. enter dans un tableau
de declararion des objets lo .nux (f.D.0.Locnu.,)
-- ·--~v-1m-"-·a·ri-c-s- MTIBA/\ Page:~
Prof:
Application 1 :
Ecrire unc analyse, un aJgorithme puis un programme Pascal intitule calcul_puissance
qui pcrmet de: Lire dcux enticrs a et b (a>l) et (b>l)
Determiner et afficher ah ct ba
Program calcul_puiss; } Entctc du programme principal
Uses wincrt;
}
Vnr
A,B:integer; Rtlongint;
Rt:
Function puissance (x,n : integer) : longint; }- lntctc .-le la Ionction
.fv~1r
'\ t,.... O<IAq,,..t i\.,,,.pJ5
i: integer; p:longint
l
:_[ Panic declarative des obj els .. Lf;).CCJ.J,J.P!.....
Ben0 in
pr=l ;
for i:=1 ton do Panic instructions qui scra cxecutcc
lors de :·appcl de la fonction puissancc
p:=p*x;
'' puissancc.=p; --:'.) ~ ~ eo..j~c.-09,
~.nd; ~d ~~ l\tvUQb""
Begin {P.P}
Repeat
Write ('introduirc la valour de a et b:');
Rcadln (a);
Readln (b); Partic instructions du ;\,
Programme principal
{ffrO Until (:1> 1) rind (b> I);
~nlR_\(Rl = puissaric~ (a.b):
(b., ~~7J'. ~~\~C1,.ll<"o:- puissance
~ 0}},1 •• • t > ,_
.. ~ I . - .. f .. ·-- -
.. t ~\.- - • .. "1.
Write In (a, 'puissance', b , "=", rl );
Writcln-(b ,'puissance', a,'=', r2); J www.BACorg.tn
Page BAC-TUNISIE
Tel: 25 361 197 I 53 371 502
Encl.
Application 2 :
On se propose de calculer l'occurrence d'une lettre saisie L dans une chaine de caracteres Ch qui ne
contient que des lettres et des espaces.
Exemple:
Ch='ll travaille bien'
L='I' l'ordinateur af.fiche: 3 .
I
, Application 3 :
"loit le programme suivant :
Program cxcrcice;
uses vvi ncrt:
cons: n ~ ] 0:
I_\ pc.·
t<th :::n;·,1yi ; .. 10 ! ,if integer; 1 &-~·1 eI-4~. ~.f.o~l::.P-~tit+...~.--~II
·, ;f,,··::;- ·1-Pi·' «.M'ric}0 ; . - ·-----
.,
°'T1--'\; ···,··· 0 ; ······-···-·····-··································_[
,: ,,,,:)I'·,t , ,1.1.,.1. ~'";.',"i,,' p ] ·P-1 ..·1,11.1ege>r.'. t·.t· ab}: 01/.}cn,:_v~, .A,. \h-..ft,
\~.u.·\ .~\e.~.~j- .
b1.:g:n
11) :-=-t LP l i:
!c11·.;:-cpl to p? do
;1'(1!il>1n) then :
~od·.u1,1: - ·cl i I·
ft._;~.f'«\-j-····
end.
b(·:.;in
,·,;r i.: l ton d,1
:·_·,:d!n11fi I): www.BAC.org .tn
''l..:n,~at Page BAC-TUNISIE
1·i.'(1dln(p ! )·. Tel: 25 361197 I 53 371 502
:·cadlntp:2);
I1nt1.!. (p.>1:-~-~. 1) an; l (!)l ' <-~,_~_:-, an.i'f ! p_"><./·1}.•:
/~t; ~. -(_M'~la~ -1·(ff·;'-·fi·rlcJ j
1- C<irnp!clcr res pointiliees du programme donne ci dessus.
:'- D:.111.-; lcs cadres presenie-. dormer Ies noms des cnacunc des variables. Les Definir ?
. ~°":~Ye . ·?! l '/.0.'9.q }ea. · .0.A ~ !)-. · ·:) - · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · .·· ·
·l.: .. . . ~.:~Yr. ~PC.l3~-$. J -(Y. -·. .
... . , ,, ········ .
. . .. .. . ····· . ······· ····················· .
.
1- Dans le programme principa: ajouier une instruction permcttant dappeler et ulficher le
resultat fourni par !a fonction ..
4- Ouc 1·. :;', ceire loncuo.: '? ·fA .. J-. · fi .. ··
·fP-~i.~~-c1~-c~~...~ .~a~: .M\U..W. d2.~ ... ~'h. · J~:.
('[.,,,;_., cf\(04
~)[...I [.(., J T
, c: ExercicE? l :
aEcrire un programme intitul~ PARFAIT permcttar.t de savoir si un nombre scisi est parfait ou non.
Un nombre est dit parfait s'il egal la somme de ses diviseurs.
Exemple : 6 est parfait car ses diviseurs sont 1, 2 et 3 et 1+2+3 = 6
. -) Deduir-e le programme permettant d'afficher les quatre premiers nombres parfaits.
t f Exercice 2 :
Ecrire un programme in+itule PREMIER permett,ant de saisir un nombre Nest d'afficher s'il est premier
ou non.
aUn entier superieur 1 est dit premier s'il n'esr divisible que par 1 et par lui-rneme.
Exemple : 13 est premier car ii est divisible que par 1 et lui-rneme.
-) Deduire le programme permettant d'aff icher tous les nombres premiers situes entre 1 et 100.
JI Exercice 3 :
Ecrire un programme'intitule DECOMPOSTION permettant de chercher puis d'afficher la
decomposition en produit de facteurs premiers d'un entier N donne.
Exemple : Si N = 60 -) Le programme affichera ·60 = 2 * 2 • 3 • 5
.,, Exercice 4 :
- Ecrire un programme intitule PUI~ANCE -permettant de calculer a puissance b(ai:;),_-sachant quec et b
~o_n~d_eux~r:iti~rs _positifs do,:mes:.. . __ _ _
= =Exemple : a 5 et b 4 ~ Le programme affichera 5 puissance 4 = 625
e Exercice 5 : .; .
Ecrire un progrcmme intitule PPCM permettant de determiner le PPCM de deux entiers m et n.
PPCM : Plus Petit C"ommun Multiple
=Exemple : m = 5 et n 6 -) Le programme affichera = 30
PPCM(5,6) WW'\/1/.,BAC .org°jh- ·.
Exercice 6:
Page· BAC:Tl,JNISIE ..
Soa:t. la -suite .U definie par : Tel: 25 361197 t5f37f 502
Uo= 5
{ Un= 2*Un-l + 1.5 __ ... pour tout n ~ 1
.Ecrire un programme Pascal int itule SUITEl qui permet de calculer et d'afficher les. n premiers termes
de la suite U. Avec 1 s n s 12. · ~ .._',,.
/). Exercice 7 : .
Soit la suite U def inie par : pour tout n ~ 3
U1 = 1
{ U2 = 3
:-- , . . Un=: 2*Un-1 + 3*Un-2
Ecrire''un P!'.'Ogr~mme Pascal intitulJ SUITE2 qui permer de calculer et d'cfficher les n premier-s termes
de la suireU. Avec 3 s n .i 20.
.
~ Exercice 8 : . _
Ecrire un_ programme intitule OCCURENCE permettant de saisir un texte ch et puis d'afficher cheque
t ~~"It"""'on suppose qu'il n'c pas distinction entre majuscule et minuscule.
lettre s~ivie de ses occurrence's dons le texte. Le texte ne contient que des corccteres clphcbetiques. et
Exercice 8: '" · · -. . . : - .. · . ,-'{-~"- ,,..,:);' 1\J,", 1,,:.:..;j:~
\3. · i · .';:
Ecrire un programme inritule P_Ai.INDROME ~_ermettant de lire un mot m q~ ne d'epasse pas 15
ccr ccteres et de verifier s'ilest palindrome ou non. · ~T " \· ·:.
Un mot palindrome se lit dans les deux sens tel que les mots RADAR, ELLE, .... \. ~ 1 " ~t. •,·,
Lycee secondaire <]nrai6a Sf~ (]!age 1 sur 2 © (}3en !Moatlem Salem
JlS :2014/2015
E .XC:'Clt:f• !"L·' :
TAe, cc <:c;:.,.Ecri~~u~~~O:? W7''ne irrrrtulc S0/1.f.',':: __
q1Ji perrnct G~ s:~;s; .... un tob'eoi, T hi En·; 1€r.S (5 < 1.:
determine et of fiche. la sornrr.e de ccs v.:.b..:rs, e:in~i cue ic, vcleur min.mole e:;- rncxir-:-.:::c e+ le r;1oyc.n-,=.:.
t ExE!rcicr. 1, : d·2
Ecrire un programme int itule COMBI .JAISON qui determine puis of fiche le: nombrc de co"'.b;r,c:sons
p ob jets parrni n. Avec n et p sont deux en tiers nature!s s tr-ictemen+ positifs (n 2 p).
en=--~-
r p! (1: - P )!
o Exercice 12 : +Sn=1 + 3/22 + 5/33 + 7/4-4 + ..... (2n-1)/n" .SJ.·;.-. ,r,
Soit la sornrne Sn suivante: ., ,.,
Ecrire un programme Pascal inti tu le SOMME permettant de calculer et d' aff icher la somme S" pour un
entier n positif donne en utilisont la formule ci-dessus.
Exercice 13 :
~t~ aDeux joueurs lancent en meme temps un de
dont les faces sont numerotees de 1 6. Le joueur qui
obtiendra la plus grande valeur aura un point. Les nombres de jeu sont choisis par l'ordinai eur au hasard
et le jeu s'orrete quand l'un des joueurs arrive le premier a un score de 10 points.
Ecrire un programme pascal inti+ule JEU simulant ce jeu et afficher le numero du joueur gagnant ....
~ Exercice 14: Bae pratique 26 mai 2a14 a 14h
aUn riombre est dit abondcnt s'il est strictement superieur la somme de tous les diviseurs sauf lui...:merrie.
-aExemple : 10 est abondant. En effet les diviseurs de 10 sauf lui-rnerne-sorrt 1, 2 et '5. Comnie 1+2+5 =
et 10 > 8, alors 10 est dit abondant. . .. ·
Un nombre est dit deficient s'il est strictement inferieur' a la somme de tous les diviseurs sau(lui:.meme.
Exemple : 12 est peficient. En effet les diviseurs de 12 sauf lui-meme sont 1, 2, 3, 4 et 6. Comme
1+2+3+4+€> = 16 et 12 < 16, alors 12 est dit deficient.
--.Travail demande :
Ecrire un programme Pascal qui permet de remplir un tableau Nombre par N entiers strictemenr positifs
.avec.~25, puis de trnnsferer-. !es nombres deficients dans un tableau TD et les nombres abondants ·
. dons un tableau TA et d'off icher les deux tableaux resultants (TD et TA). .-
., .:~:.' .
I . · I · I..:.,£xemple :.J~.our.Je tabJeau Nombre suivant : 100 ·I
· -;,··,.-:- "·Nombre 10 12 118 6 45 118
On obtient les tableaux TD et TA suivants:
TD j 12 j 100 j
I I ITA 10 ": • ,r'
118 45 118
Exercice 15: Bae pratique Mardi 19 mai 2DDS a lllh 30 ·
deOn se propose d'ecr-ire un programme Pascal permettant de remplir le tableau T par·,;.(chC11n.~s (2~N~30),
puis calculer et d'off icher' la Somme des nombres extra its des cha1nes de chaque element .du table'au :T.
aLe nombre extrait de la "cha,ne contenue dans la case i de T, est forme par la concatenation de tous les
chiffres de la choine parcourue de gauche droite .
• ~- • !' • • • '. • ,.. ! -. , . .. .•
N.B: Si une chcine ne contient pas des chiffres, elle prend la valeur O dans le calcul de la somme finale.
Exe~p'I~ .. :- - c c ; ::.
. .. . .
=Si N 9 et que le tableau T contient les elements suivants :
I I ! I I j. T= ., R4'*s2 12hj5 5 ?7e A~r 3E-Z2 j G[Y l U5Kxl]
E9Y41 j 6754
=Alors la sornme S= 42 + 125 + 57 + 0 + 941 + 6754 + 32 + 0 + 51 8002
Le programme aff ichera la valeur S.
Lyea secondaire qlirai6a Sf~ (J'tl{Je 2 SUT 2 © <Ben 9'1.oafiem Safem
Jf..S :2014/2015
,,11-apit-re 4: Les Stru..-tures de com roic iteratioes 4:, re
~ .... --~ -~~ ......--....-~~ .c.D.......... ! ........... ..J'O~~
.........-a4'•~~ ....,. .....~~ ...... ~ ~ ~ .Ah':f....!._
Correction Serie Jv04
Exercice t: ·1 If (N mod i = 0) Then trouve := false
J)ntil (trouve=false) or (i = n div 2)·
program pcrf ait1;
uses wincrt; If trouve. then
var n, s. i : integer;
begin \ Write(N, ' est un nornbre premie-")
1repeat L\ else
·;' Write(' N;:' ); read(n); Write (N, ' n' 'est pas un nombre premier '}:
'luntil n >0; End. r
************************************~***
.',s::= O; J
PROGRAM PREMIER2 ;
f I for i:=1 to n div 2 do
Uses WinCrt ;
LI if n mod i = 0 then s := s + i;
VAR i ,j : Integer ; trouve: Boolean ;
j,f n= s then write(n, ' est un nombre parfait')
Be.gin
Leise write(n, ' n' 'est pas un nombre parfait') 0:' boergjin:= 1 to 100 do .
end. .
*********************************** \ fWhile j\ [~ouve := true; i := 2
program parf ait2; (trouve = True) and (i <= j div 2) Do
uses wincrt;
b. e~.o, in.
(1l U\
- var n,nb, -s, i: integer; \ • If MOD i = 0) ThenJ trouve := false
begin : else i := i +l ;
o~'iln·-·-
1· nb ·- •..) ~n;:ouveThen Writeln U);
' ·-
,~epeat end;
;I rle:.,.:.·= o·,'J End.
j for i:=1 ton div 2 do
Exercice 3:
( l.)f n mod i = 0 then s := s + i;
\ r if n= s then Program DECOMPOSITION;
\ I1 begin
uses wincrt:
\ var n.im.inteqer: ch,c ; string;
! \-\- { i •rrteln (n); _ begin
1 nb := nb +1; «: :repeat
I Lend;
·_,; write(' Donner a 1 : ');
\ ~ := n+l ; un entier superieur
, re9c;H11(11);
U_l'\til (nb = 4);
end. Luntil n-I:
Exercic~ 2: (\ 1c;.,·._- .ff ch •·-- .IO' i:=2:-.'_,.
PROGRAM PREMIERl ! repeat
Uses WinCrt ; \ rg,n( \if m _mod i = 0 then
VARN .i : Integer; trouve: Boolean;
Begin \ ~~:ti:c)~ i+:h c= ch+ c+'*'; m= m div i;
)Repeat
I Write ('N='); read(N);
luntil (N > 1); I. ·,-- 1' ,.._j l;til m=l;
[("!rouve := true;
rRepeat delete (ch, length(ch),l);
{ i := i+l; write(n. '='. ch);
end.
Ly:.iesecorufaire (Jfirai6aSjCq <Page 1 © <Ben :Moaffem Salem
)lS :2014/2015
.........._"6Jtl'lt ... . . .. .,._._"-_~_.-.-i,,--. ...~-.>f;;;,;•.-.,.·.• .-......._s,-.1.~--..-,•-,•- ._._.,..:-..-:-·-·~----~~~...-..~-......w,u:s.---.~~--~~-----.T .. ~ -er-:_h ••
2rcvo~r,.~: •.-•f_, .:I:·_- .,,..A..,_ _ _.-_
prcg:--a:1, p·.1issance; 1_.1'$1
uses ~J!r,c1·-;-; wr: itc "t ..- ·~1· re.,,_u~,r,l'r.;··,
t L-
f-
\ unril n ir: [- ..ZOJ;
.1-.- ul.e l: W;'itcin~'L:1= ',u1);
var c, b , F, i : inte.9C'.r; · uZ:= 3; wrireln(' U2= ',u2): .
begir, read( a); i\ 0L egn• :i writeln('U' .i.'= "u):
repea'7 read(b);
\ · u:=2*u2+3"u1;
write(' o>'): I\ ,' u1:=u2; u2:=u;
·.. write('b=');
· i until (a >O) and (b >0); liDfi;
._";.p·-1"' end.
~ ·- 'j Exercice 8 :
, for i := 1 to b do
L-p := p*a; Program OCCURENCE;
Uses WinCrt;
write(a,' puissance ',b,' = ',p);
end. Type TAB= Array['A' .. 'Z']of integer;
Exercice 5: Var T:TAB; i:integer; ch:string; j.chor: trouve :
program ppcm: boolean;
uses wincrt; Begin
var m.n.i : integer; (Repeat·
begin :J , \ jyvriteln('Tapez ~otre texte '): readln(ch); . i'J
) \!:ouve := true ; 1 := 0
rrepeat \ ,.J., ·.; (1,.\,J;.~1::..
~ write(' m=' ); read(m); write(' n= '); read(n); \ (Repeat ,
I~\~;I ;~~{cupcase(ch[~:;) [':·: •z·~~en
r:;t;:Jntil .{m>O) and (n>O); ~od1 n_~> OJ. ~o trouve := false;
~:=~:} , while i:= i + 1; ~
write( PPCM\. ,m, , ,n, )- ,rn 1),
=I LUntil (rrouve=fclse) or (i length(ch)):
end.
Exerclce 6: LUntil (trouve):
program suitel; I/ For i:= 1 To length(ch) Do
T[upcase(ch[i])]:= T[upcase(ch[i])] + 1;
uses wincrf: For j:= I A' To 'Z' Do
var n,i:integer; u.reol:
If TU] <> 0 Then
r·begin Writ-elnU,' existe ',TU],' Dans' ,ch);
~-r-:r~;:(;~;1;-~;adln(n); End.
~I ntil n in fl,,12];
Exercice 9:
(~:= 5; -· program palindrome;
) writeln('UO= ',u:5:2);] useswincrt;
f for i:= 1 to n-I do var m. p : string[20]; i : integer;
. l'\1 .ibe1,1g:=02*1,1 + 1.5; . begin
(repeat
writeln('U' ,i,'= ',u:5:2); ) Write(' Donner un mot '); readln(m);
I end: luntil length(m) in [1..15];
i--e=n'd":'".'
'[t=; i;)en~th(m) downto I do
Exercice 7: pfp := p +m(iJ;
p=m then
.program suite2;
uses wincrt;
var n,i:integer; ul,u2,u:longint; ~ write(m, ' est palindrome ')
begin l=_ls.e write(m, ' n' 'est pas palindrome');
\repeat end.
Lycee secondaire qFirai6a Sja:{ <Paee 2 © <Ben !Moaflem Salem
JfS :2014/2015
,Aitre f: Les Structures cfeconttol« iteratives 4i:m£ SC
Exercice ta: write(' n=' ); read(n);
program Somme_tab; ~r:itil (n-O):
1L·s··--0·1'J
uses wincrt; ( for i:=1 ton do
type TAB= array[L.20) of integer;
var T: TAB; i.n.s, rnin.mcx :integer; Moy:real; ;-bip--e·-g1i-·nJj:=1\.
Begin
i
repeat ~~-r to i do p:=p'<}
. write In(' Donner la tail le de tableau'); readln(n); s:=s+(2*i-1)/p;
· \~ntil n in [6.. 19];
nd;
/for i:=1 to n do
writeln(' la somme de ',n,' elements est · ,s:7:3);
! ~~9.~ end.
{ i write('T[',i,']='); readln(T[i]);
Exercice 13 :
[s:;Oj\~nd; program jeu;
~or i:=1 to n do s:=~+ T[i];1
uses wincrt;
Moy:=s/n; var scorel,score2,il,i2:integer;
ih\in::T[l]; j begin
(For i:=2 to n do Jfscorel:=O; score2:=0;\
lif Min >T[i] then Min:=T[i]; l:-andomize;
(Max:=T[l];J ( repeat
\For i:=2 to n do \ il:=random(6)+1; i2:=random(6)+1;
l_if Max <T[i] then Max:aaT[i]; ) writeln(' ilaa' ,il); write In(' i2=' ,i2);
·--~riteln('La_ somme des valeurs du tableau est '-1_5.); °'~1ifil>i2 then scorel.escorel+I
write In(' la valeur minimal est ',Min,' la valeur \ else score2:=score2+1;
maximal est' ,Max,' et la moyenne est' ,Moy:6:2); u~til (score1=10)or (score2=10t
end. scorel=lO then
Exercice 11 : write(' le gagnant est le joueur 1')
Program Combinaison; lse write(' le gagnant est le joueur 2' );
uses wincrt; end.
var p. n, i : integer; c :real; f.1,f2.f3 : longi_nt; Exercicl! 14 :
begin program bac;
rRepeat I); read(n); uses wincrt;
n{ write(' donner un entier =type TAB array[l..25] of integer;
\ write(' donner un entier p '); read(p );
var Nombre, TD, TA :TAB; N),j,s,m,k: integer;
L!l~ntiJ (11>=p) cind_(p>O);_ . .. begin
:= 1;) _;for i:=1 to n do
Jf 1 := fl *i; ~ (Repeat
f_f2 := 1j \~or i:=1 to p do
f2 := f2 *i; { write('N='); readln(N);
rLf3 ::: 1;) ~tor i:=1 to n-p do f3 := f3 *i;- ~
lgntil (Nin [5 .. 25]);
c := fl/(f2*f 3); .· ( for i:=1 to N do
Writeln ('Combinaison de', p,' objets parmi ', ',1~eat
n, ' = ', c:6:2);
f {I~•, wtrUit_e(N('omNobmreb[ir]e['>O,i,)'; ]= '); read ln(Nombre[i ]);
End. ~WW.SAC org.tn,
Exercice 12 : age BAC-TUNISIE ~m:=O; k:=O;)
~!~2J_}~ 197 I 53 371 SO~_j
progra"' somme: I for i:=1 to N do
uses wincrt; ,,b~-in ,
var· n,ij,p:integer; s:real; ·s:= O; j _
begin Jior j:=1 to Nombre[i] div 2 do \
\repeat \ if Nombr~[i] mod j = 0 then s := s + j;
~ Nombreji] < s then
Lyde secondaire qlirawa Sf~ q>aoe 3
Jf..S :2014/2015
LYCEE MOHAMED ALI SFAX Professeur
"eJ Q Departement d'informatique "eJ Q Mme. Narjes MTIBAA
I IRECHERCHE D'UN ELEMENT
Sequentielle & Dichotomique
Definitions :
La recherche d'un element (par exemple: recherche d'un entier donne dons un tableau d'entiers ou recherche d'un
ccrcc+ere dons une chaine de ccrccteres. ... ) est un traitement tr-es utilise en informatique. Pour pouvoir effectuer
ace traitement, nousavons deux me+hodes:
• La recherche sequentielle: qui consiste parcourir la liste element par element jusqu'e trouver !'element
adesire ou atteindre la fin de la liste.
• La r-echerche dichotomique : qui consiste chercher en subdivisant la liste ordonneeen deux parties egales
aet verifier donsquelle partie figure la valeur chercher, puis repeter ce processusjusqu'd ce que la valeur
Sera+rouve.
aEn algorithmique, la dichotomie (du grec « Couperen deux ») est un processusiterative ou chaque etape
al'espace de recherche est restreint l'une de deux parties. Notons tout d'cbord que cette methode de
recherche ne peut etre cppliquee que si la lisre (objet de la recherche) est triee. La recherche
dichotomique est plus rapide que la recherche sequentielle, mais ii faut toujours se rappeler que cette
technique ne peut etre qu'evec une serie de donneesdeja triee.
Application 1 :
Dresser uneanalyse, un TDO puis en deduire l'algorithme d'un module irrtitule « Recherche_Sequentielle»
permettant de verifier !'existence d'une valeur entiere (X) donnee dons un tableau (T) composede (N) elements
entiers positifs (3 <= N <= 50), en utilisant la merhode de recherche sequerrtielle. Si !'element existe, on retournera
son rang dons le tableau sinon on retournera le nombre 0. ·
RECHERCHE SEQUENTIELLE
® Grille d'analyse de la fonction Recherche sequentielle [&) T. D. 0. Locaux Role
DEF FN RechercheSequentielle ( T: TabO; N,V: Entier): Entier Obi et Nature/Type
Le rang de l'element
Resultat = Recherche_sequentielle <---- Res Res Variable/Entier
I Test de I' existence
Res= [ B Variable/ Booleen Lecompteur
i Variable/Entier
SI B 0) DEF FN BechercheSequentielle ( T : TabO;
N,V: Entier) : Entier
ALO RS
1) i <---- 0
Res e- i www.BAC org.tn REPETER
SINON
Page BAC-TUNiSIE i<-i+l
Res <-0 B :=T[i}=x;
FINS I Tel: 25 361197 I 53 371 502
B=[i<-0 ]
RE PETER
i<-i+1 FINS I
B :=T[i]=x; JUSQUA ( B ) OU ( i = N )
FINS I 2) SI B .
JUSQUA ( B ) OU ( i = N ) ALO RS
FIN Recherche_Sequentielle Res e- i
SINON
.................... ········· Res e- 0
FINS I
3) Recherche_seq11entielle <---- Res
4) FIN Recherche_Sequentielle
·····
Application 2 :
Dresser une analyse, un T.D.o: puis en deduire l'algorithme d'un module intitule « Recherche_Dichotomique »
permettant de verifier l'exis+ence d'une valeur entiere (X) donnee dons un tableau (T) compose de (N) elements
entiers (3<= N <= 50), en utilisant la methode de recherche dichotomique. Les (N) elements du tableau sont tries
dans l'ordre croissant.
RECHERCHE DICHOTOMIOUE
[&) Grille d'analyse de la fonction Recherche Dichotomique 00 T. D. 0. Locaux
DEF FN Recherche Dichotomique (T: Tab; N,X: Entier): Integer Objet Nature/Type Role
L.D.E. Res Variable/Entier Position de l'element
Resultat = Recherche Dichotomique ~ Res mil Variable/Entier Le compteur pivot '
Res= [ ] deb Variable/Entier Le compteur gauche :
Fin Variable/ Entier Le compteur droit
SI T [ mil ] = X
ALO RS ID Algorithme
Res e- mil 0) DEF FN Recherche Dichotomique (
T : Tab ; N,X : Entier) :Integer
SINON
1) Deb~ 1
Res~O
FINS I Fin~ N
REPETER
mil = [ deb ~ 1 ; fin ~ N
mil ~ ( deb+fin ) DIV 2
REPETER SI T [mil]< X
mil ~ ( deb+fin ) DIV 2 ALO RS
SI T [ mil ] < X deb~ mil+
ALO RS l
deb ~mil+ 1 SINON
SINON
Fin +--- mil - 1
Fin e- mil-1
FINS I
FINS I JUSQUA (T [ mil] = X) OU (
deb>Fin)
JUSQUA (T [mil]= X) OU ( deb>Fin) SI T [mil]= X
FIN Recherche_Dichotomique ALO RS
Res o- mil
SINON
Res~O
FINS I
3) Recherche_Dichotomiq11e ~ Res
4) FIN Recherche_Dichotomiq11e
- 61~c::J: ~ 6 __)) g t
- ~d;;
--j0A~.Cd~M· ':.d' ;;
- · v~ c2>v,e de' :
- ~d,'_,
d- ~ i/YI\CMJ,_ e. :
x-c c-<co a>
~ ·Ee::-Jr
LL ~
V) ..0....,
H .-V~,I
·s0-0o:
L.
z-c_.) 0 a:s.aosaaoc.:>>>..
~ -.0;c.:.:l.:
wCJ E Q)
E
:Ewwu ~'Q)
~.. 0
..o0c: Q)
L:~::., -01 Q
..uc: E
VI ~Q)
..~Q)
>_.) ~V~I 0 .!::: z
~ 0
0E..
~~ ~ Q)
0
L. ow0 (/)
l\
~ (/)
i:i...~
~'-
~ .i
..'ce.i
,-... ..e'''e.
0 0
"e'
II
,-c... ,n~
.!!. ·-.II... 0 °·tQ-:i
'-'
11
0
e ~ + .e... we g=- w/\
~ ..... 1-, "' "' II)
0-Ic[:I:e):-··.--.[nI..'-_'cfC,•I1:-1oI<<•O,O.:~,_-c:._J.,
·;0c;; B ~cQ).. c II)
§o
o0 Oc::i o.• ..1c1) -"' "' I .•
t.L. CQ
·=-~7o W II ..oc '"cO::
~O CQ .:...: 0I:I:):
@> ·-· .I:)
ux<.. --cc -Q)
CX)
V) ·..Qc.,-_).
~
~ Q)
-c zH .-~, :::, .e...
0-
_J Lc,. II)
·Qen)
w0 E~ soQ:) 0 ....
~ ~.. E V)
L. c
" .....ww L~::., •II)
s(ol:) EII)
> VI e zt~=-o
(l) .0E •II)
_J V~I 0 c0 'Q)
0:: 0
0 0 II)
L. ECl
Q.. .:: :_II)
z0E..
-~ 0 II) ,-...
f,-<
Les methodes de Tri (4eme Scientifiques) Professeur · Narjes MTIBAA
LYCEEMOHAMEDALI SFAX Professeur
~ Q Departemeni d'informaiique ~ Q Mme. Narjes MTIBAA
I IMethodes de Tri
ar selection, tri a bulles et tri ar insertion
On se propose de trier, par ordre croissant, un vecteur (Tableau a une seule dimension) (T)
compose par (N) elements entiers (2 ~ N ~ 100), en utilisant la methode de tri par selection.
Le principe de la methode de tri par selection consiste a suivre Jes etapes de l'algorithme
suivant:
1) On compare tousles elements du tableau (T) afin de selectionner le plus petit element et on
memorise son indice,
2) On echange le plus petit element trouve avec le premier de la liste, · , J .. -
3) On refait les etapes 1) et 2), en cherchant le numero du plus petit element clans la liste sauf le
premier puis on l'echange avec le second et ainsi de suite,
4) Ce processus est repete autant de fois que le nombre d'elernent de la liste moins un (N-1).
Ondemande:
1°/ de decomposer le probleme en modules elementaires et simples,
2°/ d' analyser chaque module puis en deduire son algorithme,
3°/ de dresser l'analyse du programme principal intitule « Tri_Selection » puis en deduire son
algorithme www.BAC.org.tn '
4°/ de traduire le programme en langage Pascal.
Resolution : Page B~C-TUN/S/E
Exemple : N = 5
LTel: 25 361197 I 53 371 502
11 -4 5 -7 2
GzJ -4 5 @) '
2
-7 -4 I 5 11 2
-7 -4 2 11 5
-7 -4 ' 2 I 5 11
La liste est triee par ordre croissant
Pour l' exemple, nous avons 5 elements a trier. Nous avons fait 4 permutations.
Pour N elements a trier, nous aurons (N-1) permutations. (Boucle POUR)
Pour chercher le minimum, on doit initialiser le 1er de la liste puis parcourir le tableau jusqu' a la
fin. En effet : puis on parcoure le tableau de la 2eme a la 5eme case ..
Pour le 1er parcours, on initialise pmin=l
Pour le 2eme parcours, on initialise pmin=2 puis on parcoure le tableau de la 3eme a la 5eme case.
Pour le 3eme parcours, on initialise pmin=3 puis on parcoure le tableau de la 4eme a la 5eme case.
Pour le 4eme parcours, on initialise pmin=4 puis on parcoure le tableau de la Si'!me a la 5eme case.
Pour le jeme parcours, on initialise pmin=i puis on parcoure le tableau de la (i+l)eme a la Neme
case. ( Boucle POUR)
Les methodes de Tri (4eme Scientifiques) Professeur: Narjes MTIBAA
1°) Decomposition en modules elementaires et simples.
~ Modulel:
Lecture controlee d e N ( 2 <= N <= 100 ).
Procedure Lecture avec parametres formels ( N )
~ Module 2:
Chargement des N entiers dans un tableau T.
Procedure Remplir avec parametres formels ( T , N )
~ Module3:
Perrnuter 2 nombres entiers a et b
Procedure Permut avec parametres formels ( a , b )
~ Module4:
Chercher la position du minimum.
Fonction Pos_min avec parametres formels ( T, N,i)
~Modules:
Trier les N elements d'un tableau Ten utilisant la methode par selection.
Procedure Selection avec parametres formels ( T , N )
~ Module6:
Affichage des N elements d'un tableau T.
Procedure Affiche_Tab avec parametres formels ( T, N)
~ Programme Principal: Appels des modules deja etablis
Analyse des modules de ia etablis
Module 1 : Alqorithme
DEF PROC Lecture ( VAR N: ENTIER)
0) DEF PROC Lecture( VAR N:
Resultat = N ENTIER)
1) REPETER
N =[ ]
RE PETER ECRIRE ("Saisir le nombre
N= Donnee ; (" Saisir le nombre d'element :")
URE ( N)
d'elernent ")
JUSQUA ( N ;;;.; 2 ) ET ( N s 100 )
JUSQUA ( N ~ 2 ) ET ( N s 100 )
2) FIN Lecture
FIN Lecture
Module 2 : Algorithme
DEF PROC Remplir( VAR T: Tab ; N: ENTIER)
0) DEF PROC Remplir( VAR T: Tab ; N:
Resultat =T ENTlER)
T =[ ] 1) POUR i DE 1 A N FAIRE
POUR i DE 1 A N FAIRE ECRIRE ("Saisir !'element :N°",i)
T[ i ]= Donnee ; ("Saisir !'element URE ( T[ i])
FIN POUR
N°",i) 2) FIN Remplir ,
FIN POUR
FIN Remplir
Les methodes de Tri (4°1"' Scientifiques) Professeur: Narjes MTIBAA
Module 3 : Alqorithme
D~F PROC Permut ( VAR a , b : ENTIER )
0) DEF PROC Permut( VAR a, b:
Resultat = Permuter deux nombres entiers ENTIER)
1) Aux~ a
Aux+-- a 2) a e- b
3) b ~ Aux
a e- b 4) FIN Permut
b +-Aux
FIN Permut
Module 4 O)DEF FN Pos_min (T :Tab ; i,n :
ENTIER) :ENTIER
DEF FN Pos_min (T :Tab; i,n : ENTIER) :ENTIER
Resultat =pos_min~ min 1) min~i
Min=[min~i]
POUR j DE i+ 1 A N FAIRE 2) POUR j DE i+ 1 A N
Si (T[j]<T[min]) alors min ~ j FAIRE
Fin si Si (T[j]<T[min)) alors min ~ j
FIN pos_min Fin si
3)pos_min~ min
4)fin pos_min
Position de minimum 0) DEF PROC Selection ( VAR T :
Compteur
Com teur Tab ; N : ENTIER )
1) POUR i DE 1 A N-1
Module 5
DEF PROC Selection ( VAR T: Tab ; N : ENTIER) FAIRE
Min~ FN pos_min(T,i,n)
Resultat = T Si i<>min alors Proc
Permut(T(i],T[min])
T=[ ] Fin Si
POUR i DE 1 A N-1 FAIRE FIN POUR
2) Fin Selection
Min~ FN pos_min(T,i,n)
Si i<>min alors
Proc Permut(T[i],T[min])
Fin Si
FIN POUR
FIN Selection
Min Var/ ENTIER Position de minimum
Var/Entier Compteur
I Fonction Chercher la position du minimum
Pos_min
Procedure Permuter deux valeurs
Permut
Module 6 : Alqorithme
DEF PROC Affiche ( T : Tab ; N : ENTIER )
0) DEF PROC Affiche ( T:Tab ; FAIRE
Resultat = T
N:ENTIER)
T =[ ] 1) POUR i DE 1 A N
POUR i DE 1 A N FAIRE
ECRIRE ( T[i] ) ECRIRE { T[ i ] )
FIN POUR FIN POUR
FIN Affiche 2) FIN Affiche
Programme Principal : Alaorithme
Nom : Tri_Selection
0) DEBUT Trl_Selection
Resultat = Afficher des N elements Tries du tableau T 1) Proc Lecture ( N )
2) Proc Remplir( T, N)
4 T = Proc Affiche (T , N ) 3) Proc Selection ( T , N )
4) Proc Affiche ( T, N)
3 T = Proc Selection ( T , N ) 5) FIN Trl_Selection
2 T = [ Proc Remplir( T , N )
1 N = [ Proc Lecture( N )
5 FIN Tri_Selection
N Procedure Tableau d'entier
Procedure Le nombre d'element de T
Affiche Procedure Permet d'afficher les N elements de T
Selection Procedure Permet de trier r ordre croissant les N elements du tableau T
Rem i/lr
Lecture Lecture controlee du nombre d'element du tableau T
,~ . ' . ~.rableau de c=liMT:albalreaatulodreui1e0i0noEuNvTeIaEuRx types.'
Tab
On se propose de trier, par ordre croissant, un tableau (T) compose par (N) ~1ements entiers
(2 ~ N ~ 100), en utilisant la methode de tri a bulles.
La methode du tri a bulles consiste a comparer les elements de la liste par paire. Le nom de
cette methode provient du fait que les elements arrivent au debut ou a la fin comme des bulles
d'air dans l'eau bouillante. Cette methode peut se traduire comme suit: · ·· e-
1) On commence par la premiere paire d'element qu'on compare,
2) Si T[2] < T[I], alors on permute ces deux elements et on doit tenir compte de cette action (le
3) faalilterdea permuter), et repeter les etapes 1) et 2) jusqu'a atteindre la derniere paire c'est a
la paire suivante
dire T[N-1] et T[N],
4) Si une permutation (ou plusieurs) a ete realisee, alors repeter ce qu'on vient de faire sinon
c'est la fin du traitement et la liste est triee.
Ondemande:
1 °/ de decomposer le probleme en modules elementaires et simples,
2°/ d' analyser chaque module puis en deduire son algorithme, .
3°/ de dresser I'analyse du programme principal intitule « Tri_Bulles » puis en deduire son
algorithme,
4°/ de traduire le programme en langage Pascal.
Resolution : ·=0 . ~. Cl.>.
Exemple : N = 5 u
-3 0 e-·.:CJl)
-3 14 0~
-3 -10 14
Les methodes de Tri (4tme Scientifiques) Professeur : Narjes MTIBAA
-3 -10 5 14 0
-3 -10 5
0 14
-3 -10 5 0N
-10 ·-3 5·
-10 -3 .0 :·0laur:,i.
-10 -3 5
-10 -3 0 0 ~
0
5 ' ,Q~)
5 14 rJ)
-10 -3 05 14
-10 -3 05 ~
-10 -3 0.; 5
-10 -3 05 14 Os=
;!14 r~:i
. Q)
14
-10 -3 0 5 14
Aucune permutation n' a eu lieu,
on pourra affirmer que la liste est triee par ordre croissant
Module5: 0) DEF PROC Selection ( VAR T :
DEF PROC Bulles ( VAR T: Tab ; N: ENTIER) Tab ; N : ENTIER )
Resultat = T
T=[ ] 1) REPETER
REPETER B~ FAUX
B~ FAUX POUR i DE 1 A N-1
POUR i DE 1 A N-1 FAIRE
FAIRE
Si T[ i]< T[i+ 1] alors Si T[ i]< T[i+l] alors
Proc Permut{T[i+ 1],T[i]) Proc Permut(T[i+ 1],T[i])
B~ VRAI
B~ VRAI Fin Si
Fin Si
FIN POUR FINPOUR
N~ N-1 N~ N-1
JUSQUA B=FAUX
JUSQUA B=FAUX
FIN BULLES FIN BULLES
i .: ·Nature Variable Intermediaire
Permut Var/ BOOLEEN Compteur
Var/Entier Permuter deux valeurs
Procedure
Les methodes de Tri (,4tme Scientifiques) Professeur: Narjes MTIBAA
@)yrtpar.i[fiiiiitfiiiii'T
On se propose de trier, par ordre croissant, un vecteur (Tableau a une seule dimension) (T)
compose par (N) elements entiers (2 ~ N ~ 100), en utilisant la methode de tri par insertion.
La methode de tri par insertion est tres differente de deux methodes deja presentees et elle
s'apparente a cel1e utilisee pour trier ses cartes dans un jeu. Le principe de' cette methode
consiste a prendre les elements de la liste un par un, puis inserer chacun dans sa bonne place de
facon que la liste reste triee. Cette methode peut se traduire comme suit: 1
1) On commence avec le 2~me element c' est a dire T[2],
2) On compare l'element choisi avec tous ses precedents clans la liste et on l' insere dans sa
bonne place pour que ces elements soient ranges,
3) Repeter les etapes 1) et 2) jusqu'a arriver au dernier element de la liste,
4) La liste sera triee.
Ondemande:
1°/ de decomposer le problerne en modules elementaires et simples,
2°/ d'analyser chaque module puis en deduire son algorithme,
3°/ de dresser I'analyse du programme principal intitule « Tri_Insertion » puis en deduire son
algorithme
4°/ de traduire le programme en langage Pascal.
Resolution :
Exejple : N ~ 6
Memo 1 4 -3 15 10 0
12 4 -3 15 10 0
10 0
4 12 -3 15 10 0
-3 4 12 15 0
,'
15 0
-3 4 12 1.5
12 15
-3 4 10 12
0) DEF PROC Insertion ( VAR T :
-3 4 0 10
Tab ; N : ENTIER )
Module 5 :
1) POUR i DE 2 A N
DEF PROC Insertion ( VAR T: Tab ; N: ENTIER)
FAIRE
Resultat = T j~ i-1
x~T[i]
T=[ ]
POUR i DE 2 A N FAIRE TANTQUE ( j >= 1) ET (T[j] >X)
j~ i-1 FAIRE
x~ T[i] T[ j+ 1 ] ~ T[ j ]
TANTQUE ( j >= 1) ET (T[j] >X) FAIRE j~ j-1
FINTANTQUE
T[ j+l] ~ T[j]
T[ j+l ] ~ x
j~ j-1
FIN POUR
FINTANTQUE 2) FIN INSERTION
T[ j+l ] ~ x
FIN POUR
o0ZS..s. . . . Q 8
EO-Ev-.~ I.I.
~·.o0;:; zi..uEQc:)
~ Eo-~..
Q)
r./)
;:.( z . .0......B~!·!·1. . ~ -+ .,....=....i,.56 .~
?o~' ·-;II; z
~::i =fu-i ·1-1 .Ei::
._.. , ~
[I.Oz Z ·:-: E- .5Ef..l' . ~
.5 i::G IO
.D JJ.l a:µ::,:.:>.. > . 8...;CPil-l ·E- 0~ .c....... E::C- c)g..JJZ.l
ux-c, c-<co ::::,
~ -ro
~
V) .V~...J., Q.)
< zH....Jt...
0 .r.co
w0 E~ +J
>"-:E ~..
-:c::::, -0 00 ....
ww ~t~...
VJ "O 0 z §::i
V~J
....J c: Q)
'+-
a0'.-. ·+0oJ- Cl.
-Q.) "' . ~
,a.,
en
'rc-o..
·c
J-
,,-.., ,,-.., .~.......
. ,........, ;w<:J ;:s
.........
I f- ..J s~-<o::!
cc: 0,,-.., +0 f~- _s;::s:
w •n ex:,,-..,
w0 ........ µ.:i ~a ~
w
t~f- 0w =c~::,
1--< ~
2: o·)c
z
~
"'.D
~ z ;i f-
f-
z E.....II. f-
<:I)
o::i1.D-«-<s '-'
f- !.-.EoQcc)
0E- E- ~ Q., on
v ~ ~
,. . . . ,z
±~~
~n [I. ......... f- w 0
> 2:~'-.'.., 0
<c~ri ·- f- <~(:/')
:c::;<::q:::Is:) z
Wc+c:,<t.zI.l; µ... • n r.,...
t5~:::, 1o--<~..
0w• o1·:1·:oir.~iw..co0 W~ coII
0 d
f2-5\0co f-
.. f-
)( 5t.I.l ·- o::i ~ w<(
<:::l 0~...
z[I. 0 U0 c,::<: ( 0cwo ~
.D w ~>
-. ,,-..,
x-c cf--=cco :rJo ......... wex:
w0
Cl) ... 25f- ,,-..,
...rc..o., ·5Q) ......... w~
10w--<
c:: ,«s ~
LL ~ -:J ,-.. :::l z :::,
"'~w
:1V) .~-, "C t.I.l "'0 Q) ~
J3
zL en J..3.. .D E
~ "'1--<
0 -Cl) :::, "E-
-c t.I.l z "....f- ,,-..,
wCJ ~E c:oJ 0 z s v•Q) II i:: 0 :::,=Q) .D ."9"?
I·"--- 0
:E ~ ~25 Q) .... «s t;
..w L
µ... z~ ~ s>e<x: ~ <~> <....U....
=1 0 s'-'
'"o •Q) ...'-' 0
w (\) 0 < .Q....). '-' .:::
u V) .V2) Cl. 0 Q) ~......
0...... > e'-' .D 0
V) :oi::i u zw Oz§ ;_._Q.:.:.:.),.i0:: <( 0 :.v E:::, "<::!
I
~ ..(..\.). ..... Q) z ti
f- • n .2 s -cc: _,.......Q) Q) • n
a0L.. ..J ,,-.., cc:Q) 0....
~u~f- ...... ·=f0- V) !.."..:.:.."..'
(I) n N 0... <:\)
8~~~ 2:>-~ II
wex: w .~ses::o
pex.,: :0:0:, -~ f- 0w
0 !3 9,_,~I\ w~ ~z(:/') '--' s::
Q~ ~ 1--<
< ..On ft.-I.l 0 1--<'-'Z O 2:'i ·-[I. 2:'i 6.. 25 «l •n <U
0o~uw.. <e>x: ~fw- ~..J Cl
>pW.-, "' >II~ E•«.•-s• g2:~~~d •n ·2fw-.-:-.'i, cwooo~µw... coo ~ zo.non [I . .o .s9::
f- ewx: ~
E- .D <!'. ~~~Oi:i..~ ~$f@-0 t.I.l w o~0...>~<<><c:=0ow;.<: "'::i [I. t;
f- z
~
<:s
~
0
~
. ....,
E-< 0
Cl
II
0
- -~ .+_., .....,
z
II ~
....... r-l
/\ o0E-< ><: E.<.u0c:
. _, =N II z
o~
-II .+...... f-, ..
I --cc c::os z
xI a>
-c ~ -Q)
z;
LL :E ...0r...o...,
V) V) 0Cl
.-(\,) -:c:s
-c zHLc:., z.!:::::
'"C
_J EQ..
wCl E~ c
:E :.E. ex:Cl)
w L. ·t0-
w ::J
\J (\) r··-e.c.Qor..-o.n.-,).. 0
V)
0......
V)
.....~ (\)
0
aL...
------
-~{~~·~~~--~--~'~-, ::: [
~ 1 i' m Ji"""'..._________
1 , _ .:- d&.v.ie1
~~~µLJ-~_:__~~---4--~q~~ (,~O~~>o~)-~
+>: piL1--f'-'- - - - '~~-----'-----,---------!____
/1\ ::.
--d=l-"-""'-=-/-'-'-~..L.ll..l---.,..,d"--=---1Q-g_1.,-_,1_.._.5.Up='aj_
~~+++s~erie ~d I app--li----c-~a t i---o--n---N-°l+-~t t---_--~_J -.r~...oI , 1"-"-"--~
I Exerdce N° 1 :
;o
l<c::w. 0--,11 , 1
L.0-·. ~-
On se propose d'introduire une date sous la Iorme 111m(jj/aaaa puis l'alficher sous I::, Iormc
jj/mm/aaaa.
Faire une analyse puis deduire l'algorithme et le programme en Pascal.
Exercice N°3 :
Ecrire un programme qui permet d'afficher un entier r de quatre chiffres a partir de deux
entiers positifs de 2 chiffres met n et ceci en intercalant le nornbre n entre les deux chiffres
dem.
Exemple :
m=52 et n=36 alors r= 5362
Faire une analyse puis deduire l'algorithme et le programme en Pascal.
Exercice N°4 :
On se propose de saisir une chaine form cc par num et pn:·11p1n SL;pnre par cspnce pt1 j.._ :1 (fichcr
sous forme prenorn et nom separer par espacc.
Faire une analyse puis deduire l'algorithme ct It' progrn111111c en Pascal.
Exercice N°5 :
On se_propose de saisir un Email sous In fonuc 110111_ufili:;ntcur@ scrveur.dom puis affichcr le
nom d'utilisateur, le nom du serveur et le domaine
. Exernple
Foulcn@yahho.com
l 'ordinateur afliche :
le norn utilisateur=Foulen'
Le serveur='Yahoo'.
l.e domuine=t Com ' .
Faire une analyse puis deduire l'algcrlthmc et le pwgr:1111111c en Pascal.
Exercice N°6 : (QCM: questions aux choix multiples)
.1) Comment genere-t-on un en tier X au hasard ?
I
""---------.--., .. ,-·-- .. ·--··-.- Page I
·------·----
O Random{X) ; fJ X r=Random ;
[] X =Randomizc ;
O X :=Random(Y) ;.
2) De quels types doivent deriver Jes types intcrvallcs ?
O Entiers O Caracteres
O Reels O Scalaires enumeres
3) Laquelle des declarations suivantcs est unc declaration
dun type scalaire e1111111cre:
LJ Type couleur= (rouge, blanc, bleu. vcrt) :
[J Type couleur= ('8','E','R','V'. 'N'):
' 0 Type couleur= array [1..7] of (8,E.R,V,N,M.T);
Exercice N°7 :
Ecrire une analyse puis deduire l'nlgoritluue ct le proprummc en pascal pcrrncttant de
saisir un entier de deux chiffres puis insercr la so111111c de ccs deux chiffres nu milieu.
Exemple:
X=25 donne une somme =7
X devient 275
X=75 donne une somme = 12
X devient 7125.·
Exercice N°8 :
Soit ch une chaine de caractere : on desire faire le crvptagc de ch comme suit :
• Rem placer le premier caractere par '•'
• Ajouter un espace apres le caractcrc du milieu de ch .
.; lnserer la somme des chiffres du code ascii du dcrnicr caractere de ch ii la fin de ch.
!Exemple ch=Devoir devicnt "*cv oir6 .. rest tk CPtk 11-1 cc qui donne 11-11..i-(,.
A
Paire une analyse puis deduire l'algorithme et le TUO.
!1,0Exercice N°9 : !-:.. fli,.O'f \'" '};
.. r \ " I,
Soit la sequence d'instructions suivante ':°\'\NII{\ v(~ i A'.-;r,.,
1) ch~'bonjour' CJ ~ .u +
~ w11r i ~rt"C3Je,_ ·,
JJ~ (c\~.J
2) x~Positiu;1("n",ch) J ',IQ.I\ '- ~~ C:y:: <('h:::\ l.1\.\L<.J
3) efface (ch, x+ i ,4) '
~ I ·. r-:::.:L,"v--'-(i.,J. dhl loot
4) t~Majus(ch[l l) .~ • 1
5) , Convch(ord(c ), ch 1) - 'v ~ ... -- ) ·, ~ \O"'L--d1 ~ J
6) valeur(chl[l],dl,e) -.JJ"; (,~. \V...\..(_c,~)~ ~AO.:.:.:\-\."~M~'-t-o"'t'
7) valeur(chl[2],d2,e) ~"' \...! , "J
8) S~dt+d2 fA : -: ..._';
ci_
I.: Donner le contenu de chacune des variahles ch.x.ch I lorsqu'on execute lcs
instructions recedents, C --i---c-·11,-- dt \JJ ,, Y'c. 1...tl\ •
Instruction ch x d2 --s \: ")'
I~ v-'-i .
1-1-,-----------,-~--4"1.'----+--~~- ..::,----
3-----· -----4--r£::J!L_.j____,.2_ _ -~- --::--· --;.:.--
1-4_______ ~~---'--'~-
5~
-~7--'---' --·-"''---~'/i'-il- / ~ •"
--~
8 . l.'.1/ ---·-· -- ,,,... - .. ---~ ~~
Page 2
-------- - - - ·---
Exercice N°10 :
Ch etant une chaine de caractcrcs de longueur 111:1~ i 111:il'-· .: !O cnructcrcs. I .u cl1:1i111· L'Plll icnt
deux points supposees eloignes et qui ne sont ni au debut. 11i i1 la fin de la chainc.
On desire permuter !es caracteres qui cncudrcnt c huq uc p1 li 111.
Exemple:
Donnee : Ch='ABCD.EFGHI.J.KLM'
La chaine devient Ch='ABCE.DFGHIK ..JLM
Faire une anal1se puis deduire lalgcrithme el le programme c11 Pascal.
Exercice N° 11 :
Soit une type enumcrc scalairc direction qui rcgrnupL' ks, nlcurs suivantcx : haul. h:1s. droit«.
gauche et une variable sens de type direction.
1- Declarer en pascal le type direction et la variable sens.
~jP" ·, ~-~.... .~. ":" .. ,t.v~.t-1·· W"'-,·· -~.o'.r.,.,.{)~-~--'--·,·i····················
=~=-~~~--- ~=:~-~ .,~~~:,~:>bas
······1••••..i,··f··· ·~ -~·· ~-~··,··············································································
_tR~mplir le tableaustiivant ~ __ _ _
' Ex ,·cssion Type du resultut Valour du 1·cs11lt11t
-z -~o-td(-bas-)+o-rd(s-ucc-(-dro-ite))- --- __ _d~. _t_.a'°L'-
--------
T~Pred Z) """" _
K ~NoN(X) ouex (bas>gauche) ~o _-.. oW\ _ --~· __ --· _
__:_"'"..r"_,';r-:~=--~--
L~"huut'' ..... ~.:...
M~Majus(Pred(L[l]))+majus(succ(L[2]) ~-~~ ~...~ ~:._~_
bF .3-Declarer un tableau T de 4 cases dindices de type direction. Les elements de T sont de type
entier.
~~ ~~~;: jJ: . ~ ., . ":,J:~~ • V<\~~o.v. ;::::::::: ::::::::::.
s. . . . . .. ,4- Remplir IG tt~~lr~l. ~~ ~-~~-,~~~'.1U-ri.\:~'.~l .:».. ~ .... " I .... ·... :1t·.~.- .,. :·.....
. haul Bas droite gauche
T[haut] ~. 5.div 2*tnmc(3.22)+9
I>
Tlbas]~~'red(T[haut]) mod ord(gauche) ~~ c., (
T[droite]~.Jffhm1t]+T[hasl
~r[gaucheJ~ord\d~oite)+aITondi(7.5)*4 div 9 ~'j/~
7'(
o--:<;I)-~ "' .-. »~1- ,, "\ .... .....
../ .J
~- > -,.,,.. ~ v / «-r.....;/ ~
,,·. ~
.,. '' '/ ' '< ,,~
,,.....) ~ ~ I ../ ) _,.._ \
J
" "' "............ \-'~...,,,\,
,(y' .)' \ \- J
'..... "' \
..,..<.. \ (.
/~ 'J"
;> . . ) o- ./ "'.../ .,/,
/
~ ./ J
l':'crge :~ ""7 -~---- ---
//
C(j'J,~Ce • (?
J
IJ,.,c.~ ~.
) $_:a_ (q ~ l ~ \.lM\ ~ t.\
(--'~ -1- -.M JYt,1/Q lV~
~ rv.E:tl.O.V. .
Professeur : Mme MTIBAA DEVOlR DE SYNTHESE Section : 4eme scientifiques
N°1 Duree : l heure
Exercice N° 1 : (10 point
Soit Tun tableau den chaines de caracteres. Les chaines c'-UJ. U.:.A:~E::::::::;.:..'..~:J
obligatoirement par une lettre et se terminent par un nombre.
On se propose de remplir T puis afficher !es nombres de chaque chaine.
(Nombre par ligne) ainsi que le nombre maximum des ces nombres.
NB:
"""'7 Une chaine est de longueur qui ne depasse pas 5 caracteres.
7Sauf le premier caractere qui est une lettre.
Exemple:
N=S I Bl245 ! E258 ! D987 l I K988
I Al03
'I
L'ordinateur affiche :
103
1245
258
9871
988
Et le nombre maximum= 9871
Faire une analyse puis deduire le TDO.
Exercice N° 2 : Pratique (10 point
Soit ch une chaine de caracteres contenant-ees"l
Exemple ch=A 12C487
Trouver les deux nombres issus de ch
N1=12487
N2=7842 l
Ecrire un programme en Pascal puis l'enregistrer sur C:\bac2015 sous DSINOM