Analyse algorithmique des automatismes. - PowerPoint PPT Presentation

1 / 75
About This Presentation
Title:

Analyse algorithmique des automatismes.

Description:

Si la valeur finale de l indice est inf rieure ... {Tableau des commandes du variateur} ... vitesse d ex cution etc.); c'est lui que sera ... – PowerPoint PPT presentation

Number of Views:159
Avg rating:3.0/5.0
Slides: 76
Provided by: zoz4
Category:

less

Transcript and Presenter's Notes

Title: Analyse algorithmique des automatismes.


1
Analyse 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
2
Un 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
3
Exemple 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.
4
Un 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.
5
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 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 
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
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.
8
Un 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
9
L'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.
10
SYMBOLE 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.
11
SYMBOLE 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.
12
SYMBOLE 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.
13
SYMBOLE 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..
14
SYMBOLE 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é.
15
Les é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
16
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 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.
17
6.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
18
6.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
19
6.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.

20
6.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
21
6.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.
22
6.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.
23
6.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  !
24
6.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.
25
6.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
26
6.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.
27
L'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
28
8.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
29
8.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
30
8.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 .

31
8.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
32
8.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
33
8.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.
34
8.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.
35
8.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
36
Attention 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.
37
Pour 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
38
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
39
Pour 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
40
Mais 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
41
8.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
42
8.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
43
9.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.
44
9.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.
45
9.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
46
9.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
47
9.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
48
9.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
49
9.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
50
9.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
51
9.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.
52
9.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.
53
9.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.
54
Dans 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
55
Aprè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.
56
10.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
57
Exemple 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
58
10.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
59
10.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
60
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
61
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
62
Exemple 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
63
10.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
64
10.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
65
10.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-
67
10.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
68
10.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
69
10.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
70
10.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
71
10.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)
72
10.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 
73
10.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
74
10.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
75
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 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.
Write a Comment
User Comments (0)
About PowerShow.com