Du langage humain au langage machine 1 Introduction

  • Slides: 11
Download presentation
Du langage humain au langage machine 1. Introduction 2. Définitions 3. Exemple pratique a)

Du langage humain au langage machine 1. Introduction 2. Définitions 3. Exemple pratique a) Algorithme b) Correspondance entre les entrées/sorties et les capteurs/actionneurs c) Algorigramme

Introduction Un système électronique comme un ordinateur utilise un langage très particulier, composé uniquement

Introduction Un système électronique comme un ordinateur utilise un langage très particulier, composé uniquement de 0 et de 1: C’est le langage binaire. Je veux que tu ouvres la porte s’il y a quelqu’un devant. 00100111 11000101 00011011 Afin de programmer un tel système, il faut donc parler ce langage. Comment passe-t-on du langage humain, composé de mots, à un langage ne comportant que 2 caractères?

Introduction Langage humain, ou langage LITTÉRAL Transformation en ALGORITHME puis en ALGORIGRAMME Code informatique

Introduction Langage humain, ou langage LITTÉRAL Transformation en ALGORITHME puis en ALGORIGRAMME Code informatique Compilation et Assemblage 1. Capteur 5 actif? 2. Si non: retour 1 3. Si oui: Activer l’actionneur 2 4. … Réalisé par l’humain Le code informatique peut être réalisé par l’humain s’il connaît un langage informatique (C++, basic, python…). In 5 N = Comme nous ne connaissons pas de tels 1 langages, nous dessinerons le programme (ALGORIGRAMME) et le logiciel le traduira pour. Y nous! High 2 Réalisé par un logiciel Langage binaire

Définitions Langage humain, ou langage LITTÉRAL Concentrons-nous sur la partie à réaliser afin de

Définitions Langage humain, ou langage LITTÉRAL Concentrons-nous sur la partie à réaliser afin de programmer nos systèmes domotisés : • Langage littéral: c’est le langage humain, composé de phrases. Transformation en ALGORITHME Transformation en ALGORIGRAMME • Algorithme: c’est l’expression simplifiée et ordonnée du langage littéral. Il est composé d’une suite d’actions qui se déroulent les une après les autres. • Algorigramme: représentation graphique de l’algorithme. Il est composé de dessins normalisés compréhensibles par notre logiciel, qui les traduira en code informatique. (Transformation de l’algorigramme en code informatique réalisée par un logiciel) Code informatique

Exemple pratique Réalisons un exemple simple pour illustrer ces termes de « algorithme »

Exemple pratique Réalisons un exemple simple pour illustrer ces termes de « algorithme » et « algorigramme » . Nous devons commander l’allumage et l’extinction d’une LED à l’aide de deux boutons. Schéma de principe: Opérateur Bouton pour allumer Com Bouton pour éteindre du n e r tep m Co pte-r Acquisition de l’information endu Partie commande Traitement de l’information Ordre LED Exécution automatique

Du langage littéral à l’algorithme Programmation de l’allumage et de l’extinction d’une LED à

Du langage littéral à l’algorithme Programmation de l’allumage et de l’extinction d’une LED à partir de 2 boutons. LANGAGE LITTÉRAL: Lorsqu’on appuie sur un premier bouton, une LED s’allume, et reste allumée jusqu’à l’appui sur un deuxième bouton. 1. Détermination des capteurs et des actionneurs • La partie commande interroge chaque capteur pour savoir si on a appuyé dessus. Le capteur fait son compte-rendu à la partie commande et répond par OUI ou par NON Cela se traduira dans l’algorithme par une question et deux réponses possibles: oui ou non; il faudra prévoir, pour chaque cas, une action à réaliser. ? Capteur Oui / Non Partie commande Activer / Désactiver Actionneur • Lorsqu’il faut activer l’actionneur, la partie commande donne un ordre. Cela se traduira dans l’algorithme par un verbe à l’infinitif indiquant l’action à réaliser: Allumer la LED, Ouvrir le volet…

L’algorithme Programmation de l’allumage et de l’extinction d’une LED à partir de 2 boutons.

L’algorithme Programmation de l’allumage et de l’extinction d’une LED à partir de 2 boutons. 2. Écriture de l’ALGORITHME: La partie demande au Lecommande capteur envoie son comptebouton s’il est actif (onrendu: appuie dessus) 2. Si NON: Retourner à l’étape 1 ou inactif (on n’appuie pas dessus) • Si la réponse est NON (capteur • Si la la réponse OUI (capteur inactif), partie est commande fait 3. Si OUI: Allumer la LED et aller à • Si « la réponse est OUI (capteur actif), la partie commande une boucle » et retourne à l’étape 4 actif), commande coupe et • l’étape Si lalaréponse est de NON (capteur ordonne à larepose LED 1: partie elle las’allumer, question courant àpartie travers la tant LED, que eten inactif), la et commande fait continue son programme aule capteur, le refera La partie commande demande au celle-ci s’éteint. «laallant une boucle » et. NON. repose la à l’étape suivante. Appui sur le deuxième bouton? réponse sera deuxième bouton s’il est actif ou question au capteur, et le refera inactif, afin de pouvoir éteindre la LED La. Ainsi, partie recommence sanslacommande relâche tant que la sera réponse Lorsque la partie commande donne partie commande 5. Si NON: Retourner à l’étape 4 si demandé. ensuite le depuis le le NON. un ordre, ensera réalité elle laisse réactive et programme pourra agir dès qu’on courant début. électrique traverser appuiera sur le bouton! 6. Si OUI: Éteindre la LED et l’actionneur, ici la LED. 1. Appui sur le premier bouton? 4. retourner à l’étape 1

Correspondances entrées/sorties Programmation de l’allumage et de l’extinction d’une LED à partir de 2

Correspondances entrées/sorties Programmation de l’allumage et de l’extinction d’une LED à partir de 2 boutons. Notredevons système est composé: Nous prévoir sur quelles prises de Nous choisissons de brancher: la partie commande nous allons brancher • le bouton pour allumer sur la prise In 2 • nos D’une partie (Entrées) commande 8 entrées / 8 sorties • le bouton pour éteindre sur In 7 capteurs et actionneurs • La LED sur Out 0. (Sorties). • De deux capteurs (boutons poussoirs) • D’un actionneur/effecteur (LED) Pour éteindre Pour allumer In 7 In 2 Out 0

De l’algorithme à l’algorigramme Programmation de l’allumage et de l’extinction d’une LED à partir

De l’algorithme à l’algorigramme Programmation de l’allumage et de l’extinction d’une LED à partir de 2 boutons. • Lorsqu’un capteur ou un actionneur est actif, on dit qu’il est à l’état HAUT (ou HIGH en anglais), ou encore qu’il est égal à un. • Lorsqu’un capteur ou un actionneur est inactif, on dit qu’il est à l’état BAS (ou LOW en anglais), ou encore qu’il est égal à zéro. Bouton à l’état BAS Bouton à l’état HAUT In 2 = 0 In 2 = 1 HIGH 0 LOW 0 Signifie « Activer la sortie n° 0 » Signifie « Désactiver la sortie n° 0 »

Algorigramme: Les dessins normalisés Programmation de l’allumage et de l’extinction d’une LED à partir

Algorigramme: Les dessins normalisés Programmation de l’allumage et de l’extinction d’une LED à partir de 2 boutons. 1. Appui sur le premier bouton? 2. Si NON: Retourner à l’étape 1 In 2 N 3. Si OUI: Allumer la LED et aller à = Si la réponse est Non, on doit se l’étape 4 pas sur 1 reposer la question par Tant qu’on n’appuie Les ordres sont représentées le 2. bouton, le programme Ledes premier bouton est branché sur In Faisons donc retourner le parallélogrammes contenantreste bloqué à cette Y étape: il la case losange. • programme Si on appuiedans dessus, donc si In 2 =se 1, repose le la commande à réaliser. sans cesse la Les questions sont par des losanges à programme suivra le représentées chemin « Yes » question même (plusieurs HIGH 0 deux sorties: dizaines de fois par Ici, nous voulons allumer la LED • Si on n’appuie pas sur le bouton, le seconde!) • Une si la réponse estnous Oui (Yes) (sur la sortie n° 0), donc programme suivra le chemin « No » , car Vers étape suivante • Une autre si la réponse est Non (No) indiquons « HIGH 0 » In 2 ne vaut pas 1.

L’algorigramme complet Programmation de l’allumage et de l’extinction d’une LED à partir de 2

L’algorigramme complet Programmation de l’allumage et de l’extinction d’une LED à partir de 2 boutons. 1. Appui sur le premier bouton? 2. Si NON: Retourner à l’étape 1 3. Si OUI: Allumer la LED et aller à l’étape 4 4. Appui sur le deuxième bouton? 5. Si NON: Retourner à l’étape 4 6. Si OUI: Éteindre la LED et retourner à l’étape 1 DÉBUT In 2 = 1 N Y HIGH 0 In 7 = 1 Y LOW 0 N