Lycée St-Eloi, 9 Avenue Jules Isaac 13626 Aix en Provence 04 42 23 44 99 04 42 21 63 63 Nom : _ _ _ _ _ _ _ _ _ Date : _ _ _ _ _ _ _ _ _ Sciences de l’Ingénieur Support de cours Terminale S – S.I Traitement de l’Information. Langage de description algorithmique : traduire le comportement d’un système Traitement de l’Information. 1 INTRODUCTION Chaine d’Information Acquérir les informations. Traiter les informations. Communiquer les informations. Infos. Consignes M.O.E Ordres Chaine d’Energie Alimenter Energie Distribuer l’ Energie Convertir l’ Energie Transmettre l’ Energie Agir sur la M.O M.O.S La fonction « Traiter les informations », présente dans la chaine d’information, reçoit des signaux en provenance des capteurs du système et restitue des signaux destinés à piloter les actionneurs. Le plus souvent c’est la fonction « Traiter les informations » qui va assurer le « pilotage » du système. Dans un lave-linge, par exemple, c’est cette fonction qui va enchainer les différents cycles permettant le lavage en fonction des consignes données par l’utilisateur et des informations provenant des différents capteurs. Ainsi, l’électrovanne assurant l’admission de l’eau dans la cuve sera ouverte jusqu’à ce qu’un capteur de niveau détecte que la cuve est pleine, la résistance de chauffage sera alors alimentée jusqu’à ce que la température souhaitée soit atteinte, etc. Terminale S - page 2 - S.I Traitement de l’Information. 1.1 Réalisation de la fonction « Traiter les informations » Il existe différentes solutions technologiques permettant de réaliser la fonction « Traiter l’information » pouvant se classer en deux catégories : Logique câblée : Utilisé dans les systèmes les plus simples (ou les plus anciens), cette technique consiste à réaliser un circuit électronique spécifique à l’application. Cette approche conduit rapidement à des solutions très complexes et figées (impossible de modifier facilement le comportement du système une fois qu’il a été construit). Logique programmée : Cette technique consiste à utiliser une structure à microprocesseur. Le comportement du système est alors déterminé, non plus par le câblage de composants électroniques, mais par un programme. Selon les besoins du système on peut avoir recours à différentes technologies : Terminale S o Dans un système automatisé nécessitant peu de puissance de calcul (un ascenseur, une barrière automatisée de péage, etc.) on a recours, le plus souvent, à un Automate Programmable Industriel. o Lorsque le système doit effectuer de nombreux calculs, comme, par exemple, le pilote automatique d’un avion de ligne, on utilise un calculateur embarqué. o Dans les petits systèmes destinés à être fabriqués à très grande échelle, comme, par exemple, un lave-linge, on emploiera de préférence un microcontrôleur. - page 3 - S.I Traitement de l’Information. 2 LES SYSTEMES LOGIQUES PROGRAMMES Tous les systèmes logiques programmés actuels utilisent des microprocesseurs, et partagent une structure commune décrite par la figure ci-dessous : 2.1 Le microprocesseur Le microprocesseur est le cœur du système, il est capable d’effectuer des opérations élémentaires (adition, soustraction, opérations logiques, etc). La séquence d’opérations à effectuer est stockée dans une mémoire sous la forme d’une suite d’instructions. Le microprocesseur lit une instruction en mémoire, l’exécute, puis passe à la suivante. 2.2 Les mémoires Le système minimum comporte au moins deux types de mémoires : La mémoire morte ou R.O.M : Les données contenues dans la R.O.M (Read Only Memory) ne peuvent être effacées ni lors du fonctionnement du système, ni lorsqu’il est mis hors tension. On dit qu’une telle mémoire est non volatile. Dans un système minimum cette mémoire est employée pour stocker le programme qui doit être exécuté par le microprocesseur. Terminale S - page 4 - S.I Traitement de l’Information. La mémoire vive ou R.A.M : Les données contenues dans la R.A.M (Ramdom Acces Memory) sont perdues lorsqu’elle est mise hors tension. Il s’agit d’une mémoire dite volatile. Le microprocesseur utilise cette mémoire pour y stocker des informations temporaires lors de l’exécution du programme. Une mémoire se comporte comme un meuble à tiroir : les informations stockées dans la mémoire sont appelées « données », et chaque tiroir possède, pour le repérer, une adresse. Une mémoire possède deux groupes de lignes appelés bus sur lesquels circulent des mots binaires : Un bus d’adresse permettant de choisir la case mémoire à consulter. Un bus de données sur lequel se présente la donnée à lire ou à écrire dans la mémoire. Exercice : Question 1 : Combien de « cases » la mémoire 2732 possède-t-elle ? ____________________________________________ ___________________________________________ _ ____________________________________________ ____________________________________________ _______________________________________ _____ ____________________________________________ ____________________________________________ ____________________________________________ Terminale S - page 5 - S.I Traitement de l’Information. Question 2 : Donner la capacité de cette mémoire en bits. ____________________________________________ ____________________________________________ ____________________________________________ ____________________________________________ __________________________________________ __ ____________________________________________ 2.2.1 Les préfixes binaires Les préfixes du système S.I (kilo-, méga-, giga-, téra-) représentent les puissances de 1000, les préfixes binaires (kibi-, mébi-, gibi-, tébi-) représentent les puissances de 1024. Ils sont fréquemment utilisés en informatique. Exercice : Exprimer la capacité de la mémoire 2732 en bits en utilisant le préfixe le plus approprié. ____________________________________________ ____________________________________________ ____________________________________________ ____________________________________________ 2.3 Les interfaces d’entrée sortie Il existe deux familles d’entrée / sortie : 2.3.1 Les entrées analogiques En entrée elles permettent au système de mesurer une grandeur électrique, généralement une tension, qui, par l’intermédiaire d’un capteur, peut représenter une grandeur physique. Le système pourra ainsi évaluer une température, une pression, un éclairement, etc. Terminale S - page 6 - S.I Traitement de l’Information. 2.3.2 Les entrées sorties logiques Les entrées sorties logiques fonctionnent en tout ou rien (TOR). Une entrée ou une sortie logique peut prendre deux valeurs : 0 ou 1, qui correspondent généralement aux tensions 0V et 5V. 2.4 Les microcontrôleurs Un microcontrôleur est un composant électronique (circuit intégré) qui regroupe toutes les fonctions d’un système minimal (Processeur, RAM, ROM, et périphériques d’entrée sortie). On trouve des microcontrôleurs dans de nombreux systèmes devant posséder des fonctions d’automatisme. Dans l’attacheur de végétation AP-25, par exemple, c’est un microcontrôleur qui pilote le système. Il attend que l’utilisateur actionne la gâchette, puis enchaine les cycles de fermeture du crochet, torsadage, et ouverture, compte le nombre de torsades effectuées, surveille l’état la batterie, la température du moteur, etc. Microcontrôleur Lignes d’entrée sortie Terminale S - page 7 - S.I Traitement de l’Information. 3 PROGRAMMATION 3.1 Algorithmes et langages Un algorithme décrit l’ensemble des opérations à effectuer dans le but d’accomplir une tache. L’algorithme, en informatique, peut être comparé à une recette de cuisine. Il existe deux manières de décrire un algorithme : En langage algorithmique, appelé également pseudo-code. Par un algorigramme qui est une représentation graphique d’un algorithme. Pour écrire un programme, c'est-à-dire une suite d’instructions exécutées par un ordinateur, il faut traduire l’algorithme dans un langage informatique. 3.2 Variables Un programme est toujours amené à traiter des informations. Ces informations doivent pouvoir être stockées dans la mémoire de l’ordinateur puis rappelées lorsque cela est nécessaire. Une variable est une zone de stockage d’information repérée par un nom. Lorsque l’on souhaite enregistrer une information dans une variable on effectue une affectation. Il est également possible de tester le contenu d’une variable, c'est-à-dire de déterminer si une condition mathématique (égalité, supériorité, infériorité, etc.) est vraie ou fausse. Terminale S - page 8 - S.I Traitement de l’Information. 3.3 Structures algorithmiques 3.3.1 Les blocs fonctionnels Les instructions d’un algorithme sont toujours contenues dans un bloc fonctionnel : Algorigramme Langage algorithmique DEBUT Début action . . action Fin Action Action FIN 3.3.2 Affectation des variables Une affectation consiste à donner une valeur à une variable. Cette valeur peut être une constate, le résultat d’un calcul, ou le contenu d’une autre variable. En langage algorithmique la variable à affecter est placée à gauche d’une flèche pointant vers elle. La valeur à donner à la variable est placée à droite de la flèche. Algorigramme Langage algorithmique DEBUT Début pi ← 3.14 pi ← 3.14 a ← b d ← b*b-4*a*c a←b d ← b*b - 4*a*c Fin FIN Terminale S - page 9 - S.I Traitement de l’Information. 3.3.3 Structures conditionnelles Les structures conditionnelles permettent au programme de prendre des décisions. Condition simple : les actions ne sont réalisées que si la condition est vérifiée. Algorigramme Langage algorithmique Si condition Condition Actions Fin Si Actions Condition alternative : L’action 1 est réalisée lorsque la condition est vérifiée. Dans le cas contraire, c’est l’action 2 qui est réalisée. Algorigramme Langage algorithmique Si condition Action 1 Condition Sinon Action 1 Action 2 Action 2 Fin Si Terminale S - page 10 - S.I Traitement de l’Information. 3.3.4 Structures itératives (boucles) Les structures itératives permettent de répéter une séquence d’instruction. La boucle « Tant que » : Elle permet de répéter les actions si, et tant que, la condition est vérifiée. Algorigramme Langage algorithmique Tant que condition Condition Actions Fin Tant que Actions La boucle « Faire - Tant que » : Elle effectue au moins une fois les actions, puis les répètes tant que la condition est vérifiée. Algorigramme Actions Langage algorithmique Faire Actions Condition Terminale S Tant que condition - page 11 - S.I Traitement de l’Information. La boucle « Pour » : Elle permet de répéter une séquence d’action un nombre de fois connu à l’avance. Pour cela, une variable de comptage ‘C’ est initialisée à une valeur initiale Vi, à chaque itération la valeur ‘N’ est ajoutée à la variable ‘C’. La boucle se termine lorsque la valeur ce C atteint ou dépasse la valeur Vf. Algorigramme Langage algorithmique C Vi Pour C de Vi à Vf par pas de N C <= Vf Actions Fin Pour Actions CC+N La boucle « Pour » peut également être utilisée pour décompter, dans ce cas la valeur initiale est supérieure à la valeur finale et les pas de comptage est négatif. Algorigramme Langage algorithmique C Vi Pour C de Vi à Vf par pas de -N C >= Vf Actions Fin Pour Actions CC-N Terminale S - page 12 - S.I Traitement de l’Information. Exercice 1 : On donne le programme suivant en langage algorithmique. Que va afficher ce programme ? S ← 1 Tant que S < 15 S ← ( 2 × S ) + 1 afficher(S) Fin Tant que ____________________________________________ ____________________________________________ ____________________________________________ ____________________________________________ ____________________________________________ ____________________________________________ ____________________________________________ ____________________________________________ Exercice 2 : Proposer un algorithme, en pseudo code, effectuant la résolution d’une équation du second degré. Le cas des racines imaginaires de sera pas traité, le programme affichera le message « Pas de racines réelles ». ____________________________________________ ____________________________________________ ____________________________________________ ____________________________________________ ____________________________________________ ____________________________________________ ____________________________________________ ____________________________________________ ____________________________________________ ____________________________________________ ____________________________________________ ___________________________________________ _ ____________________________________________ ____________________________________________ _______________________________________ _____ ____________________________________________ ____________________________________________ ____________________________________________ ____________________________________________ ____________________________________________ ____________________________________________ Terminale S - page 13 - S.I