Académique Documents
Professionnel Documents
Culture Documents
Avant #ropos
Certains voient, tort, dans l'ordinateur une machine pensante et intelligente, capable de rsoudre bien des problmes. En fait, celui-ci ne serait capable de rien si quelqu'un le programmeur en l'occurrence! ne lui avait fourni la liste des actions e"cuter.
Bus
Units dentresortie
#roblme
+," - . / 0 0," - 0 / 0
10," - 1/ 0 0," - . / 0
**
a," - b / 0
**
2nonc non prcis 3 #roblme informel 5pcification Anal6se #rogrammation 4angage de programmation 3 #ascal,.. Compilation E"cutable du programme E"cution $sultat 2nonc prcis 3 #roblme formel
Algorithme
Algorithme
9finition 3 Enc6clopdie 8niversalis 8n algorithme est une suite finie de rgles appliquer dans un ordre dtermin un nombre fini de donnes pour arriver, en un nombre fini d'tapes, un certain rsultat, et cela indpendamment des donnes
Algorithme
9finition 3
C%est un pseudo-langage qui est con:u pour rsoudre les problmes et applications sans aucune contrainte due au" langages de programmation et au" spcificits de la machine. Ce pseudo-langage sera ensuite traduit et cod dans le langage de programmation dsir.
4angage Assembleur
9finition 3 4e langage Assembleur est un langage qui utilise des instructions sous forme s6mbolique A99, ;&<E!. 4%assembleur est li au microprocesseur, puisque c%est le seul langage que le microprocesseur comprend.
4angage de programmation
9finition 3 &n appelle langage de programmation tout ensemble fini de mots rservs qui permettent de traduire les instructions de l%algorithme afin de l%e"cuter par l%ordinateur. Exemple : Turbo Pascal, Cobol, Fortran, C, Delphi, Visual Basic (VB), C++, Ja a etc!!!
#rogramme source
9finition 3 4e programme source est le premier rsultat de la traduction d%un algorithme en un langage volu 3
Compilateur
9finition 3 &n appelle compilateur tout programme spcial qui permet d%avoir un programme e"cutable partir d%un programme source3
=itre du #roblme
9claration des Constantes
9claration des <ariables 9claration des =ableau" 9claration des #rocdures et >onctions
9marche suivre pour rsoudre un problme donn3 7dentifier les donnes du dpart entres! et celle s! qu%il faut obtenir sorties!@ 5tructurer les donnes variables ou constantes, t6pe...!@ $flchir pour dterminer les action ncessaires l%obtention des rsultats @ #rsenter les rsultats.
&b)et
9finition 3 8n ob)et est toute partie identifiable de l%information au cours d%un traitement. 7l est caractris par son nom, son t6pe et sa valeur. 4%ensemble des ob)ets manipuls par un algorithme est appel3 en ironnement #e cet al'orithme! $emarque 3 4es ob)ets manipuls par un ordinateur sont 3 &es Constantes et &es Variables
4es constantes
9finition 3 4es Constantes dsignent des rfrences des valeurs invariantes dans le programme 56nta"e de la dclaration 3 Constante Exemple : Constante Pi = 3. ! ?omAConstante / <aleur
4es variables
9finition 3 Ce sont des rfrences adresses mmoires! oB vont Ctre stocDes des valeurs variables. 4es diffrentes valeurs d%une rfrence vont appartenir au t6pe de donnes auquel appartient la rfrence. $emarques 3
"- Le nom dune #aria$%e suite de caract&res qui permet didenti'ier %a #aria$%e dune mani&re unique dans un a%(orit)me. *"- I% e+iste di''rents t,pes de #aria$%es.
=6pe Entier
9finition 3 C$est l$ensemble #es nombres entiers positi+s ou n%'ati+s! 56nta"e de la dclaration 3 <ariable Exemple : <ariable a-$ 3 Entier
a et $ sont- par e+emp%e%es coe''icients de %quation . a+ / $ = 0
variable1,variable+,E 3 Entier
=6pe $el
9finition 3 C$est l$ensemble #es nombres r%els, c$est , #ire les nombres #%cimaux sans limitation! 56nta"e de la dclaration 3 <ariable Exemple : <ariable +-, 3 $el variable1,variable+,E 3 $el
9finition 3 C$est une suite #e caract-res, c$est , #ire #es combinaisons #e caract-res (lettres, chi++res, s.mboles!!)! 56nta"e de la dclaration 3 <ariable Exemple : <ariable 0om- 1at(orie 3 Caractre variable1,variable+,E 3 Caractre
=6pe Goolen
9finition 3 /l s$a'it #es ob)ets 0ui ne peu ent pren#re 0ue #eux aleurs rai ou +aux! 56nta"e de la dclaration 3 <ariable Exemple : <ariable Dcision 3 Goolen variable1,variable+,E 3 Goolen
7nstruction et Action
9finition 3 (n appelle instruction toute comman#e %l%mentaire 0ue l$on #oit appli0uer sur #es ob)ets pour a oir #es sorties bien #%+inies! 9finition 3 "ne action est un % %nement 0ui chan'e l$%tat #$un ob)et #$un %tat initial #onn% , un %tat +inal #%sir%! "ne action a une #ur%e #$ex%cution +inie et un e++et propre et bien #%+ini! Cha0ue action porte sur #es ob)ets sur les0uels elle s$ex%cute : &6*ction est une seule instruction ou un 'roupe #$instructions
4a partie manipulation doit commencer par le mot 9EG8= et se termine par le mot >7? 3
9EG8=
7nstruction 1 7nstruction + EE. EE. 7nstruction n *ction
>7?
4a partie manipulation utilise les diffrents ob)ets dclars dans la partie dclaration et leur applique des oprations afin de retourner le s! rsultat s! attendu s! par le programmeur. #our ce fait, il 6 a diffrentes actions, dites instructions, savoir 3 7nstructions de dialogue Homme-;achine @
4%affichage des informations3 #our faire comprendre qu%il faut afficher des informations l%cran, on utilise l%instruction crire qui obit la s6nta"e suivante 3 2crire <ariable ou I ;essage% ! Exemples :
2crire 34 5aisisse6 %a #a%eur de a %! 2crire 3I 5aisisse6 %a #a%eur de $ %! 2crire I 5aisisse6 %es #a%eurs de a et $ %! 2crire 3ILe rsu%tat trou# est .%, r ! 2crire r!
7nstruction Homme-;achine
4a 5aisie des informations3 #our indiquer dans un algorithme que telle donne doit Ctre lue par le s6stme, on utilise l%instruction lire qui obit la s6nta"e suivante 3 4ire <ariable! Exemple :
2crire 4 5aisisse6 %a #a%eur de a 7 4ire a7
7nstruction d%affectation
9finition3 C%est le stocDage d%une valeur un endroit spcifique variable!. #our affecter une valeur une variable, on crit 3 <ariable Exemple :
8aria$%e 8aria$%e 8aria$%e #a%eur #a%eur / #a%eur * 9 #a%eur *
<aleur
#a%eur / 8aria$%e
Les #aria$%es sont des r'rences 3adresses mmoires7 o: #ont ;tre stoc<es des #a%eurs qui peu#ent c)an(er au cours de %e+cution du pro(ramme. Les mmoires sont repres par des numros 3pour %ordinateur7 ou des noms 3pour %e pro(rammeur- qui a intr;t = c)oisir des noms si(ni'icati's7. 1)aque 'ois quon proc&de = une nou#e%%e a''ectation- %ancien contenu de %a mmoire est perdu et un nou#eau contenu est p%ac dans %a mmoire. Les constantes correspondent = des 6ones mmoires dont %e contenu ne peut pas #arier. ? octet n" >*
0 00000
E"ercice
Quels rsultats produit lalgorithme suivant? Les types de variables sont-ils corrects
Titre : Calcul Variable Dclaration Manipulation Fin A: Entier C,B : Rel D : caractre E : Boolen
Dbut
A 30 B A * 2 crire('B=' , B) C B D
E (A % 0) &' (C ( B) crire('le) *ale'r) o+ten'e) )ont : A = ' , A , 'B = ' ,B , ' C = ', C , ' D = ', D, ' E = ', E)
(B + A)/ C / ! "A#ine$
Instruction
Aprs linstruction A 30 Aprs linstruction BA*2 Aprs linstruction C (B + A)/4 Aprs linstruction B C/5 Aprs linstruction D Amine Aprs linstruction ! (A "40) #u (C$B)
A 30 30 30 30 30 30
60 60
22.5
4.5 22.5
E"ercice
2nonc3 2crire l%algorithme permettant le calcul de la surface d%un cercle connaissant son ra6on 3 5urface / , $a6on+ Entre 3
4a valeur du ra6on
;anipulation
5ortie 3
4a 5urface calcule
5olution
@itre . 5ur'ace dun cerc%e 9claration 3 Constante Pi=3. ! <ariable Aa,on 3 Entier <ariable 5ur'ace 3 $el
;anipulation 3 9EG8= 2crire '5aisir %a #a%eur du ra,onB ! 4ire3Aa,on7 5ur'ace Aa,on 9 Aa,on 9 Pi 2crire 3B La 5ur'ace du cerc%e est . ', 5ur'ace! >7?
E"ercice
E"emple 3 7crire l$al'orithme 0ui permet #e #%terminer le salaire mensuel #$un commercial sachant 0ue ce salaire comporte un montant +ixe #e 8999 D:; et une commission 0ui repr%sente <9= #u chi++re #$a++aire r%alis% par mois!
- Anal6se du problme $ecenser les donnes dont on dispose, celles qu%on cherche produire
Algorithme
=itre 3 1ommission 9claration 3 Constante ; / J000 <ariable CA 3 Entier 9 Donne dentre9 Com 3 $el 9 Donne intermdiaire9 5al 3 $el 9 Donne de sortie9 ;anipulation 3 9EG8= 2crire 3BDonner %e 1? mensue% en DC5B! Lire31?7 1om 1? 9 0D 00 5a% 1om / M 2crire BLe sa%aire mensue% est de . B- 5a%- B en DC5 B ! >7?
#roblme
2crire un algorithme qui calcule la mo6enne gnrale d%un tudiant sachant que celle-ci se calcule de la manire suivante 3
;o6enne / K . , ?ote Giologie! - +, ?ote Lologie! - ?ote 4C7!M N O
<ariable 1
&prateur <ariable +
, N
P ou mod div
&prateur
5ignification
2gal 7nfrieur 5uprieur 7nfrieur ou gal 5uprieur ou gal diffrent
/ Q R Q/ R/ QR
iii! 4es oprateurs logiques de relation 3 (n peut combiner #es con#itions , l$ai#e #es op%rateurs lo'i0ues :
&prateur
Et &u ?on &u / Sor
5ignification
E"emple 3
E"pression
J QU! E= VR0! 1 Q 0! &8 1QR1! ?on 1..J Q 1T!
Priorit de 9- D di# et F par rapport = / et > / G 9 3 = 3* et non !* >9G/3 = !H et non I0 Pour %es oprateurs de m;me priorit- associati#it = partir de %a (auc)e > D > 9 3 = G et non > J * / ! = K et non J Ln peut uti%iser des parent)&ses pour c)an(er %ordre des oprations . > D 3> 9 37 = 3> / G 7 9 3 = !*
8aria$%es de t,pe entier ,, N , P , div , - et 8aria$%es de t,pe Ae% ,, N , - et 8aria$%es de t,pe caract&re ou c)aMne de caract&res - , C&?CA= , 5uc, #red 8aria$%es de t,pe Boo%en 4es oprateurs logiques de relation 3 et, ou, non
4%instruction 5i 3 #our e"primer le fait que des instructions vont Ctre e"cutes dans un cas alors que d%autres instructions peuvent Ctre e"cutes dans l%autre cas, on utilise une structure alternative. 56nta"e 3 5i condition alors ?ctions K 5inon ?ctions *M >insi Option Facultative
E"emples 3
=itre . @est <ariable + . entier 9but 2crire 3B5aisir un entier + B7 4ire 3+7 5i 3+ N 07 alors 2crire '+ est un nom$re positi' B7 >insi >in
=itre . @est * <ariable + . entier 9but 2crire 3B5aisir un entier + B7 4ire 3+7 5i 3+ N 07 alors 2crire 3B + est un nom$re positi' B7 5inon 2crire 3B + est un nom$re n(ati' ou nu%B7 >insi >in
E"emple 3
9ans l%e"ercice oB on a calcul la mo6enne gnrale, Afficher IAdmis% si un tudiant a une mo6enne gnrale R/10 et Afficher IA)ourn% dans le cas contraire ;o6enne gnrale Q 10!.
5olution 3
>>>>>!(?este #e l$al'orithme) 5i 3ME N= 07 alors 2crire '?dmis'! 5inon 2crire '?Oourn'! >insi >7?
E"ercice 3 2crire l%algorithme qui permet de calculer le ma"imum de deu" entiers quelconques.
E"ercice 3
7crire l$al'orithme 0ui permet #e #%terminer le salaire mensuel #$un commercial sachant 0ue ce salaire comporte un montant +ixe #e 8999 D:; et une commission 0ui repr%sente @= #u chi++re #$a++aire r%alis% par mois si ce chi++re est A B9999 et #e <9 = #ans le cas contraire !
Algorithme
E 5uite de l%algorithme 5i 31? P 300007 alors 1om 1? 9 0.0> 5inon 1om 1? 9 0. >insi 5a% 1om / M 2crire 'Le sa%aire mensue% est de . '- 5a% - 'DC5'!
>7?
E"ercice 3 Compli0uons un peu l$%nonc%: &a commission est calcul%e #e la mani-re sui ante : Commission C <@= #u C* 0uan# C* D <99999 Commission C <9= #u C* 0uan# B9999 A C* A C <99999 Dans le cas contraire pas #e commission 7crire l$al'orithme 0ui permet #e #%terminer le salaire mensuel!
Algorithme
E 5uite de l%algorithme 5i 31? N 000007 alors 1om 1? 9 0. > 5inon 5i 31? N 300007 alors 1om 1? 9 0. 5inon 1om 0 >insi >insi 5a% 1om / M 2crire 'Le sa%aire mensue% est de . '- 5a% - 'DC5'! >7?
4%instruction 5uivant Cas 3 4%instruction ;ui ant cas constitue une structure alternative la forme en bloc K5i E Alors E5inonEM et permet de formuler de manire plus simple le choi" du groupe d%instructions.
56nta"e 3
5uivant Cas #aria$%e >aire Cas 8a%eur Actions 1 Cas 8a%eur *, 8a%eur3, 8a%eur ! Actions 2 Cas 8a%eur > 8a%eur K Actions 3 !! .. 5inon Cas Actions N >in 5uivant
E"ercice 3
2crire l%algorithme qui permet de dterminer le nombre de )ours d%un mois d%une anne donne
E.$este de l%Algorithme 5uivant Cas M >aire Cas * ?ction Cas - 3- >- K- H- 0 - * ?ction * Cas !- I- G?ction 3 5inon Cas 2crire '?ttention . Mois Incorrect '! >in 5uivant >7?
E"ercice 3 8n club de sport dsire automatiser sa gestion. 4es tarifs annuels d%inscription sont dfinis ainsi 3 9e 0 . ans ne sont pas autoriss s%inscrire 9e . O ans 3 gratuit 9e O 1+ ans3 1000 9H5 9e 1+ +O ans 3 1T00 9H5 #lus de +O ans 3 +000 9H5
#roblme 3 2crire un algorithme permettant d%afficher .00 fois le message 3 EE bon)our tout le mon#e$$! 5olution Classique 3 9EG8= 2crire 3B BonOour tout %e monde B7 2crire 3B BonOour tout %e monde B7 . . 2crire 3B BonOour tout %e monde B7 >7? 1 + .00
Pinitia%isationN
=ant que 1ondition >aire
?ction
, 7nitialisation ,
=ant que 3i P 3007 >aire 2crire 3B BonOour tout %e monde B7 i i-1 >in tant que >7?
=itre 3 Bouc%e 8aria$%e i - , . Sntier 9but i2 ,0 =ant (ue 3iPK7 faire i i/ , ,/i 2crire B , = B - ,7 >in =ant que >in
=itre 3 Bouc%e* 8aria$%e n . Sntier 9but n > =ant (ue 3nPN07 faire 2crire n! n n-* >in =ant que >in
5mantique 3 5i valeur =!/ >au" la boucle est nouveau e"cute. 5i <aleur =!/<rai, on passe l'instruction suivante. * ec Faire )us0u$, le test est +ait , P(;TE?/(?/! /l . aura un passa'e #ans la boucle! &e bloc #$instructions sera ex%cut% au moins une +ois! &a boucle n$est pas /FC(FD/T/(FFE&&E! (n ne connaGt pas , l$a ance le nombre #$it%rations!
E"emple
=itre 3 Bouc%e* 8aria$%e i - , . Sntier 9but i2 ,0 faire i i/ , ,/i 2crire B , = B - ,! 'usqu% 3i PK7 >in
Valeurs #e . H
E"emple
=itre 3 Bouc%e3 8aria$%e i - , . Sntier 9but i2 ,0 faire i i/ , ,/i 2crire B , = B - ,! 'usqu% 3i = K7 >in
;F C < + I + B + >> + F
E"ercice 3
5olution 3 Titre : alphabet lettre: Caractre * parcourir les lettres de l'alphabet* Dbut Variable Pour lettre B a B Faire crire(lettre) FinPour lettre = B z B
St
5i @ a%ors Raire A Uusqu = non3@7 Rin5i A @ant Tue non3@7 'aire A Rin @ant Tue
terme d%une suite numrique connaissant son premier terme et ses coefficients a et b et tels que3
8n / a , 8n-1 - b
1 n ?
+- 2crire un algorithme permettant de dfinir le rang ? et le terme correspondant de la suite tels que 8? R 1000
DEB"T 2crire B 5aisir la valeur de ?3 B7 4ire ?! 2crire B5aisir la valeur du premier terme et les coefs a et b3B7 4ire 5 , a, b ! #our i 1 ? faire 5 a , 5 - b >in #our 7crire ( B &a somme #e la s%rie est : B, ; ) F/F
DEB"T 2crire B5aisir la valeur du premier terme et les coefs a et b3B7 4ire 5 , a, b! ? 0 >aire 5 a , 5 - b ? ? - 1 'usqu% 5 R 1000 7crire (B &a somme #e la s%rie est : B, ;) 7crire (B &e ran' est : B, F ) F/F
E"ercice 3
=6pe =ableau
9finition 3 "n tableau permet #e repr%senter un ensemble #e aleurs a.ant #es propri%t%s communes et appartenant toutes au m1me t.pe! Ces ariables sont i#enti+i%es par un m1me nom mais un num%ro #e rep-re(in#ice) pour chacun! $emarque 3 "- Un ta$%eau peut ;tre dune ou p%usieurs dimensions. *"- La s,nta+e de %a dc%aration dun ta$%eau c)an(e se%on %a dimension de ce dernier
56nta"e de la dclaration 3 =ableau une dimension 3 =ab 0om-@a$%eauVnom$re de #a%eurs supportesW 3 =6pe
=ableau plusieurs dimensions 3 =ab 0om-@a$%eauVnom$re de #a%eurs supportes en dimension nom$re de #a%eurs supportes en dimension *-2 W 3 =6pe
Exemples : =ableau une dimension 3 - Un ta$%eau pour enre(istrer %es sa%aires de 30 emp%o,s . =ab 5a%airesV30W 3 $el 5a%airesV IW = !000.>0 =ableau plusieurs dimensions 3 - Une matrice dentiers de > %i(nes et K co%onnes . =ab Matrice-@estV>-K W 3 Entier
Matrice-@estV*-3W = 3
9finition 3 Ce sont #es sous2pro'rammes aux0uels on peut +aire r%+%rence , l$int%rieur #$un pro'ramme ! /ls sont con3us pour % iter les r%p%titions et pour #%couper #es pro'rammes )u'%s trop lon's ce 0ui +acilite la lisibilit% #u pro'ramme principal! $emarques 3 "- Les Ronctions et %es Procdures sont caractrises par des param&tres dentre et des param&tres de sortie. *"-La 'onction retourne une seu%e #a%eur tandis que La procdure peut retourner p%usieurs #a%eurs ou aucune.