Vous êtes sur la page 1sur 93

Module

Techniques de programmation structure


Squence 2
Comprendre lutilit de loptimisation dun
programme
Dtail de la squence :
Structure d'un algorithme et normes de reprsentation.
Rappel de l'algbre de Boole, valeurs de vrits et tables de
vrits des oprateurs logiques : ET, OU, PAS.
Rgles de dcomposition des traitements et stratgies dclatements.
Instructions de base d'un algorithme : lecture, criture, affectation.
Rgles du typage des donnes : Porte, champ des valeurs,
oprateurs, instructions alternatives et rptitives
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

Module
Techniques de programmation structure
I-

Structure d'un algorithme et normes de


reprsentation :
Structure dun algorithme :
Il sagit dindiquer les diffrents lments par lesquels un
algorithme peut tre constitu en respectant la structure
indique dans le diapo suivant :

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

Structure dun algorithme

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

Module
Techniques de programmation structure
I-

Structure d'un algorithme et normes de


reprsentation :
Structure dun algorithme :
Explication :
1. Lentte permet tout simplement didentifier un
algorithme.
2. Les dclarations forment une liste exhaustive des objets
qui sont utiliss et manipuls dans le cors de lalgorithme.
Cette liste est place au dbut de lalgorithme.
3. Le corps contient les tches (instructions, oprations, )
excuter.
4. Les commentaires permettent une interprtation aise de
lalgorithme.
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

Module
Techniques de programmation structure
I-

Structure d'un algorithme et normes de


reprsentation :
Les normes pour reprsenter un algorithme :
Lorsqu'un problme se pose et que vous voulez le rsoudre au
moyen d'un ordinateur, vous allez essayer de trouver une
mthode permettant de rsoudre ce problme.
En fait, il faut dcrire de faon prcise les diffrentes actions
raliser pour rsoudre ce problme. Ces diffrentes actions
crites en langage naturel et en dehors de tout langage de
programmation s'appelle un algorithme.

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

Module
Techniques de programmation structure
I-

Structure d'un algorithme et normes de


reprsentation :
Les normes pour reprsenter un algorithme :
Un algorithme indique donc les actions faire et l'ordre dans
lequel ces actions doivent se faire pour obtenir les rsultats
souhaits partir de donnes connues (au moins dans leur
nature, sinon par leur valeur).
On peut construire n'importe quel algorithme partir d'un petit
nombre de "briques" lmentaires associes suivant des rgles
strictes.

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

Module
Techniques de programmation structure
I-

Structure d'un algorithme et normes de


reprsentation :
Les normes pour reprsenter un algorithme :
Ces "briques" sont les structures de base des algorithmes et des
programmes construits partir d'eux.
Nous retiendrons les trois structures suivantes: La squence,
le choix et la rptition. Nous rappelons qu'un programme est
une suite d'instructions excutes les unes la suite des autres.
C'est cela que nous appelons la squence. C'est dire une suite
d'actions mises dans un certain ordre et qui doivent sexcuter
les unes la suite des autres et dans un ordre prcis.

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

Module
Techniques de programmation structure
I-

Structure d'un algorithme et normes de


reprsentation :
Les normes pour reprsenter un algorithme :
Avec les instructions conditionnelles et la slection, nous avons
vu une manire d'apporter des modifications la squence en y
incluant des actions qui ne seront excutes que suivant
certaines conditions. C'est ce qu'on appelle une structure de
choix.
Les structures de rptitions, qui sont au nombre de trois,
permettront quand elles de rpter certaines parties de
l'algorithme plusieurs fois. Ces structures seront vues par la
suite.
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
Dfinition de lalgbre Boole :
Boole est un mathmaticien britannique, n en 1815 et
mort en 1864. Lalgbre de Boole est une analyse
mathmatique permettant de comprendre le
fonctionnement des circuits logiques.

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
Dfinition dun circuit logique :
Cest un circuit lectronique permettant de raliser une ou
plusieurs fonctions logiques appeles aussi portes
logiques.

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

10

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
Dfinition dun circuit logique : (suite)
Les circuits lectroniques sont classs en deux grandes
catgories : les circuits digitaux (numriques) et les circuits
analogiques.
Dans un circuit analogique, les signaux lectriques ont une
amplitude variant continuellement.
Cette amplitude peut prendre un nombre trs lev de
valeurs entre le minimum et le maximum.
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

11

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
Dfinition dun circuit logique : (suite)
Un amplificateur basse frquence, par exemple, est un
circuit analogique. Il amplifie aussi bien les signaux faibles
que les signaux forts.
L'amplitude varie sans cesse, suivant le niveau de la voix
ou de la musique amplifier.
Un circuit digital est un circuit dans lequel les signaux ne
peuvent avoir que deux niveaux, soit le niveau 1, soit le
niveau 0.
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

12

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
Dfinition dun circuit logique : (suite)
Un interrupteur, par exemple, est un circuit digital. Les
circuits logiques utilisent la technique digitale.
Les circuits logiques ont besoin dune alimentation pour
fonctionner, cette alimentation ne sera pas reprsente
pour ne pas compliquer les schmas, mais elle existera
toujours !!!

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

13

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
Dfinition dun circuit logique : (suite)

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

14

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
La logique binaire :
En logique binaire, on a deux symboles possibles : 0 et 1.
En lectricit, on a deux possibilits : prsence ou absence
de courant ou de tension.
En associant les deux, on obtient deux choix possibles :
Une logique dite positive si lon associe le potentiel
lectrique le plus lev ltat 1, un tat qui
indique la
prsence du courant ou de la tension.
Ltat 0 correspondra au potentiel lectrique le plus bas,
indiquera labsence du courant ou de la tension.
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

15

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
La logique binaire : (suite)
Une logique dite ngative si l'on associe le
potentiel
lectrique le plus lev l'tat logique 0,
un tat qui
indique la prsence du courant ou de
la tension. Ltat 1
indiquera labsence du courant ou de la tension.
Dune faon gnrale, dans les schmas logiques, on
travaille en logique positive. Le niveau logique 0
correspond la tension 0V (zro volt) et le niveau logique 1
correspond une tension positive (5V ou 12V par
exemple).
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

16

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
Chronogramme :
On reprsente les tats logiques en fonction du temps :

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

17

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
Variable logique :
Une variable logique ou binaire, note X, est une grandeur
qui ne peut prendre que deux tats (0 ou 1):
X = 0 si X 1
X = 1 si X 0
Un interrupteur K ne peut prendre que deux tats, il est
ouvert, ou il est ferm. L'tat de cet interrupteur peut tre
dcrit par une variable logique X.
En gnral, on attribue la valeur 0 cette variable quand K
est ouvert, et la valeur 1 quand K est ferm.
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

18

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
Oprateurs logiques :
On dfinit cinq oprateurs logiques de base :
OUI,
NON,
OU Inclusif, (et son complment),
ET, (et son complment),
OU Exclusif, (et son complment).

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

19

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
Fonction logique :
Une fonction logique est un ensemble de variables (e1, e2,
e3, ) qui sont relies entre elles par des oprations.
Une telle fonction logique ne peut prendre que deux
valeurs (0 ou 1), elle pourra son tour tre considre
comme une variable vis--vis d'une autre fonction logique
(fonction de fonctions).
Exemple : Si S dpend de e1 et e2, S est une fonction des
variables e1 et e2. On peut crire : S=e1+e2
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

20

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
Table de vrit :
La fonction S peut-tre dfinie partir d'un tableau appel
TABLE DE VERITE, qui indique la valeur de S, selon les
valeurs de e1 et de e2. Chaque table de vrit dfinit une
fonction logique.
Une telle fonction quand elle possde la valeur 0 sa
sortie (S=0), on dit quelle est fausse. Quand elle
possde la valeur 1 sa sortie (S=1), on dit quelle
est vraie.
Daprs cette table de vrit, on remarque quune
telle fonction ne peut tre fausse que lorsque toutes
ses variables (en entre) sont toutes fausses.
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

21

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
1. La fonction OUI :
Elle effectue lgalit entre deux variables et sert
transmettre et amplifier linformation.
En lectricit, elle est reprsente par le schma
suivant :

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

22

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
1. La fonction OUI : (suite)
Au repos (a=0), la lampe est teinte (S=0).
Si on appuie sur a (a=1), la lampe s'allume (S=1). On peut
donc crire la relation ou lquation S=a.
Donc un contact travail reprsente la variable.
Table de vrit de la fonction OUI :

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

23

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
1. La fonction OUI : (suite)
En lectronique, cette fonction est reprsente par
le
schma suivant :

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

24

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
Les diffrentes fonctions logiques de base :

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

25

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
Les diffrentes fonctions logiques de base :

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

26

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
1. La fonction OUI : (suite)
Les chronogrammes pour la fonction OUI :

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

27

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
2. La fonction NON :
La fonction NON (ou ngation) effectue le complment
logique (ou l'inverse) d'une variable.
On le note en ajoutant une barre sur la variable ( x est le
complment de x et se lit x barre).
Cette dfinition conduit aux relations suivantes :
1 = 0; 0 = 1. On en dduit que le complment de A
est gale A barre ( A); et le complment de A
barre est gale A.
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

28

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
2. La fonction NON : (suite)
Donc, si A =0, alors A = 1. Et si A = 1, alors A = 0.
Il est possible de complmenter plusieurs fois une variable
ou un groupe de variables.
Exemple : A = A.

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

29

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
2. La fonction NON : (suite)
En lectricit, cette fonction peut tre reprsente par le
schma suivant :

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

30

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
2. La fonction NON : (suite)
Au repos (a=0), la lampe est allume (S=1) ; si on appuie
sur a (a=1), la lampe s'teint (S=0); On peut donc crire
S=a . Donc un contact repos reprsente le complment de
la variable.
Table de vrit :

Lquation est
reprsente par
: S = a.
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

31

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
2. La fonction NON : (suite)
En lectronique :

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

32

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
2. La fonction NON : (suite)
Chronogrammes :

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

33

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
3. La fonction ET (AND) :
Cette opration, aussi appele intersection, applique
deux variables, conduit au produit, ou fonction ET de ces
deux variables.
On la note par le signe . entre les deux variables x et y,
mais plus simplement xy ou x.y.
Le rsultat est gal 1 si les deux variables valent 1.

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

34

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
3. La fonction ET (AND) :
En lectricit :

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

35

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
3. La fonction ET (AND) : (suite)
Au repos, la lampe est teinte; la lampe s'allume seulement
si l'on appuie sur a et b.
On est donc en prsence d'une fonction ET.
Le ET en lectricit se ralise en mettant les contacts en
srie.

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

36

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
3. La fonction ET (AND) : (suite)
Table de vrit :
En gnralisant, pour que S soit 1, il faut
que toutes les variables d'entres soient
1.
Le ET logique est quivalent une
multiplication (lquation : S = a.b).
Cette fonction est vraie (S=1) lorsque
toutes ses variables (a et b) en entre sont
vraies (a=1 et b=1).
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

37

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
3. La fonction ET (AND) : (suite)
En lectricit :

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

38

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
3. La fonction ET (AND) : (suite)
Les proprits :
A.A = A
A.A = 0
1.A = A
0.A = 0

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

39

Module
Techniques de programmation structure
III-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
3. La fonction ET (AND) : (suite)
Chronogrammes :

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

40

Module
Techniques de programmation structure
II-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
La fonction OU (Inclusif) = OR :
Cette opration, aussi appele runion, applique deux
variables, conduit la somme, ou fonction OU de ces deux
variables.
On la note par le signe U entre les deux variables x U y, ce
qui vite de la confondre avec l'addition arithmtique, mais
en pratique, on la notera sous la forme x+y.
Le rsultat est gal 1 si l'une ou l'autre des variables ou
les deux valent 1.
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

41

Module
Techniques de programmation structure
II-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
La fonction OU (Inclusif) = OR :
En lectricit :

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

42

Module
Techniques de programmation structure
II-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
La fonction OU (Inclusif) = OR :
Au repos, la lampe est teinte; La lampe s'allume si l'on
appuie sur a ou sur b. On est donc en prsence d'une
fonction OU.
Le OU en lectricit se ralise en mettant les contacts en
parallle.

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

43

Module
Techniques de programmation structure
II-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
La fonction OU (Inclusif) = OR :
Table de vrit : (lquation : S = a + b)
En gnralisant, il suffit qu'une des
variables d'entres soit 1 pour que
la sortie soit 1.
Le OU logique est quivalent une
addition ;sauf la dernire ligne, car a
et b sont des tats et pas des valeurs
numriques.
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

44

Module
Techniques de programmation structure
II-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
La fonction OU (Inclusif) = OR :
En lectronique :

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

45

Module
Techniques de programmation structure
II-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
La fonction OU (Inclusif) = OR :
Les proprits :
A+A=A
A+A=1
1+A=1
0+A=A

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

46

Module
Techniques de programmation structure
II-

Rappel de l'algbre de Boole, valeurs de vrits


et tables de vrits des oprateurs logiques :
ET, OU, PAS :
La fonction OU (Inclusif) = OR :
Chronogrammes :

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

47

Module
Techniques de programmation structure
III-

Rgles de dcomposition des traitements et


stratgies dclatements :
La construction des algorithmes informatiques suit
une mthode appliquant un certain nombre de
rgles numres ci-dessous (voir le diapo
suivant), rgles qui forment les principes de la
Programmation Structure .

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

48

Module
Techniques de programmation structure
III-

Rgles de dcomposition des traitements et


stratgies dclatements :
La mthode Top-Down :
Nous avons vu prcdemment une rgle : pour
construire un algorithme, on emploie une
mthode Top-Down qui consiste reprsenter
notre
traitement
par
une
dcomposition
successive de blocs.
Nous ne reviendrons pas sur le principe de cette
rgle que nous appliquerons dans la suite de ce
support de cours lorsque nous construirons des
algorithmes informatiques complexes.
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

49

Module
Techniques de programmation structure
III-

Rgles de dcomposition des traitements et


stratgies dclatements :
Modularit :
Cette hirarchisation devra respecter un autre
principe La Modularit , cela signifie que la
dcomposition ne devra pas mlanger des
traitements de type diffrents.
Exemple :
Lalgorithme du calcul dun salaire et lalgorithme
de ldition (ou laffichage) de ce mme salaire
seront formuls dans des blocs diffrents.
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

50

Module
Techniques de programmation structure
III-

Rgles de dcomposition des traitements et


stratgies dclatements :
Description des Donnes :
Toutes les donnes manipules par lalgorithme
devront tre systmatiquement dcrites sous forme
dun
pseudo
code.
Chaque
donne
sera
caractrise par :
un nom mnmonique (variable)
un type (numrique, caractre .etc....)
une longueur (taille).

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

51

Module
Techniques de programmation structure
III-

Rgles de dcomposition des traitements et


stratgies dclatements :
Description des Donnes :
On distinguera :
les donnes en entre : il sagit des informations
traiter dans notre algorithme
les donnes en sortie : il sagit des rsultats que
notre algorithme doit produire
les donnes de travail : ce sont des variables
temporaires de stockage dinformations ncessaires
la ralisation de lalgorithme.
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

52

Module
Techniques de programmation structure
III-

Rgles de dcomposition des traitements et


stratgies dclatements :
Description des Donnes :
En fonction de lalgorithme trouv, le nombre de
donnes de travail qui seront dfinies peut tre
variable.
Il faut signaler, que la qualit dun algorithme ne se
mesure pas au nombre de donnes de stockage
utilises, mais la lisibilit de linformation
manipule.

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

53

Module
Techniques de programmation structure
III-

Rgles de dcomposition des traitements et


stratgies dclatements :
Structures de Contrle :
Tout algorithme pourra tre construit partir de
trois structures de contrle :
La squence
Lalternative
LItrative ou la Rptitive

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

54

Module
Techniques de programmation structure
III-

Rgles de dcomposition des traitements et


stratgies dclatements :
Reprsentation de lAlgorithme :
Une fois dfini, un algorithme sera dcrit soit en
utilisant :
Une reprsentation graphique Larbre
Programmatique = LOrganigramme
Ou une reprsentation textuelle Le Pseudo
Code = programme.
Il
faut
se
rappeler
que
lalgorithme
est
indpendant
du langage de programmation qui
sera utilis.
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

55

Module
Techniques de programmation structure
IV-

Instructions de base d'un algorithme : lecture,


criture, affectation :
Une opration de lecture consiste fournir
lordinateur une donne dont il aura besoin pour
traiter une information en vue de la restituer.
Linformation obtenue peut tre affiche sur
cran de lordinateur, stock sur un support
magntique (comme le cas dun disque dur),
sinon, elle peut tre imprime sur imprimante ou
diffuse via un canal de communication comme
celui de la messagerie lectronique.
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

56

Module
Techniques de programmation structure
IV-

Instructions de base d'un algorithme : lecture,


criture, affectation :
Dans un algorithme, cette opration de lecture
est dsigne par le mot lire et dans un
programme comme celui du langage C, elle est
dsigne par le mot cl scanf().
Dans les deux cas, une opration de lecture
ncessite la dclaration dune variable qui
consiste rserver de lespace mmoire pour
linformation ou la donne lire.

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

57

Module
Techniques de programmation structure
IV-

Instructions de base d'un algorithme : lecture,


criture, affectation :
Une opration daffectation consiste placer une
valeur dans une variable (A=20 par exemple).
Pour pouvoir raliser cette opration, la valeur
placer dans cette variable doit rpondre au type de
la variable utilise dans lopration de laffectation.
Autrement dit, la valeur placer dpend du type
de la variable dclare au dbut du programme.
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

58

Module
Techniques de programmation structure
IV-

Instructions de base d'un algorithme : lecture,


criture, affectation :
Gnralement, une opration daffectation ncessite
lutilisation du signe gale (=) pour placer une
valeur dans une variable.
Si la variable contient dj une valeur, celle-ci sera
crase par la nouvelle valeur placer.
A titre dexemple : A = 20, B = 30, A = B.
Daprs cet exemple, on voit bien que la valeur 20
sera crase et remplace par la valeur 30.
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

59

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
Une variable est un objet repr par son nom,
pouvant contenir des donnes, qui pourront tre
modifies lors de l'excution du programme.
Les variables en langage C sont types, c'est-dire que les donnes contenues dans celles-ci
possdent un type, ainsi elles sont donc stockes
dans la mmoire et occupent un nombre d'octets
dpendant du type de donne stocke.

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

60

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
En langage C, les noms de variables peuvent
tre aussi long que l'on dsire, toutefois le
compilateur ne tiendra compte que des 32
premiers caractres.
De plus, elles doivent rpondre certains critres
:

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

61

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
un nom de variable doit commencer par une lettre
(majuscule ou minuscule) ou un _ (pas par un
chiffre).
Un nom de variable peut comporter des lettres,
des chiffres et le caractre _ (les espaces ne
sont pas autoriss !)
Les noms de variables ne peuvent pas tre les
noms suivants (qui sont des noms rservs) :

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

62

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
auto, break, case, char, const, continue
default, do, double, else, enum, extern, float, for
goto, if, int, long, register, return
short, signed, sizeof, static, struct, switch
Typedef, union, unsigned, void, volatile, while.

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

63

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
Porte (visibilit) des variables :
Selon l'endroit o on dclare une variable, celle-ci
pourra tre accessible (visible) de partout dans le
programme ou bien que dans une portion confine
de celui-ci ( l'intrieur d'une fonction par
exemple), on parle de porte (ou visibilit) d'une
variable.

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

64

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
Porte (visibilit) des variables :
Lorsqu'une variable est dclare dans le
programme principal, c'est--dire l'extrieur de
toute fonction ou de tout bloc d'instruction, elle est
accessible de partout dans le programme principal,
(n'importe quelle fonction du programme peut
utiliser cette variable).
On parle alors de variable globale.

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

65

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
Porte (visibilit) des variables :
Lorsque l'on dclare une variable l'intrieur d'un
bloc d'instructions (entre des accolades), sa
porte se confine l'intrieur du bloc dans lequel
elle est dclare.
Une variable dclare au dbut du programme
principal, c'est--dire avant tout bloc de donne,
sera globale, on pourra alors l'utiliser partir de
n'importe quel bloc d'instruction.
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

66

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
Porte (visibilit) des variables :
Une variable dclare l'intrieur d'un bloc
d'instructions (dans une fonction par exemple),
aura une porte limite ce seul bloc
d'instruction, c'est--dire qu'elle est inutilisable
en dehors de ce bloc, on parle alors de variable
locale.

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

67

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
Champ des valeurs :
La dclaration dune variable se fait en faisant
suivre un type par une liste de noms de
variables.
Exemple :
int i; /* dclaration de la variable i de type int */
int i,j; /* dclaration de deux variables i et j de
type int */
Sachant que int veut integer (entier en franais) et
donc pas virgule dcimale.
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

68

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
Champ des valeurs :
Exemple : (suite)
short int k; /* dclaration de la variable k
float f; /*dclaration de la variable f (float=relle)
double d1,d2; /* dclaration de deux variables avec
une taille assez grande (double).
Il est possible de donner une valeur initiale aux
variables ainsi dclares. A tire dexemple :
int i = 54;
/* i initialise 54
int i = 34, j = 12;
/* Idem pour i et j
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

69

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
Champ des valeurs :
Le champ des valeurs des variables dpend du type
avec lequel est dclar.
Le diapo suivant prsente un tableau
rcapitulatif des diffrentes valeurs qui sont
autorises pour chaque type de variable :

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

70

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

71

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
Les oprateurs :
Les oprateurs sont des signes servant
calculer avec les variables. Les six oprateurs
les plus importants sont :

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

72

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
Description des oprateurs :
Oprateurs d'arithmtiques :
Les oprateurs arithmtiques sont (+, -, *, /, %).
Ils effectuent une opration avec les deux
variables.
Le rsultat est normalement utilis avec un autre
oprateur comme l'oprateur affectation (=) ou
les oprateurs d'accumulation.

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

73

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
Description des oprateurs :
Oprateurs d'accumulation :
Les oprateurs d'accumulation sont des oprateurs
qui ajoutent une valeur la variable.
Par exemple, ma variable var1 vaut 10. Je veux
lui ajouter 5. Je peux crire var1 = var1 + 5 ou
var1 += 5. Cette expression est trs souvent
utilise dans les boucles.
Le diapo suivant prsente un tableau des
diffrents oprateurs d'accumulation :
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

74

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
Description des oprateurs :
Oprateurs d'accumulation :

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

75

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
Instructions alternatives :
La syntaxe est la suivante :
if (condition) instruction_si_vrai else
instruction_si_faux
La condition est obligatoirement entre parenthses.
Le compilateur peut ainsi facilement dtecter le
dbut de la condition logique et la fin de la
condition logique.

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

76

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
Instructions alternatives :
Le mot clef alors" utilis en algorithmique ou dans
d'autres langages est inutile car l'instruction_si_vrai
est immdiatement aprs la parenthse fermante.
La partie sinon" est facultative.
Nous rappelons qu'une instruction peut tre un
bloc qui est assimil une unique instruction
activer.

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

77

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
Instructions alternatives :
La valeur de la condition utilise la convention
logique du langage C : 0 est faux, autre chose
que 0 est vrai.
On peut imbriquer plusieurs "if". Dans ce cas il est
conseill d'utiliser des indentations (marges
dcales) pour amliorer la lisibilit du code.

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

78

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
Instructions alternatives :
Exemple dapplication :
Ecrire un algorithme qui permet de calculer le
maximum de deux nombres entrs au clavier.
La rponse est dans le diapo suivant :

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

79

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des
valeurs, oprateurs, instructions
alternatives et
rptitives :
Instructions alternatives :
Algorithme de lexemple du diapo prcdent :
Dclarer les bibliothques
Dclarer les variables v1,v2,max : rel
Dbut
Lire v1,v2
si (v1>v2) alors
max = v1
sinon
max = v2
Afficher max
Fin
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

80

Module
Techniques de programmation structure
V- Rgles du typage des donnes : Porte,
champ des valeurs, oprateurs,
instructions alternatives et rptitives :

Instructions rptitives :
Ces instructions permettent de rpter un
ensemble d'instructions.
L'instruction TANT QUE :
Syntaxe :
TANT QUE (expression) // tant que expression est vraie
{
instructions; // excuter les instructions
}
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

81

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
Instructions rptitives :
Ces instructions permettent de rpter un ensemble
d'instructions avec une condition.
L'instruction TANT QUE : (suite)
expression est la partie qui est value. Tant
qu'elle a la valeur vraie, le contenu de la boucle
sera excut.

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

82

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
Instructions rptitives :
Ces instructions permettent de rpter un ensemble
d'instructions.
L'instruction TANT QUE : (suite)
Le droulement est le suivant :
L'expression est value. Si elle est vraie, les
instructions sont excutes et on recommence
l'valuation de expression. Si l'expression est
fausse le programme continue son excution aprs
la boucle while.
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

83

Module
Techniques de programmation structure

V- Rgles du typage des donnes :


Porte, champ des valeurs,
oprateurs, instructions
alternatives et rptitives :
Instructions rptitives :
Ces instructions permettent de rpter
un ensemble
d'instructions.
L'instruction TANT QUE : (suite)
Attention :
la boucle ne se termine que si
l'expression est fausse, donc vrifiez bien
que cette condition puisse se raliser sinon
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

84

Module
Techniques de programmation structure

V- Rgles du typage des donnes :


Porte, champ des valeurs,
oprateurs, instructions
alternatives et rptitives :
Instructions rptitives :
Ces instructions permettent de rpter
un ensemble
d'instructions.
L'instruction TANT QUE : (suite)
Attention :
les instructions dans la boucle ne sont
prises en
compte que si l'expression est
vraie, n'oubliez donc pas de bien initialiser
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

85

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
Instructions rptitives :
Ces instructions permettent de rpter un ensemble
d'instructions.
L'instruction TANT QUE : (suite)
Attention :
L'erreur la plus souvent rencontre est de faire un
test sur une valeur maximale d'une variable qui
s'incrmente dans la boucle mais d'oublier
d'effectuer cette incrmentation, dans ce cas la
limite n'est jamais atteinte, votre programme ne se
termine jamais.
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

86

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des
valeurs, oprateurs, instructions
alternatives et
rptitives :
Instructions rptitives :
Ces instructions permettent de rpter un ensemble
d'instructions.
L'instruction TANT QUE : (suite)
Exemple :
somme = 0
Tant que (rponse <> Oui )
{
Lire valeur
somme = somme + valeur
Afficher( Autre valeur (Oui / non) : ")
Lire rponse
}
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

87

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
Instructions rptitives :
Ces instructions permettent de rpter un ensemble
d'instructions.
L'instruction POUR :
Syntaxe :
POUR(expression1;expression2;expression3)
{
instructions;
}
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

88

Module
Techniques de programmation structure

V- Rgles du typage des donnes :


Porte, champ des valeurs,
oprateurs, instructions
alternatives et rptitives :
Instructions rptitives :
L'instruction POUR : (suite)
expression1 permet de donner la
valeur initiale
aux variables contenues
dans les expressions.
expression2 permet de dfinir la
condition d'arrt de la boucle
expression3 permet de modifier les
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

89

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
Instructions rptitives :
L'instruction POUR : (suite)
Cette boucle est utilise lorsque l'on connat
l'avance le nombre de fois que les instructions
doivent tre excutes. Vous devez l aussi faire
attention aux limites de votre boucle.
Exemple :
somme = 0
for(i=1; i<=10; i++)
{
lire valeur;
somme = somme + valeur;
}
Afficher somme;
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

90

Module
Techniques de programmation structure
V-

Rgles du typage des donnes : Porte, champ


des valeurs, oprateurs, instructions
alternatives et rptitives :
Instructions rptitives :
L'instruction FAIRE TANT QUE :
Syntaxe :
Faire
{
instruction;
}
Tant que(expression);

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

91

Module
Techniques de programmation structure

V- Rgles du typage des donnes :


Porte, champ des valeurs,
oprateurs, instructions
alternatives et rptitives :
Instructions rptitives :
L'instruction FAIRE TANT QUE :
Le fonctionnement est le mme que
pour le while
sauf que dans ce cas
instruction sera excute au moins une
fois, l'valuation de expression n'tant
effectue qu'aprs le premier passage
dans la boucle.
Mr Zaryouch - TSSR1 - Sq 2 du module
Techniques de programmation structure

92

Module
Techniques de programmation structure

Fin de citation pour cette


squence numro 2

Mr Zaryouch - TSSR1 - Sq 2 du module


Techniques de programmation structure

93

Vous aimerez peut-être aussi