Vous êtes sur la page 1sur 93

Algorithmique

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.

$appel sur le fonctionnement de l%&rdinateur


Mmoire Processeur

Bus

Units dentresortie

... Imprimante cran

Disque La mmoire contient des instructions et des donnes

#roblme

+," - . / 0 0," - 0 / 0

10," - 1/ 0 0," - . / 0

**

a," - b / 0

**

'e veu" informatiser ce problme et le rendre e"ploitable


travers mon ordinateur. (u%est ce que )e dois faire *

7nformatisation d%un problme

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

"n nou el ensemble #$instructions non ex%cutables #irectement par la machine

Compilateur

9finition 3 &n appelle compilateur tout programme spcial qui permet d%avoir un programme e"cutable partir d%un programme source3

&e pro'ramme ainsi obtenu est appel% pro'ramme (b)et

5tructure gnrale d%un algorithme

=itre du #roblme
9claration des Constantes

9claration des &b)ets

9claration des <ariables 9claration des =ableau" 9claration des #rocdures et >onctions

9but ;anipulation >7? *ctions

5tructure gnrale d%un algorithme

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.

D%claration #es (b)ets

&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

=6pe ChaFne de caractres

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

Autres ob)ets dclarer

&b)ets 3 =6pe =ableau


"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!

Autres ob)ets dclarer

4es >onctions et 4es #rocdures


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's4 ce 0ui +acilite la lisibilit% #u pro'ramme principal!

5anipulation #es (b)ets

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 5tructure de la partie manipulation

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?

4es instructions d%un Algorithme

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 @

7nstructions d%affectation @ 7nstructions structure alternative @ 7nstructions structure rptitive. Etc2

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

$emarques sur les constantes et les variables

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$

tats de la mmoire lors de lexcution du programme

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

4.5 22.5 Amine

4.5 22.5 Amine Faux

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

9 Donne dentre9 9 Donne de sortie9

;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!

Ce qu%il faut faire

- Anal6se du problme $ecenser les donnes dont on dispose, celles qu%on cherche produire

Choisir les actions utiliser pour rsoudre le problme


- #rsentation de l%algorithme , 9clarer toutes les donnes utilises variables, constantes, t6pes! , &rganiser les actions , #rsenter les rsultats

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

7ndication 3 Entres3 0B-0E-0L1I Algorithme 5ortie3 ME

7nstructions structure alternative 1!

4es conditions 3 (n appelle con#ition simple toute expression #e la +orme :

<ariable 1

&prateur <ariable +

7nstructions structure alternative +!


i! 4es oprateurs Arithmtiques 3 &prateur 5ignification Addition 5oustraction ;ultiplication 9ivision ;odulo 3 le reste de la division de + valeurs entires 9ivision entire

, N
P ou mod div

7nstructions structure alternative .!

ii! 4es oprateurs de Comparaison 3


Pour exprimer les con#itions, on utilise les op%rateurs con#itionnels sui ants :

&prateur

5ignification
2gal 7nfrieur 5uprieur 7nfrieur ou gal 5uprieur ou gal diffrent

/ Q R Q/ R/ QR

7nstructions structure alternative J!

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

Et logique &u logique ?gation logique &u e"clusif

7nstructions structure alternative T!


Les "tables de vrit"
A VRAI VRAI FAUX FAUX B VRAI FAUX VRAI FAUX A et B VRAI FAUX FAUX FAUX A ou B VRAI VRAI VRAI FAUX Non A FAUX FAUX VRAI VRAI

7nstructions structure alternative O!

E"emple 3

E"pression
J QU! E= VR0! 1 Q 0! &8 1QR1! ?on 1..J Q 1T!

$sultat Vrai Faux Faux

7nstructions structure alternative U!


Priorits des oprateurs

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 = !*

7nstructions structure alternative W!


Oprateurs et variables:

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

7nstructions structure alternative V!

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

7nstructions structure alternative 10!

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

7nstructions structure alternative 11!

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?

7nstructions structure alternative 1+!

E"ercice 3 2crire l%algorithme qui permet de calculer le ma"imum de deu" entiers quelconques.

7nstructions structure alternative 1.!


5olution 3
=itre . Ma+imum <ariable a -$- ma+ . entier 9but 2crire '5aisir deu+ entiers a et $ '! 4ire3a- $7 5i 3a N $7 alors ma" a 5inon ma" b >insi 2crire '%e ma+imum de ' - a - ' et de ' - $- ' est . ' - ma+7 >in

7nstructions structure alternative 1J!

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?

7nstructions structure alternative 1T!

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?

7nstructions structure alternative 1O!

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.

7nstructions structure alternative 1U!

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

7nstructions structure alternative 1W!

E"ercice 3

2crire l%algorithme qui permet de dterminer le nombre de )ours d%un mois d%une anne donne

7nstructions structure alternative 1V!

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?

7nstructions structure alternative +0!

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

7nstructions structure alternative +1!


E.$este de l%Algorithme 5uivant Cas a(e >aire Cas 1, * 2crire '8ous n;tes pas autoris = #ous inscrire '! Cas 3..> =arif 0 Cas I.. =arif 1000 Cas *..*> =arif 1T00 5inon Cas =arif +000 >in 5uivant 2crire ' %e montant = pa,er en DC5 est . ' - @ari' ! >7?

7nstructions structure rptitive 1!

#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

7nstructions structure rptitive +!


Goucle X =ant que >aire Y 4%instruction =ant que 3 (n utilise cette instruction pour ex%cuter #es actions tant 0u$une con#ition est r%alis%e! 56nta"e 3

Pinitia%isationN
=ant que 1ondition >aire

P$%oc de traitementN P$%oc de contrQ%eN


>in tant que

?ction

7nstructions structure rptitive +!


Goucle X =ant que >aire Y 5mantique . 5i condition = @ @ant que 8a%eur3@7=8rai %e $%oc dBinstructions A sera e+cut. 5i #a%eur3@7=Rau+ on passe = %Binstruction sui#ante. Avec =A?= (8E le test est fait #$7&$7. 7l se peut que l'on ne rentre )amais dans la boucle. 4a boucle n'est pas 7?C&?97=7&??E44E. &n ne connaFt pas l%avance le nombre d'itrations.

7nstructions structure rptitive .!


Goucle X =ant que >aire Y 5olution de l%e"ercice prcdent 3 <ariable i 3 Entier 9EG8= i

, 7nitialisation ,

=ant que 3i P 3007 >aire 2crire 3B BonOour tout %e monde B7 i i-1 >in tant que >7?

7nstructions structure rptitive J!


Goucle X =ant que >aire Y E"ercice 3 Afficher tous les multiples de V infrieurs JWT =itre 3 ;ultiples de V <ariable M- i 3 Entier ,i. #aria$%e intermdiaire. compteur9 9EG8= i 0 9 initia%isation de %a $ouc%e9 ; 0 =ant que 3M P !H>7 >aire 2crire 3M - B est un mu%tip%e de G ' ! i i-1 , incrmentation du compteur 9 ; i , V >in tant que >7?

7nstructions structure rptitive T!


Goucle X =ant que >aire Y
E"emple 13 9ans cet algorithme combien de fois la boucle est- elle e"cute *

=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

i = #aria$%e intermdiaire = compteur i i/ = incrmentation du compteur

7nstructions structure rptitive O!


Goucle X =ant que >aire Y
E"emple +3 9ans cet algorithme combien de fois la boucle est- elle e"cute *

=itre 3 Bouc%e* 8aria$%e n . Sntier 9but n > =ant (ue 3nPN07 faire 2crire n! n n-* >in =ant que >in

7nstructions structure rptitive U!


Goucle X >aire )usqu% Y 4%instruction >aire )usqu% 3 (n utilise cette instruction pour ex%cuter #es actions )us0u6, ce 0ue une con#ition soit remplie! 56nta"e 3 PInitia%isationN >aire P$%oc de traitementN P$%oc de pro(ression N 'usqu% 1ondition ?ction

7nstructions structure rptitive W!


Goucle X >aire )usqu% Y

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!

7nstructions structure rptitive V!


Goucle X >aire )usqu% Y

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

7nstructions structure rptitive 10!


Goucle X >aire )usqu% Y

E"emple
=itre 3 Bouc%e3 8aria$%e i - , . Sntier 9but i2 ,0 faire i i/ , ,/i 2crire B , = B - ,! 'usqu% 3i = K7 >in

Donner les aleurs #e .

7nstructions structure rptitive 11!


Goucle X >aire )usqu% Y E"ercice 3

2crire un algorithme permettant de calculer, pour un entier ?R 0, la somme 3

;F C < + I + B + >> + F

7nstructions structure rptitive 1+!


Goucle X >aire )usqu% Y 5olution 3 Variable F,;, i : Entier DEB"T 2crire ' 5aisir une valeur entire positive 3'! &ire (F) ; 9 J initialisation #e la boucleJ i 9 Faire i i + < ; ; + i )usqu% (i D CF) 2crire B 4a somme 3 5 / B, ;) F/F

7nstructions structure rptitive 1.!


Goucle X >aire )usqu% Y E"ercice 3

2crire un algorithme permettant de calculer la somme 3

;n C < + <KI + <KB + >> + <Kn

7nstructions structure rptitive 1J!


Goucle X #our Y 4%instruction #our 3 &a sp%ci+ication #e cette instruction c$est 0u$elle limite le nombre #e +ois oL #oit se r%p%ter le bloc *ction 56nta"e 3 PInitia%isationN #our #aria$%e #a%eur #a%eur* faire PB%oc de traitementN >in #our Action
4a boucle est 7nconditionnelle &n connaFt priori le nombre d'itrations

7nstructions structure rptitive 1T!


Goucle X #our Y

E"ercice 3

2crire un algorithme permettant le calcul du factoriel d%un entier ? R 0 donn 3 ? Z

7nstructions structure rptitive 1O!


5olution 3 Titre : Factoriel Variable F : Entier i : Entier J i ariable interm%#iaire F : Entier i C compteur J DEB"T 2crire B 5aisir une valeur entire ? R 03 B7 &ire (F ) F < J initialisation #e la boucleJ i9 Pour i < , F Faire F FJi Fin Pour 2crire B 4e factoriel de B, ? , B est 3 B , >! F/F

7nstructions structure rptitive 1U!


Goucle X #our Y E"ercice 3

2crire l%algorithme permettant de calculer la mo6enne des notes de ? tudiants

7nstructions structure rptitive 1W!


5olution 3 Titre : 5o.enne Variable F, i : Entier note, ;, 5o. : ?%el DEB"T 2crire B 5aisir le nombre d%tudiants3 B7 4ire ?! 5 0 J initialisation #e la boucleJ i 0 #our i 1 ? faire 2crire B 5aisir la note de l%Etudiant B , i , B 3 B7 4ire note! 5 5 - note >in #our ;o6 5N? 7crire (B &a mo.enne est : B, 5o.) F/F

7nstructions structure rptitive 1V!


Goucle X #our Y E"ercice
crire un a%(orit)me permettant da''ic)er %es %ettres de %a%p)a$et.

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

7nstructions structure rptitive +0!


(uelle rptition ou Goucle choisir * Si nombre d'itrations connu !oucle Pour Sinon Si itration excute au moins une fois lors !oucle Faire Sinon !oucle Tant #ue $aire "us#u lors

7nstructions structure rptitive +1!


Goucles X =ant que faire Y et X >aire )usqu% Y
$emarques3 5oient = une condition et $ l%action. Alors il 6 a quivalence entre les boucles =ant que faire et >aire )usqu%. 4a s6nta"e est la suivante3

@ant Tue @ 'aire A Rin @ant Tue Raire A Ousqu = @

St

5i @ a%ors Raire A Uusqu = non3@7 Rin5i A @ant Tue non3@7 'aire A Rin @ant Tue

7nstructions structure rptitive ++!


Goucle X #our Y E"ercice 3 <2 2crire un algorithme permettant de dterminer le ?me

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

7nstructions structure rptitive +.!


5olution 3 1! 4e nombre d%itrations est connu 3 Goucle #our Variable Variable F, i : Entier a, b, ; : ?%el

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

7nstructions structure rptitive +J!


5olution 3 +! 4e nombre d%itrations inconnu 3 Goucle >aire )usqu% Variable Variable F : Entier a, b, ; : ?%el

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

7nstructions structure rptitive +T!


Goucle X #our Y

E"ercice 3

2crire un algorithme permettant de calculer la somme 3

;n(x) C <Kx + IKxI + B KxB + >> + n Kxn

La pr emire par tie du cours es t te rmine

=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

9claration d%un =ableau 1!

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

9claration d%un =ableau +!

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

4es >onctions et 4es #rocdures

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.

Vous aimerez peut-être aussi