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
1 INTRODUCTION Chaine d Information Consignes Acquérir les informations. Traiter les informations. Communiquer les informations. Infos. M.O.E Ordres Energie Alimenter Distribuer l Energie Chaine d 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
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 : 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. Terminale S - page 3 - S.I
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
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
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
2.3.2 Les entrées sorties logiques Traitement de l Information. 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
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
3.3 Structures algorithmiques Traitement de l Information. 3.3.1 Les blocs fonctionnels Les instructions d un algorithme sont toujours contenues dans un bloc fonctionnel : DEBUT Action Action Début action.. action Fin 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. DEBUT pi 3.14 a b d b*b - 4*a*c FIN Début Fin pi 3.14 a b d b*b-4*a*c Terminale S - page 9 - S.I
3.3.3 Structures conditionnelles Traitement de l Information. 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. Condition Si condition Fin Si 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. Si condition Condition Action 1 Action 2 Sinon Action 1 Action 2 Fin Si Terminale S - page 10 - S.I
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. Condition Tant que condition Fin Tant que 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. Faire Condition Tant que condition Terminale S - page 11 - S.I
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. C Vi C <= Vf Pour C de Vi à Vf par pas de N Fin Pour C C + 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. C Vi C >= Vf Pour C de Vi à Vf par pas de -N Fin Pour C C - N Terminale S - page 12 - S.I
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