La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Analyse algorithmique des automatismes.

Présentations similaires


Présentation au sujet: "Analyse algorithmique des automatismes."— Transcription de la présentation:

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 Analyse algorithmique des automatismes.

2 ( mais pas forcément identiques )
Un algorithme est la description d'un enchaînement d'actions élémentaires permettant le déroulement d’un 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 C’est un modèle de comportement qui pourra être appliqué maintes fois dans des conditions similaires ( mais pas forcément identiques ) C’est un outil d’analyse 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 d’exé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 d’un problème à l’aide des techniques de traitement programmé de l’information nécessite une approche structurée en plusieurs étapes :

6 Enoncé informel du problème
Analyse (analystes) Enoncé formel : Consiste à poser le problème, à le mettre en « équation ». On définit tous les éléments du problème : les données, les résultats, les opérations à effectuer. En revanche, on ne se préoccupe pas de l’ordre dans lequel ces tâches seront exécuté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 Algorithme : On détermine une méthode de résolution du problème qui consiste à fixer l’ordre dans lequel doivent être effectuées les opérations. Programmation (programmeurs) Programme : On va confier l’algorithme à 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 :
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 algorithme peut être : - représenté graphiquement par un organigramme, - écrit sous forme littérale, avec un langage algorithmique.(le pseudo langage)

9 L'organigramme est une représentation graphique normalisé ( NF Z ) 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 données -------> exécution du programme -----> 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 Le traitement des informations permet de transformer des données en résultats lors de son exécution. données > exécution du programme -----> résultats Les données et les résultats peuvent être de différents types.

17 Une variable booléenne a l'une des deux valeurs: vrai ou faux .
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 < 10 elle a la valeur vrai proposition 2: 12 < 10 elle a la valeur faux On peut rencontrer une telle variable lorsqu'on veut exprimer le test d’arrê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 : 3+5 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 : < > ≤ ≥ = ≠ 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 l’ensemble des caractères d’imprimerie 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 Exemple: A est codifié 1000001, en décimal: 65.
6.4 Type Caractère Un ordinateur ne pouvant manipuler que des éléments binaires, il est nécessaire de codifier les caractères, c’est-à-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é , en décimal: 65.

25 Le code ASCII respecte l'ordre alphabétique
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' < 'B', 'a' < 'b', mais entraîne: 'A' < '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 l’IHM (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 - des algorithmes déjà connus (correspondant aux primitives internes)
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 Ces objets peuvent être de type mot (16 bit), mot double (32 bit)
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 l’exté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 l’exté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 d’un 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 l’exé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.17 10-38 à 3.4 1038 6 chiffres significatifs
TYPE TAILLE ( en octets ) FORMAT char 1 -128 à +127 unsigned char 0 à 255 short 2 à 32767 int 2 (mot machine 16 bit) 4 (mot machine 32 bit) à unsigned short 0 à 65535 unsigned int 0 à long 4 unsigned long float à chiffres significatifs double 8 à chiffres significatifs long double 10 à chiffres significatifs 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 l’espace 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 MF8 MW7 MD5 MF3 MD1 MW0 Mots de 32 Bits MF8 MF6 MD4 MD2 MD0 Mots de 32 Bits Mots de 16 Bits MW0 MW1 MW2 MW3 MW4 MW5 MW6 MW7 MW8 MW9

41 La déclaration d’un tableau se fera de la manière suivante :
Les tableaux représentent une succession d’objets 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 d’un tableau se fera de la manière suivante : Type des objets du tableau Non du tableau [Taille du tableau]

42 8.7 Tableau L’inté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 Instruction clé : := ou 
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, c’est à dire ranger une valeur à une place.

44 La valeur correspond au contenu, la variable au contenant.
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 l’exé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é qu’une seule valeur.

45 X:= 1; Y:=-4; X:=X+3; X:=Y-5; Y:=X+2; Y:=Y-6
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; X:=X+3; X:=Y-5; Y:=X+2; Y:=Y-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 Y

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: Z:=X; X:=Y; Y:=Z; Z := X { X=x,Y=y,Z=x } X := Y { X=y,Y=y,Z=x } Y := Z { X=y,Y=x,Z=x }

48 9.1 Affectation 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 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 := X+Y { X=x+y } X = 6 Y := X-Y { Y=x+y-y=x } Y = 2 X := X-Y { X=x+y-x=y } X = 4

49 Adressage direct ( ou immédiat )
9.1 Affectation Adressage direct ( ou immédiat ) Il s’agit 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 d’adressage un indice (ou index) qui permet de placer la valeur désirée dans une variable. Ce type d’adressage est surtout utilisé pour les tableaux ou les chaînes de caractères. Exemple : Tableau[5] := 8 ; équivaut à placer la valeur 8 dans la cinquième ‘case’ du tableau

50 On peut utiliser un objet variable comme indice.
9.1 Affectation On peut utiliser un objet variable comme indice. Exemple : réel mémoire indice := 3 ; Tableau[Indice] := 9 ; équivaut à placer la valeur dans la troisième ‘case’ du tableau.  Il est possible de faire varier la valeur de l’indice 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 Instruction clé : “lire“ “écrire“
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 s’agit alors d'introduire une valeur à partir de " l’exté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 d’entré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 l’exécution, il faudra fournir à la machine la valeur de A.

53 Cette action ne modifie pas le contenu de X.
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 l’on 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 l’organe 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
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 l’algorithme s’appellera instruction. Après avoir déclaré les variables ont écrira Début et on terminera l’algorithme par le mot Fin

55 Les instructions seront suivies d’un 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 Après chaque appel d’une structure de contrôle il faudra indenter les instructions suivantes et ce jusqu’à la fin de la structure ou l’appel d’une autre structure. Les instructions seront suivies d’un point virgule. 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 d’actions à exécuter successivement dans l’ordre 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 d’un équipement,
Avant de procéder à la mise en service d’un équipement, il est nécessaire d’effectuer un certain nombre d’opérations indispensables à son bon fonctionnement. - Montée en température : Mise en route de l’accélérateur de chauffage AC, - Distribution d’air comprimé : Ouverture de l’électrovanne d’admission EV, - Mise en route de la lubrification : Pompe d’arrosage 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 d’un équipement Variables : Bool sortie AC ; {accélérateur de chauffage}  Bool sortie EV ; {électrovanne d’admission} Bool sortie P ; {pompe d’arrosage } 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
STRUCTURE ALTERNATIVE COMPLETE SI ... ALORS...SINON...FIN SI STRUCTURE ALTERNATIVE REDUITE SI ... ALORS... FIN SI  Dans cette structure, l’exécution d’un des deux traitements distincts ne dépend que du résultat d’un test effectué sur la condition qui peut être une grandeur variable ou un événement. - si la condition est vérifiée, seul le premier traitement est exécuté, - si la condition n’est pas vérifiée, seul le second traitement est exécuté. Dans cette structure seule la situation correspondant à la validation de la condition entraîne l’exécution du traitement, la situation opposée (ou complémentaire ) conduit systématiquement à la sortie de la structure 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
STRUCTURE ALTERNATIVE COMPLETE SI ... ALORS...SINON...FIN SI STRUCTURE ALTERNATIVE REDUITE SI ... ALORS... FIN SI Si condition alors action 1 sinon action 2 Fin si  Action Fin si 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 d’une structure alternative complète : Tri de sacs
Tri de sacs A la sortie de l’atelier de conditionnement d’une usine de fabrication d’engrais, 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 Cas d’un distributeur à simple pilotage
10.2 Structure alternative Cas d’un 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 Cas d’un distributeur à simple pilotage
10.2 Structure alternative Cas d’un 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; Fin

66 Cas d’un distributeur à double pilotage
10.2 Structure alternative Cas d’un 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éfinition des variables Bit Entrée Marche Bit Entrée A0 Bit Entrée A1 Bit Sortie A+ Bit Sortie A-

67 Cas d’un distributeur à double pilotage
10.2 Structure alternative Cas d’un 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; 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éter…Jusqu'à
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 L’action est toujours exécutée au moins une fois

70 10.3 Structures itératives Tant que…Faire
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 L’action 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 d’itération s’effectue lorsque le nombre souhaité de répétitions est atteint. D’où l’emploi d’une variable ( ou indice) de contrôle d’ité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 d’itération s’effectue lorsque le nombre souhaité de répétitions est atteint. Si la valeur finale de l’indice 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 STRUCTURE « Pour croissante »
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 STRUCTURE « Pour croissante »  NOTATION ALGORITHMIQUE POUR indice := valeur initiale À valeur finale par pas de 1 FAIRE action FIN POUR V = V + 1 représente l’écriture d’une incrémentation

74 STRUCTURE « Pour décroissante »
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 STRUCTURE « Pour décroissante »   NOTATION ALGORITHMIQUE POUR indice := valeur initiale À valeur finale par pas de -1 FAIRE action FIN POUR V = V – 1 représente l’écriture d’une décrémentation

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.


Télécharger ppt "Analyse algorithmique des automatismes."

Présentations similaires


Annonces Google