Vous êtes sur la page 1sur 93

Algorithmique

Avant Propos

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 excuter.
Rappel sur le fonctionnement de lOrdinateur

Mmoire Processeur

Bus

Units ...
dentre-
Imprimante cran
sortie
Disque
La mmoire contient des instructions et des donnes
Problme

2*x + 3 = 0 10*x - 1= 0

0*x + 0 = 0 0*x + 3 = 0

?? a*x + b = 0 ??
Je veux informatiser ce problme et le rendre exploitable
travers mon ordinateur. Quest ce que je dois faire ?
Informatisation dun problme

nonc non prcis : Problme informel


Spcification
nonc prcis : Problme formel
Analyse
Algorithme
Programmation
Langage de programmation : Pascal,..
Compilation
Excutable du programme
Excution
Rsultat
Algorithme

Dfinition : Encyclopdie Universalis

Un 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

Dfinition :

Cest un pseudo-langage qui est conu pour


rsoudre les problmes et applications sans aucune
contrainte due aux langages de programmation et
aux spcificits de la machine. Ce pseudo-langage
sera ensuite traduit et cod dans le langage de
programmation dsir.
Langage Assembleur

Dfinition :

Le langage Assembleur est un langage qui utilise des


instructions sous forme symbolique (ADD, MOVE).
Lassembleur est li au microprocesseur, puisque
cest le seul langage que le microprocesseur comprend.
Langage de programmation

Dfinition :
On appelle langage de programmation tout ensemble
fini de mots rservs qui permettent de traduire les
instructions de lalgorithme afin de lexcuter par
lordinateur.
Exemple :

Turbo Pascal, Cobol, Fortran, C, Delphi, Visual Basic


(VB), C++, Java etc...
Programme source

Dfinition :

Le programme source est le premier rsultat de la


traduction dun algorithme en un langage volu :

Un nouvel ensemble dinstructions non excutables


directement par la machine
Compilateur

Dfinition :

On appelle compilateur tout programme spcial qui


permet davoir un programme excutable partir dun
programme source:

Le programme ainsi obtenu est appel


programme Objet
Structure gnrale dun algorithme

Titre du Problme
Dclaration des Constantes
Dclaration Dclaration des Variables
des Objets Dclaration des Tableaux
Dclaration des Procdures et Fonctions

Dbut
Manipulation Actions
FIN
Structure gnrale dun algorithme

Dmarche suivre pour rsoudre un problme donn:

Identifier les donnes du dpart (entres) et celle(s) quil


faut obtenir (sorties);
Structurer les donnes (variables ou constantes, type...);
Rflchir pour dterminer les action ncessaires
lobtention des rsultats ;
Prsenter les rsultats.
Dclaration des Objets
Objet

Dfinition :
Un objet est toute partie identifiable de linformation
au cours dun traitement.
Il est caractris par son nom, son type et sa valeur.
Lensemble des objets manipuls par un algorithme
est appel:
environnement de cet algorithme.
Remarque :
Les objets manipuls par un ordinateur sont :
Les Constantes et Les Variables
Les constantes

Dfinition :

Les Constantes dsignent des rfrences des


valeurs invariantes dans le programme

Syntaxe de la dclaration :

Constante Nom_Constante = Valeur

Exemple :
Constante Pi = 3.14
Les variables

Dfinition :
Ce sont des rfrences (adresses mmoires) o vont
tre stockes des valeurs variables. Les diffrentes valeurs
dune rfrence vont appartenir au type de donnes auquel
appartient la rfrence.
Remarques :
1- Le nom dune variable suite de caractres qui permet didentifier

la variable dune manire unique dans un algorithme.


2- Il existe diffrents types de variables.
Type Entier

Dfinition :
Cest lensemble des nombres entiers positifs ou ngatifs.

Syntaxe de la dclaration :

Variable variable1,variable2, : Entier

Exemple :
a et b sont, par exemple,
Variable a,b : Entier les coefficients de
lquation : ax + b = 0
Type Rel

Dfinition :

Cest lensemble des nombres rels, cest dire les


nombres dcimaux sans limitation.
Syntaxe de la dclaration :

Variable variable1,variable2, : Rel

Exemple :

Variable x,y : Rel


Type Chane de caractres

Dfinition :
Cest une suite de caractres, cest dire des
combinaisons de caractres (lettres, chiffres, symboles..).
Syntaxe de la dclaration :

Variable variable1,variable2, : Caractre

Exemple :

Variable Nom, Catgorie : Caractre


Type Boolen

Dfinition :

Il sagit des objets qui ne peuvent prendre que deux


valeurs vrai ou faux.
Syntaxe de la dclaration :

Variable variable1,variable2, : Boolen

Exemple :

Variable Dcision : Boolen


Autres objets dclarer

Objets : Type Tableau


Un tableau permet de reprsenter un ensemble de
valeurs ayant des proprits communes et appartenant toutes
au mme type. Ces variables sont identifies par un mme nom
mais un numro de repre(indice) pour chacun.
Autres objets dclarer

Les Fonctions et Les Procdures

Ce sont des sous-programmes auxquels on peut faire


rfrence lintrieur dun programme . Ils sont conus pour
viter les rptitions et pour dcouper des programmes jugs
trop longs; ce qui facilite la lisibilit du programme principal.
Manipulation des Objets
Instruction et Action

Dfinition :
On appelle instruction toute commande lmentaire que
lon doit appliquer sur des objets pour avoir des sorties bien
dfinies.
Dfinition :
Une action est un vnement qui change ltat dun objet
dun tat initial donn un tat final dsir. Une action a une
dure dexcution finie et un effet propre et bien dfini. Chaque
action porte sur des objets sur lesquels elle sexcute :

L'Action est une seule instruction ou un groupe dinstructions


La Structure de la partie manipulation

La partie manipulation doit commencer par le mot


DEBUT et se termine par le mot FIN :

DEBUT
Instruction 1
Instruction 2
. Action
.
Instruction n

FIN
Les instructions dun Algorithme

La partie manipulation utilise les diffrents objets


dclars dans la partie dclaration et leur applique des
oprations afin de retourner le(s) rsultat(s) attendu(s) par le
programmeur. Pour ce fait, il y a diffrentes actions, dites
instructions, savoir :

Instructions de dialogue Homme-Machine ;


Instructions daffectation ;
Instructions structure alternative ;
Instructions structure rptitive.
Etc
Instructions de dialogue Homme-Machine

Laffichage des informations:


Pour faire comprendre quil faut afficher des
informations lcran, on utilise linstruction crire qui obit
la syntaxe suivante :

crire (Variable ou Message )

Exemples : crire ( Saisissez la valeur de a )


crire ( Saisissez la valeur de b )
crire ( Saisissez les valeurs de a et b )
crire (Le rsultat trouv est :, r )
crire (r)
Instruction Homme-Machine

La Saisie des informations:

Pour indiquer dans un algorithme que telle donne


doit tre lue par le systme, on utilise linstruction lire qui
obit la syntaxe suivante :

Lire(Variable)

Exemple :
crire ( Saisissez la valeur de a )
Lire(a)
Instruction daffectation

Dfinition:
Cest le stockage dune valeur un endroit
spcifique(variable). Pour affecter une valeur une variable,
on crit :

Variable Valeur

Exemple :
Variable valeur 1 + valeur 2
Variable valeur 1 * valeur 2
Variable valeur + Variable1
Remarques sur les constantes et les
variables

Les variables sont des rfrences (adresses mmoires) o vont


tre stockes des valeurs qui peuvent changer au cours de
lexcution du programme. Les mmoires sont repres par des
numros (pour lordinateur) ou des noms (pour le
programmeur, qui a intrt choisir des noms significatifs).
Chaque fois quon procde une nouvelle affectation, lancien
contenu de la mmoire est perdu et un nouveau contenu est
plac dans la mmoire.
Les constantes correspondent des zones mmoires dont le
contenu ne peut pas varier.
octet n 52 A
01000001
Exercice

Quels rsultats produit lalgorithme suivant? Les


types de variables sont-ils corrects
Titre : Calcul
Dclaratio

Variable A: Entier
C,B : Rel
n

D : caractre
E : Boolen
Dbut
A 30
B A * 2
Manipulation

crire('B=' , B)
C (B + A)/4
B C / 5
D Amine
E (A > 40) Ou (C < B)
crire('les valeurs obtenues sont : A = ' , A ,
'B = ' ,B , ' C = ', C , ' D = ', D, ' E = ', E)
Fin
tats de la mmoire lors de
lexcution du programme

Instruction A B C D E
Aprs linstruction
A 30
30
Aprs linstruction
BA*2
30 60
Aprs linstruction
C (B + A)/4
30 60 22.5
Aprs linstruction
B C/5
30 4.5 22.5
Aprs linstruction
D Amine'
30 4.5 22.5 Amine
Aprs linstruction
E (A >40) Ou (C<B)
30 4.5 22.5 Amine Faux
Exercice

nonc:

crire lalgorithme permettant le calcul de la surface


dun cercle connaissant son rayon :
Surface = * Rayon2

Entre : Manipulation Sortie :


La valeur du rayon La Surface calcule
Solution

Titre : Surface dun cercle


Dclaration :
Constante Pi=3.14
Variable Rayon : Entier * Donne dentre*
Variable Surface : Rel * Donne de sortie*

Manipulation :
DEBUT
crire ( 'Saisir la valeur du rayon' )
Lire(Rayon)
Surface Rayon * Rayon * Pi
crire (' La Surface du cercle est : ', Surface)
FIN
Exercice

Exemple :
crire lalgorithme qui permet de dterminer le
salaire mensuel dun commercial sachant que ce
salaire comporte un montant fixe de 4000 DHS et
une commission qui reprsente 10% du chiffre
daffaire ralis par mois.
Ce quil faut faire

- Analyse du problme
Recenser les donnes dont on dispose, celles quon cherche
produire

Choisir les actions utiliser pour rsoudre le problme


- Prsentation de lalgorithme

* Dclarer toutes les donnes utilises (variables, constantes, types)

* Organiser les actions


Algorithme

Titre : Commission
Dclaration :
Constante M = 4000
Variable CA : Entier * Donne dentre*
Com : Rel * Donne intermdiaire*
Sal : Rel * Donne de sortie*
Manipulation :
DEBUT
crire ('Donner le CA mensuel en DHS')
Lire(CA)
Com CA * 10/100
Sal Com + M
crire ('Le salaire mensuel est de : ', Sal, ' en DHS ' )
FIN
Problme

crire un algorithme qui calcule la moyenne


gnrale dun tudiant sachant que celle-ci se calcule de la
manire suivante :
Moyenne = [ 3 * Note(Biologie) + 2* Note(Gologie) + Note(LCI)] / 6

Indication :

Entres: Algorithme Sortie:


NB,NG,NLCI MG
Instructions structure alternative (1)

Les conditions :

On appelle condition simple toute expression de la forme :

Variable 1 Oprateur Variable 2


Instructions structure alternative (2)
i) Les oprateurs Arithmtiques :

Oprateur Signification

+ Addition

- Soustraction

* Multiplication

/ Division

% ou mod Modulo : le reste de la division de 2


valeurs entires
div Division entire
Instructions structure alternative (3)

ii) Les oprateurs de Comparaison :


Pour exprimer les conditions, on utilise les oprateurs conditionnels suivants :

Oprateur Signification
= gal
< Infrieur
> Suprieur
<= Infrieur ou gal
>= Suprieur ou gal
<> diffrent
Instructions structure alternative (4)

iii) Les oprateurs logiques de relation :


On peut combiner des conditions laide des oprateurs
logiques :
Oprateur Signification
Et Et logique

Ou Ou logique

Non Ngation logique

Ou = Xor Ou exclusif
Instructions structure alternative (5)

Les "tables de vrit"

A B A et B A ou B Non A

VRAI VRAI VRAI VRAI FAUX

VRAI FAUX FAUX VRAI FAUX

FAUX VRAI FAUX VRAI VRAI

FAUX FAUX FAUX FAUX VRAI


Instructions structure alternative (6)

Exemple :

Expression Rsultat
(4 <7) ET (9>0) Vrai
(1 < 0) OU (1<>1) Faux
Non(13.4 < 15) Faux
Instructions structure alternative (7)

Priorits des oprateurs

Priorit de *, / div et % par rapport + et -


5 + 9 * 3 = 32 et non 42
5*9+3 = 48 et non 60
Pour les oprateurs de mme priorit, associativit
partir de la gauche
15 / 5 * 3 = 9 et non 1
5 2 + 4 = 7 et non 1
On peut utiliser des parenthses pour changer lordre
des oprations :
15 / (5 * 3) = 1
(5 + 9 ) * 3 = 42
Instructions structure alternative (8)

Oprateurs et variables:

Variables de type entier


*, / , % , div , + et -

Variables de type Rel


*, / , + et -

Variables de type caractre ou chane de caractres


+ , CONCAT , Suc, Pred

Variables de type Boolen


Les oprateurs logiques de relation : et, ou, non
Instructions structure alternative (9)

Linstruction Si :
Pour exprimer le fait que des instructions vont tre excutes
dans un cas alors que dautres instructions peuvent tre
excutes dans lautre cas, on utilise une structure alternative.
Syntaxe :
Si condition alors
Actions 1
[ Sinon
Actions 2] Option Facultative
Finsi
Instructions structure alternative (10)

Exemples : Titre : Test 2


Titre : Test 1 Variable x : entier
Variable x : entier Dbut
Dbut crire ('Saisir un entier x ')
crire ('Saisir un entier x ') Lire (x)
Lire (x) Si (x > 0) alors
Si (x > 0) alors crire (' x est un nombre positif ')
crire('x est un nombre positif ') Sinon
Finsi crire (' x est un nombre ngatif ou nul')
Fin Finsi
Fin
Instructions structure alternative (11)

Exemple :
Dans lexercice o on a calcul la moyenne gnrale, Afficher
Admis si un tudiant a une moyenne gnrale >=10 et Afficher Ajourn
dans le cas contraire (Moyenne gnrale < 10).

Solution :
.(Reste de lalgorithme)
Si (MG >= 10) alors
crire ('Admis')
Sinon
crire ('Ajourn')
Finsi
Instructions structure alternative (12)

Exercice :

crire lalgorithme qui permet de calculer le


maximum de deux entiers quelconques.
Instructions structure alternative (13)

Solution :

Titre : Maximum
Variable a ,b, max : entier
Dbut
crire ('Saisir deux entiers a et b ')
Lire(a, b)
Si (a > b) alors
max a
Sinon
max b
Finsi
crire ('le maximum de ' , a , ' et de ' , b, ' est : ' , max)
Fin
Instructions structure alternative (14)

Exercice :
crire lalgorithme qui permet de dterminer le
salaire mensuel dun commercial sachant que ce
salaire comporte un montant fixe de 4000 DHS et
une commission qui reprsente 5% du chiffre
daffaire ralis par mois si ce chiffre est < 30000
et de 10 % dans le cas contraire .
Algorithme

Suite de lalgorithme

Si (CA < 30000) alors


Com CA * 0.05
Sinon
Com CA * 0.1
Finsi
Sal Com + M
crire ('Le salaire mensuel est de : ', Sal , 'DHS')
FIN
Instructions structure alternative (15)

Exercice :
Compliquons un peu lnonc:
La commission est calcule de la manire suivante :
Commission = 15% du CA quand CA > 100000
Commission = 10% du CA quand 30000 < CA < = 100000
Dans le cas contraire pas de commission
crire lalgorithme qui permet de dterminer le salaire
mensuel.
Algorithme

Suite de lalgorithme
Si (CA > 100000) alors
Com CA * 0.15
Sinon
Si (CA > 30000) alors
Com CA * 0.1
Sinon
Com 0
Finsi
Finsi
Sal Com + M
crire ('Le salaire mensuel est de : ', Sal , 'DHS')
FIN
Instructions structure alternative (16)

Linstruction Suivant Cas :

Linstruction Suivant cas constitue une structure


alternative la forme en bloc [Si Alors Sinon] et
permet de formuler de manire plus simple le choix du
groupe dinstructions.
Instructions structure alternative (17)

Syntaxe : Suivant Cas variable Faire


Cas Valeur 1
Actions 1
Cas Valeur 2, Valeur3, Valeur 4
Actions 2
Cas Valeur 5 Valeur 7
Actions 3
..
..
Sinon Cas
Actions N
Fin Suivant
Instructions structure alternative (18)

Exercice :

crire lalgorithme qui permet de dterminer


le nombre de jours dun mois dune anne donne
Instructions structure alternative (19)

.Reste de lAlgorithme
Suivant Cas M Faire
Cas 2
Action 1
Cas 1, 3, 5, 7, 8, 10 , 12
Action 2
Cas 4, 6, 9, 11
Action 3
Sinon Cas
crire ( 'Attention : Mois Incorrect ')
Fin Suivant
FIN
Instructions structure alternative (20)

Exercice :

Un club de sport dsire automatiser sa gestion. Les


tarifs annuels dinscription sont dfinis ainsi :
De 0 3 ans ne sont pas autoriss sinscrire
De 3 6 ans : gratuit
De 6 12 ans: 1000 DHS
De 12 26 ans : 1500 DHS
Plus de 26 ans : 2000 DHS
Instructions structure alternative (21)

.Reste de lAlgorithme
Suivant Cas age Faire
Cas 1, 2
crire ('Vous ntes pas autoris vous inscrire ')
Cas 3..5
Tarif 0
Cas 6..11
Tarif 1000
Cas 12..25
Tarif 1500
Sinon Cas
Tarif 2000
Fin Suivant
crire (' le montant payer en DHS est : ' , Tarif )
FIN
Instructions structure rptitive (1)

Problme :
crire un algorithme permettant dafficher 300 fois le message :
bonjour tout le monde.

Solution Classique :

DEBUT
crire (' Bonjour tout le monde ') 1
crire (' Bonjour tout le monde ') 2
.
.
crire (' Bonjour tout le monde ') 300
FIN
Instructions structure rptitive (2)
Boucle Tant que Faire

Linstruction Tant que :


On utilise cette instruction pour excuter des actions
tant quune condition est ralise.

Syntaxe :

<initialisation>
Tant que Condition Faire

<bloc de traitement>
<bloc de contrle> Action

Fin tant que


Instructions structure rptitive (2)
Boucle Tant que Faire

Smantique : Si condition = T
Tant que Valeur(T)=Vrai le bloc d'instructions R sera

excut.
Si valeur(T)=Faux on passe l'instruction suivante.

Avec TANT QUE le test est fait PRIORI.

Il se peut que l'on ne rentre jamais dans la

boucle.
La boucle n'est pas INCONDITIONNELLE. On

ne connat pas lavance le nombre d'itrations.


Instructions structure rptitive (3)
Boucle Tant que Faire

Solution de lexercice prcdent :


Variable i : Entier
DEBUT
i 0 * Initialisation *
Tant que (i < 300) Faire
crire (' Bonjour tout le monde ')
i i+1
Fin tant que
FIN
Instructions structure rptitive (4)
Boucle Tant que Faire

Exercice : Afficher tous les multiples de 9 infrieurs 485


Titre : Multiples de 9
Variable M, i : Entier *i: variable intermdiaire: compteur*
DEBUT
i 0 * initialisation de la boucle*
M 0
Tant que (M < 485) Faire
crire (M , ' est un multiple de 9 ' )
i i+1 * incrmentation du compteur *
M i*9
Fin tant que
FIN
Instructions structure rptitive (5)
Boucle Tant que Faire

Exemple 1: Dans cet algorithme combien de fois la boucle est- elle excute ?
Titre : Boucle1
Variable i , y : Entier
Dbut
i
i = variable intermdiaire
y0 = compteur
Tant Que (i<7) faire i i+1 = incrmentation
du compteur
i i+1
y y+i
crire (' y = ' , y)
Fin Tant que
Fin
Instructions structure rptitive (6)
Boucle Tant que Faire

Exemple 2: Dans cet algorithme combien de fois la boucle est- elle excute ?

Titre : Boucle2
Variable n : Entier
Dbut
n 15
Tant Que (n<>0) faire
crire (n)
n n-2
Fin Tant que
Fin
Instructions structure rptitive (7)
Boucle Faire jusqu

Linstruction Faire jusqu :


On utilise cette instruction pour excuter des actions
jusqu' ce que une condition soit remplie.

Syntaxe :

<Initialisation>
Faire
<bloc de traitement>
<bloc de progression > Action

Jusqu Condition
Instructions structure rptitive (8)
Boucle Faire jusqu

Smantique :
Si valeur(T)= Faux la boucle est nouveau excute.
Si Valeur(T)=Vrai, on passe l'instruction suivante.

Avec Faire jusqu le test est fait POSTERIORI.


Il y aura un passage dans la boucle. Le bloc
dinstructions sera excut au moins une fois.
La boucle nest pas INCONDITIONNELLE. On ne
connat pas lavance le nombre ditrations.
Instructions structure rptitive (9)
Boucle Faire jusqu

Exemple
Titre : Boucle2
Variable i , y : Entier
Dbut
i
y0 Valeurs de y ?
faire
i i+1
y y+i
crire (' y = ' , y)
Jusqu (i <7)
Fin
Instructions structure rptitive (10)
Boucle Faire jusqu

Exemple
Titre : Boucle3
Variable i , y : Entier
Dbut
i
y0 Donner les valeurs de y
faire
i i+1
y y+i
crire (' y = ' , y)
Jusqu (i = 7)
Fin
Instructions structure rptitive (11)
Boucle Faire jusqu

Exercice :

crire un algorithme permettant de calculer, pour un


entier N> 0, la somme :
SN = 1 + 2 + 3 + + N
Instructions structure rptitive (12)
Boucle Faire jusqu

Solution :

Variable N,S, i : Entier


DEBUT
crire (' Saisir une valeur entire positive :')
Lire (N)
S 0 * initialisation de la boucle*
i 0
Faire
i i + 1
S S+ i
jusqu (i > =N)
crire (' La somme : S = ', S)
FIN
Instructions structure rptitive (13)
Boucle Faire jusqu

Exercice :

crire un algorithme permettant de calculer la somme :


Sn = 1 + 1/2 + 1/3 + + 1/n
Instructions structure rptitive (14)
Boucle Pour

Linstruction Pour :
La spcification de cette instruction cest quelle
limite le nombre de fois o doit se rpter le bloc Action

Syntaxe : La boucle est


<Initialisation> Inconditionnelle
On connat priori le
nombre d'itrations
Pour variable valeur1 valeur2 faire

<Bloc de traitement>
Action
Fin Pour
Instructions structure rptitive (15)
Boucle Pour

Exercice :

crire un algorithme permettant le calcul du factoriel


dun entier N > 0 donn : N !
Instructions structure rptitive (16)

Solution :

Titre : Factoriel
Variable N : Entier
i : Entier * i variable intermdiaire
F : Entier i = compteur *
DEBUT
crire (' Saisir une valeur entire N > 0: ')
Lire (N )
F 1 * initialisation de la boucle*
i0
Pour i 1 N Faire
F F*i
Fin Pour
crire (' Le factoriel de ', N , ' est : ' , F)
Instructions structure rptitive (17)
Boucle Pour

Exercice :

crire lalgorithme permettant de calculer la


moyenne des notes de N tudiants
Instructions structure rptitive (18)

Solution :

Titre : Moyenne
Variable N, i : Entier
note, S, Moy : Rel
DEBUT
crire (' Saisir le nombre dtudiants: ')
Lire (N)
S 0 * initialisation de la boucle*
i 0
Pour i 1 N faire
crire (' Saisir la note de lEtudiant ' , i , ' : ')
Lire (note)
S S + note
Fin Pour
Moy S/N
crire (' La moyenne est : ', Moy)
Instructions structure rptitive (19)
Boucle Pour

Exercice
crire un algorithme permettant dafficher les lettres de lalphabet.
Solution :
Titre : alphabet
Variable lettre: Caractre
* parcourir les lettres de
l'alphabet* Dbut
Pour lettre ' a ' lettre = ' z '
Faire
crire(lettre)
FinPour
Instructions structure rptitive (20)
Quelle rptition ou Boucle choisir ?

Si nombre d'itrations connu Alors


Boucle Pour
Sinon
Si itration excute au moins une fois
Alors
Boucle Faire jusqu
Sinon
Boucle Tant que faire
Instructions structure rptitive (21)
Boucles Tant que faire et Faire jusqu

Remarques: Soient T une condition et R laction. Alors il y a quivalence


entre les boucles Tant que faire et Faire jusqu. La syntaxe est la suivante:
Si T alors
Tant Que T faire Faire
R ~ R
Fin Tant Que Jusqu non(T)
FinSi
Et
R
Faire
Tant Que non(T) faire
R ~ R
jusqu T Fin Tant Que
Instructions structure rptitive (22)
Boucle Pour

Exercice :
1- crire un algorithme permettant de dterminer le N me
terme dune suite numrique connaissant son premier
terme et ses coefficients a et b et tels que:
Un = a * Un-1 + b 1 n N

2- crire un algorithme permettant de dfinir le


rang N et le terme correspondant de la suite tels que
UN > 1000
Instructions structure rptitive (23)
Solution :

1) Le nombre ditrations est connu : Boucle Pour

Variable N, i : Entier
Variable a, b, S : Rel
DEBUT
crire (' Saisir la valeur de N: ')
Lire (N)
crire ('Saisir la valeur du premier terme et les coefs a et b:')
Lire (S , a, b )
Pour i 1 N faire
S a*S + b
Fin Pour
crire ( ' La somme de la srie est : ', S )
FIN
Instructions structure rptitive (24)
Solution :

2) Le nombre ditrations inconnu : Boucle Faire jusqu

Variable N : Entier
Variable a, b, S : Rel
DEBUT
crire ('Saisir la valeur du premier terme et les coefs a et b:')
Lire (S , a, b)
N 0
Faire
S a*S + b
N N + 1
Jusqu S > 1000
crire (' La somme de la srie est : ', S)
crire (' Le rang est : ', N )
Instructions structure rptitive (25)
Boucle Pour

Exercice :

crire un algorithme permettant de calculer la somme :


Sn(x) = 1/x + 2/x2 + 3 /x3 + + n /xn
La premire partie du
cours est termine
Type Tableau

Dfinition :

Un tableau permet de reprsenter un ensemble de


valeurs ayant des proprits communes et appartenant toutes
au mme type. Ces variables sont identifies par un mme nom
mais un numro de repre(indice) pour chacun.

Remarque :

1- Un tableau peut tre dune ou plusieurs dimensions.


2- La syntaxe de la dclaration dun tableau change selon
la dimension de ce dernier
Dclaration dun Tableau (1)

Syntaxe de la dclaration :

Tableau une dimension :

Tab Nom-Tableau[nombre de valeurs supportes] : Type

Tableau plusieurs dimensions :

Tab Nom-Tableau[nombre de valeurs supportes en dimension1,


nombre de valeurs supportes en dimension 2,
, ] : Type
Dclaration dun Tableau (2)

Exemples :
Tableau une dimension :
- Un tableau pour enregistrer les salaires de 30 employs :
Tab Salaires[30] : Rel
Salaires[16] = 4000.50
Tableau plusieurs dimensions :
- Une matrice dentiers de 5 lignes et 7 colonnes :
Tab Matrice-Test[5,7 ] : Entier
Matrice-Test[2,3] = 13
Les Fonctions et Les Procdures

Dfinition :
Ce sont des sous-programmes auxquels on peut faire
rfrence lintrieur dun programme . Ils sont conus pour
viter les rptitions et pour dcouper des programmes jugs
trop longs ce qui facilite la lisibilit du programme principal.

Remarques :
1- Les Fonctions et les Procdures sont caractrises par des
paramtres dentre et des paramtres de sortie.
2-La fonction retourne une seule valeur tandis que La
procdure peut retourner plusieurs valeurs ou aucune.