Title: Analyse algorithmique des automatismes.
1Analyse algorithmique des automatismes.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
2Un algorithme est la description d'un
enchaînement d'actions élémentaires permettant
le déroulement dun fonctionnement automatique
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Cest un modèle de comportement qui pourra être
appliqué maintes fois dans des conditions
similaires ( mais pas forcément identiques )
Cest un outil danalyse séquentiel au même titre
que le grafcet
3Exemple Une recette de cuisine permettant de
réaliser une tarte aux pommes est un algorithme
(enchaînement de tâches successives), elle est
applicable avec de multiples variétés de farines
et de pommes.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Cet algorithme pourra être traduit dans
différentes langues, il permettra cependant
toujours d'obtenir le même résultat.
4Un ordinateur (ou automate) est une machine
réelle ayant des limites, même s'il est très
puissant (limitation de capacité, contraintes
pour la représentation des objets, vitesse
dexécution etc.) c'est à lui que sera destiné
le programme.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
La machine, est sans initiative elle ne fait que
ce qu'on lui dit de faire.
Le programme et l'algorithme sont les moyens de
communication avec la machine. Par leur
intermédiaire, l'utilisateur donne des ordres à
la machine et en reçoit des résultats.
51 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
La programmation structurée est une méthode qui
permet la conception progressive d'algorithmes
pour la programmation des ordinateurs et
automates. La résolution dun problème à laide
des techniques de traitement programmé de
linformation nécessite une approche structurée
en plusieurs étapes
61 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Programme On va confier lalgorithme à un
ordinateur. Il faut donc le traduire dans un
langage qui pourra être pris en compte par la
machine un langage de programmation qui suit
des règles de syntaxe très strictes.
7- Un algorithme doit être
- - fini et se terminer après un nombre fini
d'opérations. - défini et précis Chaque instruction doit être
définie sans ambiguïté. - il doit posséder au moins un résultat.
- il doit être effectif toutes les opérations
doivent pouvoir être effectuées exactement, et
dans un temps fini.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
L'algorithme, outil d'analyse, ne doit pas être
confondu avec le programme proprement dit.
8Un algorithme peut être - représenté
graphiquement par un organigramme, - écrit sous
forme littérale, avec un langage
algorithmique.(le pseudo langage)
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
9L'organigramme est une représentation graphique
normalisé ( NF Z 67-010 ) utilisée pour analyser
ou décoder un problème.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
L'organigramme, qui met en œuvre des symboles
représentant des traitements, des données, des
liaisons..., présente l'intérêt d'une
visualisation globale mais reste limité aux
études peu complexes.
10SYMBOLE DÉSIGNATION
SYMBOLES DE TRAITEMENT Symbole général traitement Opération ou groupe d'opérations sur des données, instructions, etc.., ou opération pour laquelle il n'existe aucun symbole normalisé.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Sous-programme Portion de programme considérée comme une simple opération.
11SYMBOLE DÉSIGNATION
Entrée - Sortie Mise à disposition d'une information à traiter ou enregistrement d'une information traitée.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Préparation Opération qui détermine partiellement ou complètement la voie à suivre dans un embranchement ou un sous programme. Symbole également utilisé pour préparer une décision ou mettre un aiguillage en position.
12SYMBOLE DÉSIGNATION
SYMBOLES LOGIQUES Embranchement Exploitation de conditions variables impliquant le choix d'une voie parmi plusieurs. Symbole couramment utilisé pour représenter une décision ou un aiguillage.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Mode synchrone mode parallèle Ce symbole est utilisé lorsque plusieurs instructions doivent être exécutées simultanément.
13SYMBOLE DÉSIGNATION
SYMBOLES AUXILIAIRES Renvoi Symbole utilisé deux fois pour assurer la continuité lorsqu'une partie de ligne de liaison n'est pas Représentée.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Début, fin, interruption Début, fin ou interruption d'un organigramme, point de contrôle, etc..
14SYMBOLE DÉSIGNATION
Commentaire Symbole utilisé pour donner des indications marginales.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Sens conventionnel des liaisons Le sens général des lignes doit être - de haut en bas - de gauche à droite. Lorsque le sens ainsi défini n'est pas respecté, des pointes de flèches, à cheval sur la ligne, indiquent le sens utilisé.
15Les étapes de l'analyse s'expriment en langage
naturel jusquà l'algorithme qui s'exprime dans
un langage plus restreint et plus précis que le
langage naturel et que nous appelleront le
pseudo-langage.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
161 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Le traitement des informations permet de
transformer des données en résultats lors de son
exécution. données -------gt exécution du
programme -----gt résultats Les données et les
résultats peuvent être de différents types.
176.1 Type bit ( Booléen )
Une variable booléenne a l'une des deux valeurs
vrai ou faux .
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Exemple proposition 1 4 lt 10 elle a la valeur
vrai proposition 2 12 lt 10 elle a la valeur
faux
On peut rencontrer une telle variable lorsqu'on
veut exprimer le test darrêt d'une itération ou
la condition dans une instruction
186.1 Type bit ( Booléen )
Les opérateurs affectés aux variables booléennes
sont ceux utilisés en logique ET OU XOR
NON NON ET NON OU ?
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
196.2 Type Entier
Les entiers peuvent être positifs ou négatifs, et
on peut leur appliquer les opérations
arithmétiques classiques addition, soustraction
et multiplication, notés , - et ainsi que les
deux opérations suivantes
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
- La division entière, notée div, telle que n div
p donne la partie entière du quotient de la
division de n par p - Le modulo, noté mod, tel que n mod p donne le
reste de la division entière de n par p.
206.2 Type Entier
Exemple 35 donnera 8 2
(-6) donnera -12 1 2 div 3 donnera 4 1 4
div 3 donnera 4 2 div 3 donnera 0 12 mod
3 donnera 0 14 mod 3 donnera 2
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
216.2 Type Entier
Les entiers peuvent être affectés par les
opérateurs de comparaison classiques lt gt
?
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
On appellera expression entière toute expression
formée à partir de variables entières, de nombres
entiers, d'opérateurs, et éventuellement de
parenthèses, selon les règles habituelles de
l'algèbre.
226.3 Type Réel
Les réels peuvent être positifs ou négatifs,
entiers ou non ( -3,67 ), et on peut leur
appliquer les opérations arithmétiques
classiques addition, soustraction, et
multiplication, notées , - , / et .
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Les réels, comme les entiers, peuvent être
affectés par les opérateurs de comparaison
classiques en plus des opérateurs arithmétiques
classiques.
236.4 Type Caractère
Le type caractère est lensemble des caractères
dimprimerie habituels. Une variable de type
caractère peut prendre toutes les valeurs de ce
type.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Une variable de type caractère se distingue par
son écriture elle est encadrée par deux
apostrophes.
Exemple O A n 3 !
246.4 Type Caractère
Un ordinateur ne pouvant manipuler que des
éléments binaires, il est nécessaire de codifier
les caractères, cest-à-dire de faire
correspondre à chacun d'eux une configuration
binaire.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Un des codes les plus utilisés est le code ASCII
où un caractère est représenté par 8 bits (0 ou
1), et peut donc être interprété comme un nombre
entier positif compris entre 0 et 255.
Exemple A est codifié 1000001, en décimal 65.
256.4 Type Caractère
Le code ASCII respecte l'ordre alphabétique
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Exemple 'A' lt 'B', 'a' lt 'b',
mais entraîne 'A' lt 'a'
Le code unicode est un code élargi aux
caractères accentués et aux pictogrammes
asiatiques
266.5 Type Chaîne de caractères
L'ordinateur peut communiquer une information à
l'utilisateur. Il peut soit afficher un message
sur l'écran, soit imprimer un message sur papier
ou envoyer une chaîne de caractère sur lIHM
(Magelis par exemple)
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Une chaîne de caractères est une suite quelconque
de caractères, entourée d'apostrophes.
27L'analyse descendante consiste à décomposer le
problème donné en sous problèmes, et à décomposer
ceux-ci eux-mêmes en sous problèmes, et ainsi de
suite jusquà descendre au niveau des primitives.
Au stade de la programmation, ces primitives
"étapes" seront appelées procédures ou fonctions.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Le travail de l'analyse est terminé lorsqu'on a
obtenu un algorithme ne contenant que - des
primitives. - des algorithmes déjà connus
(correspondant aux primitives internes)
remarques les primitives internes peuvent être
des fonctions telles que la conversion
BCD-binaire, les temporisations
288.1 Généralités
La première étape de l'analyse consiste à mettre
en évidence les données du problème, objets qui
seront supposés connus au départ, et les objets
que l'on espère obtenir comme résultats
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Il faut fournir la définition précise des objets
manipulés nom des variables, nature et
référentiel des valeurs (ensemble auquel les
valeurs appartiennent), rôle des variables
298.2 Exemples
Nature Type nom-symbole commentaire Sortie
Bit Pompe_1 Activation pompe 1 Entrée Bit
Atu BP arrêt d'urgence Mémoire Entier
Compteur_piece Nb de pièces traitées Mémoire
Chaîne Message_1 Message bonjour
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
308.3 Mémoire
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Les objets de type mémoire représentent les
variables internes de la machine. Ces objets
peuvent être de type bit, octet (8bit), mot (16
bit), mot double (32 bit) ou réel (32 bit). Les
objets autres que bit peuvent être déclarés en
variable ou constante .
318.3 Mémoire
Ces objets peuvent être de type mot (16 bit), mot
double (32 bit)
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
328.3 Mémoire
ou réel (32 bit).
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
338.4 Entrées
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Ces objets peuvent être de type bit ou mot. Ils
permettent la communication entre la machine de
traitement des données et lextérieur. Les
variables de type mot seront généralement
utilisées pour les entrées analogiques ou pour
des entrées particulières comme les compteurs
rapides.
348.5 Sorties
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Ces objets peuvent être de type bit ou mot. Ils
permettent la communication entre lextérieur et
la machine de traitement des données. Les
variables de type mot seront généralement
utilisées pour les sorties analogiques.
358.6 Constante
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Le caractère constant dun objet signifie que la
valeur de cette objet a été défini lors de la
programmation et que cette valeur ne peut être
modifiée durant lexécution du programme
36Attention aux espaces occupés par les objets
déclarés
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Si les compilateurs informatiques réservent les
espaces mémoires des données en fonction de leur
type, les logiciels de programmation des API
travaillent avec des objets prédéfinis.
37Pour les compilateurs informatiques on défini les
objets et leur type avant la compilation
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
381 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
39Pour les compilateurs des API les objets et leur
type sont prédéfinis
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
40Mais les objets se superposent dans lespace
mémoire ? DANGER
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Mots de 16 Bits
MW0
MW1
MW2
MW3
MW4
MW5
MW6
MW7
MW8
MW9
418.7 Tableau
Les tableaux représentent une succession dobjets
consécutifs dans la mémoire et peuvent être de
tous les types.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
La déclaration dun tableau se fera de la manière
suivante Type des objets du tableau Non du
tableau Taille du tableau
428.7 Tableau
Lintérêt des tableaux est de pouvoir par exemple
transférer en une seule expression toute une
successions de données relatives aux
fonctionnement du système.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Exemple entier Var_comm_atv 10
constante mémoire Tableau des commandes
du variateur
Exemple machine traitant différents types de
produits, il suffit de créer un tableau par
produit en y plaçant chacun des paramètres de
fonctionnement et de transférer ces paramètres au
début de lélaboration de chacun de ces produits
439.1 Affectation
Instruction clé ou ?
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
L'affectation est l'action élémentaire dont
l'effet est de donner une valeur à une variable,
cest à dire ranger une valeur à une place.
449.1 Affectation
X 4 X ? 4 qui signifie, en supposant que
les places sont des cases auxquelles on donne un
nom pour les identifier mettre la valeur 4 dans
la case identifiée par X. A lexécution de cette
instruction, la valeur 4 est rangée en X
(nom de la variable). La valeur correspond au
contenu, la variable au contenant.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Remarque Une variable ne peut contenir à un
instant donné quune seule valeur.
459.1 Affectation
Exemple Quelles sont les valeurs successives
prises par les variables X et Y comme effets des
instructions suivantes X 1 Y-4
XX3 XY-5 YX2 YY-6
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
réponses X 1 4 -9 -9 -9 Y -4 -4 -4 -7 -13
469.1 Affectation
Problème Soit 2 variables entières X et Y ayant
respectivement comme valeurs x et y quelles sont
les affectations qui donneront à X la valeur y et
à Y la valeur x ? (Notons les différences de
notation pour les variables et pour les valeurs)
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
479.1 Affectation
Problème Soit 2 variables entières X et Y ayant
respectivement comme valeurs x et y quelles sont
les affectations qui donneront à X la valeur y et
à Y la valeur x ? (Notons les différences de
notation pour les variables et pour les valeurs)
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
II faut mettre la valeur de X de coté dans Z pour
ne pas la perdre on utilise une variable
auxiliaire ZX XY YZ Z X
Xx,Yy,Zx X Y Xy,Yy,Zx Y Z
Xy,Yx,Zx
489.1 Affectation
Autre méthode S'il s'agit de nombres entiers,
nous pouvons nous passer d'une variable
auxiliaire, mais en utilisant les primitives
additionner et soustraire ! Déterminer les
valeurs prises par les variables après chaque
instruction avec X 2 et Y 4 X XY
Xxy X 6 Y X-Y Yxy-yx Y 2 X
X-Y Xxy-xy X 4
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
499.1 Affectation
Adressage direct ( ou immédiat ) Il sagit dans
ce cas de placer directement les valeurs dans une
variable nommée comme précédemment.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Adressage indirect ( ou indexé ) On utilise pour
ce type dadressage un indice (ou index) qui
permet de placer la valeur désirée dans une
variable. Ce type dadressage est surtout utilisé
pour les tableaux ou les chaînes de caractères.
Exemple Tableau5 8 équivaut à placer la
valeur 8 dans la cinquième case du tableau
509.1 Affectation
On peut utiliser un objet variable comme
indice. Exemple réel mémoire indice 3
TableauIndice 9 équivaut à placer la
valeur 9 dans la troisième case du
tableau. Il est possible de faire
varier la valeur de lindice par programme, pour
remplir un tableau de mesure, par exemple, en
incrémentant la variable indice toute les minutes
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
519.2 lire et écrire
Instruction clé lire écrire
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Pour pouvoir effectuer un calcul sur une
variable, la machine doit connaître la valeur de
cette variable. Si cette valeur n'a pas été
déterminée par des initialisations ou des calculs
précédents, il faut que l'utilisateur lui
fournisse c'est une donnée. II sagit alors
d'introduire une valeur à partir de "
lextérieur" de la machine et pour cela
l'algorithme doit contenir l'instruction qui
commande à la machine de lire la donnée.
529.2 lire et écrire
Soit un algorithme contenant l'instruction X A
4 la machine ne pourra exécuter cette
instruction, en supposant qu'alors la valeur de A
ne soit pas connue, que si l'algorithme contient
l'instruction lire (A), qui signifie mettre
dans la case A, la valeur présente sur l'organe
dentrée de la machine.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Au moment de lexécution, il faudra fournir à la
machine la valeur de A.
539.2 lire et écrire
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Si maintenant on veut connaître le résultat d'un
calcul, état que lon considère alors comme final
d'une variable, l'algorithme doit contenir
l'instruction qui commande à la machine de
fournir ce résultat. Cette instruction est
écrire. écrire (X), qui signifie mettre sur
lorgane de sortie de la machine le contenu de la
case X.
Cette action ne modifie pas le contenu de X.
54Dans cette partie nous aborderons lécriture des
algorithmes. Nous allons donc définir des
critères décritures qui seront à appliquer !!!.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
La suite des actions élémentaires utilisées dans
lalgorithme sappellera instruction. Après
avoir déclaré les variables ont écrira Début et
on terminera lalgorithme par le mot Fin
55Après chaque appel dune structure de contrôle il
faudra indenter les instructions suivantes et ce
jusquà la fin de la structure ou lappel dune
autre structure. Les instructions seront suivies
dun point virgule.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Des commentaires placés entre accolades devront
être utilisés pour clarifier certaines
instructions.
5610.1 Structure linéaire
La structure linéaire se caractérise par une
suite dactions à exécuter successivement dans
lordre de leur énoncé.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
? Langage algorithmique Début Action
1 Action 2 Action n Fin
57Exemple Mise en marche dun équipement, Avant
de procéder à la mise en service dun équipement,
il est nécessaire deffectuer un certain nombre
dopérations indispensables à son bon
fonctionnement. ?- Montée en température
Mise en route de laccélérateur de
chauffage AC, ?- Distribution dair comprimé
Ouverture de lélectrovanne dadmission
EV, ?- Mise en route de la lubrification
Pompe darrosage P sous tension.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
5810.1 Structure linéaire
Début algorithme Mise en service dun
équipement Variables Bool sortie AC
accélérateur de chauffage Bool sortie EV
électrovanne dadmission Bool sortie P pompe
darrosage Début AC vrai EV
vrai P vrai Fin
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
5910.2 Structure alternative
Une structure alternative n'offre que deux issues
possibles s'excluant mutuellement. Les
structures alternatives définissent une fonction
de choix ou de sélection entre l'exécution de
l'un ou l'autre de deux traitements. Également
désignées par structures conditionnelles elles
sont représentatives du saut ou de la rupture de
séquence
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
6010.2 Structure alternative
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
6110.2 Structure alternative
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
62Exemple dune structure alternative complète
Tri de sacs A la sortie de latelier de
conditionnement dune usine de fabrication
dengrais, un même convoyeur à bande transporte
indifféremment des sacs de 25 kg et des sacs de
50 kg. Un dispositif de tri automatique dirige
ces sacs vers deux zones distinctes de stockage
D1 et D2.
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
6310.2 Structure alternative
Début algorithme tri de sacs Variables Réel
entrée MS masse du sac Réel mémoire Ref
50 Bool sortie Aiguiller_D1 Début Si
Ms Ref. Alors Aiguiller_D1
vrai Sinon Aiguiller_D1 faux Fin
si Fin Fin algorithme
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
6410.2 Structure alternative
Cas dun distributeur à simple pilotage
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Définition des variables Bit Entrée
Marche Bit Entrée A0 Bit Entrée A1 Bit Sortie A
6510.2 Structure alternative
Cas dun distributeur à simple pilotage
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
début Si Marche et A0 alors A vrai Finsi Si
A1 alors A faux Finsi Fin
66 Cas dun distributeur à double pilotage
10.2 Structure alternative
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Définition des variables Bit Entrée
Marche Bit Entrée A0 Bit Entrée A1 Bit Sortie A
Bit Sortie A-
6710.2 Structure alternative
Cas dun distributeur à double pilotage
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
début Si Marche et A0 alors A- faux A
vrai Finsi Si A1 alors A faux A-
vrai Finsi Fin
6810.3 Structures itératives
La notion d'itération est une des notions
fondamentales de l'algorithmique, on l'utilise
souvent quand on doit faire plusieurs fois le
même traitement sur un même objet, ou sur
plusieurs objets de même nature. Mais son réel
intérêt réside dans le fait que l'on peut
modifier, à chaque répétition, les objets sur
lesquels s'exerce l'action répétée
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
6910.3 Structures itératives RépéterJusqu'à
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Dans cette structure, le traitement est exécuté
une première fois puis sa répétition se poursuit
jusquà ce que la condition soit vérifiée.
? NOTATION ALGORITHMIQUE répéter
action Jusquà condition
vraie Laction est toujours exécutée au moins une
fois
7010.3 Structures itératives Tant queFaire
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Dans cette structure, on commence par tester la
condition, si elle est vérifiée, alors le
traitement est exécuté.
? NOTATION ALGORITHMIQUE Tant que condition
vraie faire Action Fin tant
que Laction peut ne jamais être exécutée
7110.3 Structures itératives Pour indice de début
A fin par pas de n Faire Fin Pour
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Dans cette structure, la sortie de la boucle
ditération seffectue lorsque le nombre souhaité
de répétitions est atteint.
Doù lemploi dune variable ( ou indice) de
contrôle ditération caractérisée par, - sa
valeur initiale, - sa valeur finale, - son pas
de variation (pas de 1 en général)
7210.3 Structures itératives Pour indice de début
A fin par pas de n Faire Fin Pour
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Dans cette structure, la sortie de la boucle
ditération seffectue lorsque le nombre souhaité
de répétitions est atteint.
Si la valeur finale de lindice est inférieure à
sa valeur initiale, le pas de variation est
négatif, la structure est dite Pour
décroissante dans le cas contraire, le pas de
variation est positif et la structure est du type
Pour croissante
7310.3 Structures itératives Pour indice de début
A fin par pas de n Faire Fin Pour
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
7410.3 Structures itératives Pour indice de début
A fin par pas de n Faire Fin Pour
1 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
751 Définition des algorithmes 2 Algorithme et
programme 3 Du problème au programme 4
Organigramme 5 Le pseudo-langage 6 Objets
manipulés par l'algorithme 7 Analyse descendante
8 Déclaration des objets 9 Les actions
élémentaires 10 Les structures de contrôle 11
Unité de programme Notions de tache
Une tâche est une action plus ou moins complexe
qui s'exerce à un instant donné sur un ou
plusieurs objets. Une tâche est bien définie dès
lors que l'on est capable de l'énoncer sous la
forme d'une phrase comportant un verbe exprimant
l'action et des compléments indiquant la ou les
objets concernés par l'action.