sciences de l’ingénieur - oasis.ac-aix-marseille.fr

13
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

Upload: others

Post on 21-Jun-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sciences de l’Ingénieur - oasis.ac-aix-marseille.fr

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

Page 2: Sciences de l’Ingénieur - oasis.ac-aix-marseille.fr

Traitement de l’Information.

Terminale S - page 2 - S.I

1 INTRODUCTION

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.

Chaine d’Energie

Chaine d’Information

Acquérir les informations.

Traiter les informations.

Communiquer les informations.

Alimenter Distribuer l’

Energie Convertir l’

Energie Transmettre l’

Energie

Agir sur la M.O

M.O.E

M.O.S

Infos.

Ordres

Consignes

Energie

Page 3: Sciences de l’Ingénieur - oasis.ac-aix-marseille.fr

Traitement de l’Information.

Terminale S - page 3 - 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.

Page 4: Sciences de l’Ingénieur - oasis.ac-aix-marseille.fr

Traitement de l’Information.

Terminale S - page 4 - 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.

Page 5: Sciences de l’Ingénieur - oasis.ac-aix-marseille.fr

Traitement de l’Information.

Terminale S - page 5 - 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 ?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Page 6: Sciences de l’Ingénieur - oasis.ac-aix-marseille.fr

Traitement de l’Information.

Terminale S - page 6 - 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.

Page 7: Sciences de l’Ingénieur - oasis.ac-aix-marseille.fr

Traitement de l’Information.

Terminale S - page 7 - S.I

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.

Lignes d’entrée sortie

Microcontrôleur

Page 8: Sciences de l’Ingénieur - oasis.ac-aix-marseille.fr

Traitement de l’Information.

Terminale S - page 8 - 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.

Page 9: Sciences de l’Ingénieur - oasis.ac-aix-marseille.fr

Traitement de l’Information.

Terminale S - page 9 - S.I

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

Début

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

Début

pi ← 3.14

a ← b

d ← b*b-4*a*c

Fin

FIN

DEBUT

Action

Action

FIN

DEBUT

pi ← 3.14

d ← b*b - 4*a*c

a ← b

Page 10: Sciences de l’Ingénieur - oasis.ac-aix-marseille.fr

Traitement de l’Information.

Terminale S - page 10 - S.I

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

Actions

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.

Algorigramme Langage algorithmique

Si condition

Action 1

Sinon

Action 2

Fin Si

Condition

Actions

Condition

Action 1 Action 2

Page 11: Sciences de l’Ingénieur - oasis.ac-aix-marseille.fr

Traitement de l’Information.

Terminale S - page 11 - 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.

Algorigramme Langage algorithmique

Tant que condition

Actions

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.

Algorigramme Langage algorithmique

Faire

Actions

Tant que condition

Condition

Actions

Condition

Actions

Page 12: Sciences de l’Ingénieur - oasis.ac-aix-marseille.fr

Traitement de l’Information.

Terminale S - page 12 - 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.

Algorigramme Langage algorithmique

Pour C de Vi à Vf par pas de N

Actions

Fin Pour

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

Pour C de Vi à Vf par pas de -N

Actions

Fin Pour

C <= Vf

Actions

C Vi

C C + N

C >= Vf

Actions

C Vi

C C - N

Page 13: Sciences de l’Ingénieur - oasis.ac-aix-marseille.fr

Traitement de l’Information.

Terminale S - page 13 - 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 ».

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _