Académique Documents
Professionnel Documents
Culture Documents
BIZON
Processus 10
PLAN DU COURS
I)
NOTIONS DE BASE
A)
B)
C)
D)
II)
A)
B)
C)
III)
A)
B)
C)
IV)
PROCDURES ET FONCTIONS
V)
COMPLEMENTS DE COURS
A)
B)
C)
D)
P10
OPERATEURS LOGIQUES.
OPERATEUR UNION LOGIQUE (OU SOMME LOGIQUE) : OU
OPERATEUR INTERSECTION LOGIQUE (OU PRODUIT LOGIQUE) : ET.
OPERATEUR NEGATION : NON
Page n1
M.BIZON
Processus 10
ELEMENTS D'ALGORITHMIQUE
I)
Notions de base
FIN
A) Structure gnrale d'un algorithme
Programme nom_prog
Variables
Liste des variables
Constantes
Liste des constantes
Dbut
P10
Page n2
M.BIZON
Processus 10
Corps de l'algorithme
Fin
Remarque:
Un algorithme s'excute de faon squentielle: Les instructions s'excutent les unes aprs les autres dans
l'ordre o elles sont crites.
B) Les variables et les constantes
Une variable ou une constante sert mmoriser une valeur donne, durant un algorithme.
Une variable ou une constante,
porte un nom (le plus significatif possible). Exemple pour le prix hors taxe : Px_HT
est dfini par un type de donne appel aussi format de donne. Exemple Entier, Rel, Chane,
contient une valeur. Exemple : 117,95. Cette valeur peut lui tre affecte par le dveloppeur, l'utilisateur ou
aprs calcul par l'algorithme.
Remarque :
Le contenu de la variable pourra voluer au cours de l'algorithme alors que celui d'une constante est
dfini au dbut de l'algorithme et ne pourra pas tre modifi.
Les variables et les constantes correspondent des zones de stockage de la mmoire vive. Elles permettent de
conserver des valeurs en vue d un traitement.
Une variable peut tre mise jour par lutilisateur (par laction SAISIR) exemple : SAISIR Caff ou tre
modifie par une action exemple : Rist Caff*0,12 : la variable Rist est affecte par le calcul Caff * 0,12
Une constante, en revanche, est dfinie une fois pour toute lintrieur du programme (avant les
dclarations de variables) et ne peut pas tre modifie par lutilisateur. Une constante correspond un paramtre.
Exemple : mme exemple que ci dessus mais cette fois on dcide que le taux de remise de 12% constitue une
constante :
CONSTANTES
TxRist =0,12
VARIABLES
Caff : Rel simple
Rist : Rel simple
DEBUT
SAISIR( Saisissez le chiffre daffaires , Caff)
SI Caff >12000
ALORS RistCaff*TxRist
SINON Rist 0
FIN SI
AFFICHER La ristourne est de ; Rist
FIN
C) L'instruction d'affectation
Elle est formalise par le symbole "". Elle indique qu'une variable est affecte (reoit) une valeur.
FORMAT :
P10
Variable valeur
Page n3
M.BIZON
Processus 10
La valeur affecte peut tre :
Une variable de mme type
Une constante de mme type
Le rsultat d'une opration de mme type
A B (A et B Entiers)
Tx_TVA 19,6
Px_TTC Px_HT + Mt_TVA
FORMAT :
Saisir variable
Afficher "message"
Afficher variable
Afficher "message", variable
La saisie peut tre prcde dune phrase explicative :
Forme 1
AFFICHER Saisissez le chiffre daffaires
SAISIR Caff
Forme 2 (plus pratique car on gagne une ligne)
SAISIR( Saisissez le chiffre daffaires , Caff)
Exemple : Soit le programme suivant qui calcule le montant brut d'un achat d"un article pour une certaine
quantit.
Programme Montant brut
Variables
Prix, Quantit, Montant_Brut: Entier
Dbut
Afficher "Donnez le prix de l' article"
Saisir Prix
Afficher "Donner la quantit achet"
Saisir Quantit
Montant Brut Quantit * Prix
Afficher "Le montant brut est", Montant_Brut
Fin
P10
Page n4
M.BIZON
Processus 10
Exemple 2 :
CPCli02200
CPCli est de type entier
VilleCli SOISSONS
AdrCli CVCHAINE(CPCli) & & VilleCli
AFFICHER AdrCli
Ce bout de code affichera la valeur suivante : 02200 SOISSONS
II)
La structure alternative
Il est parfois ncessaire de pouvoir dclencher une squence d'actions sous certaines conditions.
A) La structure alternative
FORMAT :
SI ( CONDITION )
ALORS
ACTION1
SINON
ACTION2
FINSI
Selon le rsultat de l'valuation d'une condition, on dclenchera une action ou une autre ou une seule
des deux.
Une seule des deux actions sera excute :
Si la condition est vraie, Action1 sera excute.
Si la condition est fausse, Action2 sera excute.
Le programme continuera en reprenant aprs FinSi.
Exemple : Calcul du net commercial. Si le montant brut est suprieur 1 000 on accorde une remise
de 10%.
Programme : Net commercial
Variables
Prix, Quantit, Montant_Brut, Net_Cial: Entier
Dbut
Afficher "Donnez le prix de l' article"
Saisir Prix
Afficher "Donner la quantit achet"
Saisir Quantit
Montant Brut Quantit * Prix
Afficher "Le montant brut est", Montant_Brut
Si Montant_Brut >1000
Alors Net_Cial Montant_Brut * 0,9
Sinon Net_Cial Montant_Brut
Fsi
Afficher "Le net commercial est de :", Net_Cial, ""
Fin
P10
Page n5
M.BIZON
Processus 10
B)
Les blocs Action1 et Action2 peuvent eux aussi tre des instructions structures, ce qui permet
d'imbriquer les structures alternatives.
Exemple : Calcul du net commercial. Si le montant brut est infrieur 1 000 on n'accorde pas de
remise de 10%, si le montant brut est compris entre 1 000 et 2 000 la remise sera de 12% et de 14 % au-del.
Programme : Net commercial
Variables
Prix, Quantit, Montant_Brut, Net_Cial: Entier
Dbut
Afficher "Donnez le prix de l' article"
Saisir Prix
Afficher "Donner la quantit achet"
Saisir Quantit
Montant Brut Quantit * Prix
Afficher "Le montant brut est", Montant_Brut
Si Montant_Brut <=1000
Alors Net_Cial Montant_Brut
Sinon Si Montant_Brut <= 2000
Alors Net_Cial Montant_Brut * 0,88
Sinon Net_Cial Montant_Brut * 0,86
Fsi
Fsi
Afficher "Le net commercial est de :", Net_Cial, ""
Fin
C) La structure SELON CAS CASSINON .. FINSELON
Cette structure remplace avantageusement la structure SI ALORS.. SINON.FINSI pour les calculs de
ristournes conditionnelles
FORMAT :
SELON CAS EXPRESSION TESTEE
CAS CONDITION 1
Action (s) si CONDITION 1 VRAIE
CAS CONDITION 2
Action (s) si CONDITION 2 VRAIE
Etc.
SINON
Action si expression teste ne rentre dans aucun des cas prcdents.
FINSELON
Exemple : Les reprsentants d'une entreprise X ont une commission proportionnelle au Chiffre d'affaires qu'il
ralise durant un mois.
Le tableau des pourcentages de commission est prsent ci-dessous.
Chiffre d'affaires mensuel < 10 000 Commission 0%
Chiffre d'affaires mensuel 10 000 et < 25 000 Commission 3% du chiffre d'affaires
Chiffre d'affaires mensuel 25 000 et < 40 000 Commission 4%
"
Chiffre d'affaires mensuel 40 000 et < 55 000 Commission 5%
"
Chiffre d'affaires mensuel 55 000 et < 70 000 Commission 6%
"
Chiffre d'affaires mensuel 70 000 et < 90 000 Commission 7%
"
P10
Page n6
M.BIZON
Processus 10
Chiffre d'affaires mensuel 90 000
Commission 8%
"
III)
Si l'on dsire effectuer plusieurs fois une opration, il serait fastidieux de dupliquer plusieurs fois le
traitement. De plus, le nombre de rptitions peut tre connu ou inconnu. Ainsi, on souhaite parfois
recommencer une squence d'actions plusieurs fois.
A) La structure "REPETER...JUSQU'A" (Au moins une fois)
REPETER (ensemble d'actions) JUSQU'A (expression logique)
Dans ce cas, l'ensemble d'actions doit tre rpt jusqu' ce que l'expression logique prenne la valeur "VRAI" ; le
processus est alors abandonn.
NB ; Dans ce cas de figure les actions s'effectueront au moins une fois dans la mesure ou la condition intervient
aprs les actions
Exemple :
On souhaite imprimer un tat comprenant :
le nom des clients
le chiffre daffaires
le montant de la ristourne (calcule avec la fonction CalcRistourne,
(on ne se souciera pas de la mise en forme)
P10
Page n7
M.BIZON
Processus 10
Algo Impression_etat
VARIABLES
Caff : Rel
TxRist : rel
MontantRist : Rel
NomCli : chane(25) La variable NomCli contiendra au maximum 25 lettres
Encore : Entier
DEBUT
IMPRIMER ETAT DES RISTOURNES
IMPRIMER Nom Client | Caff | % Ristourne | Montant ristourne
REPETER
SAISIR ( Nom du client ? , NomCli)
SAISIR ( Chiffres daffaires ? , Caff)
MontantRistourneARRONDI(Caff*TxRist,2)
IMPRIMER NomCli, Caff, TxRist, MontantRistourne
SAISIR( Voulez-vous saisir dautres clients ? Oui : Tapez 1 Non : taper 2 , Encore)
JUSQU'A Encore :=2
La boucle sarrtera aussitt que lutilisateur aura saisi la valeur 2.
B) La structure Tant Que
FORMAT : TANT QUE ( CONDITION ) FAIRE
ACTION
FIN TANTQUE
Tant que la condition est vraie, le bloc d'instructions Action est excut. Au niveau de Fin tant que, le
traitement recommence si la condition est toujours vraie. Ds que la condition devient fausse, la premire
instruction qui suit est excute.
Exemple : On dsire saisir un certain nombre produits diffrents avec des prix et des quantits factures
diffrentes. On arrtera les saisies lorsque l'utilisateur rpondra "N" la question : "Autre produit (O/N) ?"
Programme : Net commercial
Variables
Prix, Quantit, Montant_Brut, Net_Cial: Entier
Dbut
Rponse = 'O'
Tant que Rponse <> 'N' Faire
Saisir Prix
Afficher "Quelle est la quantit ?."
Saisir Quantit
Saisir Rponse
Fin tant que
Afficher "On a fini"
Fin
Remarque : La variable contenue dans la condition doit absolument tre renseigne avant la boucle et doit
pouvoir tre modifie dans la boucle.
P10
Page n8
M.BIZON
Processus 10
Exemple : Reprise de lexemple prcdent mais en utilisant une boucle TANT QUE FIN TANT QUE
Algo Impression_etat
VARIABLES
Caff : Rel
TxRist : rel
MontantRist : Rel
NomCli : chane(25) La variable NomCli contiendra au maximum 25 lettres
Encore : Entier
DEBUT
IMPRIMER ETAT DES RISTOURNES
IMPRIMER Nom Client | Caff | % Ristourne | Montant ristourne
Encore 1 Initialisation de la variable Encore 1
TANT QUE Encore :=1
SAISIR ( Nom du client ? , NomCli)
SAISIR ( Chiffres daffaires ? , Caff)
MontantRistourneARRONDI(Caff*TxRist,2)
IMPRIMER NomCli, Caff, TxRist, MontantRistourne
SAISIR( Voulez-vous saisir dautres clients ? Oui : Tapez 1 Non : taper 2 , Encore)
FIN TANT QUE
Remarque : pour que la boucle soit excute au moins une fois, on force la valeur de la variable Encore 1.
On constate par ailleurs que les conditions sont inverses par rapport celle dfinie dans la structure REPETER
JUSQUA
C) La structure Pour Faire
Les boucles "Tant que" sont utilises pour rpter un traitement un nombre de fois indfini. Il est
cependant possible de rpter un traitement, un nombre de fois dtermin l'avance.
FORMAT :
POUR (INDICE) DE (VAL1) (VAL2) PAS (INCRMENT) FAIRE
ACTION
FINPOUR
Indice = variable de type entier
VAL1/VAL2 = variable ou constante de type entier
Incrment = valeur d'augmentation progressive de l'indice (1 par dfaut si il n'est pas prcis)
Avec un incrment de 1, l'action est rpte ( Val2 - Val1 + 1 ) fois
Exemple : Un tudiant dsire calculer sa moyenne dans une matire dans laquelle il possde 4 notes
Programme Boucle
Variables
Note: Rel
i:Entier
somme : Rel
Moyenne : Rel
Dbut
Somme 0
Pour i de 1 4 Faire
Afficher Note =
Saisir Note
P10
Page n9
M.BIZON
Processus 10
Fin
Remarque : Le pas peut tre ngatif et dans ce cas Val1 > Val2 (cas du compte rebours).
Exemple 1
On veut afficher la table de multiplication de 1
Algo table_multiplication_de_1
VARIABLES
I : entier
DEBUT
POUR I :=1 JUSQU'A 10
AFFICHER CVCHAINE(I) & X 1 = & CVCHAINE(I*1)
FIN POUR
FIN
Rsultat obtenu :
1X1=1
1X2=2
1 X 10 =10
A chaque boucle I augmente de 1
Exemple2 : Boucle imbrique
Cette fois ci on souhaite afficher plusieurs tables de multiplication. On demande lutilisateur de saisir la
premire table quil souhaite et la dernire
Algo table_multiplication2
VARIABLES
I : entier
J : entier
PremTable : entier
DerTable : entier
DEBUT
SAISIR( 1re table ? , PremTable)
SAISIR( Dernire table ? , DerTable)
POUR I :=PremTable JUSQU'A DerTable)
AFFICHER Table de multiplication de & CVCHAINE(I)
POUR J :=1 JUSQU'A 10
AFFICHER CVCHAINE(J) & X &CVCHAINE(I) & = & CVCHAINE(J*I)
FIN POUR
FIN POUR
FIN
Rsultat : lutilisateur a par exemple saisi les valeurs 3 et 5 :
Table de multiplication de 3
3 X 1= 3
3 X 2= 6
3 X 10 = 30
Table de multiplication de 4
4 X 1= 4
4 X 10 = 40
Table de multiplication de 5
5X1=5
5 X 10 = 50
IV)
Procdures et fonctions
Pour allger lcriture du programme, il est possible de rdiger des procdures qui sont appeles dans le
corps du programme et des fonctions personnalises charges deffectuer des calculs plus ou moins complexes
P10
Page n10
M.BIZON
Processus 10
-
Une procdure comme une fonction peut accepter des paramtres dentre. La valeur de ces paramtres est alors
utilise lintrieur de la procdure ou de la fonction.
Par ailleurs, le pseudo langage algorithmique comporte des fonctions dites gnriques quon peut utiliser en
ltat. Exemple : la fonction CVCHAINE(Argument)
Algorithme
DEBUT
Corps de lalgorithme
NomProcdure(variable) la procdure est appele et le contenu de variable est pass en
paramtres
P10
Page n11
M.BIZON
Processus 10
Le corps du programme est allg (3 lignes)
Les procdures et les fonctions personnalises pourront tre rutilises divers endroits du programme ce qui
permet dconomiser du temps
V)
COMPLEMENTS DE COURS
A) OPERATEURS LOGIQUES.
DEF : Les oprateurs logiques sont dfinis partir du calcul des propositions en suivant les rgles d'une algbre
particulire, algbre logique ou algbre de BOOLE.1
Dfinitions :
Proposition : une proposition est l'nonc d'une proprit telle que l'on peut toujours lui affecter la
valeur vrai ou la valeur faux.
Ex : le salaire de DUPONT est suprieur au salaire de DURAND est une proposition (P1).
Valeur logique d'une proposition : c'est un nombre qui est 0 si la proposition est fausse et 1 si elle est
vraie. On reprsente gnralement cette valeur logique l'aide d'une variable caractristique associe
cette proposition. Cette variable boolenne ou binaire a deux valeurs conventionnellement reprsentes
par 0 ou 1.
Ex : Si la proposition P1 est vraie la variable boolenne associe sera dans ce cas a=1.
Prdicat : c'est un nonc o manque la spcification d'un ou plusieurs objets et qui se transforme en
proposition quand les objets manquants sont spcifis. C'est une "forme" plus gnrale que la
proposition.
Ex : "x est pair" est un prdicat
" 8 est pair est une proposition.
Les oprateurs de base ou, et, non permettent partir de propositions ou des prdicats lmentaires, de
construire des propositions ou des prdicats complexes.
B) OPERATEUR UNION LOGIQUE (OU SOMME LOGIQUE) : OU
On appelle union logique de deux propositions P1 et p2 une proposition note P1 ou P2 qui est vraie si,
et seulement si, au moins une des deux propositions P1 ou P2 est vraie.
P2
Variable associe
a=1
a=1
a=0
a=0
P3 = P1 OU P2
Valeur
V
F
V
F
Valeur associe
a' = 1
a' = 0
a' = 1
a' = 0
Valeur
V
V
V
F
Variable associe
a + a' = 1
a + a' = 1
a + a' = 1
a + a' = 0
P10
M.BIZON
Processus 10
P1
Valeur
V
V
F
F
P2
Variable associe
a=1
a=1
a=0
a=0
Valeur
V
F
V
F
Valeur associe
a' = 1
a' = 0
a' = 1
a' = 0
P3 = P1 ET P2
Valeur
V
F
F
F
Variable associe
aa' = 1
aa' = 0
aa' = 0
aa' = 0
Valeur
V
F
P10
P1
Variable associe
a=1
a=0
Valeur
F
V
Page n13
NON P1
Variable associe
a' = 0
a' = 1
M.BIZON
Processus 10
ANNEXES
Annexe 1
Exemple : Soit le programme suivant qui calcule le montant brut d'un achat d"un article pour une certaine
quantit.
Programme Montant brut
Variables
Prix, Quantit, Montant_Brut: Entier
Dbut
Afficher "Donnez le prix de l' article"
Saisir Prix
Afficher "Donner la quantit achet"
Saisir Quantit
Montant Brut Quantit * Prix
Afficher "Le montant brut est", Montant_Brut
Fin
Annexe 2
Exemple : Les reprsentants d'une entreprise X ont une commission proportionnelle au Chiffre d'affaires qu'il
ralise durant un mois.
Le tableau des pourcentages de commission est prsent ci-dessous.
Chiffre d'affaires mensuel < 10 000 Commission 0%
Chiffre d'affaires mensuel 10 000 et < 25 000 Commission 3% du chiffre d'affaires
Chiffre d'affaires mensuel 25 000 et < 40 000 Commission 4%
"
Chiffre d'affaires mensuel 40 000 et < 55 000 Commission 5%
"
Chiffre d'affaires mensuel 55 000 et < 70 000 Commission 6%
"
Chiffre d'affaires mensuel 70 000 et < 90 000 Commission 7%
"
Chiffre d'affaires mensuel 90 000
Commission 8%
"
Annexe 3 :
La table suivante dfinit l'oprateur OU :
P1
Valeur
V
V
F
F
P10
P2
Variable associe
a=1
a=1
a=0
a=0
Valeur
V
F
V
F
P3 = P1 OU P2
Valeur associe
a' = 1
a' = 0
a' = 1
a' = 0
Page n14
Valeur
V
V
V
F
Variable associe
a + a' = 1
a + a' = 1
a + a' = 1
a + a' = 0
M.BIZON
Processus 10
Annexe 4
la table suivante dfinit l'oprateur ET.
P1
Valeur
V
V
F
F
P2
Variable associe
a=1
a=1
a=0
a=0
Valeur
V
F
V
F
P3 = P1 ET P2
Valeur associe
a' = 1
a' = 0
a' = 1
a' = 0
Valeur
V
F
F
F
Variable associe
aa' = 1
aa' = 0
aa' = 0
aa' = 0
Annexe 5
Ex : Le client a rgl sa facture = P1 est vrai, on peut lui associer une variable boolenne "a" dont
la valeur conventionnelle sera = 1 si le client a rgl sa facture et 0 dans le cas contraire.
Valeur
V
F
P10
P1
Variable associe
a=1
a=0
Valeur
F
V
Page n15
NON P1
Variable associe
a' = 0
a' = 1