SlideShare une entreprise Scribd logo
1  sur  239
Reproduction interdite
INFORMATIQUE POUR TOUS (I.P.T)
Classes Préparatoires aux Grandes Ecoles (CPGE)
Reproduction interdite
Présentation DE L’ENSEIGNANT
M. Olyvier NZIGHOU
Master 2 Gestion de Projets Informatiques de l’Université de
Strasbourg.
Enseignant vacataire à l’IST, EPL, IAI, ESIITECH, SUP’ MANAGEMENT
Tél. : 066049840 / 077684285
Email : olyvier.nzighou@gmail.com
Reproduction interdite
Objectif du cours
3
 Ce cours s’adresse aux étudiants des Classes Préparatoires
aux Grandes Ecoles (CPGE).
 Il forme aux bases de la programmation :
 Python
 SciLab,
 SQL
 ainsi qu’aux bases de l’ingénierie numérique
(résolution approchée d’équations algébriques ou
différentielles, calcul approchée d’intégrales, etc.)
Reproduction interdite
prerequis
4
 Aucune expérience préalable en programmation n'est requise,
mais une familiarité avec les concepts informatiques de base
serait utile.
Reproduction interdite
Evaluation
5
 L'évaluation peut se faire à travers des exercices pratiques,
des petits projets ou un examen final, selon les besoins de
la classe.
Reproduction interdite
Enseignement
6
 Cour magistrale
 TD/TP
Reproduction interdite
pourquoi l’Informatique dans les cpge ?
7
 Tout ingénieur doit maîtriser les concepts fondamentaux de
l’informatique pour :
 Communiquer avec les informaticiens
 Comprendre les questions de complexité algorithmique, de
précision numérique de sécurité.
 Disposer d’une représentation claire de l’architecture d’un
ordinateur, d’un OS, d’un réseau
 Savoir écrire du code et utiliser les bibliothèques logicielles
 Prendre des décisions stratégiques
Reproduction interdite
CONTEXTE
8
 Un monde numérique avec une explosion des données tout à
fait considérables. Les ordres de grandeur sont tellement
hallucinant que quand on en parle, on ne nous croit pas !
 Par exemple le nombre de mots prononcés par l’être humain
depuis qu’il y a des êtres humains sur terre est comparable au
nombre d’octets échangés sur Internet chaque année.
Colossale !
 D’où l’importance de savoir exploiter les résultats
numériques, les résultats d’origine expérimentale,
industrielle ou les données qu’on peut trouver sur le réseau
Internet.
 Une obsolescence rapide des technologies (un renouvèlement
rapide des technologies)
Reproduction interdite
CONTEXTE
9
 Conséquence :
 Présenter les concepts fondamentaux
 Ne pas se lier à des normes ou protocoles non pérennes
 mais contextualiser toutes les activités en lien avec
les autres disciplines scientifiques
 Analyser et modéliser un problème, une situation, un
système informatique
Reproduction interdite
CONTEXTE
10
 Concevoir une solution modulaire, utilisant les méthodes de
programmation et les structures de données appropriées.
 Traduire un algorithme dans un langage de programmation
 Spécifier les composants logiciels développés ou utilisés
 Evaluer, contrôler, valider des algorithmes et des
programmes
 Communiquer à l’écrit et à l’oral une problématique, une
solution.
Reproduction interdite
CHOIX DU LANGAGE
11
 Python (logiciel libre et gratuit) permet une entrée
pédagogiquement adaptée
 Syntaxe simple et conforme aux standards
 Sémantique claire et bien définie
 Nombreuses bibliothèques logicielles pour des exemples
inspirés par les disciplines :
 Calcul numérique (Numpy)
 Bibliothèque scientifique (Scipy)
 Visualisation graphique (Matplotlib)
Reproduction interdite
Généralité et Algorithmique de base
12
Le but de cette partie est de connaître les constituants d’un
système informatique et l’initiation à la conception des
algorithmes élémentaires manipulant (variables, types,
structure de contrôle) puis convertir ces algorithmes en
programmes.
Reproduction interdite
Les principaux chapitres
13
 Environnement matériel et logiciel d’un SI
 Représentation des données dans la mémoire (RAM)
 Système d’exploitation d’un ordinateur
 Environnement de développement intégré « IDE »
 Algorithmique de base
Reproduction interdite
Algorithmique et programmation
14
 Le but de cette partie est d’initier à la programmation
modulaire ainsi que la représentation des données
dans des structures de données ou collections
d’objets (tableaux, chaînes de caractères, listes, tuples,
…) et leurs utilisations (tri, recherche, fichier, …)
Reproduction interdite
Les principaux chapitres
15
 Programmation modulaire (fonctions)
 Structures de données et leurs utilisations
 Fichiers de données
Reproduction interdite
Les principaux chapitres
16
 Présentation des bibliothèques (Numpy, Scipy et
matplotlib)
 Résolution d’équation algébrique (dichotomie, Newton)
 Résolution approchée d’une équation différentielle (Euler)
 Résolution d’un système linéaire inversible (Gauss)
Reproduction interdite
OUTILS LOGICIELS
17
 Langage de programmation : Python
 Environnement de Développement Intégré : Pyzo, PyCharm ou
Visual Studio Code...
 Langage de programmation de calcul numérique : Python ou
SciLab
Reproduction interdite 18
CHAPITRE I Environnement
Matériel & Logiciel d’un Système
Informatique (SI)
Reproduction interdite
PLAN
19
1. Notions de base
2. Système informatique
3. Qu’est-ce qu’un ordinateur
4. Schéma fonctionnel d’un ordinateur
5. Mémoire centrale
6. Microprocesseur
7. Représentation des données dans la mémoire
Reproduction interdite
NOTIONS DE BASE
20
 Qu’est-ce que l’informatique :
Le terme « informatique » vient de la contraction des
mots « information » et « automatique ». Il a été proposé
par Michel Dreyfus en 1962, et accepté par l’académie
française en 1966, pour désigner la technique
permettant de traiter automatiquement les
informations.
Donc : L’informatique = Information + Automatique
Reproduction interdite
NOTIONS DE BASE
21
 Définition : l’informatique est la science du traitement
automatique de l’information par ordinateur.
 Information :
Icone -01- Icone -02- Icone -03-
Reproduction interdite
NOTIONS DE BASE
22
 Définition :
L’information est un ensemble de renseignements
compréhensibles par l’esprit humain et qui prend un sens
pour lui selon un contexte, elle est représentée à l’aide de
convention (codage) afin d’être conservée traitée ou
communiquée. En informatique, elle correspond généralement
aux données manipulées (texte, nombre image, son, …).
Reproduction interdite
NOTIONS DE BASE
23
 Traitement de l’information :
58, 3, 78, 2, 9, 7 2, 3, 7, 9, 58, 78
Programmeur Programmer
Classement croissant
Traduction Fr, En
Reproduction interdite
NOTIONS DE BASE
24
 Schéma d’un traitement
Information
Entrée
Traitement
(Opérations
)
Information
sortie
Le traitement de l’information est une suite d’opérations
transformant une représentation d’information en une autre
représentation plus facile à manipuler ou interpréter
suivant un ensemble de règles fini.
Reproduction interdite
NOTIONS DE BASE
25
 Le système informatique :
Le système informatique est un ensemble de composants
de type logiciel (Software) et matériel (Hardware), mis
ensemble pour le traitement automatique des
informations.
Reproduction interdite
NOTIONS DE BASE
26
 Exemple :
Les smartphones, les tablettes, les consoles de jeux et les
ordinateurs sont tous des exemples de systèmes informatiques.
Reproduction interdite
SYSTÈME INFORMATIQUE
27
 Le matériel (Hardware) :
Correspond à l’aspect concret du système : unité centrale,
mémoire, organes d’entrées/sorties, etc.
Reproduction interdite
SYSTÈME INFORMATIQUE
28
 Le logiciel (Software) :
C’est l’ensemble des programmes nécessaires au
fonctionnement d’un système informatique, ils assurent une
communication entre les utilisateurs et les différentes
ressources matérielles de ce système. Il y a deux types :
 Logiciel de base
 Logiciel d’application
Reproduction interdite
SYSTÈME INFORMATIQUE
29
Reproduction interdite
Structure d’un ordinateur
30
 Qu’est-ce qu’un ordinateur ?
Un ordinateur est une machine de traitement de
l’information (binaire {0,1}) : il est capable d’acquérir de
l’information, de la stocker, de la transformer et de la
restituer sous une autre forme.
Reproduction interdite
Structure d’un ordinateur
31
 L’acquisition de l’information se fait par l’intermédiaire des
périphériques d’entées (clavier, souris, micro, webcam,
scanner, écran tactile, etc.).
 Le stockage de l’information utilise la mémoire d’un
ordinateur (disque dur, mémoire vive, mémoire de masse).
 La transformation de l’information est le rôle du
processeur (CPU)
 La restitution de l’information utilise les périphériques
de sorties (écran, imprimantes, etc.)
Reproduction interdite
Structure d’un ordinateur
32
 Schéma fonctionnel d’un ordinateur :
Reproduction interdite
Structure d’un ordinateur
33
 Architecture de Von Neumann :
 Une mémoire centrale
 Une unité centrale UC, CPU (Central Processing Unit), Processeur,
 Un ensemble de dispositifs d’entrées/sorties pour communiquer avec
l’extérieur
 Cette architecture est la base des architectures des ordinateurs
Reproduction interdite
Structure d’un ordinateur
34
 Les périphériques :
Reproduction interdite
Structure d’un ordinateur
35
 Définition : On appelle « périphérique » un matériel
électronique pouvant être raccordé à un ordinateur par
l’intermédiaire d’une de ces interfaces d’entrée/sortie
(port série, port parallèle, bus, USB, etc.). Il s’agit donc des
composants de l’ordinateur externes à l’unité centrale.
 On distingue habituellement les catégories de périphériques
suivantes :
 Périphériques d’entrée
 Périphériques de sortie
 Périphérique de stockage
 Périphérique d’entrée/sortie
Reproduction interdite
Structure d’un ordinateur
36
 Périphériques d’entrée :
Les périphériques d’entrée ce sont les périphériques capables
uniquement d’envoyer des informations à l’ordinateur, par
exemple les dispositifs de pointage (souris) ou bien le clavier.
 Périphériques de sortie :
Il s’agit de périphériques de sortie, fournissant une
représentation visuelle à l’utilisateur, tel qu’un moniteur
(écran).
 Périphériques de stockage :
Il s’agit d’un périphérique d’entrée/sortie capable de stocker les
informations de manière permanente (disque dur, le CD-ROM,
le DVD-ROM, etc.)
Reproduction interdite
Structure d’un ordinateur
37
 Types de périphériques :
Reproduction interdite
Structure d’un ordinateur
38
Périphériques Types de périphériques Rôle
Souris Périphérique d’entrée Entrer des ordres (clics)
Moniteur Périphérique de sortie Afficher les informations
Clavier Périphérique d’entrée
Ecrire des alphabets, des numéros et
des symboles
Imprimante Périphérique de sortie Imprimer les documents
Casque Périphérique de sortie Entendre du son
Modem Périphérique d’entrée et de sortie Connecter l’ordinateur à Internet
Clé USB Périphérique de stockage Stocker les informations
Scanner Périphérique d’entrée Entrer des photos et des documents
Microphone Périphérique d’entrée Entrer le son
CD-ROM Périphérique de stockage Stocker les informations
Disque dur Périphérique de stockage Stocker les informations
 Périphériques - Types de périphériques - Rôle :
Reproduction interdite
Structure d’un ordinateur
39
 Interfaces d’Entrée/Sortie :
Une interface (connecteur) peut être un port (canal), un
circuit ou bien un processeur spécialisé dans la gestion d’un
certain périphérique ou d’une certaine fonction, constituant
ce qu’on appelle carte d’extension, comme une carte vidéo ou
une carte son.
Reproduction interdite
Structure d’un ordinateur
40
 La carte mère :
La carte mère est le composant informatique principal
(composé de circuits imprimés et se ports de connexion)
servant à interconnecter tous les composants de l’ordinateur.
Composant Numéro
Processeur 5
RAM 4
IDE 1
LAN 11
Micro 14
Floppy 2
Clavier 7
Port USB 8
Port série 9
Souris PS2 6
Alimentation 3
Port parallèle 10
Line In (Audio) 12
Line Out (Audio) 13
Carte graphique AGP 16
Cartes d’extension PCI 15
Reproduction interdite
Structure d’un ordinateur
41
 Les composants de la carte mère :
Reproduction interdite
Structure d’un ordinateur
42
 Socket :
Le socket est un connecteur utilisé pour interfacer un
processeur avec une carte mère
Reproduction interdite
Structure d’un ordinateur
43
 Slot :
Le slot est une fente dans laquelle on insère une carte
d’extension ou une barrette de mémoire
Reproduction interdite
Structure d’un ordinateur
44
 Connecteur IDE (Integrated Drive Elecronic) :
Le port IDE décrit une interface de connexion pour mémoire
de masse (disque dur, lecteur CD-ROM, etc.)
Reproduction interdite
Structure d’un ordinateur
45
 Connecteur SATA (Serial Advanced Technology Attachment)
:
Le port SATA permet de connecter à une carte mère tout
périphérique compatible avec cette norme (mémoire de masse,
lecteur DVD, etc.)
Reproduction interdite
Structure d’un ordinateur
46
 Connecteur AGP (Accelerator Graphic Port) :
Le port AGP est un port interne destiné exclusivement aux cartes
graphiques
Reproduction interdite
Structure d’un ordinateur
47
 Connecteur PCI Express (Peripheral Component Interconnect)
:
PCI Express est un connecteur qui sert à connecter des cartes
d’extension sur la carte mère d’un ordinateur. Il est destiné à remplacer
tous les connecteurs d’extension PCI et l’AGP
Reproduction interdite
Structure d’un ordinateur
48
 Chipset :
Un chipset est la puce principale intégrée dans une carte mère. Le
chipset gère les échanges de données par exemple entre le
processeur et la mémoire centrale ou encore c’est lui qui gère les
ports.
Reproduction interdite
Structure d’un ordinateur
49
 La mémoire centrale :
La mémoire centrale (appelée également mémoire interne)
permet de mémoriser temporairement les données lors de
l’exécution des programmes. La mémoire centrale est réalisée
à l’aide de micro-conducteurs, c’est-à-dire des circuits
électroniques spécialisés rapides. La mémoire centrale
correspond à ce que l’on appelle la mémoire vive (RAM)
Reproduction interdite
Structure d’un ordinateur
50
 Caractéristiques techniques d’une mémoire :
 La capacité
 Adresse mémoire
 Le temps d’accès
 Le temps de cycle
 Le débit
 La non-volatilité
Reproduction interdite
Structure d’un ordinateur
51
 La capacité : représentant le volume global
d’informations qu’une mémoire peut stocker, le nombre de
cases mémoires représente la taille ou la capacité de
mémoire (Ko, Mo, ou Go, etc.).
 Adresse mémoire : c’est le numéro attribué à une case
mémoire (8 bits) dans la mémoire centrale
 Temps d’accès : correspond à l’intervalle de temps
entre la demande de lecture/écriture et la disponibilité de la
donnée
Reproduction interdite
Structure d’un ordinateur
52
 Le temps de cycle : représente l’intervalle de temps
minimum entre deux accès successifs.
 Le débit : c’est le volume d’information échangé par
unité de temps (bits/s)
 La non-volatilité : Elle caractérise l’aptitude d’une
mémoire à conserver les données lorsqu’elle n’est pas
alimentée électriquement.
Reproduction interdite
Structure d’un ordinateur
53
 Types de mémoires :
 La mémoire cache : c’est une mémoire rapide permettant
de réduire les délais d’attente des informations stockées dans
la mémoire centrale
 Mémoire RAM : mémoire principale du système, elle sert à
stocker de manière temporaire des données lors de
l’exécution des programmes.
 La mémoire ROM : Elle fournit les informations nécessaires
pour la mise en route de l’ordinateur.
 La mémoire de masse : elle permet de stocker une grande
quantité de données de manière non volatile : exemple disque
dur, clé USB, etc.
Reproduction interdite
Structure d’un ordinateur
54
 Hiérarchie des mémoires :
Reproduction interdite
Structure d’un ordinateur
55
 Temps d’accès aux différents types de mémoires
(ns):
Reproduction interdite
Structure d’un ordinateur
56
 L’unité Centrale de traitement (CPU) : C’est le centre
de calcul et de contrôle d’un ordinateur, le CPU est
matérialisé physiquement par un circuit électronique
appelé microprocesseur.
Le microprocesseur est caractérisé par :
 Sa marque : exemple Intel, AMD, Motorola, etc.
 Sa fréquence : nombre d’opérations qu’il peut
effectuer par seconde (GHz)
 Sa vitesse : la vitesse de traitement (MIPS Unité
de mesure de la puissance d'un processeur,
exprimant le nombre de millions d'instructions
traitées par seconde)
Reproduction interdite
Structure d’un ordinateur
57
 Le microprocesseur est composé des éléments suivants
:
 UAL : Unité Arithmétique et Logique permettant de faire
des calculs arithmétiques et des opérations logiques
 UC : Unité de Commande permettant d’organiser et
d’exécuter les opérations effectuées par le microprocesseur
 Les Registres : Ce sont des petites mémoires internes,
très rapides d’accès permettant de stocker temporairement
les données ou les instructions.
Reproduction interdite
Structure d’un ordinateur
58
 Un processeur dispose de quatre tâches fondamentales
qu’il exécute :
 FETCH : recherche de l’instruction
 DECODE : Décodage de l’instruction (opération et
opérandes)
 EXECUTE : Exécution des opérations
 WRITEBACK : Ecriture du résultat
Reproduction interdite
Structure d’un ordinateur
59
 Le bus est le canal électronique qui assure la communication
(information binaire) entre les composants matériels
Reproduction interdite 60
CHAPITRE II Représentation des
données dans la mémoire
Reproduction interdite
Système de numération
61
Le système décimal :
 Le système décimal (base 10) : c’est celui que nous
utilisons dans nos activités quotidiennes. Ce système est
basé sur dix symboles, (0-9), (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)10
Exemple :
Quand on écrit 178 en numération décimale, cela signifie :
178 = 100 + 70 + 8
1 * 10 * 10 + 7 * 10 + 8 * 1
1 * 102 + 7 * 101 + 8 * 100
Reproduction interdite
Système de numération
62
Le système binaire (utilisé par les ordinateurs) :
 C’est un système qui comprend deux chiffres (0 et 1). Donc
un code binaire contient une séquence constituée
uniquement de 0 et de 1.
 Le système binaire permet de mieux représenter le
fonctionnement de l’électronique numérique qui anime les
ordinateurs.
 0 : absence de courant électrique
 1 : présence de courant électrice
 Chaque chiffre constituant un code binaire est appelé Bit
(Binary Digit). Un groupe de 8 bits est appelé octet ou Byte
en anglais.
Reproduction interdite
Système de numération
63
Système octale :
 L’octal est le codage en base 8. On utilise les chiffres entre
0 et 7 pour coder les nombres en octal.
 La numérotation octale permet de simplifier l’écriture
d’un code binaire.
Exemple : (3701)8
 Il faut noter que le nombre (109)8 n’est pas un nombre
octal valide car il renferme le chiffre 9 qui n’appartient
pas à cette base.
Reproduction interdite
Système de numération
64
 Techniquement un ordinateur n’utilise pas la base octale
mais seulement la base binaire.
 Cependant certains programmes permettent à
l’utilisateur de représenter un code binaire en octal afin
d’abréger l’écriture binaire.
Exemple : (751)8 = (111 101 001)2
Au lieu d’écrire 9 chiffres en binaires on a écrit que 3 chiffres
en octal
Reproduction interdite
Système de numération
65
Système Hexadécimal (Base 16) :
L’hexadécimal est un système numérique qui utilise 16
symboles qui vont de 0 à 9 et de A à F.
A(10), B(11), C(12), D(13), E(14), F(15).
Comme pour la base octale, la base hexadécimale permet
d’abréger l’écriture des longs codes binaires.
Cependant la représentation hexadécimale s’avère plus
pratique que la base octale, vue que chaque octet écrit en binaire
peut être représenté à l’aide de deux caractères en hexadécimaux
Exemple : (1010 1001)2 = (A9)16
Reproduction interdite
Système de numération
66
 De nos jours le code hexadécimal peut être utilisé
directement par les programmeurs afin de renseigner les
valeurs souhaitées à l’ordinateur sans être obligé de tout
représenter en binaire.
Exemple :
 Adressage des cases mémoires
 Codes de couleurs (#FF8800 pour l’orange) en HTML
ou CSS
 Etc.
 En plus de l’indice 16 qui permet d’indiquer que le nombre
en question est en hexadécimal, d’autres notations peuvent
être adoptées : 0xA9, $A9, #A9, etc. selon le langage de
programmation utilisé.
Reproduction interdite
Système de numération
67
Exercice d’application :
 Conversion Binaire Décimal
(101)2
(11010)2
(1111)2
 Conversion Hexadécimal
Décimal
(15)16
(FF)16
(2C0)16
 Conversion Octal 
Décimal
(12)8
(107) 8
(200) 8
Reproduction interdite
Système de numération
68
Exercice d’application :
 Conversion Décimal Binaire
(9)10
(24)10
(33)10
(256)10
(255)10
Reproduction interdite
Système de numération
69
Exercice d’application :
 Conversion Binaire Octal
(100101)2 = (100101)8
(10010110)2 = (100101)8
 Conversion Binaire Hexadécimal
(11010011)2 = (100101)16
(1111011011)2 = (100101)16
Reproduction interdite
Système de numération
70
Exercice d’application :
 Conversion Octal Hexadécimal
(25)8 = (100101)16
(6401)8 = (100101)16
 Conversion Décimal Hexadécimal Octal
(68)10 = (100101)8 = (100101)16
(45)10 = (100101)8 = (100101)16
Reproduction interdite
Système de numération
71
Addition des nombres binaires naturels :
 On désigne par nombre binaire naturel les nombres
ordinaires que nous avons vu jusqu’ici. C’est-à-dire que
chaque bit est pondéré par une puissance de 2
Exemple : (111)2 = 1*22 + 1*21 + 1*20 = (7)10
 Il faut noter que le même nombre (111)2 peut désigner
une autre valeur. Par exemple pour les nombres signés,
le bit le plus à gauche n’est pas un bit pondéré par une
puissance de 2 mais il s’agit d’un bit de signe. (Cf. la
suite du cours)
Reproduction interdite
Système de numération
72
 L’opération d’addition en binaire est similaire à celle en
décimal sauf qu’ici il y a juste quatre situations à mémoriser
:
 0 + 0 = 0
 0 + 1 = 1
 1 + 1 = 10
 1 + 1 + 1 = 11
 L’addition est simple et cruciale au sein d’un
microprocesseur. Comme on le verra plus tard, faire une
soustraction revient à faire des opérations d’addition de
nombres signés et non pas de nombres binaires naturels.
(Cf. suite du cours).
Reproduction interdite
Système de numération
73
Exercice d’application :
1) 100 + 11 =
2) 1111 + 1 =
3) 1001 + 111 =
4) 1111 + 1011 =
5) 11011 + 1111 =
Reproduction interdite
Système de numération
74
Le Complément à 1 :
 En décimal, on forme le complément à 9 d’un nombre en
remplaçant chaque chiffre de ce nombre par sa différence
avec 9.
 Exemple :
 Le complément à 9 de 6473, noté C9(6473)=3526
 En binaire, on forme le complément à 1 d’un nombre en
remplaçant chaque chiffre de ce nombre par sa différence
avec 1 (on remplace les 1 par des 0 et réciproquement).
 Exemple :
 Le complément à 1 de 11010, noté C1(11010)=00101
Reproduction interdite
Système de numération
75
Le Complément à 2 (ou complément vrai) :
 En décimal, on forme le complément à 10 d’un nombre en
remplaçant le chiffre des unités par sa différence avec 10 et les
autres chiffres de ce nombre par leur différence avec 9.
 Le complément à 10 de 6473, noté C10(6473) = 3527
 On peut dire que le complément à 10 d’un nombre s’obtient
en soustrayant de la puissance de 10 immédiatement supérieur
ce nombre : 3527 = 10000-6473
Reproduction interdite
Système de numération
76
 On voit aussi que le complément à 10 s’obtient en ajoutant 1
au complément à 9 :
 Le complément à 9 de 6473, noté C9(6473) = 3526
 Le complément à 10 de 6473, noté C9(6473)+1 =
3527
 En binaire, on va utiliser la règle ci-dessus et former le
complément à 2 d’un nombre en ajoutant 1 au complément à 1
 Le complément à 2 de 11010, noté C2(11010)
= C1(11010)+1 = 00101+1 = 00110
Reproduction interdite
Système de numération
77
 On peut aussi dire que le complément à 2 d’un nombre s’obtient
en le soustrayant de la puissance de 2 immédiatement
supérieure à ce nombre : 00110 = 100000-11010
 Une astuce permet d’éviter cette addition : pour obtenir le
complément à 2 d’un nombre, on conserve tous les bits à partir
de la droite jusqu’au 1er 1 compris et on inverse tous les autres.
 C2(11010) = 00110
Reproduction interdite
Système de numération
78
 Exercices d’application :
 Calculer le complément en base 10, 8 du nombre 2465
 Calculer le complément en base 16 du nombre AB26
 Calculer le complément en base 2 de 11001011
Reproduction interdite
Système de numération
79
Soustraction par complément à 2 : le but est de remplacer la
soustraction par l’addition
 En décimal, soit la soustraction suivante : 742 – 568
 Rappels complément à 10 :
 En décimal, on forme le complément à 10 d’un nombre en
remplaçant le chiffre des unités par sa différence avec 10 et
les autres chiffres de ce nombre par leur différence avec 9.
 Comme 568 = 1000 – 432, on peut écrire :
742 – 568 = 742 – (1000 – 432) = 742 + 432 – 1000 = (1)174
Reproduction interdite
Système de numération
80
 Comme 432 est le complément à 10 de 568, on a en fait
effectué l’opération suivante : x - y = x + C10(y) -
(puissance de 10 immédiatement supérieure à x)
 Au lieu de soustraire 1000, il aurait suffi de négliger la
dernière retenue dans le résultat.
 En effet 742 + 432 = (1)174 = 174 si l’on néglige le 1
de gauche
 En résumé, au lieu de soustraire un nombre y d’un nombre x,
on ajoute à x le complément à 10 de y et on oublie le (n+1)ème
chiffre si on travaille sur n chiffres.
Reproduction interdite
Système de numération
81
 Remarque : si les deux nombres x et y ne comportent pas le
même nombre de chiffres, il faut rajouter des 0 devant y avant de
rechercher son complément à 10
 Exemple :
 742 - 67 = 742 – 067 = 742 + 933 = (1)675 = 675
 En binaire c’est pareil (Avec la même remarque que
précédemment)
x – y = x + C2(y) - (puissance de 2 immédiatement
supérieure à x)
Reproduction interdite
Système de numération
82
 Exemple :
11100101 – 110111 = 11100101 – 00110111
= 11100101 + 11001001 = (1)10101110
 Résumé de la méthode :
1.Compléter par des 0 pour avoir le même format
2.Prendre le complément à 2 du nombre à soustraire
3.Faire l’addition et oublier le bit en trop s’il y a lieu
Reproduction interdite
Système de numération
83
 Pour l’instant la soustraction x – y n’est toujours pas faisable si x<y
(sauf en effectuant y – x et en mettant moins devant le résultat !)
 Normalisation des nombres signés :
 Comme l’ordinateur ne comprend pas les signes + et -, on va les
représenter par un bit de la façon suivante :
 On commence par normaliser la taille à un nombre de bits
précis par exemple 8 bits soit un octet.
 On décide que le bit de gauche sera égal à 0 si le nombre est
positif ou nul et à 1 si le nombre est négatif. Ce bit est
appelé bit de signe et les nombres codés ainsi s’appellent
nombres signés.
Reproduction interdite
Système de numération
84
 Conversion, décimal vers binaire signé :
 Si (x)10 est positif ou nul, on le convertit normalement en
binaire
 Si (x)10 est négatif, on convertit sa valeur absolue en
binaire et on en prend le complément à 2
 Exemple :
 6810 = (01000100)2
 -67  |-67| = |67| = 01000011, C2(01000011)
= 10111101
donc -67 = 10111101
Reproduction interdite
Système de numération
85
 Conversion, binaire signé vers décimal :
 Si le bit de signe de (x)2 = 0, on le convertit
directement en décimal
 Si le bit de signe de (x)2 = 1, cela veut dire que (x)10
est négatif, on cherche le complément à 2 de (x)2, on le
convertit en décimal et on rajoute le signe – devant !
 Exemple :
 (01110100)2 = 116
 (10100010)2 : le bit de signe vaut 1, nombre
négatif C2(10100010) = 01011110 = (94)10,
donc (01110100)2 = -94
Reproduction interdite
Système de numération
86
Limites :
 Comme on s’est limité à 8 bits, on ne pourra coder en binaire
que 256 valeurs différentes.
 En nombres non signés (donc exclusivement positifs) on
pouvait aller de 010 (= (00000000)2) à 25510 (= (11111111)2)
soit 256 valeurs en tout car 256 = 28.
 En nombres signés, le plus grand commençant par un 0
(donc positif) est (01111111)2 = 12710.
 Le nombre binaire suivant est (10000000)2 mais, comme
il commence par un 1, il doit être considéré comme
négatif.
Reproduction interdite
Système de numération
87
 Pour trouver sa valeur décimale, on en prend le
complément à 2 soit (10000000)2 qui, converti en
décimal donne 128.
 128 est donc la valeur absolue de (10000000)2 et on
obtient en définitive (10000000)2 = -128
 Sur un octet, les 256 valeurs codables en nombres signés vont
donc de -128 à +127
 Le nombre 128 n’est pas codable en nombres signés sur 8 bits
 En nombres signés sur n bits, on peut coder de -2n-1 à 2n-1-1
 Le tableau suivant regroupe quelques valeurs particulières de
nombres signés et fait aussi apparaître les nombres hexadécimaux
correspondants.
Reproduction interdite
Système de numération
88
Base 10 Base 2 Base 16
127 0111 1111 7F
126 0111 1110 7E
2 0000 0010 02
1 0000 0001 01
0 0000 0000 00
-1 1111 1111 FF
-2 1111 1110 FE
-127 1000 0001 81
-128 1000 0000 80
 On constate que les valeurs positives sont codées en hexadécimal de 00 à
7F et que les valeurs ≥ 8016 correspondent à des nombres négatifs.
Reproduction interdite
Système de numération
89
Opérations en nombres signés :
Comme nous savons maintenant noter les nombres négatifs, nous pouvons
effectuer la soustraction x - y avec x < y
Le résultat est négatif, son bit de signe est à 1 et il suffit de convertir
comme vu précédemment.
 00111100 - 01010101 = 00111100 + C2(01010101)
= 00111100 + 10101011 = 11100111
 Correspond à un nombre négatif à cause du 1 de gauche.
 Pour calculer sa valeur décimale, on prend le complément à 2 soit
00011001 et on le convertit en décimal, soit 25. le résultat de la
soustraction est donc -25
Attention : Si les nombres sont codés sur 8 bits, le résultat doit rester
compris dans l’intervalle de -128 à +127. Un dépassement doit générer erreur.
Reproduction interdite
Système de numération
99
Exercice d’application :
1) 110 - 10 =
2) 1000 - 111 =
3) 111 - 1000 =
4) 10110 -1 =
Reproduction interdite
Système de numération
100
Exercice d’application :
 Conversion Binaire  Décimal
(101,11)2 = (100101)10
(1101,01)2 = (100101)10
(1,101)2 = (100101)10
 Conversion Décimal  Binaire
(32,625)10 = (100101 )2
(12,5)10 = (100101 )2
(6,1)10 = (100101 )2
Reproduction interdite
Système de numération
101
Exercice d’application :
 Addition et soustraction en octal
(4752)8 + (6537)8 = (100101 )8
(7216)8 + (2416)8 = (100101 )8
(2345)8 - (1267)8 = (100101 )8  2
méthodes
 Addition et soustraction en hexadécimal
(AB26)16 + (CD8A)16 = (100101 )16
(CAFE)16 + (A98C)16 = (100101 )16
(DB26)16 - (CE8A)16 = (100101 )16  2 méthodes
Reproduction interdite
Système de numération
102
Représentation des nombres binaires (Virgule flottante) Simple
précision et double précision, la norme IEEE 754 :
 Lorsqu’on Représente la célérité ou vitesse de la lumière en
base décimale on écrit : C = 300 000 000 ms-1. En général on
préfère l’écriture scientifique : 3 * 108 ms-1
 Cette écriture est plus courte et permet de simplifier
l’évaluation d’un nombre constitué de beaucoup de chiffres.
La masse d’un électron : me = 0,000…00091094 kg on préfère
91094 * 10-31 kg
 Dans la base binaire c’est pratiquement la même chose. Au
lieu d’écrire les nombres réels avec une virgule fixe qui sépare
deux blocs de 0 et de 1, on préfère une écriture semblable à
l’écriture scientifique utilisée en base 10.
Reproduction interdite
Système de numération
103
 Soit : (12,625)10, = (1100, 101)2
 Rendons le code binaire semblable à l’écriture scientifique
du décimal. On fait en sorte de mettre un chiffre 1 dans la
partie entière et tout le reste dans la partie fractionnaire.
 1100,101 = 1,100101 * 23, déplacement de la virgule de 3
positions vers la gauche c’est pourquoi le nombre
binaire résultant est multiplier par 2 élevé à la
puissance 3
 De la même manière (0,375)10 = (0, 011)2 est équivalent à
1,1*2-2. En effet il y a le chiffre 1 à gauche de la virgule et tout
reste sur sa droite, la virgule a été déplacée de 2 positions
sur la droite ce qui est équivalent à la puissance négative -2.
Reproduction interdite
Système de numération
104
 Comme c’est le cas pour les nombres négatifs contenant le
signe moins (-) inconnu des ordinateurs et qu’on a ensuite
transformé en nombres signés ne contenant que des 0 et des
1, un nombre réel représenté avec l’écriture
scientifique contient des symboles autres que des 0 et
des 1.
 Ce qui signifie que les ordinateurs auront du mal à
l’interpréter, c’est là que la norme IEEE 54 intervient.
Reproduction interdite
Système de numération
105
 IEEE signifie Institute of Electrical and Electronics Engineers ou
institut des ingénieurs électriciens et électroniciens.
 C’est une organisation qui a pour mission de promouvoir la
connaissance dans le domaine de l’ingénierie liée à
l’électricité, l’électronique, les télécommunications et
l’informatique.
 Elle a pour but de fixer les standards ou les normes utilisées
dans ces différentes disciplines.
 IEEE a établi des règles qu’il faut suivre pour représenter les
nombres réels afin que les ordinateurs puissent les
comprendre de manière uniforme.
Reproduction interdite
Système de numération
106
 Cette norme a été identifiée par le numéro 754 d’où le nom IEEE 754
et elle décrit la virgule flottante.
 Contrairement à une virgule fixe, la virgule flottante peut se déplacer
à droite ou à gauche et sa position est compensée par la valeur de
l’exposant qui change par conséquent.
 IEEE 754 décrit le nombre format pour représenter un nombre à
virgule flottante.
 Les plus connus sont :
 Simple précision (32 bits)
 Double précision (64 bits)
Reproduction interdite
Système de numération
107
 Simple & double précision :
 Le nombre binaire résultant est codé sur 32(resp. 64) bits.
Cette séquence de 32 (resp. 64) bits est divisée sur 3 blocs :
 A gauche le bit de signe
 Au milieu l’exposant codé sur 8 (resp. 11) bits
 A droite la mantisse codée sur 23 (resp. 52) bits
 Le bit de signe peut avoir la valeur 0 ou 1
 0 : positif
 1 : négatif
Reproduction interdite
Système de numération
108
 N = (-1)s * (1,M) * 2E+127 (resp. E+1023)
 S : Signe
 M : Mantisse sur 23 (resp. 52) bits
 E : Exposant sur 8 (resp. 11) bits avec un décalage
(biais) maximum de : 28-1-1 = 127 (resp. 211-1-1 =
1023)
Reproduction interdite
Système de numération
109
 L’exposant contient la valeur de la puissance qui élève le nombre 2
résultant du déplacement de la virgule
 La mantisse est la partie fractionnaire du nombre binaire écrit
avec la notation scientifique.
 Le chiffre 1 de la partie entière est implicite, donc il n’est pas
inclus dans la représentation du nombre avec la norme IEEE 754
 Prenons l’exemple du nombre réel (12,625)10,
 Sa représentation binaire en virgule fixe donne : (1100,101)2
 Sa représentation en notation scientifique correspond à : 1,100101 *
23
NB : Il faut toujours laisser le chiffre 1 dans la partie entière.
Reproduction interdite
Système de numération
110
 Si on veut représenter le nombre résultant (1,100101 * 23) à
l’aide de la norme IEEE 754, on procède ainsi :
 Puisque le nombre est positif, 0 est le bit de signe.
 L’exposant vaut 3, E = 3+127 = 130 = (10000010)2
 La mantisse est constituée de 23 bits :
 La partie fractionnaire de notre nombre binaire
représenté en notation scientifique complété par des 0.
 0 10000010 10010100000000000000000
Reproduction interdite
Système de numération
111
 (12,625)10 = (0100 0001 0100 1010 0000 0000 0000
0000)2
= (414A0000)16
 (0,375)10 = (0,011)2 = 1,1 * 2-2, positif
 Exposant : -2+127 = 125 = (01111101)2
 La mantisse vaut : 10000000000000000000000
 (0,375)10 = 0 01111101 10000000000000000000000
= 0011 1110 1100 0000 0000 0000 0000 0000
= (3EC00000)16
 (-0,375)10 = (-0,011)2 = -1,1 * 2-2
= 1011 1110 1100 0000 0000 0000 0000 0000
= (BEC00000)16
Reproduction interdite
Système de numération
112
Reproduction interdite
Système de numération
113
Différents types de codes :
 Jusque-là, nous avons travaillé avec le code binaire dit naturel
qui est le plus simple et le plus pratique pour effectuer des
opérations arithmétiques, mais, en informatique, il existe
différentes façons de représenter les nombres selon les besoins
et les contraintes. En voici quelques-unes.
 Le code Gray (code binaire réfléchi) :
 En code binaire naturel, quand on passe de 7 à 8, donc de 0111
à 1000, les 4 bits changent à la fois. Cela peut être gênant car
les changements ne sont jamais totalement simultanés et des
très faibles écarts peuvent entrainer des erreurs. Le Code Gray
élimine ce risque car, dans ce code, 1 seul bit change à la fois
entre deux valeurs consécutives. On parle de code à distance
unité.
Reproduction interdite
Système de numération
116
Reproduction interdite
Système de numération
117
N
BINAIRE NATUREL GRAY
b2 b1 b0 b2 b1 b2
0 0 0 0 0 0 0
1 0 0 1 0 0 1
2 0 1 0 0 1 1
3 0 1 1 0 1 0
4 1 0 0 1 1 0
5 1 0 1 1 1 1
6 1 1 0 1 0 1
7 1 1 1 1 0 0
 Exemple :
 (5)10 = %101 = 111g
Reproduction interdite
Système de numération
118
 Le code BCD (Binary Coded Decimal) :
 Pour l’affichage des nombres, le code binaire naturel n’est pas
pratique : en effet, 13 se code en binaire naturel 1101 mais pour
l’afficher par exemple sur une calculatrice, il faut séparer le 1 du 3 et
envoyer chaque chiffre sur l’afficheur à cristaux liquides
correspondant.
 D’où l’idée qui consiste à coder chaque chiffre décimal sur 4 bits
: c’est le code BCD. C’est le même que le code binaire naturel mais
il s’arrête à 9. Pour coder 10, on code le 1 puis le 0 sur 4 bits :
1010 = 0001 0000 en BCD
 Exemple : 3509 = 0011 0101 0000 1001
 Remarque : les « 0 » apparaissent même en poids fort car chaque
chiffre décimal doit être codé sur 4 bits. Par contre ce code n’est pas
adapté aux calculs numériques.
Reproduction interdite
Système de numération
119
 Le code ASCII (American Standard Code for Information Interchange) :
C’est un standard universel pour normaliser les échanges entre
machines.
 Exemple :
a = 01100001
A = 01000001
0 = 00110000
ESC(ape) = 00001011
 Autres codes :
 Il existe d’autres codes qui ont chacun leur utilité.
Par exemple le code EXCESS 3 (qui consiste à ajouter 3 au code
BCD) a été utilisé pour faire des calculs numériques
directement en BCD.
 Les codes détecteurs d’erreurs ou détecteurs et correcteurs
d’erreurs sont très utilisés dans les transmissions.
Reproduction interdite 120
CHAPITRE III
le système d’exploitation
Reproduction interdite
PRESENTATION
121
 Nous avons vu les composants physiques d’un ordinateur.
Ces composants échangent des informations sous forme de
bits, c’est-à-dire de suite de 0 et de 1, et réalisent des actions
demandées par l’homme (enregistrement de données,
calculs, lecture de vidéo…).
 La gestion de ces transferts d’informations ou opérations est
très complexe.
Reproduction interdite
PRESENTATION
122
 Pour en donner un aperçu, détaillons ce qui se passe lorsque l’on
souhaite enregistrer sur disque dur un curriculum vitae :
 La machine doit déterminer un secteur libre sur le disque dur,
 Déplacer le bras d’écriture,
 Gérer le démarrage du moteur et son arrêt,
 Vérifier la bonne écriture du document, etc.
Reproduction interdite
PRESENTATION
123
 Pourtant lorsqu’on enregistre le CV, on ne se préoccupe pas de
toutes ces contraintes : il suffit de cliquer sur l’icône «
enregistrer » et c’est fait.
 Si ce processus semble si simple, c’est parce qu’un ensemble de
programmes s’occupe de gérer tout cela à notre place : c’est le
système d’exploitation de l’ordinateur.
Reproduction interdite
définition
124
 Le système d’exploitation (ou operating System – OS
– en anglais) est l’ensemble des programmes indispensables
au fonctionnement de l’ordinateur.
 Il permet l’interaction entre l’homme et la machine en
proposant une interface facile d’utilisation (souvent
graphique) et en gérant l’accès aux ressources matérielles
et numériques.
 On peut en citer plusieurs : Windows 10, Windows 11, Linux,
Debian, mac OS X…
Reproduction interdite
Principales fonctions d’un os
125
Quel que soit le système d’exploitation utilisé, il a pour rôle :
 Gérer l’allocation du processeur aux parties de programmes
en cours d’exécution (aussi appelées processus). En effet, lors
de l’exécution d’un programme, le processeur n’est pas utilisé
en permanence. Par exemple lorsqu’il est en attente de
données ou après les avoir renvoyées, il ne travaille pas sur le
programme.
 Au lieu de laisser le processeur inactif pendant ces opérations
d’entrées/sorties, le système d’exploitation le fait travailler
sur un autre processus, ce qui permet de limiter le temps
d’attente lors de l’exécution de plusieurs programmes. On
parle alors de multiprogrammation.
Reproduction interdite
Principales fonctions d’un os
126
 Gérer les interruptions de processus dues soit à une action
extérieure (demande de l’utilisateur) soit à la détection d’une
erreur.
 Gérer la mémoire. Par exemple, c’est le système d’exploitation qui
assure l’optimisation de l’espace mémoire utilisée par les
données numériques. Il s’occupe également du transfert des
données (et du respect de leur intégrité) entre les différentes
mémoires de l’ordinateur lors de l’exécution d’un programme.
 En effet toutes les mémoires ne sont pas équivalentes et ont
chacune des utilisations spécifiques. Ainsi, lors de l’exécution d’un
programme, des informations s’échangent entre ces différentes
mémoires afin de minimiser le temps d’attente.
Reproduction interdite
Principales fonctions d’un os
127
 Organiser les entrées/sorties. Il s’agit de l’ensemble des
échanges d’informations entre l’homme et la machine ou entre
l’unité centrale et les périphériques.
 Par exemple, le système d’exploitation doit être capable
d’attribuer à une imprimante libre la tâche à exécuter ou à mettre
en attente si toutes les imprimantes sont occupées.
Reproduction interdite
Principales fonctions d’un os
128
 Gérer les fichiers. L’utilisateur doit pouvoir s’y retrouver
parmi les multitudes de fichiers enregistrés sans avoir besoin de
connaître leur adresse réelle (adresse indiquant la position du
fichier sur le disque dur par exemple).
 Le système d’exploitation permet cela en faisant le lien entre
l’enregistrement logique (celui compréhensible par
l’utilisateur) et l’enregistrement physique des fichiers.
 C’est également le système d’exploitation qui s’occupe de la
destruction, de la copie, du déplacement et des droits
d’accès d’un fichier.
Reproduction interdite
Principales fonctions d’un os
129
 Planifier le travail. Le système d’exploitation coordonne
les différentes tâches que doit réaliser la machine pour
satisfaire la demande de l’utilisateur et il veille à disposer de
ressources matérielles suffisantes pour y répondre en temps
raisonnable.
 Ainsi la demande d’enregistrement d’un fichier nécessite, entre
autres de trouver un emplacement en mémoire libre, d’établir des
droits d’accès au fichier, de lui donner un nom, etc. ces
différentes tâches vont se dérouler dans un ordre établi par le
système d’exploitation et celui-ci s’assurera, par exemple qu’il y a
assez de place disponible pour enregistrer le fichier.
Reproduction interdite
Principales fonctions d’un os
130
 Gérer la communication avec l’utilisateur. Cette
communication peut se faire de plusieurs façons.
 La façon la plus ancienne est l’entrée des directives de
l’utilisateur, directement au clavier, sous forme d’un
langage de commande spécifique au système d’exploitation
utilisé.
 Ces commandes sont tapées dans un interpréteur de
commande géré par le système d’exploitation. Sous Windows,
il est appelé invite de commande (la commande calc permet
d’ouvrir la calculatrice)
Reproduction interdite
Principales fonctions d’un os
131
 L’utilisation d’une interface graphique se répand dans les
années 1980, simplifiant beaucoup l’utilisation d’un
ordinateur puisque le jargon informatique n’est plus
nécessaire pour utiliser la machine. Il suffit alors de déplacer un
curseur sur un écran et de lui faire sélectionner l’action désirée.
 Les notions de souris, fenêtre, menu déroulant… font leur
apparition. Cette façon d’interagir avec la machine est à présent la
plus connue.
 La communication avec la machine peut également se faire par
l’intermédiaire d’un écran tactile
 Actuellement se développe l’utilisation de la reconnaissance
vocale pour communiquer avec une machine numérique.
Reproduction interdite
Structure d’un os
132
 Pour réaliser l’interface entre la machine et l’utilisateur, un
système d’exploitation est composé d’un grand nombre de
programmes que l’on peut classer suivant leur fonction.
 On obtient alors la représentation en couches fonctionnelles de
la figure suivante :
Utilisateur
Interface utilisateur – interpréteur de commandes
Planification du travail et allocation de ressources
Gestion des fichiers
Organisation des entrées/sorties
Gestion de la mémoire
Noyau : gestion des processus – gestion des interruptions – allocation du processeur
Machine
Reproduction interdite
Structure d’un os
133
 Chaque couche représentée utilise les fonctions des
couches qui sont en dessous.
 La couche la plus basse interagit directement avec la
machine, la couche la plus haute interagit avec
l’utilisateur.
 Le système d’exploitation est donc un ensemble énorme de
programmes sans lequel un ordinateur ne peut pas
fonctionner.
Reproduction interdite
Gestion des ressources
134
 En tant qu’utilisateur, on sait qu’un ordinateur peut lire des
vidéos, afficher des images, émettre des sons, enregistrer des
textes… tous ces objets constituent autant de ressources
différentes que doit gérer l’ordinateur.
 Si, nous, nous faisons facilement la différence entre un son, un
texte, une image ou une vidéo, pour la machine c’est plutôt
compliqué car chacun de ces objets n’est en réalité qu’une
suite plus ou moins grande de 0 et de 1 à laquelle on a donné
un nom. C’est ce que l’on appelle un fichier.
Reproduction interdite
Gestion des ressources
135
 Par exemple si on nomme « exemple » la suite de bit suivante
:
01100101 01111000 01100101 01110000 01101100
01100101
 Cet objet constitue un fichier mais comment savoir s’il s’agit
d’un texte que l’on doit décoder en utilisant le code ASCII, ou
bien s’il s’agit d’un son codé en MP3 ou en WMA ?
 Pour répondre à cette question, le nom du fichier est suivi de ce
que l’on appelle une extension, qui précise le format du
fichier, c’est-à-dire le code à utiliser pour lire ou écrire ce
fichier.
Reproduction interdite
Gestion des ressources
136
 Ainsi, si le fichier précédent est noté « exemple.txt », il
s’agit d’un texte en ASCII, s’il est noté « exemple.mp3 », il
s’agit d’un son enregistré au format MP3, etc. on dit que .txt et
.mp3 constituent des extensions du fichier « exemple ».
 Voici quelques exemples d’extensions :
 Pour les images : .jpg, .png,
 Pour les sons : .wma, .mp3,
 Pour les textes : .odt, .doc, .docx, .txt,
 Pour les feuilles de calculs : .xls, .xlsx, .csv, .ods,
 Pour les exécutables : .exe,
 Pour les vidéos : .avi, .divx, .wmv.
Reproduction interdite
Gestion des ressources
137
 Le choix du format d’enregistrement n’est pas anodin, si on
tape son CV sous un traitement de texte qui a un format qui lui
est spécifique (par exemple Word 2010 dont l’extension est
.docx) et si on l’enregistre dans ce format, alors seule une
personne ayant le même traitement de texte pourra le lire
correctement.
 Dans le cadre d’une recherche d’emploi, par exemple, cela peut
poser problème si le recruteur n’arrive pas à lire le CV d’un
candidat parce que ce dernier n’a pas pensé à l’enregistrer sous
un format plus universel tel que le format PDF.
Reproduction interdite
EXEMPLE DE CODEAGE : TEXTE
138
 Un code souvent utilisé pour écrire un texte en binaire est le code
ASCII : chaque caractère y est codé par un mot de 8 bits, le
premier bit étant toujours un zéro.
 On peut donc coder au maximum 27 = 128 caractères, chaque
caractère étant ainsi associé à un nombre entre 0 et 127 que l’on
écrit en binaire.
 la table ASCII est donnée dans les pages suivantes
 On voit par exemple que la lettre C est codée par le nombre 67
et la lettre c par 99.
Reproduction interdite
EXEMPLE DE CODEAGE : TEXTE
139
 Si on suppose que le texte suivant codé en ASCII signifie
« curriculum vitae ».
0110001101110101011100100111001001101001010001101110101011011000
111010101101101001000000111011001101001011101000110000101100101
 Si on peut décoder correctement ce texte, c’est parce que
l’on sait qu’il est écrit en ASCII. Sans cette information, on
ne peut pas le faire.
 En informatique, c’est l’extension du fichier qui permet de
connaître le code utilisé pour écrire le fichier et donc de le
déchiffrer. Ici l’extension est .txt
Reproduction interdite
EXEMPLE DE CODEAGE : TEXTE
140
Reproduction interdite
EXEMPLE DE CODEAGE : image
141
 Une image sur un écran est une juxtaposition de carrés appelés
pixels. Pour une image en couleur, dans le système rouge-vert-bleu
(en anglais RGB pour Red-Green-Blue), à chacun de ces pixels sont
associés trois zones de couleurs respectives rouge, verte et
bleue.
 Suivant la couleur que l’on souhaite donner au pixel, les intensités de
rouge, vert et bleu associées ne sont pas les mêmes.
 Par exemple pour obtenir la couleur blanche il faut que les trois zones
aient la même intensité lumineuse maximale alors que si on veut une
couleur jaune il faut que le vert et le rouge aient la même intensité et
que la zone bleue soit éteinte.
 Ainsi coder une image consiste à indiquer la valeur de l’intensité de
chaque zone, de chaque pixel.
Reproduction interdite
L’arborescence des fichiers
142
 Les fichiers contenus dans un périphérique de stockage sont
représentés par des images appelées icônes, qui changent en
fonction du format du fichier.
Reproduction interdite
L’arborescence des fichiers
143
 Les capacités de stockage sont telles qu’un périphérique
de stockage contient très rapidement des milliers de
fichiers.
 Pour s’y retrouver dans cette jungle de ressources, les fichiers
sont classés sous forme d’une arborescence, c’est-à-dire que
les fichiers sont regroupés en catégories homogènes
auxquelles on donne un nom significatif.
Reproduction interdite
L’arborescence des fichiers
144
 Par exemple, on regroupe toutes les photos de vacances dans
un dossier « saison2023 ». Ces dossiers peuvent être eux-
mêmes regroupés en catégories homogènes et ainsi de suite.
 Ainsi le dossier « saison2023 » est situé dans le dossier
« photos2023 » lui-même situé dans le dossier « photo »
lui-même situé dans le disque dur « C : »
Reproduction interdite
L’arborescence des fichiers
145
Disque
Photo Cours
Photos202
3
Photos202
4
Saison202
3
Informatique
TPE
Cristaux.
jpg
Compte_rendu.p
df
CorrectionDM1.p
df
DM1.pdf
Reproduction interdite
L’arborescence des fichiers
146
 La représentation schématique de cette organisation est celle d’un arbre
dont la racine est le disque dur, les branches partent de la racine vers
les dossiers qui contiennent des objets (fichiers ou dossiers) et
ainsi de suite.
 C’est pourquoi on parle d’une organisation arborescente. Les
différents objets contenus dans un arbre sont appelés des nœuds.
 Le chemin d’accès à un fichier est donné en listant les noms des
dossiers rencontrés en suivant la branche allant de la racine au
fichier recherché.
 Les dossiers sont représentés par des boites rectangulaires et les
fichiers par des ellipses.
 Le chemin du fichier DM1.pdf est :
disque/cours/informatique/DM1.pdf
Reproduction interdite
Droit d’accès d’un fichier
147
 Lors de recherches sur internet par exemple, on rencontre des
fichiers qu’il est possible de lire mais pas de modifier.
 Ceci vient du fait que l’auteur du fichier a choisi certains
paramètres d’accès pour son fichier.
 Ces choix dépendent de l’utilisation que l’on veut faire du
fichier. Par exemple lors d’un travail en groupe, chaque élève
souhaite que ses camarades puissent accéder au compte rendu
et le modifier.
Reproduction interdite
Droit d’accès d’un fichier
148
 Il faut donc enregistrer le fichier en autorisant son accès en
lecture et en écriture. Par contre, si on envoie son CV à
quelqu’un, on ne désire certainement pas qu’il puisse le
modifier, mais seulement qu’il puisse le lire. On choisit alors
l’accès en lecture seule.
 La procédure pour paramétrer les droits d’accès est plus ou
moins simple suivant le système d’exploitation. Sous les
systèmes Windows il faut aller dans les propriétés du fichier,
Sécurité, Modifier, puis cocher l’accès refusé.
Reproduction interdite
Droit d’accès d’un fichier
149
Reproduction interdite
changement d’extension d’un fichier
150
 Pour changer l’extension d’un fichier, on peut le renommer en
modifiant son extension (il faut pour cela que l’extension apparaisse
dans le nom, ce qui n’est pas toujours le cas avec Windows) ; cela
peut forcer une application à lire un fichier dont il ne reconnaissait pas
l’extension.
 Mais attention, modifier ainsi l’extension ne modifie pas la façon dont
le fichier a été encodé.
 Par conséquent, l’application peut mal lire ou ne pas y arriver même si
l’extension est la bonne. Pour changer correctement un .doc en
.pdf, par exemple, il faut l’ouvrir avec un logiciel lisant les .doc et
l’enregistrer à partir de ce logiciel en .pdf pour que la façon
d’encoder le fichier soit aussi modifiée.
Reproduction interdite
Compression d’un fichier
151
 Un album de music enregistré au format WAV est numérisé
avec une très grande qualité puisqu’il n’y a presque aucune
perte d’information par rapport à la version de l’audio.
 L’ennui, c’est qu’un album sous ce format nécessite environ 1
Go de mémoire. Cela signifie que sur un téléphone portable
ou un lecteur MP3 ayant une capacité d’environ 8 Go, on ne
peut mémoriser avec ce format que 8 albums.
 On est très loin des centaines ou des milliers de titres que l’on
souhaite conserver dans nos appareils numériques.
Reproduction interdite
Compression d’un fichier
152
 En fait les audios que nous écoutons le plus souvent ou les images
que nous voyons sont dans un format compressé, c’est-à-dire que le
fichier de départ subit des modifications qui permettent de réduire
sa taille.
 En effet, pour que les fichiers soit moins volumineux en termes de
mémoire, il faut éliminer de petites informations qui ne gênent pas
la compréhension ou ne modifient pas trop l’aspect du fichier.
 Par exemple, si le fichier est une image représentant un rectangle
rouge, avec un pixel noir, l’observateur à l’œil nu ne verra pas de
grande différence si l’on représente cette image par un rectangle
complètement rouge, la perte d’information est minime, mais le
gain de place est important car coder un rectangle constitué de
pixels identiques prend peu de place.
Reproduction interdite
Compression d’un fichier
153
 C’est l’idée sur laquelle est basée la compression d’un son au
format MP3 ou d’une image au format JPG.
 Ce type de compression engendre donc une légère baisse de
qualité du fichier, qui sera d’autant plus grande que la
compression sera importante. Le degré de compression dépendra
ainsi de l’usage et de la qualité souhaités pour le fichier.
 Un mélomane préfèrera un format non compressé alors qu’une
personne lambda ne verra pas la différence entre le fichier non
compressé et le fichier compressé.
Reproduction interdite
ALGORITHMES & PROGRAMMATION
154
CHAPITRE IV
Introduction aux algorithmes
Reproduction interdite
INTRODUCTION GENERALE
155
 Cours initie à la notion d’algorithmique, ses concepts et ses
fondements de base.
 L’accent est mis également sur les structures de données
nécessaires au développement algorithmique tout en insistant
sur le côté pratique à travers des exemples et des exercices.
 Le côté programmation est aussi fort présent dans ce support à
travers des exemples typiques de travaux pratiques. Le langage
Python sera utilisé à cette fin pour sa simplicité convenable aux
étudiants en phase d’initiation à la programmation.
Reproduction interdite
ALGORITHME
156
 La notion d'algorithme est à la base de toute la programmation
informatique.
 La définition la plus simple que l’on peut associer à cette notion
est qu’un algorithme est une suite ordonnée d’instructions qui
indique la démarche à suivre pour résoudre un problème ou
effectuer une tâche.
 Le mot algorithme vient du nom latinisé du mathématicien perse
AlKhawarizmi, surnommé « le père de l'algèbre ».
Reproduction interdite 157
 L’algorithmique est la science des algorithmes. Elle s’intéresse à
l’art de construire des algorithmes ainsi qu’à déterminer leur
validité, leur robustesse, leur réutilisabilité, leur complexité ou
leur efficacité.
 L’algorithmique permet ainsi de passer d’un problème à
résoudre à un algorithme qui décrit la démarche de résolution du
problème.
 Par conséquent, la programmation consiste à traduire un
algorithme dans un langage « compréhensible » par l’ordinateur
afin qu’il puisse être exécuté automatiquement.
ALGORITHME
Reproduction interdite 158
Etapes de développement.
ALGORITHME
Reproduction interdite
ALGORITHMIQUE
159
 La figure ci-dessus illustre les deux phases nécessaires pour
obtenir un code source :
 Phase d’algorithmique qui implique la recherche et l’écriture
d’un algorithme ;
 Phase de programmation qui consiste à traduire l’algorithme
obtenu en un programme à l’aide d’un langage de
programmation (C, Java, Python,…).
 Dans la première phase, on doit définir les données qu’on
dispose et les objectifs qu’on souhaite atteindre, ainsi que
prévoir des réponses à tous les cas possibles.
Reproduction interdite
ALGORITHMIQUE
160
Exemple : résolution d’une équation de second degré ax2+bx+c =
0
→ Les données sont a, b et c
→ Les sorties sont x1 et x2
→ Les cas : a=0 et b≠0, a = 0 et b = 0, a ≠0 , ……
Reproduction interdite 161
Principe général
 Le traitement automatique de l’information consiste à
exécuter des instructions (opérations élémentaires et
complexes) sur des données d’entrée afin de générer
d’autres informations appelées résultats ou données de
sortie.
TRAITEMENT
Données Résultats
Entrée
(Input)
Sortie
(Output)
Principe du traitement automatisé.
ALGORITHMIQUE
Reproduction interdite 162
Exemple : Calcul de la moyenne d’un étudiant
 Supposons qu’on doit calculer la moyenne d’un étudiant
pour un ensemble de matières.
 On doit donc :
1) Définir le nombre des matières concernées ainsi que
les notes et les coefficients ;
2) Réaliser les opérations suivantes :
 Multiplier chaque note d’une matière par son
coefficient,
 Calculer la somme des résultats des multiplications,
 Diviser la somme obtenue par le total des
coefficients,
3) Afficher le la moyenne de l’étudiant (résultat final).
ALGORITHMIQUE
Reproduction interdite 163
Remarque :
 Lorsqu’on écrit un algorithme, les questions suivantes
doivent être considérées :
 Quel est le résultat attendu ?
 Quelles sont les données nécessaires (informations
requises) ?
 Comment faire (le traitement à réaliser) ?
ALGORITHMIQUE
Reproduction interdite 164
Caractéristiques des algorithmes :
Structure générale
 Un algorithme se compose généralement de deux parties :
 Partie déclarative : appelée aussi entête de
l’algorithme, elle contient généralement les
déclarations (des constantes, des variables, etc.).
 Partie corps de l’algorithme : constituée d’une ou
plusieurs séquences d’instructions faisant appel à des
opérations de base à exécuter par l’ordinateur.
ALGORITHMIQUE
Reproduction interdite 165
Algorithme <Nom de l’algorithme>
La partie
déclarative
Le corps de
l’algorithme
Constante
<Liste des constantes avec leurs valeurs>
Variable
<Liste de variables suivis de leurs types>
DEBUT
FIN
<Séquence d’instruction>
L’entête
ALGORITHMIQUE
Reproduction interdite 166
Les variables et les constantes
 L’élément unitaire de stockage de l’information est appelé
bit. Un bit ne peut avoir que deux états distincts : 0 ou 1
(vrai ou faux dans la logique).
 Dans la mémoire de l’ordinateur, les données sont
manipulées par groupes de 8 bits (octets), ou plus (mots
de 16, 32, 64 bits,…).
 Une case mémoire est donc appelée mot et pour que l’unité
centrale puisse stocker une information et la retrouver
dans la mémoire, chaque mot est repéré par une adresse.
ALGORITHMIQUE
Reproduction interdite 167
 Dans la programmation, les adresses mémoire sont représentées
par des noms. Le programmeur ne connait pas donc l’adresse
d’une case mais plutôt son nom.
 Il y a donc deux façons de voir la mémoire centrale de l’ordinateur
: côté programmeur et côté ordinateur tel qu’il est illustré, à titre
d’exemple, dans le schéma suivant.
ALGORITHMIQUE
Reproduction interdite 168
Organisation de la mémoire.
ALGORITHMIQUE
Reproduction interdite 169
Les variables
 Une variable est une case mémoire destiné à contenir des
valeurs de type défini au préalable (nombres, caractères,
chaînes de caractères,…). [a-z], [A-Z], [0, 9], "_"
 Elle possède un nom, un type, et un contenu qui peut être
modifié au cours de l’exécution de l’algorithme. Une
variable ne doit pas commencer par un chiffre.
Le mot clé est : Variable
ALGORITHMIQUE
Reproduction interdite 170
Les constantes
 La définition d’une constante est la même que celle d’une
variable à la différence que sa valeur reste inchangée tout au
long du déroulement (exécution) de l’algorithme.
Le mot clé est : Constante
ALGORITHMIQUE
Reproduction interdite 171
Les variables et les constantes sont déclarées selon la syntaxe
suivante :
Syntaxe :
Variable <nom_variable> : type
Constante <nom_constante> = valeur
Remarque :
 Dans la partie déclarative, les variables et les constantes
sont caractérisées essentiellement par :
 Un identificateur : est un nom attribué à la variable ou
à la constante, qui peut être composé de lettres et de
chiffres mais sans espaces.
 Un type : qui définit la nature et la taille de la variable.
ALGORITHMIQUE
Reproduction interdite 172
Exemple :
Variable x, y : entier
Constante alpha = 0.5
 Dans cet exemple, nous avons déclaré :
 Deux variables (x et y) de type entier, ce type est décrit
dans la sous-section suivante.
 Une constante (alpha) égale à la valeur 0.5 à titre
d’exemple.
ALGORITHMIQUE
Reproduction interdite 173
Les types de base :
 Le type d’une variable définit l’ensemble des valeurs que
peut prendre la variable, ainsi que l’ensemble des
opérations que l’on peut appliquer sur cette variable.
 Il existe des types simples prédéfinis tels que : entier,
réel, caractère, booléen et chaîne de caractères
ALGORITHMIQUE
Reproduction interdite 174
Type entier :
 C’est un type numérique représentant l’ensemble des
entiers relatifs, tels que : -9, 0, 31, ….
 Les opérations permises sur ce type sont : +, - , *, div
(division entière) et mod (modulo ou reste de la division
entière).
Le mot clé est : entier
Exemple : Variable x : entier
ALGORITHMIQUE
Reproduction interdite 175
Type réel :
 C’est un type numérique aussi représentant l’ensemble des
nombres réels, tels que : 0.25, -1.33, 2.5 e+10,… .
 Les opérations permises sur ce type sont : +, -, * et /.
Le mot clé est : réel
Exemple : Variable y : réel
ALGORITHMIQUE
Reproduction interdite
ALGORITHMIQUE
176
Type caractère :
Ce type représente tous les caractères alphanumériques tels que :
′a′, ′A′, ′3′, ′%′, ′ ′, …
Les opérations supportées par ce type sont : =, ≠, <, <=, >,
>=.
Le mot clé est : caractère
Exemple : Variable a : caractère
Reproduction interdite 177
Type booléen :
 Ce type est utilisé dans la logique pour représenter les deux
valeurs : vrai et faux.
 Les opérations prises en charge sont : NON, ET, OU.
Le mot clé est : booléen
Exemple : Variable b : booléen
ALGORITHMIQUE
Reproduction interdite 178
Type Chaîne de caractères :
 Ce type représente les mots et les phrases tels que
"Algorithmique", "Cours", etc.
 Le mot clé utilisé est : chaîne
Exemple : Variable c : chaîne
Globalement, la partie déclarative d’un algorithme peut
être représentée comme suit.
ALGORITHMIQUE
Reproduction interdite 179
Exemple :
Variable x, y : entier
z, w : réel
lettre : caractère
nom : chaîne
Etat : booléen
Constante N = 100
arobase = ′@′
mot = "bonjour"
ALGORITHMIQUE
Reproduction interdite
CONCLUSION
180
Ce chapitre constitue une initiation aux notions basiques de
l’écriture des algorithmes.
La syntaxe d’un algorithme, la notion de variable et de
constante, ainsi que leurs types sont définies et expliqués à
travers des exemples simples.
Ceci constitue pour le lecteur un prérequis de base qui lui
permettra de comprendre la notion d’instructions
algorithmiques dans les prochains chapitres.
Reproduction interdite
ALGORITHMES & PROGRAMMATION
181
CHAPITRE V
LES INSTRUCTIONS SIMPLES
Reproduction interdite
INTRODUCTION
182
 Un algorithme, par définition, est un ensemble
d’instructions qui peuvent être simples ou
complexes.
 Dans ce chapitre, on s’intéressera aux instructions
simples notamment : les instructions d’affectation,
de lecture et d’écriture.
Reproduction interdite
L’INSTRUCTION D’AFFECTATION
183
 Cette instruction est élémentaire en algorithmique, elle
permet d’assigner une valeur à une variable selon la syntaxe
suivante :
variable  expression
 Une instruction d’affectation est exécutée comme suit :
 évaluation de l’expression située à droite de
l’instruction,
 et affectation du résultat à la variable située à gauche de
l’instruction.
 L’expression peut être :
 une constante : c  10
 une variable : v  x
 une expression arithmétique : e  x + y
 une expression logique : d  a OU b
Reproduction interdite
L’INSTRUCTION D’AFFECTATION
184
Remarque :
 Une constante ne figure jamais à gauche d’une instruction
d’affectation.
Exemple d’instruction fausse :
Constante z = 1
z  2 « Faux »
 Après une affectation, l’ancien contenu d’une variable est
substitué (écrasé) par le nouveau contenu.
Exemple : Variable a : entier
a  1
a  2
Après la deuxième affectation, la valeur de a est devenue 2
(la valeur 1 est écrasée).
Reproduction interdite
L’INSTRUCTION D’AFFECTATION
185
 Une instruction d’affectation doit se faire entre deux types
compatibles.
Exemple : Variable x, y : entier z : réel a, b : caractère
Instructions correctes Instructions incorrectes
x  y
y  x
z  x
a  b
b  a
x  z
x  a
b  y
a  z
Reproduction interdite
L’INSTRUCTION D’AFFECTATION
186
 Les expressions arithmétiques ou logiques sont composées
d’au moins deux termes reliés par un ou plusieurs opérateurs
dont on peut distinguer :
a) Les opérateurs arithmétiques (par ordre de
priorité) :
^ : Puissance
* , / , mod, div : Multiplication, Division, Reste de la
division entière (Modulo), Quotient de la division entière
+ , - : Addition et Soustraction
Reproduction interdite
L’INSTRUCTION D’AFFECTATION
187
b) Les opérateurs logiques ou booléens :
NON : Non logique (négation)
ET : Et logique (conjonction)
OU : Ou logique (disjonction)
Reproduction interdite 188
Table de vérité
Expressions Résultat
Vrai
Faux
NON(13.4 < 15) Faux
L’INSTRUCTION D’AFFECTATION
Reproduction interdite
L’INSTRUCTION D’AFFECTATION
189
c) Les opérateurs de comparaison ou relationnels :
> , >= : supérieur et supérieur ou égal
< , <= : inférieur et inférieur ou égal
= , ≠ (ou <>) : égal et différent
Remarque :
 Les expressions logiques peuvent être composées des opérateurs
logiques et/ou relationnels.
Par exemple, (A < 20) ET (B >= 10) est Vrai si A est inférieur à
20 et B est égal ou supérieur à 10, et faux sinon.
Reproduction interdite
L’INSTRUCTION de lecture
190
 Cette instruction est très primordiale dans un
algorithme.
 Elle permet de lire des valeurs en entrée (input) et les
affecter aux variables stockées dans la mémoire.
 Les valeurs affectées sont souvent des données
introduites à partir d’un périphérique d’entrée tel que le
clavier.
Syntaxe : Lire(var1, var2,…)
Exemple :
Lire(x) : lit et stocke une valeur donnée dans la case
mémoire associée à x.
Lire(x,y) : lit et stocke deux valeurs, la première dans x
et la deuxième dans y.
Reproduction interdite
L’INSTRUCTION de lecture
191
Illustration :
Opération de lecture
Reproduction interdite
L’INSTRUCTION D’ecriture
192
 Cette instruction est aussi d’une grande importance dans
les algorithmes.
 Elle permet d’écrire en sortie (output) les données résultant
d’un traitement effectué par l’algorithme (valeur, texte, …)
en les affichant par exemple sur un périphérique de sortie
tel que l’écran.
Syntaxe :
Ecrire(var1, var2, expr1, expr2, …)
Reproduction interdite
L’INSTRUCTION D’ecriture
193
Remarque :
 Dans le cas d’écriture d’une expression, c'est le résultat
d’évaluation de cette expression qui est affiché et non pas
l’expression elle-même.
Par exemple :
Soient deux variables x et y tel que x = 5 et y = 7,
l’instruction : Ecrire(x + y)
Affiche en sortie le résultat d’addition de x et y (soit 12).
Reproduction interdite
L’INSTRUCTION d’ECRITURE
194
Illustration :
Opération d’écriture
Reproduction interdite
EXEMPLE
195
 Ecrire un algorithme qui calcule la moyenne de deux réels
Reproduction interdite 196
TRAITEMENT
x , y
z
Lire(x,y)
Ecrire(z)
 Analyse 1 :
 Données d’entrée
: x, y
 Donnée de sortie
: z
EXEMPLE
Reproduction interdite 197
Algorithme Moyenne_deux_réels
Variable x, y, z : réel
Début
Lire(x)
Lire(y)
...
Ecrire (z)
Fin
EXEMPLE
Reproduction interdite 198
Algorithme Moyenne_deux_réels
Variable x, y, z : réel
Début
Lire(x, y)
...
Ecrire (z)
Fin
EXEMPLE
Reproduction interdite 199
Algorithme
Moyenne_deux_réels
Variable x, y, z : réel
Début
Ecrire(″Donner deux
valeurs : ″)
Lire(x, y)
...
Ecrire (″La moyenne est :
″, z)
Fin
EXEMPLE
 Analyse 2 :
1. Faire la somme de
x et y
2. La diviser par 2
3. L’affecter dans z
Reproduction interdite 200
Algorithme Moyenne_deux_réels
Variable x, y, z : réel
Début
Ecrire(″Donner deux valeurs: ″)
Lire(x, y)
z  (x + y)/2
Ecrire (″La moyenne est : ″, z)
Fin
EXEMPLE
Reproduction interdite 201
Algorithme Moyenne_deux_réels
Variable x, y, z : réel
Début
Ecrire(″Donner deux valeurs : ″)
Lire(x, y)
z  (x + y)/2
Ecrire (″La moyenne est : ″, z)
{ On peut remplacer les deux dernières instructions
par une seule : }
Ecrire (″La moyenne est : ″, (x + y)/2 ) { dans ce
cas, pas besoin de z }
Fin
 Dans cet algorithme, si l’utilisateur introduit 10 pour x et
20 pour y alors l’affichage sera : La moyenne est : 15
EXEMPLE
Reproduction interdite
CONCLUSION
202
 Dans ce chapitre, nous avons présenté les instructions
algorithmiques fondamentales à savoir l’affectation, la
lecture et l’écriture.
 Ces trois instructions simples sont incontournables dans
l’écriture d’un algorithme et constituent l’un des moyens les
plus simples qui permettent au programmeur d’interagir
avec son ordinateur à travers des actions
d’entrées/sorties.
Reproduction interdite
ALGORITHMES & PROGRAMMATION
203
CHAPITRE VI
instructions conditionnelles
(les alternatives)
Reproduction interdite
INTRODUCTION
204
 Les algorithmes comportent généralement deux types
d’instructions :
 Les instructions simples : qui permettent la manipulation
des variables telles que l’affectation, la lecture et
l’écriture.
 Les instructions de contrôle : qui précisent
l’enchainement chronologique des instructions simples.
 C’est en particulier le cas des instructions conditionnelles
ou les tests.
Reproduction interdite
Structure d’un test : forme simple
205
 Il existe deux formes de test : forme simple (ou réduite)
et forme complète.
 Dans la forme simple (ou réduite), une action qui
correspond à une ou plusieurs instructions, est exécuté si une
condition est vérifiée.
 Sinon l’algorithme passe directement au bloc d’instruction
qui suit immédiatement le bloc conditionnel.
Reproduction interdite 206
Si (condition)
Alors
Instruction(s)
Finsi
Structure d’un test : forme simple
Reproduction interdite 207
Remarque :
La condition évaluée après l’instruction « SI » est une
variable ou une expression booléenne qui, à un moment
donné, est vraie ou fausse. Par exemple : x=y, x<=y
x  5
y  9
Dans cet exemple, le message ″x est égale à y″ ne sera
pas affiché puisque la condition (x = y) n’est pas
vérifiée.
Si (x = y) Alors
Ecrire(″x est égale à y″)
Finsi
Structure d’un test : forme simple
Reproduction interdite 208
 La forme complète permet de choisir entre deux
actions selon qu’une condition est vérifiée ou non.
Si (condition) Alors
Instruction(s)
1
Sinon
Instruction(s)
2
Finsi
Structure d’un test : forme complète
Reproduction interdite 209
Remarque :
Certains problèmes exigent parfois de formuler des conditions
qui ne peuvent pas être exprimées sous la forme d’une simple
comparaison.
Par exemple, la condition x ∈ [0, 1[ s’exprime par la
combinaison de deux conditions x >= 0 et x < 1 qui doivent
être vérifiées en même temps.
Pour combiner ces deux conditions, on utilise les opérateurs
logiques. Ainsi, la condition x ∈ [0, 1[ pourra s’écrire sous la
forme : (x >= 0) ET (x < 1).
Cette dernière est appelée une condition composée ou
complexe.
Structure d’un test : forme complète
Reproduction interdite 210
Exemple (sur la forme complète d’un test) :
x  5
y  9
 Avec cette forme, on peut traiter les deux cas possibles. Si
la condition (x=y) est vérifiée, le premier message est affiché,
si elle n’est pas vérifiée, le deuxième message est affiché.
Si (x = y) Alors
Ecrire(″x est égale à y″)
Sinon
Ecrire(″x est différente de
y″)
Finsi
Structure d’un test : forme complète
Reproduction interdite 211
 La forme « Si … Alors … Sinon » permet deux choix
correspondants à deux traitements différents.
 Dans d’autres situations, on pourra avoir plus de deux cas,
ce qui rend cette alternative insuffisante pour traiter tous les
cas possibles.
 La forme complète permet de choisir entre plusieurs actions
en imbriquant des formes simples selon la syntaxe ci-
dessous.
Structure d’un test : tests imbriqués
Reproduction interdite 212
Si (condition1) Alors
Traitement 1
Sinon Si (condition2) Alors
Traitement 2
Sinon Si (condition3)
Alors
Traitement 3
…
Sinon
Traitement N
Finsi
Finsi
Finsi
Structure d’un test : tests imbriqués
Reproduction interdite 213
Exemple (Etat de l’eau) :
 Dans les conditions normales de température et de
pression, l’eau est sous forme de glace si la température
est inférieure ou égale à 0° C, sous forme de liquide si la
température est comprise entre 0° C et 100° C et sous
forme de vapeur au-delà de 100° C.
 Ecrivons l’algorithme qui permet de vérifier l’état de
l’eau selon sa température.
Structure d’un test : tests imbriqués
Reproduction interdite 214
Algorithme Etat_Eau
Variable t : Réel
Début
Ecrire("Donner la température de
l’eau :")
Lire(t)
Si (t <= 0) Alors
Ecrire("Etat solide")
Finsi
Si ((t > 0) ET (t < 100)) Alors
Ecrire("Etat liquide")
Finsi
Si (t >= 100) Alors
Ecrire("Etat gazeux")
Finsi
Fin
Structure d’un test : tests imbriqués
Reproduction interdite 215
 Cet algorithme est correct mais il évalue les trois conditions qui
portent sur la même variable et qui sont exclusives.
 En effet, si (t <= 0), alors on ne peut pas avoir (t >= 0 et t <
100) ni (t > 100).
 Il est donc inutile d’évaluer les deux dernières conditions si la
première est vérifiée, ou d’évaluer la dernière condition si la deuxième
est vérifiée.
 Pour éviter ce cas de figure, il sera préférable d’utiliser des tests
imbriqués comme suit :
Structure d’un test : tests imbriqués
Reproduction interdite 216
…
Début
Ecrire("Donner la température de
l’eau:")
Lire(t)
Si (t <= 0) Alors
Ecrire("Etat solide")
Sinon Si (t < 100) Alors
Ecrire("
Etat liquide")
Sinon
Ecrire("Etat
gazeux")
Finsi
Finsi
Fin
Structure d’un test : tests imbriqués
Reproduction interdite 217
Donc, l’utilisation de tests imbriqués permet de :
 Simplifier le pseudo-code : à travers l’imbrication nous n’avons
utilisé que deux conditions simples au lieu de trois conditions
dont une, est composée.
 un algorithme (ou programme) plus simple et plus lisible.
 Optimiser le temps d’exécution : dans le cas où la première
condition est vérifiée, l’algorithme passe directement à la fin,
sans tester le reste qui est forcément faux.
 un algorithme (ou programme) plus performant à l’exécution.
Structure d’un test : tests imbriqués
Reproduction interdite 218
Remarque :
 Nous avons les équivalences suivantes :
NON(A ET B) ⇔ NON(A) OU NON(B)
NON(A OU B) ⇔ NON(A) ET NON(B)
 Ainsi, toute structure de test avec l’opérateur logique ET
peut être exprimée d’une manière équivalente avec
l’opérateur logique OU et vice-versa.
 Par conséquent, les deux alternatives suivantes sont
équivalentes
Structure d’un test : tests imbriqués
Reproduction interdite 219
Structure d’un test
Si (A ET B) Alors
Instruction(s)
1
Sinon
Instruction(s)
2
Finsi
Si (NON(A) OU NON(B))
Alors
Instruction(s) 2
Sinon
Instruction(s) 1
Finsi
Reproduction interdite 220
 Il existe une autre variante d’instructions conditionnelles qui
permet d’effectuer des actions différentes suivant les
différentes valeurs que peut avoir une variable.
 Cette structure est écrite comme suit :
Les choix multiples
Reproduction interdite 221
Syntaxe :
Selon (variable)
Valeur1 : instruction(s) 1
Valeur2 : instruction(s) 2
…
ValeurN : instruction(s) N
Défaut : instruction(s)
par défaut
Finselon
Les choix multiples
Reproduction interdite 222
Remarque :
 Dans la structure de test à choix multiples :
 L’action peut être une suite d’instructions ;
 La valeur est une constante de même type que la variable ;
 La partie « défaut » est exécutée si aucun des autres cas
n’est vérifié ;
 L’exécution des différents cas (y compris le cas par
défaut) est exclusive c’est-à-dire l’exécution d’un seul cas
provoque la sortie de cette structure.
Les choix multiples
Reproduction interdite 223
Exemple :
 Dans ce qui suit, le nom du jour de la semaine
correspondant est affiché selon la valeur de la variable
« jour ».
Les choix multiples
Reproduction interdite 224
jour  5
Selon(jour)
1 : Ecrire("Dimanche")
2 : Ecrire("Lundi")
3 : Ecrire("Mardi")
4 : Ecrire("Mercredi")
5 : Ecrire("Jeudi")
6 : Ecrire("Vendredi")
7 : Ecrire("Samedi")
Défaut : Ecrire("Numéro de jour invalide.")
Finselon
 Donc, l’expression « Jeudi » est affichée dans ce cas.
Les choix multiples
Reproduction interdite 225
 Dans ce chapitre, nous avons présenté le principe de la
condition, suivant lequel un algorithme peut effectuer une
action ou prendre une décision.
 Ceci est mis en œuvre à travers les instructions
conditionnelles ou tout simplement les tests avec leurs
différentes formes vues précédemment.
Conclusion
Reproduction interdite
ALGORITHMES & PROGRAMMATION
226
CHAPITRE VI
instructions itératives
(les boucles)
Reproduction interdite 227
 Pour calculer la moyenne générale d’un étudiant, il faut
répéter la séquence d’instructions qui permet de calculer la
moyenne générale :
 Lire toutes les notes (et leurs coefficients) de l’étudiant,
 Calculer la somme des notes,
 Diviser la somme obtenue sur le nombre (ou sur la
somme des coefficients).
 Si l’on veut maintenant calculer la moyenne d’un autre
étudiant, les mêmes instructions doivent être répétées.
 Pour N d’étudiants, il nous faudra donc répéter N fois la
même séquence d’instructions.
INTRODUCTION
Reproduction interdite 228
 Il se pose deux questions importantes :
1) Comment éviter d’écrire plusieurs fois la même
séquence d’instructions ?
2) Combien de fois doit-on répéter l’exécution de la
séquence d’instructions pour obtenir le résultat attendu
?
 Pour répondre à cette question, de nouvelles instructions de
contrôle sont introduites. Il s’agit des instructions itératives
(appelées aussi les boucles ou les itérations).
INTRODUCTION
Reproduction interdite 229
 Une boucle (ou itération) est une instruction de contrôle qui
permet de répéter plusieurs fois un ensemble
d’instructions.
 Généralement, deux cas sont distingués :
 Le nombre de répétitions est connu.
 Le nombre des répétitions est inconnu ou variable.
Définition
Reproduction interdite 230
 Lorsque le nombre de répétitions est déterminé (connu),
l’utilisation de l’instruction « Pour … Faire » est privilégiée.
 Une structure de boucle avec l’instruction « Pour » s’arrête une
fois que le nombre de répétitions est atteint.
 Cette structure possède un indice (compteur) de contrôle
d’itérations caractérisé par :
 une valeur initiale (vi),
 une valeur finale (vf),
 un pas de variation .
L’instruction « Pour … Faire »
Reproduction interdite 231
Pour <indice> de <vi> à <vf> [Pas <val_pas>]
Faire
Instruction(s)
FinPour
 Cette structure est dite « croissante » lorsque la valeur initiale vi
de l’indice est inférieure à sa valeur finale vf, le pas de variation
est par conséquent positif. Autrement, elle est dite «
décroissante ».
L’instruction « Pour … Faire »
Reproduction interdite 232
L’instruction « Pour … Faire »
Reproduction interdite 233
L’instruction « Pour … Faire »
 Exemple : un compteur croissant/décroissant
Les deux algorithmes suivants comptent de 1 à N et de N à 1
respectivement.
Algorithme compteur_croissant
Variable i : entier
Constante N=100
Début
Pour i de 1 à N Faire
Ecrire(i)
FinPour
Fin
Algorithme compteur_decroissant
Variable i : entier
Constante N=100
Début
Pour i de N à 1 Faire
Ecrire(i)
FinPour
Fin
 Remarque : Si la valeur du « pas » n’est pas précisée dans
l’instruction « Pour », elle est par défaut égale à un (1).
Résultat d’exécution : 1, 2, 3, …, 99, 100 Résultat d’exécution
: 100, 99, 98, …, 2, 1
Reproduction interdite 234
L’instruction « Tant que … faire »
 Cette instruction permet de tester une condition et répéter
le traitement associé tant que cette condition est vérifiée.
Tant que (condition)
Faire
Instruction(s)
Fintq
Reproduction interdite 235
L’instruction « Tant que … faire »
Exemple : Réécrivons l’algorithme précédent avec cette
instruction.
Variable i : entier
Début
i  1
Tant que (i<=100) Faire
Ecrire(i)
i i+1
Fintq
Fin
Reproduction interdite 236
L’instruction « Répéter … jusqu’à »
 Dans cette instruction, un traitement est exécuté au moins une
fois puis sa répétition se poursuit jusqu’à ce que la condition
soit vérifiée.
Répéter
Instruction(s)
Jusqu’à (condition)
Reproduction interdite 237
L’instruction « Répéter … jusqu’à »
Exemple : Soit l’algorithme suivant :
Variables n, p : entier
Début
Répéter
Ecrire("Donner un nombre :")
Lire(n)
p  n*n
Ecrire(p)
Jusqu’à (n=0)
Ecrire("Fin de l’algorithme")
Fin
Reproduction interdite 238
L’instruction « Répéter … jusqu’à »
 Les instructions encadrées par les mots répéter et jusqu’à
constituent le bloc de la boucle qu’il faut répéter jusqu’à ce
que la condition (n=0) soit vérifiée.
 Donc le nombre de répétitions de cette boucle dépend des
données fournies par l’utilisateur.
 Question ?
 Réécrire l’algorithme précédent avec « Tant que … Faire
» puis avec « Pour … Faire ».
Reproduction interdite 239
L’instruction « Répéter … jusqu’à »
 Remarque :
 Dans la boucle « Répéter … Jusqu’à », la condition
constitue une condition d’arrêt de la boucle.
 Dans la boucle « Tant que … Faire », la condition est
une condition de réalisation de la boucle.
Reproduction interdite 240
La notion dE compteur
 Un compteur est une variable associée à la boucle dont la
valeur est incrémentée de un (1) à chaque itération.
 Elle sert donc à compter le nombre d’itérations
(répétitions) de la boucle.
 La notion du compteur est associée particulièrement aux deux
boucles : « Répéter … Jusqu’à » et « Tant que … Faire
».
 Par contre, dans la boucle « Pour … Faire », c’est l’indice
qui joue le rôle du compteur.
Reproduction interdite 241
La notion dE compteur
cpt  0
Répéter
instruction(s)
…
cpt  cpt + 1
Jusqu’à (condition)
cpt  0
Tant que (condition) Faire
instruction(s)
…
cpt  cpt + 1
FinTq
Bloc de la
boucle
Reproduction interdite 242
La notion dE compteur
 Remarque :
 Il faut toujours initialiser le compteur avant de commencer le
comptage.
 La variable « cpt » (utilisée ci-dessus comme compteur), a été
initialisée à zéro (0) avant le début de chaque boucle.
 L’instruction « cpt  cpt +1 » incrémente la valeur de « cpt
» de un (1).
 Elle peut être placée n’importe où à l’intérieur du bloc de la
boucle.
Reproduction interdite 243
La notion dE compteur
 Exemple :
i  0
Répéter
Ecrire(i)
i  i+1
Jusqu’à (i=5)
i  0
Tant que (i<5) Faire
Ecrire(i)
i  i+1
FinTq
Résultat d’exécution : 0, 1, 2, 3, 4, 5 Résultat
d’exécution : 0, 1, 2, 3, 4
Reproduction interdite 244
La notion d’accumulation
 Cette notion est fondamentale en programmation.
 Elle est utilisée notamment pour calculer la somme d’un
ensemble de valeurs.
 L’instruction correspondante se présente ainsi :
variable  variable + valeur
 Cette instruction consiste à ajouter une valeur à une
variable numérique, puis affecter le résultat dans la
variable elle-même.
 En d’autres termes, la nouvelle valeur de variable est
égale à l’ancienne plus une certaine valeur.
Reproduction interdite 245
 Exemple : calcul de la somme de n valeurs données par l’utilisateur :
Variables i, n : entier
som, val : réel
Début
Écrire ("Donner le nombre de valeurs
:")
Lire(n)
som  0
Pour i de 1 à n Faire
Écrire("Enter une valeur :")
Lire(val)
som  som + val
FinPour
Écrire("La somme des valeurs est égale
à :", som)
Fin
La notion d’accumulation
Reproduction interdite 246
Les boucles imbriquées
 Exemple : Les boucles peuvent être imbriquées les unes dans les
autres. Deux ou plusieurs boucles imbriquées peuvent être aussi
les mêmes ou différentes.
Pour i de 1 à 2 Faire
Écrire("i = ",i)
Pour j de 1 à 3 Faire boucle 1
Écrire("j = ",j) boucle 2
FinPour
FinPour
Reproduction interdite 247
Les boucles imbriquées
 Dans l’exemple ci-dessus, chaque itération de la boucle extérieure
(boucle 1) exécute la boucle intérieure (boucle 2) jusqu’à la fin avant
de passer à l’itération suivante, et ainsi de suite jusqu’à la fin des
deux boucles.
 Ainsi, le résultat d’exécution peut être représenté comme suit :
i = 1
j = 1
j = 2
j = 3
i = 2
j = 1
j = 2
j = 3
Reproduction interdite 248
Les boucles imbriquées
 Remarque :
 Des boucles peuvent être imbriquées ou successives.
 Cependant, elles ne peuvent jamais être croisées.
 Par exemple, l’algorithme suivant est faux puisqu’il
comporte deux boucles croisées :
Reproduction interdite 249
Les boucles imbriquées
Variables i, j : entier
Début
i1
j1
Répéter
Écrire(i)
Répéter
Écrire(j)
ii+1
Jusqu’à (i>2)
jj+1
Jusqu’à (j>3)
Fin
Reproduction interdite 250
Conclusion
 Ce chapitre a été consacré aux structures itératives ou
boucles qui permettent de répéter l’exécution d’une
séquence d’instructions plusieurs fois selon un nombre
fixe ou certains critères dont l’utilisation a été explicitée à
travers différents exemples.
 Ainsi, ces instructions sont d’une grande importance dans la
manipulation de certaines structures de données telles
que les tableaux que nous aborderons dans le prochain
chapitre.

Contenu connexe

Similaire à Programmation en Python CPGE sup management

Cours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptxCours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptxAbdo Brahmi
 
Programmation en technologie (C.Blin)
Programmation en technologie (C.Blin)Programmation en technologie (C.Blin)
Programmation en technologie (C.Blin)APMEPIledeFrance
 
Cours informatiQue Pr.Siham HAIMER
Cours informatiQue Pr.Siham HAIMERCours informatiQue Pr.Siham HAIMER
Cours informatiQue Pr.Siham HAIMERأبو وردة
 
Programmation-en-C-ESIITECH-2023-2024-bis.pptx
Programmation-en-C-ESIITECH-2023-2024-bis.pptxProgrammation-en-C-ESIITECH-2023-2024-bis.pptx
Programmation-en-C-ESIITECH-2023-2024-bis.pptxOlyvierNzighou1
 
Cours d'informatique du prof Heimer
Cours d'informatique du prof HeimerCours d'informatique du prof Heimer
Cours d'informatique du prof Heimerrochats
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threadsSana Aroussi
 
Algorithmique_et_programmation_part3_V2
Algorithmique_et_programmation_part3_V2Algorithmique_et_programmation_part3_V2
Algorithmique_et_programmation_part3_V2Emeric Tapachès
 
Programmation-en-C-ESIITECH-2023-2024.pptx
Programmation-en-C-ESIITECH-2023-2024.pptxProgrammation-en-C-ESIITECH-2023-2024.pptx
Programmation-en-C-ESIITECH-2023-2024.pptxOlyvierNzighou1
 
introduction microinformatiques olvay.ppt
introduction microinformatiques olvay.pptintroduction microinformatiques olvay.ppt
introduction microinformatiques olvay.pptNesrineLaradji
 
Technologies du Web - Architectures matérielles et logicielles
Technologies du Web - Architectures matérielles et logiciellesTechnologies du Web - Architectures matérielles et logicielles
Technologies du Web - Architectures matérielles et logiciellesFrédéric Simonet
 
0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.pptDenisKouakou1
 
Cour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouarCour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouarAnouar Sghaier
 
cours_informatique_appliquée_lpcc_2024.pptx
cours_informatique_appliquée_lpcc_2024.pptxcours_informatique_appliquée_lpcc_2024.pptx
cours_informatique_appliquée_lpcc_2024.pptxadonisyao
 
Introduction système d'exploitation-chapitre 1-cours 1
Introduction système d'exploitation-chapitre 1-cours 1Introduction système d'exploitation-chapitre 1-cours 1
Introduction système d'exploitation-chapitre 1-cours 1AitAddiHajar
 

Similaire à Programmation en Python CPGE sup management (20)

Cours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptxCours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptx
 
Programmation en technologie (C.Blin)
Programmation en technologie (C.Blin)Programmation en technologie (C.Blin)
Programmation en technologie (C.Blin)
 
Cours informatiQue Pr.Siham HAIMER
Cours informatiQue Pr.Siham HAIMERCours informatiQue Pr.Siham HAIMER
Cours informatiQue Pr.Siham HAIMER
 
Programmation-en-C-ESIITECH-2023-2024-bis.pptx
Programmation-en-C-ESIITECH-2023-2024-bis.pptxProgrammation-en-C-ESIITECH-2023-2024-bis.pptx
Programmation-en-C-ESIITECH-2023-2024-bis.pptx
 
Cours d'informatique du prof Heimer
Cours d'informatique du prof HeimerCours d'informatique du prof Heimer
Cours d'informatique du prof Heimer
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
 
IntroCours1.pdf
IntroCours1.pdfIntroCours1.pdf
IntroCours1.pdf
 
Algorithmique_et_programmation_part3_V2
Algorithmique_et_programmation_part3_V2Algorithmique_et_programmation_part3_V2
Algorithmique_et_programmation_part3_V2
 
_JCVFr
_JCVFr_JCVFr
_JCVFr
 
Programmation-en-C-ESIITECH-2023-2024.pptx
Programmation-en-C-ESIITECH-2023-2024.pptxProgrammation-en-C-ESIITECH-2023-2024.pptx
Programmation-en-C-ESIITECH-2023-2024.pptx
 
introduction microinformatiques olvay.ppt
introduction microinformatiques olvay.pptintroduction microinformatiques olvay.ppt
introduction microinformatiques olvay.ppt
 
Technologies du Web - Architectures matérielles et logicielles
Technologies du Web - Architectures matérielles et logiciellesTechnologies du Web - Architectures matérielles et logicielles
Technologies du Web - Architectures matérielles et logicielles
 
0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt0081-cours-systemes-exploitations.ppt
0081-cours-systemes-exploitations.ppt
 
Cour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouarCour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouar
 
cours_informatique_appliquée_lpcc_2024.pptx
cours_informatique_appliquée_lpcc_2024.pptxcours_informatique_appliquée_lpcc_2024.pptx
cours_informatique_appliquée_lpcc_2024.pptx
 
Introduction système d'exploitation-chapitre 1-cours 1
Introduction système d'exploitation-chapitre 1-cours 1Introduction système d'exploitation-chapitre 1-cours 1
Introduction système d'exploitation-chapitre 1-cours 1
 
Cours algo1 (1)
Cours algo1 (1)Cours algo1 (1)
Cours algo1 (1)
 
Cours algo1
Cours algo1Cours algo1
Cours algo1
 
Introduction.ppt
Introduction.pptIntroduction.ppt
Introduction.ppt
 
Chapitre 1
Chapitre 1Chapitre 1
Chapitre 1
 

Plus de OlyvierNzighou1

Algorithmique et programmation-ESIITECH-2023-2024-Revu2-Ok.pptx
Algorithmique et programmation-ESIITECH-2023-2024-Revu2-Ok.pptxAlgorithmique et programmation-ESIITECH-2023-2024-Revu2-Ok.pptx
Algorithmique et programmation-ESIITECH-2023-2024-Revu2-Ok.pptxOlyvierNzighou1
 
Algorithmique et programmation-ESIITECH-2023-2024 [Enregistrement automatique...
Algorithmique et programmation-ESIITECH-2023-2024 [Enregistrement automatique...Algorithmique et programmation-ESIITECH-2023-2024 [Enregistrement automatique...
Algorithmique et programmation-ESIITECH-2023-2024 [Enregistrement automatique...OlyvierNzighou1
 
0015- Sous-programmes (Partie 4 - Divers Bonnes Pratiques).ppt
0015- Sous-programmes (Partie 4 - Divers  Bonnes Pratiques).ppt0015- Sous-programmes (Partie 4 - Divers  Bonnes Pratiques).ppt
0015- Sous-programmes (Partie 4 - Divers Bonnes Pratiques).pptOlyvierNzighou1
 
Support de cours et de formation en langage python pour les débutants.
Support de cours et de formation en langage python pour les débutants.Support de cours et de formation en langage python pour les débutants.
Support de cours et de formation en langage python pour les débutants.OlyvierNzighou1
 
Support GESPRO-2023-2024.pptx
Support GESPRO-2023-2024.pptxSupport GESPRO-2023-2024.pptx
Support GESPRO-2023-2024.pptxOlyvierNzighou1
 
1- Exercices de révision sur les listes.pptx
1- Exercices de révision sur les listes.pptx1- Exercices de révision sur les listes.pptx
1- Exercices de révision sur les listes.pptxOlyvierNzighou1
 
Cybercriminalité et traitement des incidents.pptx
Cybercriminalité et traitement des incidents.pptxCybercriminalité et traitement des incidents.pptx
Cybercriminalité et traitement des incidents.pptxOlyvierNzighou1
 
Présentation_IBOGA_Commission_des_Lois_AN.pptx
Présentation_IBOGA_Commission_des_Lois_AN.pptxPrésentation_IBOGA_Commission_des_Lois_AN.pptx
Présentation_IBOGA_Commission_des_Lois_AN.pptxOlyvierNzighou1
 
Gestion_de_projetOK.pptx
Gestion_de_projetOK.pptxGestion_de_projetOK.pptx
Gestion_de_projetOK.pptxOlyvierNzighou1
 

Plus de OlyvierNzighou1 (12)

Algorithmique et programmation-ESIITECH-2023-2024-Revu2-Ok.pptx
Algorithmique et programmation-ESIITECH-2023-2024-Revu2-Ok.pptxAlgorithmique et programmation-ESIITECH-2023-2024-Revu2-Ok.pptx
Algorithmique et programmation-ESIITECH-2023-2024-Revu2-Ok.pptx
 
Algorithmique et programmation-ESIITECH-2023-2024 [Enregistrement automatique...
Algorithmique et programmation-ESIITECH-2023-2024 [Enregistrement automatique...Algorithmique et programmation-ESIITECH-2023-2024 [Enregistrement automatique...
Algorithmique et programmation-ESIITECH-2023-2024 [Enregistrement automatique...
 
0015- Sous-programmes (Partie 4 - Divers Bonnes Pratiques).ppt
0015- Sous-programmes (Partie 4 - Divers  Bonnes Pratiques).ppt0015- Sous-programmes (Partie 4 - Divers  Bonnes Pratiques).ppt
0015- Sous-programmes (Partie 4 - Divers Bonnes Pratiques).ppt
 
Support de cours et de formation en langage python pour les débutants.
Support de cours et de formation en langage python pour les débutants.Support de cours et de formation en langage python pour les débutants.
Support de cours et de formation en langage python pour les débutants.
 
Support GESPRO-2023-2024.pptx
Support GESPRO-2023-2024.pptxSupport GESPRO-2023-2024.pptx
Support GESPRO-2023-2024.pptx
 
1- Exercices de révision sur les listes.pptx
1- Exercices de révision sur les listes.pptx1- Exercices de révision sur les listes.pptx
1- Exercices de révision sur les listes.pptx
 
Codage_Information.pptx
Codage_Information.pptxCodage_Information.pptx
Codage_Information.pptx
 
Algebre_Boole-1.pptx
Algebre_Boole-1.pptxAlgebre_Boole-1.pptx
Algebre_Boole-1.pptx
 
Cybercriminalité et traitement des incidents.pptx
Cybercriminalité et traitement des incidents.pptxCybercriminalité et traitement des incidents.pptx
Cybercriminalité et traitement des incidents.pptx
 
Présentation_IBOGA_Commission_des_Lois_AN.pptx
Présentation_IBOGA_Commission_des_Lois_AN.pptxPrésentation_IBOGA_Commission_des_Lois_AN.pptx
Présentation_IBOGA_Commission_des_Lois_AN.pptx
 
AG-15-12-2023.ppt
AG-15-12-2023.pptAG-15-12-2023.ppt
AG-15-12-2023.ppt
 
Gestion_de_projetOK.pptx
Gestion_de_projetOK.pptxGestion_de_projetOK.pptx
Gestion_de_projetOK.pptx
 

Dernier

Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeBenamraneMarwa
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxpopzair
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxlamourfrantz
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptxMalikaIdseaid1
 

Dernier (15)

Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étude
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptx
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptx
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptx
 

Programmation en Python CPGE sup management

  • 1. Reproduction interdite INFORMATIQUE POUR TOUS (I.P.T) Classes Préparatoires aux Grandes Ecoles (CPGE)
  • 2. Reproduction interdite Présentation DE L’ENSEIGNANT M. Olyvier NZIGHOU Master 2 Gestion de Projets Informatiques de l’Université de Strasbourg. Enseignant vacataire à l’IST, EPL, IAI, ESIITECH, SUP’ MANAGEMENT Tél. : 066049840 / 077684285 Email : olyvier.nzighou@gmail.com
  • 3. Reproduction interdite Objectif du cours 3  Ce cours s’adresse aux étudiants des Classes Préparatoires aux Grandes Ecoles (CPGE).  Il forme aux bases de la programmation :  Python  SciLab,  SQL  ainsi qu’aux bases de l’ingénierie numérique (résolution approchée d’équations algébriques ou différentielles, calcul approchée d’intégrales, etc.)
  • 4. Reproduction interdite prerequis 4  Aucune expérience préalable en programmation n'est requise, mais une familiarité avec les concepts informatiques de base serait utile.
  • 5. Reproduction interdite Evaluation 5  L'évaluation peut se faire à travers des exercices pratiques, des petits projets ou un examen final, selon les besoins de la classe.
  • 7. Reproduction interdite pourquoi l’Informatique dans les cpge ? 7  Tout ingénieur doit maîtriser les concepts fondamentaux de l’informatique pour :  Communiquer avec les informaticiens  Comprendre les questions de complexité algorithmique, de précision numérique de sécurité.  Disposer d’une représentation claire de l’architecture d’un ordinateur, d’un OS, d’un réseau  Savoir écrire du code et utiliser les bibliothèques logicielles  Prendre des décisions stratégiques
  • 8. Reproduction interdite CONTEXTE 8  Un monde numérique avec une explosion des données tout à fait considérables. Les ordres de grandeur sont tellement hallucinant que quand on en parle, on ne nous croit pas !  Par exemple le nombre de mots prononcés par l’être humain depuis qu’il y a des êtres humains sur terre est comparable au nombre d’octets échangés sur Internet chaque année. Colossale !  D’où l’importance de savoir exploiter les résultats numériques, les résultats d’origine expérimentale, industrielle ou les données qu’on peut trouver sur le réseau Internet.  Une obsolescence rapide des technologies (un renouvèlement rapide des technologies)
  • 9. Reproduction interdite CONTEXTE 9  Conséquence :  Présenter les concepts fondamentaux  Ne pas se lier à des normes ou protocoles non pérennes  mais contextualiser toutes les activités en lien avec les autres disciplines scientifiques  Analyser et modéliser un problème, une situation, un système informatique
  • 10. Reproduction interdite CONTEXTE 10  Concevoir une solution modulaire, utilisant les méthodes de programmation et les structures de données appropriées.  Traduire un algorithme dans un langage de programmation  Spécifier les composants logiciels développés ou utilisés  Evaluer, contrôler, valider des algorithmes et des programmes  Communiquer à l’écrit et à l’oral une problématique, une solution.
  • 11. Reproduction interdite CHOIX DU LANGAGE 11  Python (logiciel libre et gratuit) permet une entrée pédagogiquement adaptée  Syntaxe simple et conforme aux standards  Sémantique claire et bien définie  Nombreuses bibliothèques logicielles pour des exemples inspirés par les disciplines :  Calcul numérique (Numpy)  Bibliothèque scientifique (Scipy)  Visualisation graphique (Matplotlib)
  • 12. Reproduction interdite Généralité et Algorithmique de base 12 Le but de cette partie est de connaître les constituants d’un système informatique et l’initiation à la conception des algorithmes élémentaires manipulant (variables, types, structure de contrôle) puis convertir ces algorithmes en programmes.
  • 13. Reproduction interdite Les principaux chapitres 13  Environnement matériel et logiciel d’un SI  Représentation des données dans la mémoire (RAM)  Système d’exploitation d’un ordinateur  Environnement de développement intégré « IDE »  Algorithmique de base
  • 14. Reproduction interdite Algorithmique et programmation 14  Le but de cette partie est d’initier à la programmation modulaire ainsi que la représentation des données dans des structures de données ou collections d’objets (tableaux, chaînes de caractères, listes, tuples, …) et leurs utilisations (tri, recherche, fichier, …)
  • 15. Reproduction interdite Les principaux chapitres 15  Programmation modulaire (fonctions)  Structures de données et leurs utilisations  Fichiers de données
  • 16. Reproduction interdite Les principaux chapitres 16  Présentation des bibliothèques (Numpy, Scipy et matplotlib)  Résolution d’équation algébrique (dichotomie, Newton)  Résolution approchée d’une équation différentielle (Euler)  Résolution d’un système linéaire inversible (Gauss)
  • 17. Reproduction interdite OUTILS LOGICIELS 17  Langage de programmation : Python  Environnement de Développement Intégré : Pyzo, PyCharm ou Visual Studio Code...  Langage de programmation de calcul numérique : Python ou SciLab
  • 18. Reproduction interdite 18 CHAPITRE I Environnement Matériel & Logiciel d’un Système Informatique (SI)
  • 19. Reproduction interdite PLAN 19 1. Notions de base 2. Système informatique 3. Qu’est-ce qu’un ordinateur 4. Schéma fonctionnel d’un ordinateur 5. Mémoire centrale 6. Microprocesseur 7. Représentation des données dans la mémoire
  • 20. Reproduction interdite NOTIONS DE BASE 20  Qu’est-ce que l’informatique : Le terme « informatique » vient de la contraction des mots « information » et « automatique ». Il a été proposé par Michel Dreyfus en 1962, et accepté par l’académie française en 1966, pour désigner la technique permettant de traiter automatiquement les informations. Donc : L’informatique = Information + Automatique
  • 21. Reproduction interdite NOTIONS DE BASE 21  Définition : l’informatique est la science du traitement automatique de l’information par ordinateur.  Information : Icone -01- Icone -02- Icone -03-
  • 22. Reproduction interdite NOTIONS DE BASE 22  Définition : L’information est un ensemble de renseignements compréhensibles par l’esprit humain et qui prend un sens pour lui selon un contexte, elle est représentée à l’aide de convention (codage) afin d’être conservée traitée ou communiquée. En informatique, elle correspond généralement aux données manipulées (texte, nombre image, son, …).
  • 23. Reproduction interdite NOTIONS DE BASE 23  Traitement de l’information : 58, 3, 78, 2, 9, 7 2, 3, 7, 9, 58, 78 Programmeur Programmer Classement croissant Traduction Fr, En
  • 24. Reproduction interdite NOTIONS DE BASE 24  Schéma d’un traitement Information Entrée Traitement (Opérations ) Information sortie Le traitement de l’information est une suite d’opérations transformant une représentation d’information en une autre représentation plus facile à manipuler ou interpréter suivant un ensemble de règles fini.
  • 25. Reproduction interdite NOTIONS DE BASE 25  Le système informatique : Le système informatique est un ensemble de composants de type logiciel (Software) et matériel (Hardware), mis ensemble pour le traitement automatique des informations.
  • 26. Reproduction interdite NOTIONS DE BASE 26  Exemple : Les smartphones, les tablettes, les consoles de jeux et les ordinateurs sont tous des exemples de systèmes informatiques.
  • 27. Reproduction interdite SYSTÈME INFORMATIQUE 27  Le matériel (Hardware) : Correspond à l’aspect concret du système : unité centrale, mémoire, organes d’entrées/sorties, etc.
  • 28. Reproduction interdite SYSTÈME INFORMATIQUE 28  Le logiciel (Software) : C’est l’ensemble des programmes nécessaires au fonctionnement d’un système informatique, ils assurent une communication entre les utilisateurs et les différentes ressources matérielles de ce système. Il y a deux types :  Logiciel de base  Logiciel d’application
  • 30. Reproduction interdite Structure d’un ordinateur 30  Qu’est-ce qu’un ordinateur ? Un ordinateur est une machine de traitement de l’information (binaire {0,1}) : il est capable d’acquérir de l’information, de la stocker, de la transformer et de la restituer sous une autre forme.
  • 31. Reproduction interdite Structure d’un ordinateur 31  L’acquisition de l’information se fait par l’intermédiaire des périphériques d’entées (clavier, souris, micro, webcam, scanner, écran tactile, etc.).  Le stockage de l’information utilise la mémoire d’un ordinateur (disque dur, mémoire vive, mémoire de masse).  La transformation de l’information est le rôle du processeur (CPU)  La restitution de l’information utilise les périphériques de sorties (écran, imprimantes, etc.)
  • 32. Reproduction interdite Structure d’un ordinateur 32  Schéma fonctionnel d’un ordinateur :
  • 33. Reproduction interdite Structure d’un ordinateur 33  Architecture de Von Neumann :  Une mémoire centrale  Une unité centrale UC, CPU (Central Processing Unit), Processeur,  Un ensemble de dispositifs d’entrées/sorties pour communiquer avec l’extérieur  Cette architecture est la base des architectures des ordinateurs
  • 34. Reproduction interdite Structure d’un ordinateur 34  Les périphériques :
  • 35. Reproduction interdite Structure d’un ordinateur 35  Définition : On appelle « périphérique » un matériel électronique pouvant être raccordé à un ordinateur par l’intermédiaire d’une de ces interfaces d’entrée/sortie (port série, port parallèle, bus, USB, etc.). Il s’agit donc des composants de l’ordinateur externes à l’unité centrale.  On distingue habituellement les catégories de périphériques suivantes :  Périphériques d’entrée  Périphériques de sortie  Périphérique de stockage  Périphérique d’entrée/sortie
  • 36. Reproduction interdite Structure d’un ordinateur 36  Périphériques d’entrée : Les périphériques d’entrée ce sont les périphériques capables uniquement d’envoyer des informations à l’ordinateur, par exemple les dispositifs de pointage (souris) ou bien le clavier.  Périphériques de sortie : Il s’agit de périphériques de sortie, fournissant une représentation visuelle à l’utilisateur, tel qu’un moniteur (écran).  Périphériques de stockage : Il s’agit d’un périphérique d’entrée/sortie capable de stocker les informations de manière permanente (disque dur, le CD-ROM, le DVD-ROM, etc.)
  • 37. Reproduction interdite Structure d’un ordinateur 37  Types de périphériques :
  • 38. Reproduction interdite Structure d’un ordinateur 38 Périphériques Types de périphériques Rôle Souris Périphérique d’entrée Entrer des ordres (clics) Moniteur Périphérique de sortie Afficher les informations Clavier Périphérique d’entrée Ecrire des alphabets, des numéros et des symboles Imprimante Périphérique de sortie Imprimer les documents Casque Périphérique de sortie Entendre du son Modem Périphérique d’entrée et de sortie Connecter l’ordinateur à Internet Clé USB Périphérique de stockage Stocker les informations Scanner Périphérique d’entrée Entrer des photos et des documents Microphone Périphérique d’entrée Entrer le son CD-ROM Périphérique de stockage Stocker les informations Disque dur Périphérique de stockage Stocker les informations  Périphériques - Types de périphériques - Rôle :
  • 39. Reproduction interdite Structure d’un ordinateur 39  Interfaces d’Entrée/Sortie : Une interface (connecteur) peut être un port (canal), un circuit ou bien un processeur spécialisé dans la gestion d’un certain périphérique ou d’une certaine fonction, constituant ce qu’on appelle carte d’extension, comme une carte vidéo ou une carte son.
  • 40. Reproduction interdite Structure d’un ordinateur 40  La carte mère : La carte mère est le composant informatique principal (composé de circuits imprimés et se ports de connexion) servant à interconnecter tous les composants de l’ordinateur. Composant Numéro Processeur 5 RAM 4 IDE 1 LAN 11 Micro 14 Floppy 2 Clavier 7 Port USB 8 Port série 9 Souris PS2 6 Alimentation 3 Port parallèle 10 Line In (Audio) 12 Line Out (Audio) 13 Carte graphique AGP 16 Cartes d’extension PCI 15
  • 41. Reproduction interdite Structure d’un ordinateur 41  Les composants de la carte mère :
  • 42. Reproduction interdite Structure d’un ordinateur 42  Socket : Le socket est un connecteur utilisé pour interfacer un processeur avec une carte mère
  • 43. Reproduction interdite Structure d’un ordinateur 43  Slot : Le slot est une fente dans laquelle on insère une carte d’extension ou une barrette de mémoire
  • 44. Reproduction interdite Structure d’un ordinateur 44  Connecteur IDE (Integrated Drive Elecronic) : Le port IDE décrit une interface de connexion pour mémoire de masse (disque dur, lecteur CD-ROM, etc.)
  • 45. Reproduction interdite Structure d’un ordinateur 45  Connecteur SATA (Serial Advanced Technology Attachment) : Le port SATA permet de connecter à une carte mère tout périphérique compatible avec cette norme (mémoire de masse, lecteur DVD, etc.)
  • 46. Reproduction interdite Structure d’un ordinateur 46  Connecteur AGP (Accelerator Graphic Port) : Le port AGP est un port interne destiné exclusivement aux cartes graphiques
  • 47. Reproduction interdite Structure d’un ordinateur 47  Connecteur PCI Express (Peripheral Component Interconnect) : PCI Express est un connecteur qui sert à connecter des cartes d’extension sur la carte mère d’un ordinateur. Il est destiné à remplacer tous les connecteurs d’extension PCI et l’AGP
  • 48. Reproduction interdite Structure d’un ordinateur 48  Chipset : Un chipset est la puce principale intégrée dans une carte mère. Le chipset gère les échanges de données par exemple entre le processeur et la mémoire centrale ou encore c’est lui qui gère les ports.
  • 49. Reproduction interdite Structure d’un ordinateur 49  La mémoire centrale : La mémoire centrale (appelée également mémoire interne) permet de mémoriser temporairement les données lors de l’exécution des programmes. La mémoire centrale est réalisée à l’aide de micro-conducteurs, c’est-à-dire des circuits électroniques spécialisés rapides. La mémoire centrale correspond à ce que l’on appelle la mémoire vive (RAM)
  • 50. Reproduction interdite Structure d’un ordinateur 50  Caractéristiques techniques d’une mémoire :  La capacité  Adresse mémoire  Le temps d’accès  Le temps de cycle  Le débit  La non-volatilité
  • 51. Reproduction interdite Structure d’un ordinateur 51  La capacité : représentant le volume global d’informations qu’une mémoire peut stocker, le nombre de cases mémoires représente la taille ou la capacité de mémoire (Ko, Mo, ou Go, etc.).  Adresse mémoire : c’est le numéro attribué à une case mémoire (8 bits) dans la mémoire centrale  Temps d’accès : correspond à l’intervalle de temps entre la demande de lecture/écriture et la disponibilité de la donnée
  • 52. Reproduction interdite Structure d’un ordinateur 52  Le temps de cycle : représente l’intervalle de temps minimum entre deux accès successifs.  Le débit : c’est le volume d’information échangé par unité de temps (bits/s)  La non-volatilité : Elle caractérise l’aptitude d’une mémoire à conserver les données lorsqu’elle n’est pas alimentée électriquement.
  • 53. Reproduction interdite Structure d’un ordinateur 53  Types de mémoires :  La mémoire cache : c’est une mémoire rapide permettant de réduire les délais d’attente des informations stockées dans la mémoire centrale  Mémoire RAM : mémoire principale du système, elle sert à stocker de manière temporaire des données lors de l’exécution des programmes.  La mémoire ROM : Elle fournit les informations nécessaires pour la mise en route de l’ordinateur.  La mémoire de masse : elle permet de stocker une grande quantité de données de manière non volatile : exemple disque dur, clé USB, etc.
  • 54. Reproduction interdite Structure d’un ordinateur 54  Hiérarchie des mémoires :
  • 55. Reproduction interdite Structure d’un ordinateur 55  Temps d’accès aux différents types de mémoires (ns):
  • 56. Reproduction interdite Structure d’un ordinateur 56  L’unité Centrale de traitement (CPU) : C’est le centre de calcul et de contrôle d’un ordinateur, le CPU est matérialisé physiquement par un circuit électronique appelé microprocesseur. Le microprocesseur est caractérisé par :  Sa marque : exemple Intel, AMD, Motorola, etc.  Sa fréquence : nombre d’opérations qu’il peut effectuer par seconde (GHz)  Sa vitesse : la vitesse de traitement (MIPS Unité de mesure de la puissance d'un processeur, exprimant le nombre de millions d'instructions traitées par seconde)
  • 57. Reproduction interdite Structure d’un ordinateur 57  Le microprocesseur est composé des éléments suivants :  UAL : Unité Arithmétique et Logique permettant de faire des calculs arithmétiques et des opérations logiques  UC : Unité de Commande permettant d’organiser et d’exécuter les opérations effectuées par le microprocesseur  Les Registres : Ce sont des petites mémoires internes, très rapides d’accès permettant de stocker temporairement les données ou les instructions.
  • 58. Reproduction interdite Structure d’un ordinateur 58  Un processeur dispose de quatre tâches fondamentales qu’il exécute :  FETCH : recherche de l’instruction  DECODE : Décodage de l’instruction (opération et opérandes)  EXECUTE : Exécution des opérations  WRITEBACK : Ecriture du résultat
  • 59. Reproduction interdite Structure d’un ordinateur 59  Le bus est le canal électronique qui assure la communication (information binaire) entre les composants matériels
  • 60. Reproduction interdite 60 CHAPITRE II Représentation des données dans la mémoire
  • 61. Reproduction interdite Système de numération 61 Le système décimal :  Le système décimal (base 10) : c’est celui que nous utilisons dans nos activités quotidiennes. Ce système est basé sur dix symboles, (0-9), (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)10 Exemple : Quand on écrit 178 en numération décimale, cela signifie : 178 = 100 + 70 + 8 1 * 10 * 10 + 7 * 10 + 8 * 1 1 * 102 + 7 * 101 + 8 * 100
  • 62. Reproduction interdite Système de numération 62 Le système binaire (utilisé par les ordinateurs) :  C’est un système qui comprend deux chiffres (0 et 1). Donc un code binaire contient une séquence constituée uniquement de 0 et de 1.  Le système binaire permet de mieux représenter le fonctionnement de l’électronique numérique qui anime les ordinateurs.  0 : absence de courant électrique  1 : présence de courant électrice  Chaque chiffre constituant un code binaire est appelé Bit (Binary Digit). Un groupe de 8 bits est appelé octet ou Byte en anglais.
  • 63. Reproduction interdite Système de numération 63 Système octale :  L’octal est le codage en base 8. On utilise les chiffres entre 0 et 7 pour coder les nombres en octal.  La numérotation octale permet de simplifier l’écriture d’un code binaire. Exemple : (3701)8  Il faut noter que le nombre (109)8 n’est pas un nombre octal valide car il renferme le chiffre 9 qui n’appartient pas à cette base.
  • 64. Reproduction interdite Système de numération 64  Techniquement un ordinateur n’utilise pas la base octale mais seulement la base binaire.  Cependant certains programmes permettent à l’utilisateur de représenter un code binaire en octal afin d’abréger l’écriture binaire. Exemple : (751)8 = (111 101 001)2 Au lieu d’écrire 9 chiffres en binaires on a écrit que 3 chiffres en octal
  • 65. Reproduction interdite Système de numération 65 Système Hexadécimal (Base 16) : L’hexadécimal est un système numérique qui utilise 16 symboles qui vont de 0 à 9 et de A à F. A(10), B(11), C(12), D(13), E(14), F(15). Comme pour la base octale, la base hexadécimale permet d’abréger l’écriture des longs codes binaires. Cependant la représentation hexadécimale s’avère plus pratique que la base octale, vue que chaque octet écrit en binaire peut être représenté à l’aide de deux caractères en hexadécimaux Exemple : (1010 1001)2 = (A9)16
  • 66. Reproduction interdite Système de numération 66  De nos jours le code hexadécimal peut être utilisé directement par les programmeurs afin de renseigner les valeurs souhaitées à l’ordinateur sans être obligé de tout représenter en binaire. Exemple :  Adressage des cases mémoires  Codes de couleurs (#FF8800 pour l’orange) en HTML ou CSS  Etc.  En plus de l’indice 16 qui permet d’indiquer que le nombre en question est en hexadécimal, d’autres notations peuvent être adoptées : 0xA9, $A9, #A9, etc. selon le langage de programmation utilisé.
  • 67. Reproduction interdite Système de numération 67 Exercice d’application :  Conversion Binaire Décimal (101)2 (11010)2 (1111)2  Conversion Hexadécimal Décimal (15)16 (FF)16 (2C0)16  Conversion Octal  Décimal (12)8 (107) 8 (200) 8
  • 68. Reproduction interdite Système de numération 68 Exercice d’application :  Conversion Décimal Binaire (9)10 (24)10 (33)10 (256)10 (255)10
  • 69. Reproduction interdite Système de numération 69 Exercice d’application :  Conversion Binaire Octal (100101)2 = (100101)8 (10010110)2 = (100101)8  Conversion Binaire Hexadécimal (11010011)2 = (100101)16 (1111011011)2 = (100101)16
  • 70. Reproduction interdite Système de numération 70 Exercice d’application :  Conversion Octal Hexadécimal (25)8 = (100101)16 (6401)8 = (100101)16  Conversion Décimal Hexadécimal Octal (68)10 = (100101)8 = (100101)16 (45)10 = (100101)8 = (100101)16
  • 71. Reproduction interdite Système de numération 71 Addition des nombres binaires naturels :  On désigne par nombre binaire naturel les nombres ordinaires que nous avons vu jusqu’ici. C’est-à-dire que chaque bit est pondéré par une puissance de 2 Exemple : (111)2 = 1*22 + 1*21 + 1*20 = (7)10  Il faut noter que le même nombre (111)2 peut désigner une autre valeur. Par exemple pour les nombres signés, le bit le plus à gauche n’est pas un bit pondéré par une puissance de 2 mais il s’agit d’un bit de signe. (Cf. la suite du cours)
  • 72. Reproduction interdite Système de numération 72  L’opération d’addition en binaire est similaire à celle en décimal sauf qu’ici il y a juste quatre situations à mémoriser :  0 + 0 = 0  0 + 1 = 1  1 + 1 = 10  1 + 1 + 1 = 11  L’addition est simple et cruciale au sein d’un microprocesseur. Comme on le verra plus tard, faire une soustraction revient à faire des opérations d’addition de nombres signés et non pas de nombres binaires naturels. (Cf. suite du cours).
  • 73. Reproduction interdite Système de numération 73 Exercice d’application : 1) 100 + 11 = 2) 1111 + 1 = 3) 1001 + 111 = 4) 1111 + 1011 = 5) 11011 + 1111 =
  • 74. Reproduction interdite Système de numération 74 Le Complément à 1 :  En décimal, on forme le complément à 9 d’un nombre en remplaçant chaque chiffre de ce nombre par sa différence avec 9.  Exemple :  Le complément à 9 de 6473, noté C9(6473)=3526  En binaire, on forme le complément à 1 d’un nombre en remplaçant chaque chiffre de ce nombre par sa différence avec 1 (on remplace les 1 par des 0 et réciproquement).  Exemple :  Le complément à 1 de 11010, noté C1(11010)=00101
  • 75. Reproduction interdite Système de numération 75 Le Complément à 2 (ou complément vrai) :  En décimal, on forme le complément à 10 d’un nombre en remplaçant le chiffre des unités par sa différence avec 10 et les autres chiffres de ce nombre par leur différence avec 9.  Le complément à 10 de 6473, noté C10(6473) = 3527  On peut dire que le complément à 10 d’un nombre s’obtient en soustrayant de la puissance de 10 immédiatement supérieur ce nombre : 3527 = 10000-6473
  • 76. Reproduction interdite Système de numération 76  On voit aussi que le complément à 10 s’obtient en ajoutant 1 au complément à 9 :  Le complément à 9 de 6473, noté C9(6473) = 3526  Le complément à 10 de 6473, noté C9(6473)+1 = 3527  En binaire, on va utiliser la règle ci-dessus et former le complément à 2 d’un nombre en ajoutant 1 au complément à 1  Le complément à 2 de 11010, noté C2(11010) = C1(11010)+1 = 00101+1 = 00110
  • 77. Reproduction interdite Système de numération 77  On peut aussi dire que le complément à 2 d’un nombre s’obtient en le soustrayant de la puissance de 2 immédiatement supérieure à ce nombre : 00110 = 100000-11010  Une astuce permet d’éviter cette addition : pour obtenir le complément à 2 d’un nombre, on conserve tous les bits à partir de la droite jusqu’au 1er 1 compris et on inverse tous les autres.  C2(11010) = 00110
  • 78. Reproduction interdite Système de numération 78  Exercices d’application :  Calculer le complément en base 10, 8 du nombre 2465  Calculer le complément en base 16 du nombre AB26  Calculer le complément en base 2 de 11001011
  • 79. Reproduction interdite Système de numération 79 Soustraction par complément à 2 : le but est de remplacer la soustraction par l’addition  En décimal, soit la soustraction suivante : 742 – 568  Rappels complément à 10 :  En décimal, on forme le complément à 10 d’un nombre en remplaçant le chiffre des unités par sa différence avec 10 et les autres chiffres de ce nombre par leur différence avec 9.  Comme 568 = 1000 – 432, on peut écrire : 742 – 568 = 742 – (1000 – 432) = 742 + 432 – 1000 = (1)174
  • 80. Reproduction interdite Système de numération 80  Comme 432 est le complément à 10 de 568, on a en fait effectué l’opération suivante : x - y = x + C10(y) - (puissance de 10 immédiatement supérieure à x)  Au lieu de soustraire 1000, il aurait suffi de négliger la dernière retenue dans le résultat.  En effet 742 + 432 = (1)174 = 174 si l’on néglige le 1 de gauche  En résumé, au lieu de soustraire un nombre y d’un nombre x, on ajoute à x le complément à 10 de y et on oublie le (n+1)ème chiffre si on travaille sur n chiffres.
  • 81. Reproduction interdite Système de numération 81  Remarque : si les deux nombres x et y ne comportent pas le même nombre de chiffres, il faut rajouter des 0 devant y avant de rechercher son complément à 10  Exemple :  742 - 67 = 742 – 067 = 742 + 933 = (1)675 = 675  En binaire c’est pareil (Avec la même remarque que précédemment) x – y = x + C2(y) - (puissance de 2 immédiatement supérieure à x)
  • 82. Reproduction interdite Système de numération 82  Exemple : 11100101 – 110111 = 11100101 – 00110111 = 11100101 + 11001001 = (1)10101110  Résumé de la méthode : 1.Compléter par des 0 pour avoir le même format 2.Prendre le complément à 2 du nombre à soustraire 3.Faire l’addition et oublier le bit en trop s’il y a lieu
  • 83. Reproduction interdite Système de numération 83  Pour l’instant la soustraction x – y n’est toujours pas faisable si x<y (sauf en effectuant y – x et en mettant moins devant le résultat !)  Normalisation des nombres signés :  Comme l’ordinateur ne comprend pas les signes + et -, on va les représenter par un bit de la façon suivante :  On commence par normaliser la taille à un nombre de bits précis par exemple 8 bits soit un octet.  On décide que le bit de gauche sera égal à 0 si le nombre est positif ou nul et à 1 si le nombre est négatif. Ce bit est appelé bit de signe et les nombres codés ainsi s’appellent nombres signés.
  • 84. Reproduction interdite Système de numération 84  Conversion, décimal vers binaire signé :  Si (x)10 est positif ou nul, on le convertit normalement en binaire  Si (x)10 est négatif, on convertit sa valeur absolue en binaire et on en prend le complément à 2  Exemple :  6810 = (01000100)2  -67  |-67| = |67| = 01000011, C2(01000011) = 10111101 donc -67 = 10111101
  • 85. Reproduction interdite Système de numération 85  Conversion, binaire signé vers décimal :  Si le bit de signe de (x)2 = 0, on le convertit directement en décimal  Si le bit de signe de (x)2 = 1, cela veut dire que (x)10 est négatif, on cherche le complément à 2 de (x)2, on le convertit en décimal et on rajoute le signe – devant !  Exemple :  (01110100)2 = 116  (10100010)2 : le bit de signe vaut 1, nombre négatif C2(10100010) = 01011110 = (94)10, donc (01110100)2 = -94
  • 86. Reproduction interdite Système de numération 86 Limites :  Comme on s’est limité à 8 bits, on ne pourra coder en binaire que 256 valeurs différentes.  En nombres non signés (donc exclusivement positifs) on pouvait aller de 010 (= (00000000)2) à 25510 (= (11111111)2) soit 256 valeurs en tout car 256 = 28.  En nombres signés, le plus grand commençant par un 0 (donc positif) est (01111111)2 = 12710.  Le nombre binaire suivant est (10000000)2 mais, comme il commence par un 1, il doit être considéré comme négatif.
  • 87. Reproduction interdite Système de numération 87  Pour trouver sa valeur décimale, on en prend le complément à 2 soit (10000000)2 qui, converti en décimal donne 128.  128 est donc la valeur absolue de (10000000)2 et on obtient en définitive (10000000)2 = -128  Sur un octet, les 256 valeurs codables en nombres signés vont donc de -128 à +127  Le nombre 128 n’est pas codable en nombres signés sur 8 bits  En nombres signés sur n bits, on peut coder de -2n-1 à 2n-1-1  Le tableau suivant regroupe quelques valeurs particulières de nombres signés et fait aussi apparaître les nombres hexadécimaux correspondants.
  • 88. Reproduction interdite Système de numération 88 Base 10 Base 2 Base 16 127 0111 1111 7F 126 0111 1110 7E 2 0000 0010 02 1 0000 0001 01 0 0000 0000 00 -1 1111 1111 FF -2 1111 1110 FE -127 1000 0001 81 -128 1000 0000 80  On constate que les valeurs positives sont codées en hexadécimal de 00 à 7F et que les valeurs ≥ 8016 correspondent à des nombres négatifs.
  • 89. Reproduction interdite Système de numération 89 Opérations en nombres signés : Comme nous savons maintenant noter les nombres négatifs, nous pouvons effectuer la soustraction x - y avec x < y Le résultat est négatif, son bit de signe est à 1 et il suffit de convertir comme vu précédemment.  00111100 - 01010101 = 00111100 + C2(01010101) = 00111100 + 10101011 = 11100111  Correspond à un nombre négatif à cause du 1 de gauche.  Pour calculer sa valeur décimale, on prend le complément à 2 soit 00011001 et on le convertit en décimal, soit 25. le résultat de la soustraction est donc -25 Attention : Si les nombres sont codés sur 8 bits, le résultat doit rester compris dans l’intervalle de -128 à +127. Un dépassement doit générer erreur.
  • 90. Reproduction interdite Système de numération 99 Exercice d’application : 1) 110 - 10 = 2) 1000 - 111 = 3) 111 - 1000 = 4) 10110 -1 =
  • 91. Reproduction interdite Système de numération 100 Exercice d’application :  Conversion Binaire  Décimal (101,11)2 = (100101)10 (1101,01)2 = (100101)10 (1,101)2 = (100101)10  Conversion Décimal  Binaire (32,625)10 = (100101 )2 (12,5)10 = (100101 )2 (6,1)10 = (100101 )2
  • 92. Reproduction interdite Système de numération 101 Exercice d’application :  Addition et soustraction en octal (4752)8 + (6537)8 = (100101 )8 (7216)8 + (2416)8 = (100101 )8 (2345)8 - (1267)8 = (100101 )8  2 méthodes  Addition et soustraction en hexadécimal (AB26)16 + (CD8A)16 = (100101 )16 (CAFE)16 + (A98C)16 = (100101 )16 (DB26)16 - (CE8A)16 = (100101 )16  2 méthodes
  • 93. Reproduction interdite Système de numération 102 Représentation des nombres binaires (Virgule flottante) Simple précision et double précision, la norme IEEE 754 :  Lorsqu’on Représente la célérité ou vitesse de la lumière en base décimale on écrit : C = 300 000 000 ms-1. En général on préfère l’écriture scientifique : 3 * 108 ms-1  Cette écriture est plus courte et permet de simplifier l’évaluation d’un nombre constitué de beaucoup de chiffres. La masse d’un électron : me = 0,000…00091094 kg on préfère 91094 * 10-31 kg  Dans la base binaire c’est pratiquement la même chose. Au lieu d’écrire les nombres réels avec une virgule fixe qui sépare deux blocs de 0 et de 1, on préfère une écriture semblable à l’écriture scientifique utilisée en base 10.
  • 94. Reproduction interdite Système de numération 103  Soit : (12,625)10, = (1100, 101)2  Rendons le code binaire semblable à l’écriture scientifique du décimal. On fait en sorte de mettre un chiffre 1 dans la partie entière et tout le reste dans la partie fractionnaire.  1100,101 = 1,100101 * 23, déplacement de la virgule de 3 positions vers la gauche c’est pourquoi le nombre binaire résultant est multiplier par 2 élevé à la puissance 3  De la même manière (0,375)10 = (0, 011)2 est équivalent à 1,1*2-2. En effet il y a le chiffre 1 à gauche de la virgule et tout reste sur sa droite, la virgule a été déplacée de 2 positions sur la droite ce qui est équivalent à la puissance négative -2.
  • 95. Reproduction interdite Système de numération 104  Comme c’est le cas pour les nombres négatifs contenant le signe moins (-) inconnu des ordinateurs et qu’on a ensuite transformé en nombres signés ne contenant que des 0 et des 1, un nombre réel représenté avec l’écriture scientifique contient des symboles autres que des 0 et des 1.  Ce qui signifie que les ordinateurs auront du mal à l’interpréter, c’est là que la norme IEEE 54 intervient.
  • 96. Reproduction interdite Système de numération 105  IEEE signifie Institute of Electrical and Electronics Engineers ou institut des ingénieurs électriciens et électroniciens.  C’est une organisation qui a pour mission de promouvoir la connaissance dans le domaine de l’ingénierie liée à l’électricité, l’électronique, les télécommunications et l’informatique.  Elle a pour but de fixer les standards ou les normes utilisées dans ces différentes disciplines.  IEEE a établi des règles qu’il faut suivre pour représenter les nombres réels afin que les ordinateurs puissent les comprendre de manière uniforme.
  • 97. Reproduction interdite Système de numération 106  Cette norme a été identifiée par le numéro 754 d’où le nom IEEE 754 et elle décrit la virgule flottante.  Contrairement à une virgule fixe, la virgule flottante peut se déplacer à droite ou à gauche et sa position est compensée par la valeur de l’exposant qui change par conséquent.  IEEE 754 décrit le nombre format pour représenter un nombre à virgule flottante.  Les plus connus sont :  Simple précision (32 bits)  Double précision (64 bits)
  • 98. Reproduction interdite Système de numération 107  Simple & double précision :  Le nombre binaire résultant est codé sur 32(resp. 64) bits. Cette séquence de 32 (resp. 64) bits est divisée sur 3 blocs :  A gauche le bit de signe  Au milieu l’exposant codé sur 8 (resp. 11) bits  A droite la mantisse codée sur 23 (resp. 52) bits  Le bit de signe peut avoir la valeur 0 ou 1  0 : positif  1 : négatif
  • 99. Reproduction interdite Système de numération 108  N = (-1)s * (1,M) * 2E+127 (resp. E+1023)  S : Signe  M : Mantisse sur 23 (resp. 52) bits  E : Exposant sur 8 (resp. 11) bits avec un décalage (biais) maximum de : 28-1-1 = 127 (resp. 211-1-1 = 1023)
  • 100. Reproduction interdite Système de numération 109  L’exposant contient la valeur de la puissance qui élève le nombre 2 résultant du déplacement de la virgule  La mantisse est la partie fractionnaire du nombre binaire écrit avec la notation scientifique.  Le chiffre 1 de la partie entière est implicite, donc il n’est pas inclus dans la représentation du nombre avec la norme IEEE 754  Prenons l’exemple du nombre réel (12,625)10,  Sa représentation binaire en virgule fixe donne : (1100,101)2  Sa représentation en notation scientifique correspond à : 1,100101 * 23 NB : Il faut toujours laisser le chiffre 1 dans la partie entière.
  • 101. Reproduction interdite Système de numération 110  Si on veut représenter le nombre résultant (1,100101 * 23) à l’aide de la norme IEEE 754, on procède ainsi :  Puisque le nombre est positif, 0 est le bit de signe.  L’exposant vaut 3, E = 3+127 = 130 = (10000010)2  La mantisse est constituée de 23 bits :  La partie fractionnaire de notre nombre binaire représenté en notation scientifique complété par des 0.  0 10000010 10010100000000000000000
  • 102. Reproduction interdite Système de numération 111  (12,625)10 = (0100 0001 0100 1010 0000 0000 0000 0000)2 = (414A0000)16  (0,375)10 = (0,011)2 = 1,1 * 2-2, positif  Exposant : -2+127 = 125 = (01111101)2  La mantisse vaut : 10000000000000000000000  (0,375)10 = 0 01111101 10000000000000000000000 = 0011 1110 1100 0000 0000 0000 0000 0000 = (3EC00000)16  (-0,375)10 = (-0,011)2 = -1,1 * 2-2 = 1011 1110 1100 0000 0000 0000 0000 0000 = (BEC00000)16
  • 104. Reproduction interdite Système de numération 113 Différents types de codes :  Jusque-là, nous avons travaillé avec le code binaire dit naturel qui est le plus simple et le plus pratique pour effectuer des opérations arithmétiques, mais, en informatique, il existe différentes façons de représenter les nombres selon les besoins et les contraintes. En voici quelques-unes.  Le code Gray (code binaire réfléchi) :  En code binaire naturel, quand on passe de 7 à 8, donc de 0111 à 1000, les 4 bits changent à la fois. Cela peut être gênant car les changements ne sont jamais totalement simultanés et des très faibles écarts peuvent entrainer des erreurs. Le Code Gray élimine ce risque car, dans ce code, 1 seul bit change à la fois entre deux valeurs consécutives. On parle de code à distance unité.
  • 106. Reproduction interdite Système de numération 117 N BINAIRE NATUREL GRAY b2 b1 b0 b2 b1 b2 0 0 0 0 0 0 0 1 0 0 1 0 0 1 2 0 1 0 0 1 1 3 0 1 1 0 1 0 4 1 0 0 1 1 0 5 1 0 1 1 1 1 6 1 1 0 1 0 1 7 1 1 1 1 0 0  Exemple :  (5)10 = %101 = 111g
  • 107. Reproduction interdite Système de numération 118  Le code BCD (Binary Coded Decimal) :  Pour l’affichage des nombres, le code binaire naturel n’est pas pratique : en effet, 13 se code en binaire naturel 1101 mais pour l’afficher par exemple sur une calculatrice, il faut séparer le 1 du 3 et envoyer chaque chiffre sur l’afficheur à cristaux liquides correspondant.  D’où l’idée qui consiste à coder chaque chiffre décimal sur 4 bits : c’est le code BCD. C’est le même que le code binaire naturel mais il s’arrête à 9. Pour coder 10, on code le 1 puis le 0 sur 4 bits : 1010 = 0001 0000 en BCD  Exemple : 3509 = 0011 0101 0000 1001  Remarque : les « 0 » apparaissent même en poids fort car chaque chiffre décimal doit être codé sur 4 bits. Par contre ce code n’est pas adapté aux calculs numériques.
  • 108. Reproduction interdite Système de numération 119  Le code ASCII (American Standard Code for Information Interchange) : C’est un standard universel pour normaliser les échanges entre machines.  Exemple : a = 01100001 A = 01000001 0 = 00110000 ESC(ape) = 00001011  Autres codes :  Il existe d’autres codes qui ont chacun leur utilité. Par exemple le code EXCESS 3 (qui consiste à ajouter 3 au code BCD) a été utilisé pour faire des calculs numériques directement en BCD.  Les codes détecteurs d’erreurs ou détecteurs et correcteurs d’erreurs sont très utilisés dans les transmissions.
  • 109. Reproduction interdite 120 CHAPITRE III le système d’exploitation
  • 110. Reproduction interdite PRESENTATION 121  Nous avons vu les composants physiques d’un ordinateur. Ces composants échangent des informations sous forme de bits, c’est-à-dire de suite de 0 et de 1, et réalisent des actions demandées par l’homme (enregistrement de données, calculs, lecture de vidéo…).  La gestion de ces transferts d’informations ou opérations est très complexe.
  • 111. Reproduction interdite PRESENTATION 122  Pour en donner un aperçu, détaillons ce qui se passe lorsque l’on souhaite enregistrer sur disque dur un curriculum vitae :  La machine doit déterminer un secteur libre sur le disque dur,  Déplacer le bras d’écriture,  Gérer le démarrage du moteur et son arrêt,  Vérifier la bonne écriture du document, etc.
  • 112. Reproduction interdite PRESENTATION 123  Pourtant lorsqu’on enregistre le CV, on ne se préoccupe pas de toutes ces contraintes : il suffit de cliquer sur l’icône « enregistrer » et c’est fait.  Si ce processus semble si simple, c’est parce qu’un ensemble de programmes s’occupe de gérer tout cela à notre place : c’est le système d’exploitation de l’ordinateur.
  • 113. Reproduction interdite définition 124  Le système d’exploitation (ou operating System – OS – en anglais) est l’ensemble des programmes indispensables au fonctionnement de l’ordinateur.  Il permet l’interaction entre l’homme et la machine en proposant une interface facile d’utilisation (souvent graphique) et en gérant l’accès aux ressources matérielles et numériques.  On peut en citer plusieurs : Windows 10, Windows 11, Linux, Debian, mac OS X…
  • 114. Reproduction interdite Principales fonctions d’un os 125 Quel que soit le système d’exploitation utilisé, il a pour rôle :  Gérer l’allocation du processeur aux parties de programmes en cours d’exécution (aussi appelées processus). En effet, lors de l’exécution d’un programme, le processeur n’est pas utilisé en permanence. Par exemple lorsqu’il est en attente de données ou après les avoir renvoyées, il ne travaille pas sur le programme.  Au lieu de laisser le processeur inactif pendant ces opérations d’entrées/sorties, le système d’exploitation le fait travailler sur un autre processus, ce qui permet de limiter le temps d’attente lors de l’exécution de plusieurs programmes. On parle alors de multiprogrammation.
  • 115. Reproduction interdite Principales fonctions d’un os 126  Gérer les interruptions de processus dues soit à une action extérieure (demande de l’utilisateur) soit à la détection d’une erreur.  Gérer la mémoire. Par exemple, c’est le système d’exploitation qui assure l’optimisation de l’espace mémoire utilisée par les données numériques. Il s’occupe également du transfert des données (et du respect de leur intégrité) entre les différentes mémoires de l’ordinateur lors de l’exécution d’un programme.  En effet toutes les mémoires ne sont pas équivalentes et ont chacune des utilisations spécifiques. Ainsi, lors de l’exécution d’un programme, des informations s’échangent entre ces différentes mémoires afin de minimiser le temps d’attente.
  • 116. Reproduction interdite Principales fonctions d’un os 127  Organiser les entrées/sorties. Il s’agit de l’ensemble des échanges d’informations entre l’homme et la machine ou entre l’unité centrale et les périphériques.  Par exemple, le système d’exploitation doit être capable d’attribuer à une imprimante libre la tâche à exécuter ou à mettre en attente si toutes les imprimantes sont occupées.
  • 117. Reproduction interdite Principales fonctions d’un os 128  Gérer les fichiers. L’utilisateur doit pouvoir s’y retrouver parmi les multitudes de fichiers enregistrés sans avoir besoin de connaître leur adresse réelle (adresse indiquant la position du fichier sur le disque dur par exemple).  Le système d’exploitation permet cela en faisant le lien entre l’enregistrement logique (celui compréhensible par l’utilisateur) et l’enregistrement physique des fichiers.  C’est également le système d’exploitation qui s’occupe de la destruction, de la copie, du déplacement et des droits d’accès d’un fichier.
  • 118. Reproduction interdite Principales fonctions d’un os 129  Planifier le travail. Le système d’exploitation coordonne les différentes tâches que doit réaliser la machine pour satisfaire la demande de l’utilisateur et il veille à disposer de ressources matérielles suffisantes pour y répondre en temps raisonnable.  Ainsi la demande d’enregistrement d’un fichier nécessite, entre autres de trouver un emplacement en mémoire libre, d’établir des droits d’accès au fichier, de lui donner un nom, etc. ces différentes tâches vont se dérouler dans un ordre établi par le système d’exploitation et celui-ci s’assurera, par exemple qu’il y a assez de place disponible pour enregistrer le fichier.
  • 119. Reproduction interdite Principales fonctions d’un os 130  Gérer la communication avec l’utilisateur. Cette communication peut se faire de plusieurs façons.  La façon la plus ancienne est l’entrée des directives de l’utilisateur, directement au clavier, sous forme d’un langage de commande spécifique au système d’exploitation utilisé.  Ces commandes sont tapées dans un interpréteur de commande géré par le système d’exploitation. Sous Windows, il est appelé invite de commande (la commande calc permet d’ouvrir la calculatrice)
  • 120. Reproduction interdite Principales fonctions d’un os 131  L’utilisation d’une interface graphique se répand dans les années 1980, simplifiant beaucoup l’utilisation d’un ordinateur puisque le jargon informatique n’est plus nécessaire pour utiliser la machine. Il suffit alors de déplacer un curseur sur un écran et de lui faire sélectionner l’action désirée.  Les notions de souris, fenêtre, menu déroulant… font leur apparition. Cette façon d’interagir avec la machine est à présent la plus connue.  La communication avec la machine peut également se faire par l’intermédiaire d’un écran tactile  Actuellement se développe l’utilisation de la reconnaissance vocale pour communiquer avec une machine numérique.
  • 121. Reproduction interdite Structure d’un os 132  Pour réaliser l’interface entre la machine et l’utilisateur, un système d’exploitation est composé d’un grand nombre de programmes que l’on peut classer suivant leur fonction.  On obtient alors la représentation en couches fonctionnelles de la figure suivante : Utilisateur Interface utilisateur – interpréteur de commandes Planification du travail et allocation de ressources Gestion des fichiers Organisation des entrées/sorties Gestion de la mémoire Noyau : gestion des processus – gestion des interruptions – allocation du processeur Machine
  • 122. Reproduction interdite Structure d’un os 133  Chaque couche représentée utilise les fonctions des couches qui sont en dessous.  La couche la plus basse interagit directement avec la machine, la couche la plus haute interagit avec l’utilisateur.  Le système d’exploitation est donc un ensemble énorme de programmes sans lequel un ordinateur ne peut pas fonctionner.
  • 123. Reproduction interdite Gestion des ressources 134  En tant qu’utilisateur, on sait qu’un ordinateur peut lire des vidéos, afficher des images, émettre des sons, enregistrer des textes… tous ces objets constituent autant de ressources différentes que doit gérer l’ordinateur.  Si, nous, nous faisons facilement la différence entre un son, un texte, une image ou une vidéo, pour la machine c’est plutôt compliqué car chacun de ces objets n’est en réalité qu’une suite plus ou moins grande de 0 et de 1 à laquelle on a donné un nom. C’est ce que l’on appelle un fichier.
  • 124. Reproduction interdite Gestion des ressources 135  Par exemple si on nomme « exemple » la suite de bit suivante : 01100101 01111000 01100101 01110000 01101100 01100101  Cet objet constitue un fichier mais comment savoir s’il s’agit d’un texte que l’on doit décoder en utilisant le code ASCII, ou bien s’il s’agit d’un son codé en MP3 ou en WMA ?  Pour répondre à cette question, le nom du fichier est suivi de ce que l’on appelle une extension, qui précise le format du fichier, c’est-à-dire le code à utiliser pour lire ou écrire ce fichier.
  • 125. Reproduction interdite Gestion des ressources 136  Ainsi, si le fichier précédent est noté « exemple.txt », il s’agit d’un texte en ASCII, s’il est noté « exemple.mp3 », il s’agit d’un son enregistré au format MP3, etc. on dit que .txt et .mp3 constituent des extensions du fichier « exemple ».  Voici quelques exemples d’extensions :  Pour les images : .jpg, .png,  Pour les sons : .wma, .mp3,  Pour les textes : .odt, .doc, .docx, .txt,  Pour les feuilles de calculs : .xls, .xlsx, .csv, .ods,  Pour les exécutables : .exe,  Pour les vidéos : .avi, .divx, .wmv.
  • 126. Reproduction interdite Gestion des ressources 137  Le choix du format d’enregistrement n’est pas anodin, si on tape son CV sous un traitement de texte qui a un format qui lui est spécifique (par exemple Word 2010 dont l’extension est .docx) et si on l’enregistre dans ce format, alors seule une personne ayant le même traitement de texte pourra le lire correctement.  Dans le cadre d’une recherche d’emploi, par exemple, cela peut poser problème si le recruteur n’arrive pas à lire le CV d’un candidat parce que ce dernier n’a pas pensé à l’enregistrer sous un format plus universel tel que le format PDF.
  • 127. Reproduction interdite EXEMPLE DE CODEAGE : TEXTE 138  Un code souvent utilisé pour écrire un texte en binaire est le code ASCII : chaque caractère y est codé par un mot de 8 bits, le premier bit étant toujours un zéro.  On peut donc coder au maximum 27 = 128 caractères, chaque caractère étant ainsi associé à un nombre entre 0 et 127 que l’on écrit en binaire.  la table ASCII est donnée dans les pages suivantes  On voit par exemple que la lettre C est codée par le nombre 67 et la lettre c par 99.
  • 128. Reproduction interdite EXEMPLE DE CODEAGE : TEXTE 139  Si on suppose que le texte suivant codé en ASCII signifie « curriculum vitae ». 0110001101110101011100100111001001101001010001101110101011011000 111010101101101001000000111011001101001011101000110000101100101  Si on peut décoder correctement ce texte, c’est parce que l’on sait qu’il est écrit en ASCII. Sans cette information, on ne peut pas le faire.  En informatique, c’est l’extension du fichier qui permet de connaître le code utilisé pour écrire le fichier et donc de le déchiffrer. Ici l’extension est .txt
  • 129. Reproduction interdite EXEMPLE DE CODEAGE : TEXTE 140
  • 130. Reproduction interdite EXEMPLE DE CODEAGE : image 141  Une image sur un écran est une juxtaposition de carrés appelés pixels. Pour une image en couleur, dans le système rouge-vert-bleu (en anglais RGB pour Red-Green-Blue), à chacun de ces pixels sont associés trois zones de couleurs respectives rouge, verte et bleue.  Suivant la couleur que l’on souhaite donner au pixel, les intensités de rouge, vert et bleu associées ne sont pas les mêmes.  Par exemple pour obtenir la couleur blanche il faut que les trois zones aient la même intensité lumineuse maximale alors que si on veut une couleur jaune il faut que le vert et le rouge aient la même intensité et que la zone bleue soit éteinte.  Ainsi coder une image consiste à indiquer la valeur de l’intensité de chaque zone, de chaque pixel.
  • 131. Reproduction interdite L’arborescence des fichiers 142  Les fichiers contenus dans un périphérique de stockage sont représentés par des images appelées icônes, qui changent en fonction du format du fichier.
  • 132. Reproduction interdite L’arborescence des fichiers 143  Les capacités de stockage sont telles qu’un périphérique de stockage contient très rapidement des milliers de fichiers.  Pour s’y retrouver dans cette jungle de ressources, les fichiers sont classés sous forme d’une arborescence, c’est-à-dire que les fichiers sont regroupés en catégories homogènes auxquelles on donne un nom significatif.
  • 133. Reproduction interdite L’arborescence des fichiers 144  Par exemple, on regroupe toutes les photos de vacances dans un dossier « saison2023 ». Ces dossiers peuvent être eux- mêmes regroupés en catégories homogènes et ainsi de suite.  Ainsi le dossier « saison2023 » est situé dans le dossier « photos2023 » lui-même situé dans le dossier « photo » lui-même situé dans le disque dur « C : »
  • 134. Reproduction interdite L’arborescence des fichiers 145 Disque Photo Cours Photos202 3 Photos202 4 Saison202 3 Informatique TPE Cristaux. jpg Compte_rendu.p df CorrectionDM1.p df DM1.pdf
  • 135. Reproduction interdite L’arborescence des fichiers 146  La représentation schématique de cette organisation est celle d’un arbre dont la racine est le disque dur, les branches partent de la racine vers les dossiers qui contiennent des objets (fichiers ou dossiers) et ainsi de suite.  C’est pourquoi on parle d’une organisation arborescente. Les différents objets contenus dans un arbre sont appelés des nœuds.  Le chemin d’accès à un fichier est donné en listant les noms des dossiers rencontrés en suivant la branche allant de la racine au fichier recherché.  Les dossiers sont représentés par des boites rectangulaires et les fichiers par des ellipses.  Le chemin du fichier DM1.pdf est : disque/cours/informatique/DM1.pdf
  • 136. Reproduction interdite Droit d’accès d’un fichier 147  Lors de recherches sur internet par exemple, on rencontre des fichiers qu’il est possible de lire mais pas de modifier.  Ceci vient du fait que l’auteur du fichier a choisi certains paramètres d’accès pour son fichier.  Ces choix dépendent de l’utilisation que l’on veut faire du fichier. Par exemple lors d’un travail en groupe, chaque élève souhaite que ses camarades puissent accéder au compte rendu et le modifier.
  • 137. Reproduction interdite Droit d’accès d’un fichier 148  Il faut donc enregistrer le fichier en autorisant son accès en lecture et en écriture. Par contre, si on envoie son CV à quelqu’un, on ne désire certainement pas qu’il puisse le modifier, mais seulement qu’il puisse le lire. On choisit alors l’accès en lecture seule.  La procédure pour paramétrer les droits d’accès est plus ou moins simple suivant le système d’exploitation. Sous les systèmes Windows il faut aller dans les propriétés du fichier, Sécurité, Modifier, puis cocher l’accès refusé.
  • 139. Reproduction interdite changement d’extension d’un fichier 150  Pour changer l’extension d’un fichier, on peut le renommer en modifiant son extension (il faut pour cela que l’extension apparaisse dans le nom, ce qui n’est pas toujours le cas avec Windows) ; cela peut forcer une application à lire un fichier dont il ne reconnaissait pas l’extension.  Mais attention, modifier ainsi l’extension ne modifie pas la façon dont le fichier a été encodé.  Par conséquent, l’application peut mal lire ou ne pas y arriver même si l’extension est la bonne. Pour changer correctement un .doc en .pdf, par exemple, il faut l’ouvrir avec un logiciel lisant les .doc et l’enregistrer à partir de ce logiciel en .pdf pour que la façon d’encoder le fichier soit aussi modifiée.
  • 140. Reproduction interdite Compression d’un fichier 151  Un album de music enregistré au format WAV est numérisé avec une très grande qualité puisqu’il n’y a presque aucune perte d’information par rapport à la version de l’audio.  L’ennui, c’est qu’un album sous ce format nécessite environ 1 Go de mémoire. Cela signifie que sur un téléphone portable ou un lecteur MP3 ayant une capacité d’environ 8 Go, on ne peut mémoriser avec ce format que 8 albums.  On est très loin des centaines ou des milliers de titres que l’on souhaite conserver dans nos appareils numériques.
  • 141. Reproduction interdite Compression d’un fichier 152  En fait les audios que nous écoutons le plus souvent ou les images que nous voyons sont dans un format compressé, c’est-à-dire que le fichier de départ subit des modifications qui permettent de réduire sa taille.  En effet, pour que les fichiers soit moins volumineux en termes de mémoire, il faut éliminer de petites informations qui ne gênent pas la compréhension ou ne modifient pas trop l’aspect du fichier.  Par exemple, si le fichier est une image représentant un rectangle rouge, avec un pixel noir, l’observateur à l’œil nu ne verra pas de grande différence si l’on représente cette image par un rectangle complètement rouge, la perte d’information est minime, mais le gain de place est important car coder un rectangle constitué de pixels identiques prend peu de place.
  • 142. Reproduction interdite Compression d’un fichier 153  C’est l’idée sur laquelle est basée la compression d’un son au format MP3 ou d’une image au format JPG.  Ce type de compression engendre donc une légère baisse de qualité du fichier, qui sera d’autant plus grande que la compression sera importante. Le degré de compression dépendra ainsi de l’usage et de la qualité souhaités pour le fichier.  Un mélomane préfèrera un format non compressé alors qu’une personne lambda ne verra pas la différence entre le fichier non compressé et le fichier compressé.
  • 143. Reproduction interdite ALGORITHMES & PROGRAMMATION 154 CHAPITRE IV Introduction aux algorithmes
  • 144. Reproduction interdite INTRODUCTION GENERALE 155  Cours initie à la notion d’algorithmique, ses concepts et ses fondements de base.  L’accent est mis également sur les structures de données nécessaires au développement algorithmique tout en insistant sur le côté pratique à travers des exemples et des exercices.  Le côté programmation est aussi fort présent dans ce support à travers des exemples typiques de travaux pratiques. Le langage Python sera utilisé à cette fin pour sa simplicité convenable aux étudiants en phase d’initiation à la programmation.
  • 145. Reproduction interdite ALGORITHME 156  La notion d'algorithme est à la base de toute la programmation informatique.  La définition la plus simple que l’on peut associer à cette notion est qu’un algorithme est une suite ordonnée d’instructions qui indique la démarche à suivre pour résoudre un problème ou effectuer une tâche.  Le mot algorithme vient du nom latinisé du mathématicien perse AlKhawarizmi, surnommé « le père de l'algèbre ».
  • 146. Reproduction interdite 157  L’algorithmique est la science des algorithmes. Elle s’intéresse à l’art de construire des algorithmes ainsi qu’à déterminer leur validité, leur robustesse, leur réutilisabilité, leur complexité ou leur efficacité.  L’algorithmique permet ainsi de passer d’un problème à résoudre à un algorithme qui décrit la démarche de résolution du problème.  Par conséquent, la programmation consiste à traduire un algorithme dans un langage « compréhensible » par l’ordinateur afin qu’il puisse être exécuté automatiquement. ALGORITHME
  • 147. Reproduction interdite 158 Etapes de développement. ALGORITHME
  • 148. Reproduction interdite ALGORITHMIQUE 159  La figure ci-dessus illustre les deux phases nécessaires pour obtenir un code source :  Phase d’algorithmique qui implique la recherche et l’écriture d’un algorithme ;  Phase de programmation qui consiste à traduire l’algorithme obtenu en un programme à l’aide d’un langage de programmation (C, Java, Python,…).  Dans la première phase, on doit définir les données qu’on dispose et les objectifs qu’on souhaite atteindre, ainsi que prévoir des réponses à tous les cas possibles.
  • 149. Reproduction interdite ALGORITHMIQUE 160 Exemple : résolution d’une équation de second degré ax2+bx+c = 0 → Les données sont a, b et c → Les sorties sont x1 et x2 → Les cas : a=0 et b≠0, a = 0 et b = 0, a ≠0 , ……
  • 150. Reproduction interdite 161 Principe général  Le traitement automatique de l’information consiste à exécuter des instructions (opérations élémentaires et complexes) sur des données d’entrée afin de générer d’autres informations appelées résultats ou données de sortie. TRAITEMENT Données Résultats Entrée (Input) Sortie (Output) Principe du traitement automatisé. ALGORITHMIQUE
  • 151. Reproduction interdite 162 Exemple : Calcul de la moyenne d’un étudiant  Supposons qu’on doit calculer la moyenne d’un étudiant pour un ensemble de matières.  On doit donc : 1) Définir le nombre des matières concernées ainsi que les notes et les coefficients ; 2) Réaliser les opérations suivantes :  Multiplier chaque note d’une matière par son coefficient,  Calculer la somme des résultats des multiplications,  Diviser la somme obtenue par le total des coefficients, 3) Afficher le la moyenne de l’étudiant (résultat final). ALGORITHMIQUE
  • 152. Reproduction interdite 163 Remarque :  Lorsqu’on écrit un algorithme, les questions suivantes doivent être considérées :  Quel est le résultat attendu ?  Quelles sont les données nécessaires (informations requises) ?  Comment faire (le traitement à réaliser) ? ALGORITHMIQUE
  • 153. Reproduction interdite 164 Caractéristiques des algorithmes : Structure générale  Un algorithme se compose généralement de deux parties :  Partie déclarative : appelée aussi entête de l’algorithme, elle contient généralement les déclarations (des constantes, des variables, etc.).  Partie corps de l’algorithme : constituée d’une ou plusieurs séquences d’instructions faisant appel à des opérations de base à exécuter par l’ordinateur. ALGORITHMIQUE
  • 154. Reproduction interdite 165 Algorithme <Nom de l’algorithme> La partie déclarative Le corps de l’algorithme Constante <Liste des constantes avec leurs valeurs> Variable <Liste de variables suivis de leurs types> DEBUT FIN <Séquence d’instruction> L’entête ALGORITHMIQUE
  • 155. Reproduction interdite 166 Les variables et les constantes  L’élément unitaire de stockage de l’information est appelé bit. Un bit ne peut avoir que deux états distincts : 0 ou 1 (vrai ou faux dans la logique).  Dans la mémoire de l’ordinateur, les données sont manipulées par groupes de 8 bits (octets), ou plus (mots de 16, 32, 64 bits,…).  Une case mémoire est donc appelée mot et pour que l’unité centrale puisse stocker une information et la retrouver dans la mémoire, chaque mot est repéré par une adresse. ALGORITHMIQUE
  • 156. Reproduction interdite 167  Dans la programmation, les adresses mémoire sont représentées par des noms. Le programmeur ne connait pas donc l’adresse d’une case mais plutôt son nom.  Il y a donc deux façons de voir la mémoire centrale de l’ordinateur : côté programmeur et côté ordinateur tel qu’il est illustré, à titre d’exemple, dans le schéma suivant. ALGORITHMIQUE
  • 157. Reproduction interdite 168 Organisation de la mémoire. ALGORITHMIQUE
  • 158. Reproduction interdite 169 Les variables  Une variable est une case mémoire destiné à contenir des valeurs de type défini au préalable (nombres, caractères, chaînes de caractères,…). [a-z], [A-Z], [0, 9], "_"  Elle possède un nom, un type, et un contenu qui peut être modifié au cours de l’exécution de l’algorithme. Une variable ne doit pas commencer par un chiffre. Le mot clé est : Variable ALGORITHMIQUE
  • 159. Reproduction interdite 170 Les constantes  La définition d’une constante est la même que celle d’une variable à la différence que sa valeur reste inchangée tout au long du déroulement (exécution) de l’algorithme. Le mot clé est : Constante ALGORITHMIQUE
  • 160. Reproduction interdite 171 Les variables et les constantes sont déclarées selon la syntaxe suivante : Syntaxe : Variable <nom_variable> : type Constante <nom_constante> = valeur Remarque :  Dans la partie déclarative, les variables et les constantes sont caractérisées essentiellement par :  Un identificateur : est un nom attribué à la variable ou à la constante, qui peut être composé de lettres et de chiffres mais sans espaces.  Un type : qui définit la nature et la taille de la variable. ALGORITHMIQUE
  • 161. Reproduction interdite 172 Exemple : Variable x, y : entier Constante alpha = 0.5  Dans cet exemple, nous avons déclaré :  Deux variables (x et y) de type entier, ce type est décrit dans la sous-section suivante.  Une constante (alpha) égale à la valeur 0.5 à titre d’exemple. ALGORITHMIQUE
  • 162. Reproduction interdite 173 Les types de base :  Le type d’une variable définit l’ensemble des valeurs que peut prendre la variable, ainsi que l’ensemble des opérations que l’on peut appliquer sur cette variable.  Il existe des types simples prédéfinis tels que : entier, réel, caractère, booléen et chaîne de caractères ALGORITHMIQUE
  • 163. Reproduction interdite 174 Type entier :  C’est un type numérique représentant l’ensemble des entiers relatifs, tels que : -9, 0, 31, ….  Les opérations permises sur ce type sont : +, - , *, div (division entière) et mod (modulo ou reste de la division entière). Le mot clé est : entier Exemple : Variable x : entier ALGORITHMIQUE
  • 164. Reproduction interdite 175 Type réel :  C’est un type numérique aussi représentant l’ensemble des nombres réels, tels que : 0.25, -1.33, 2.5 e+10,… .  Les opérations permises sur ce type sont : +, -, * et /. Le mot clé est : réel Exemple : Variable y : réel ALGORITHMIQUE
  • 165. Reproduction interdite ALGORITHMIQUE 176 Type caractère : Ce type représente tous les caractères alphanumériques tels que : ′a′, ′A′, ′3′, ′%′, ′ ′, … Les opérations supportées par ce type sont : =, ≠, <, <=, >, >=. Le mot clé est : caractère Exemple : Variable a : caractère
  • 166. Reproduction interdite 177 Type booléen :  Ce type est utilisé dans la logique pour représenter les deux valeurs : vrai et faux.  Les opérations prises en charge sont : NON, ET, OU. Le mot clé est : booléen Exemple : Variable b : booléen ALGORITHMIQUE
  • 167. Reproduction interdite 178 Type Chaîne de caractères :  Ce type représente les mots et les phrases tels que "Algorithmique", "Cours", etc.  Le mot clé utilisé est : chaîne Exemple : Variable c : chaîne Globalement, la partie déclarative d’un algorithme peut être représentée comme suit. ALGORITHMIQUE
  • 168. Reproduction interdite 179 Exemple : Variable x, y : entier z, w : réel lettre : caractère nom : chaîne Etat : booléen Constante N = 100 arobase = ′@′ mot = "bonjour" ALGORITHMIQUE
  • 169. Reproduction interdite CONCLUSION 180 Ce chapitre constitue une initiation aux notions basiques de l’écriture des algorithmes. La syntaxe d’un algorithme, la notion de variable et de constante, ainsi que leurs types sont définies et expliqués à travers des exemples simples. Ceci constitue pour le lecteur un prérequis de base qui lui permettra de comprendre la notion d’instructions algorithmiques dans les prochains chapitres.
  • 170. Reproduction interdite ALGORITHMES & PROGRAMMATION 181 CHAPITRE V LES INSTRUCTIONS SIMPLES
  • 171. Reproduction interdite INTRODUCTION 182  Un algorithme, par définition, est un ensemble d’instructions qui peuvent être simples ou complexes.  Dans ce chapitre, on s’intéressera aux instructions simples notamment : les instructions d’affectation, de lecture et d’écriture.
  • 172. Reproduction interdite L’INSTRUCTION D’AFFECTATION 183  Cette instruction est élémentaire en algorithmique, elle permet d’assigner une valeur à une variable selon la syntaxe suivante : variable  expression  Une instruction d’affectation est exécutée comme suit :  évaluation de l’expression située à droite de l’instruction,  et affectation du résultat à la variable située à gauche de l’instruction.  L’expression peut être :  une constante : c  10  une variable : v  x  une expression arithmétique : e  x + y  une expression logique : d  a OU b
  • 173. Reproduction interdite L’INSTRUCTION D’AFFECTATION 184 Remarque :  Une constante ne figure jamais à gauche d’une instruction d’affectation. Exemple d’instruction fausse : Constante z = 1 z  2 « Faux »  Après une affectation, l’ancien contenu d’une variable est substitué (écrasé) par le nouveau contenu. Exemple : Variable a : entier a  1 a  2 Après la deuxième affectation, la valeur de a est devenue 2 (la valeur 1 est écrasée).
  • 174. Reproduction interdite L’INSTRUCTION D’AFFECTATION 185  Une instruction d’affectation doit se faire entre deux types compatibles. Exemple : Variable x, y : entier z : réel a, b : caractère Instructions correctes Instructions incorrectes x  y y  x z  x a  b b  a x  z x  a b  y a  z
  • 175. Reproduction interdite L’INSTRUCTION D’AFFECTATION 186  Les expressions arithmétiques ou logiques sont composées d’au moins deux termes reliés par un ou plusieurs opérateurs dont on peut distinguer : a) Les opérateurs arithmétiques (par ordre de priorité) : ^ : Puissance * , / , mod, div : Multiplication, Division, Reste de la division entière (Modulo), Quotient de la division entière + , - : Addition et Soustraction
  • 176. Reproduction interdite L’INSTRUCTION D’AFFECTATION 187 b) Les opérateurs logiques ou booléens : NON : Non logique (négation) ET : Et logique (conjonction) OU : Ou logique (disjonction)
  • 177. Reproduction interdite 188 Table de vérité Expressions Résultat Vrai Faux NON(13.4 < 15) Faux L’INSTRUCTION D’AFFECTATION
  • 178. Reproduction interdite L’INSTRUCTION D’AFFECTATION 189 c) Les opérateurs de comparaison ou relationnels : > , >= : supérieur et supérieur ou égal < , <= : inférieur et inférieur ou égal = , ≠ (ou <>) : égal et différent Remarque :  Les expressions logiques peuvent être composées des opérateurs logiques et/ou relationnels. Par exemple, (A < 20) ET (B >= 10) est Vrai si A est inférieur à 20 et B est égal ou supérieur à 10, et faux sinon.
  • 179. Reproduction interdite L’INSTRUCTION de lecture 190  Cette instruction est très primordiale dans un algorithme.  Elle permet de lire des valeurs en entrée (input) et les affecter aux variables stockées dans la mémoire.  Les valeurs affectées sont souvent des données introduites à partir d’un périphérique d’entrée tel que le clavier. Syntaxe : Lire(var1, var2,…) Exemple : Lire(x) : lit et stocke une valeur donnée dans la case mémoire associée à x. Lire(x,y) : lit et stocke deux valeurs, la première dans x et la deuxième dans y.
  • 180. Reproduction interdite L’INSTRUCTION de lecture 191 Illustration : Opération de lecture
  • 181. Reproduction interdite L’INSTRUCTION D’ecriture 192  Cette instruction est aussi d’une grande importance dans les algorithmes.  Elle permet d’écrire en sortie (output) les données résultant d’un traitement effectué par l’algorithme (valeur, texte, …) en les affichant par exemple sur un périphérique de sortie tel que l’écran. Syntaxe : Ecrire(var1, var2, expr1, expr2, …)
  • 182. Reproduction interdite L’INSTRUCTION D’ecriture 193 Remarque :  Dans le cas d’écriture d’une expression, c'est le résultat d’évaluation de cette expression qui est affiché et non pas l’expression elle-même. Par exemple : Soient deux variables x et y tel que x = 5 et y = 7, l’instruction : Ecrire(x + y) Affiche en sortie le résultat d’addition de x et y (soit 12).
  • 184. Reproduction interdite EXEMPLE 195  Ecrire un algorithme qui calcule la moyenne de deux réels
  • 185. Reproduction interdite 196 TRAITEMENT x , y z Lire(x,y) Ecrire(z)  Analyse 1 :  Données d’entrée : x, y  Donnée de sortie : z EXEMPLE
  • 186. Reproduction interdite 197 Algorithme Moyenne_deux_réels Variable x, y, z : réel Début Lire(x) Lire(y) ... Ecrire (z) Fin EXEMPLE
  • 187. Reproduction interdite 198 Algorithme Moyenne_deux_réels Variable x, y, z : réel Début Lire(x, y) ... Ecrire (z) Fin EXEMPLE
  • 188. Reproduction interdite 199 Algorithme Moyenne_deux_réels Variable x, y, z : réel Début Ecrire(″Donner deux valeurs : ″) Lire(x, y) ... Ecrire (″La moyenne est : ″, z) Fin EXEMPLE  Analyse 2 : 1. Faire la somme de x et y 2. La diviser par 2 3. L’affecter dans z
  • 189. Reproduction interdite 200 Algorithme Moyenne_deux_réels Variable x, y, z : réel Début Ecrire(″Donner deux valeurs: ″) Lire(x, y) z  (x + y)/2 Ecrire (″La moyenne est : ″, z) Fin EXEMPLE
  • 190. Reproduction interdite 201 Algorithme Moyenne_deux_réels Variable x, y, z : réel Début Ecrire(″Donner deux valeurs : ″) Lire(x, y) z  (x + y)/2 Ecrire (″La moyenne est : ″, z) { On peut remplacer les deux dernières instructions par une seule : } Ecrire (″La moyenne est : ″, (x + y)/2 ) { dans ce cas, pas besoin de z } Fin  Dans cet algorithme, si l’utilisateur introduit 10 pour x et 20 pour y alors l’affichage sera : La moyenne est : 15 EXEMPLE
  • 191. Reproduction interdite CONCLUSION 202  Dans ce chapitre, nous avons présenté les instructions algorithmiques fondamentales à savoir l’affectation, la lecture et l’écriture.  Ces trois instructions simples sont incontournables dans l’écriture d’un algorithme et constituent l’un des moyens les plus simples qui permettent au programmeur d’interagir avec son ordinateur à travers des actions d’entrées/sorties.
  • 192. Reproduction interdite ALGORITHMES & PROGRAMMATION 203 CHAPITRE VI instructions conditionnelles (les alternatives)
  • 193. Reproduction interdite INTRODUCTION 204  Les algorithmes comportent généralement deux types d’instructions :  Les instructions simples : qui permettent la manipulation des variables telles que l’affectation, la lecture et l’écriture.  Les instructions de contrôle : qui précisent l’enchainement chronologique des instructions simples.  C’est en particulier le cas des instructions conditionnelles ou les tests.
  • 194. Reproduction interdite Structure d’un test : forme simple 205  Il existe deux formes de test : forme simple (ou réduite) et forme complète.  Dans la forme simple (ou réduite), une action qui correspond à une ou plusieurs instructions, est exécuté si une condition est vérifiée.  Sinon l’algorithme passe directement au bloc d’instruction qui suit immédiatement le bloc conditionnel.
  • 195. Reproduction interdite 206 Si (condition) Alors Instruction(s) Finsi Structure d’un test : forme simple
  • 196. Reproduction interdite 207 Remarque : La condition évaluée après l’instruction « SI » est une variable ou une expression booléenne qui, à un moment donné, est vraie ou fausse. Par exemple : x=y, x<=y x  5 y  9 Dans cet exemple, le message ″x est égale à y″ ne sera pas affiché puisque la condition (x = y) n’est pas vérifiée. Si (x = y) Alors Ecrire(″x est égale à y″) Finsi Structure d’un test : forme simple
  • 197. Reproduction interdite 208  La forme complète permet de choisir entre deux actions selon qu’une condition est vérifiée ou non. Si (condition) Alors Instruction(s) 1 Sinon Instruction(s) 2 Finsi Structure d’un test : forme complète
  • 198. Reproduction interdite 209 Remarque : Certains problèmes exigent parfois de formuler des conditions qui ne peuvent pas être exprimées sous la forme d’une simple comparaison. Par exemple, la condition x ∈ [0, 1[ s’exprime par la combinaison de deux conditions x >= 0 et x < 1 qui doivent être vérifiées en même temps. Pour combiner ces deux conditions, on utilise les opérateurs logiques. Ainsi, la condition x ∈ [0, 1[ pourra s’écrire sous la forme : (x >= 0) ET (x < 1). Cette dernière est appelée une condition composée ou complexe. Structure d’un test : forme complète
  • 199. Reproduction interdite 210 Exemple (sur la forme complète d’un test) : x  5 y  9  Avec cette forme, on peut traiter les deux cas possibles. Si la condition (x=y) est vérifiée, le premier message est affiché, si elle n’est pas vérifiée, le deuxième message est affiché. Si (x = y) Alors Ecrire(″x est égale à y″) Sinon Ecrire(″x est différente de y″) Finsi Structure d’un test : forme complète
  • 200. Reproduction interdite 211  La forme « Si … Alors … Sinon » permet deux choix correspondants à deux traitements différents.  Dans d’autres situations, on pourra avoir plus de deux cas, ce qui rend cette alternative insuffisante pour traiter tous les cas possibles.  La forme complète permet de choisir entre plusieurs actions en imbriquant des formes simples selon la syntaxe ci- dessous. Structure d’un test : tests imbriqués
  • 201. Reproduction interdite 212 Si (condition1) Alors Traitement 1 Sinon Si (condition2) Alors Traitement 2 Sinon Si (condition3) Alors Traitement 3 … Sinon Traitement N Finsi Finsi Finsi Structure d’un test : tests imbriqués
  • 202. Reproduction interdite 213 Exemple (Etat de l’eau) :  Dans les conditions normales de température et de pression, l’eau est sous forme de glace si la température est inférieure ou égale à 0° C, sous forme de liquide si la température est comprise entre 0° C et 100° C et sous forme de vapeur au-delà de 100° C.  Ecrivons l’algorithme qui permet de vérifier l’état de l’eau selon sa température. Structure d’un test : tests imbriqués
  • 203. Reproduction interdite 214 Algorithme Etat_Eau Variable t : Réel Début Ecrire("Donner la température de l’eau :") Lire(t) Si (t <= 0) Alors Ecrire("Etat solide") Finsi Si ((t > 0) ET (t < 100)) Alors Ecrire("Etat liquide") Finsi Si (t >= 100) Alors Ecrire("Etat gazeux") Finsi Fin Structure d’un test : tests imbriqués
  • 204. Reproduction interdite 215  Cet algorithme est correct mais il évalue les trois conditions qui portent sur la même variable et qui sont exclusives.  En effet, si (t <= 0), alors on ne peut pas avoir (t >= 0 et t < 100) ni (t > 100).  Il est donc inutile d’évaluer les deux dernières conditions si la première est vérifiée, ou d’évaluer la dernière condition si la deuxième est vérifiée.  Pour éviter ce cas de figure, il sera préférable d’utiliser des tests imbriqués comme suit : Structure d’un test : tests imbriqués
  • 205. Reproduction interdite 216 … Début Ecrire("Donner la température de l’eau:") Lire(t) Si (t <= 0) Alors Ecrire("Etat solide") Sinon Si (t < 100) Alors Ecrire(" Etat liquide") Sinon Ecrire("Etat gazeux") Finsi Finsi Fin Structure d’un test : tests imbriqués
  • 206. Reproduction interdite 217 Donc, l’utilisation de tests imbriqués permet de :  Simplifier le pseudo-code : à travers l’imbrication nous n’avons utilisé que deux conditions simples au lieu de trois conditions dont une, est composée.  un algorithme (ou programme) plus simple et plus lisible.  Optimiser le temps d’exécution : dans le cas où la première condition est vérifiée, l’algorithme passe directement à la fin, sans tester le reste qui est forcément faux.  un algorithme (ou programme) plus performant à l’exécution. Structure d’un test : tests imbriqués
  • 207. Reproduction interdite 218 Remarque :  Nous avons les équivalences suivantes : NON(A ET B) ⇔ NON(A) OU NON(B) NON(A OU B) ⇔ NON(A) ET NON(B)  Ainsi, toute structure de test avec l’opérateur logique ET peut être exprimée d’une manière équivalente avec l’opérateur logique OU et vice-versa.  Par conséquent, les deux alternatives suivantes sont équivalentes Structure d’un test : tests imbriqués
  • 208. Reproduction interdite 219 Structure d’un test Si (A ET B) Alors Instruction(s) 1 Sinon Instruction(s) 2 Finsi Si (NON(A) OU NON(B)) Alors Instruction(s) 2 Sinon Instruction(s) 1 Finsi
  • 209. Reproduction interdite 220  Il existe une autre variante d’instructions conditionnelles qui permet d’effectuer des actions différentes suivant les différentes valeurs que peut avoir une variable.  Cette structure est écrite comme suit : Les choix multiples
  • 210. Reproduction interdite 221 Syntaxe : Selon (variable) Valeur1 : instruction(s) 1 Valeur2 : instruction(s) 2 … ValeurN : instruction(s) N Défaut : instruction(s) par défaut Finselon Les choix multiples
  • 211. Reproduction interdite 222 Remarque :  Dans la structure de test à choix multiples :  L’action peut être une suite d’instructions ;  La valeur est une constante de même type que la variable ;  La partie « défaut » est exécutée si aucun des autres cas n’est vérifié ;  L’exécution des différents cas (y compris le cas par défaut) est exclusive c’est-à-dire l’exécution d’un seul cas provoque la sortie de cette structure. Les choix multiples
  • 212. Reproduction interdite 223 Exemple :  Dans ce qui suit, le nom du jour de la semaine correspondant est affiché selon la valeur de la variable « jour ». Les choix multiples
  • 213. Reproduction interdite 224 jour  5 Selon(jour) 1 : Ecrire("Dimanche") 2 : Ecrire("Lundi") 3 : Ecrire("Mardi") 4 : Ecrire("Mercredi") 5 : Ecrire("Jeudi") 6 : Ecrire("Vendredi") 7 : Ecrire("Samedi") Défaut : Ecrire("Numéro de jour invalide.") Finselon  Donc, l’expression « Jeudi » est affichée dans ce cas. Les choix multiples
  • 214. Reproduction interdite 225  Dans ce chapitre, nous avons présenté le principe de la condition, suivant lequel un algorithme peut effectuer une action ou prendre une décision.  Ceci est mis en œuvre à travers les instructions conditionnelles ou tout simplement les tests avec leurs différentes formes vues précédemment. Conclusion
  • 215. Reproduction interdite ALGORITHMES & PROGRAMMATION 226 CHAPITRE VI instructions itératives (les boucles)
  • 216. Reproduction interdite 227  Pour calculer la moyenne générale d’un étudiant, il faut répéter la séquence d’instructions qui permet de calculer la moyenne générale :  Lire toutes les notes (et leurs coefficients) de l’étudiant,  Calculer la somme des notes,  Diviser la somme obtenue sur le nombre (ou sur la somme des coefficients).  Si l’on veut maintenant calculer la moyenne d’un autre étudiant, les mêmes instructions doivent être répétées.  Pour N d’étudiants, il nous faudra donc répéter N fois la même séquence d’instructions. INTRODUCTION
  • 217. Reproduction interdite 228  Il se pose deux questions importantes : 1) Comment éviter d’écrire plusieurs fois la même séquence d’instructions ? 2) Combien de fois doit-on répéter l’exécution de la séquence d’instructions pour obtenir le résultat attendu ?  Pour répondre à cette question, de nouvelles instructions de contrôle sont introduites. Il s’agit des instructions itératives (appelées aussi les boucles ou les itérations). INTRODUCTION
  • 218. Reproduction interdite 229  Une boucle (ou itération) est une instruction de contrôle qui permet de répéter plusieurs fois un ensemble d’instructions.  Généralement, deux cas sont distingués :  Le nombre de répétitions est connu.  Le nombre des répétitions est inconnu ou variable. Définition
  • 219. Reproduction interdite 230  Lorsque le nombre de répétitions est déterminé (connu), l’utilisation de l’instruction « Pour … Faire » est privilégiée.  Une structure de boucle avec l’instruction « Pour » s’arrête une fois que le nombre de répétitions est atteint.  Cette structure possède un indice (compteur) de contrôle d’itérations caractérisé par :  une valeur initiale (vi),  une valeur finale (vf),  un pas de variation . L’instruction « Pour … Faire »
  • 220. Reproduction interdite 231 Pour <indice> de <vi> à <vf> [Pas <val_pas>] Faire Instruction(s) FinPour  Cette structure est dite « croissante » lorsque la valeur initiale vi de l’indice est inférieure à sa valeur finale vf, le pas de variation est par conséquent positif. Autrement, elle est dite « décroissante ». L’instruction « Pour … Faire »
  • 222. Reproduction interdite 233 L’instruction « Pour … Faire »  Exemple : un compteur croissant/décroissant Les deux algorithmes suivants comptent de 1 à N et de N à 1 respectivement. Algorithme compteur_croissant Variable i : entier Constante N=100 Début Pour i de 1 à N Faire Ecrire(i) FinPour Fin Algorithme compteur_decroissant Variable i : entier Constante N=100 Début Pour i de N à 1 Faire Ecrire(i) FinPour Fin  Remarque : Si la valeur du « pas » n’est pas précisée dans l’instruction « Pour », elle est par défaut égale à un (1). Résultat d’exécution : 1, 2, 3, …, 99, 100 Résultat d’exécution : 100, 99, 98, …, 2, 1
  • 223. Reproduction interdite 234 L’instruction « Tant que … faire »  Cette instruction permet de tester une condition et répéter le traitement associé tant que cette condition est vérifiée. Tant que (condition) Faire Instruction(s) Fintq
  • 224. Reproduction interdite 235 L’instruction « Tant que … faire » Exemple : Réécrivons l’algorithme précédent avec cette instruction. Variable i : entier Début i  1 Tant que (i<=100) Faire Ecrire(i) i i+1 Fintq Fin
  • 225. Reproduction interdite 236 L’instruction « Répéter … jusqu’à »  Dans cette instruction, un traitement est exécuté au moins une fois puis sa répétition se poursuit jusqu’à ce que la condition soit vérifiée. Répéter Instruction(s) Jusqu’à (condition)
  • 226. Reproduction interdite 237 L’instruction « Répéter … jusqu’à » Exemple : Soit l’algorithme suivant : Variables n, p : entier Début Répéter Ecrire("Donner un nombre :") Lire(n) p  n*n Ecrire(p) Jusqu’à (n=0) Ecrire("Fin de l’algorithme") Fin
  • 227. Reproduction interdite 238 L’instruction « Répéter … jusqu’à »  Les instructions encadrées par les mots répéter et jusqu’à constituent le bloc de la boucle qu’il faut répéter jusqu’à ce que la condition (n=0) soit vérifiée.  Donc le nombre de répétitions de cette boucle dépend des données fournies par l’utilisateur.  Question ?  Réécrire l’algorithme précédent avec « Tant que … Faire » puis avec « Pour … Faire ».
  • 228. Reproduction interdite 239 L’instruction « Répéter … jusqu’à »  Remarque :  Dans la boucle « Répéter … Jusqu’à », la condition constitue une condition d’arrêt de la boucle.  Dans la boucle « Tant que … Faire », la condition est une condition de réalisation de la boucle.
  • 229. Reproduction interdite 240 La notion dE compteur  Un compteur est une variable associée à la boucle dont la valeur est incrémentée de un (1) à chaque itération.  Elle sert donc à compter le nombre d’itérations (répétitions) de la boucle.  La notion du compteur est associée particulièrement aux deux boucles : « Répéter … Jusqu’à » et « Tant que … Faire ».  Par contre, dans la boucle « Pour … Faire », c’est l’indice qui joue le rôle du compteur.
  • 230. Reproduction interdite 241 La notion dE compteur cpt  0 Répéter instruction(s) … cpt  cpt + 1 Jusqu’à (condition) cpt  0 Tant que (condition) Faire instruction(s) … cpt  cpt + 1 FinTq Bloc de la boucle
  • 231. Reproduction interdite 242 La notion dE compteur  Remarque :  Il faut toujours initialiser le compteur avant de commencer le comptage.  La variable « cpt » (utilisée ci-dessus comme compteur), a été initialisée à zéro (0) avant le début de chaque boucle.  L’instruction « cpt  cpt +1 » incrémente la valeur de « cpt » de un (1).  Elle peut être placée n’importe où à l’intérieur du bloc de la boucle.
  • 232. Reproduction interdite 243 La notion dE compteur  Exemple : i  0 Répéter Ecrire(i) i  i+1 Jusqu’à (i=5) i  0 Tant que (i<5) Faire Ecrire(i) i  i+1 FinTq Résultat d’exécution : 0, 1, 2, 3, 4, 5 Résultat d’exécution : 0, 1, 2, 3, 4
  • 233. Reproduction interdite 244 La notion d’accumulation  Cette notion est fondamentale en programmation.  Elle est utilisée notamment pour calculer la somme d’un ensemble de valeurs.  L’instruction correspondante se présente ainsi : variable  variable + valeur  Cette instruction consiste à ajouter une valeur à une variable numérique, puis affecter le résultat dans la variable elle-même.  En d’autres termes, la nouvelle valeur de variable est égale à l’ancienne plus une certaine valeur.
  • 234. Reproduction interdite 245  Exemple : calcul de la somme de n valeurs données par l’utilisateur : Variables i, n : entier som, val : réel Début Écrire ("Donner le nombre de valeurs :") Lire(n) som  0 Pour i de 1 à n Faire Écrire("Enter une valeur :") Lire(val) som  som + val FinPour Écrire("La somme des valeurs est égale à :", som) Fin La notion d’accumulation
  • 235. Reproduction interdite 246 Les boucles imbriquées  Exemple : Les boucles peuvent être imbriquées les unes dans les autres. Deux ou plusieurs boucles imbriquées peuvent être aussi les mêmes ou différentes. Pour i de 1 à 2 Faire Écrire("i = ",i) Pour j de 1 à 3 Faire boucle 1 Écrire("j = ",j) boucle 2 FinPour FinPour
  • 236. Reproduction interdite 247 Les boucles imbriquées  Dans l’exemple ci-dessus, chaque itération de la boucle extérieure (boucle 1) exécute la boucle intérieure (boucle 2) jusqu’à la fin avant de passer à l’itération suivante, et ainsi de suite jusqu’à la fin des deux boucles.  Ainsi, le résultat d’exécution peut être représenté comme suit : i = 1 j = 1 j = 2 j = 3 i = 2 j = 1 j = 2 j = 3
  • 237. Reproduction interdite 248 Les boucles imbriquées  Remarque :  Des boucles peuvent être imbriquées ou successives.  Cependant, elles ne peuvent jamais être croisées.  Par exemple, l’algorithme suivant est faux puisqu’il comporte deux boucles croisées :
  • 238. Reproduction interdite 249 Les boucles imbriquées Variables i, j : entier Début i1 j1 Répéter Écrire(i) Répéter Écrire(j) ii+1 Jusqu’à (i>2) jj+1 Jusqu’à (j>3) Fin
  • 239. Reproduction interdite 250 Conclusion  Ce chapitre a été consacré aux structures itératives ou boucles qui permettent de répéter l’exécution d’une séquence d’instructions plusieurs fois selon un nombre fixe ou certains critères dont l’utilisation a été explicitée à travers différents exemples.  Ainsi, ces instructions sont d’une grande importance dans la manipulation de certaines structures de données telles que les tableaux que nous aborderons dans le prochain chapitre.