0% ont trouvé ce document utile (0 vote)
96 vues222 pages

Introduction à Python en CPGE

Le document présente un cours d'informatique destiné aux classes préparatoires, dirigé par M. Olyvier Nzighou, sans prérequis en programmation. Il couvre des sujets allant de l'environnement matériel et logiciel d'un système informatique à la programmation en Python, incluant des évaluations pratiques. Les concepts fondamentaux de l'informatique, tels que le traitement de l'information et la structure d'un ordinateur, sont également abordés.

Transféré par

Olyvier Nzighou
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
96 vues222 pages

Introduction à Python en CPGE

Le document présente un cours d'informatique destiné aux classes préparatoires, dirigé par M. Olyvier Nzighou, sans prérequis en programmation. Il couvre des sujets allant de l'environnement matériel et logiciel d'un système informatique à la programmation en Python, incluant des évaluations pratiques. Les concepts fondamentaux de l'informatique, tels que le traitement de l'information et la structure d'un ordinateur, sont également abordés.

Transféré par

Olyvier Nzighou
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPT, PDF, TXT ou lisez en ligne sur Scribd

INFORMATIQUE POUR TOUS

(I.P.T)
Classes Préparatoires aux Grandes Ecoles
(CPGE)

Reproduction
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 : [Link]@[Link]
Reproduction
prerequis

 Aucune expérience préalable en programmation


n'est requise, mais une familiarité avec les
concepts informatiques de base serait utile.

Reproduction 3
interdite
Evaluation

 L'évaluation peut se faire à travers des


exercices pratiques, des petits projets ou un
examen final, selon les besoins de la classe.

Reproduction 4
interdite
Enseignement

 Cour magistrale

 TD/TP

Reproduction 5
interdite
PLAN

1. Environnement matériel et logiciel d’un système


informatique
2. Algorithmique de base
3. La base de la programmation Python
4. Les fonctions
5. Les séquences
6. Les matrices
7. Les fichiers
8. Les dictionnaires

Reproduction 6
interdite
PLAN

9. Les ensembles
[Link] gestion des exceptions
[Link] programmation orientée objet
[Link] modules Numpy, Matplotlib, Scipy

Reproduction 7
interdite
CHAPITRE I Environnement
Matériel & Logiciel d’un Système
Informatique

Reproduction 8
interdite
PLAN

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 9
interdite
NOTIONS DE BASE

 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 10
interdite
NOTIONS DE BASE

 Définition : l’informatique est la science du


traitement automatique de l’information par
ordinateur.
 Information :

Icone -01- Icone -02- Icone -


03-

Reproduction 11
interdite
NOTIONS DE BASE

 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 12
interdite
NOTIONS DE BASE

 Traitement de l’information :

Classement croissant

58, 3, 78, 2, 9, 7 2, 3, 7, 9, 58, 78

Traduction Fr, En

Programmeur Programmer

Reproduction 13
interdite
NOTIONS DE BASE

 Schéma d’un traitement

Informati Traiteme
nt Informati
on
(Opératio on sortie
Entrée
ns)

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 14
interdite
NOTIONS DE BASE

 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 15
interdite
NOTIONS DE BASE

 Exemple :

Les smartphones, les tablettes, les consoles de jeux et


les ordinateurs sont tous des exemples de
systèmes informatiques.

Reproduction 16
interdite
SYSTÈME INFORMATIQUE

 Le matériel (Hardware) :

Correspond à l’aspect concret du système : unité


centrale, mémoire, organes d’entrées/sorties, etc.

Reproduction 17
interdite
SYSTÈME INFORMATIQUE

 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 18
interdite
SYSTÈME INFORMATIQUE

Reproduction 19
interdite
Structure d’un ordinateur
 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 20
interdite
Structure d’un ordinateur

 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 21
interdite
Structure d’un ordinateur

 Schéma fonctionnel d’un ordinateur :

Reproduction 22
interdite
Structure d’un ordinateur
 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 23
interdite
Structure d’un ordinateur
 Les périphériques :

Reproduction 24
interdite
Structure d’un ordinateur

 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 Reproduction
d’entrée/sortie
25
interdite
Structure d’un ordinateur
 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 26
interdite
Structure d’un ordinateur
 Types de périphériques :

Reproduction 27
interdite
Structure d’un ordinateur
 Périphériques - Types de périphériques - Rôle :

Périphérique
Types de périphériques Rôle
s
Souris Périphérique d’entrée Entrer des ordres (clics)
Moniteur Périphérique de sortie Afficher les informations
Ecrire des alphabets, des
Clavier Périphérique d’entrée
numéros et des symboles
Imprimant
Périphérique de sortie Imprimer les documents
e
Casque Périphérique de sortie Entendre du son
Périphérique d’entrée et de Connecter l’ordinateur à
Modem
sortie Internet
Clé USB Périphérique de stockage Stocker les informations
Entrer des photos et des
Scanner Périphérique d’entrée
documents
Microphon
Périphérique d’entrée Entrer le son
e
CD-ROM Périphérique de stockage
Reproduction Stocker les informations
Disque dur Périphérique de stockage Stocker les informations 28
interdite
Structure d’un ordinateur
 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 29
interdite
Structure d’un ordinateur
 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 Numéro
Composant les
Processeur 5
composants de l’ordinateur. 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 16
AGP
Cartes d’extension 15
PCI

Reproduction 30
interdite
Structure d’un ordinateur
 Les composants de la carte mère :

Reproduction 31
interdite
Structure d’un ordinateur

 Socket :

Le socket est un connecteur utilisé pour


interfacer un processeur avec une carte mère

Reproduction 32
interdite
Structure d’un ordinateur

 Slot :

Le slot est une fente dans laquelle on insère une


carte d’extension ou une barrette de mémoire

Reproduction 33
interdite
Structure d’un ordinateur

 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 34
interdite
Structure d’un ordinateur

 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 35
interdite
Structure d’un ordinateur

 Connecteur AGP (Accelerator Graphic Port) :

Le port AGP est un port interne destiné


exclusivement aux cartes graphiques

Reproduction 36
interdite
Structure d’un ordinateur
 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 37
interdite
Structure d’un ordinateur
 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 38
interdite
Structure d’un ordinateur
 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 appelleReproduction
la mémoire vive (RAM) 39
interdite
Structure d’un ordinateur

 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 40
interdite
Structure d’un ordinateur

 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 41
interdite
Structure d’un ordinateur

 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 42
interdite
Structure d’un ordinateur
 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 43
interdite
Structure d’un ordinateur
 Hiérarchie des mémoires :

Reproduction 44
interdite
Structure d’un ordinateur
 Temps d’accès aux différents types de mémoires
(ns):

Reproduction 45
interdite
Structure d’un ordinateur
 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 46
interdite
Structure d’un ordinateur

 Le microprocesseur est composé des éléments


suivants :
 UAL : Unité Arithmétique et Logique permettant
de faire des calculs arithmétiques binaires 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 47
interdite
Structure d’un ordinateur

 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 48
interdite
Structure d’un ordinateur

 Le est le canal électronique qui assure la


bus
communication (information binaire) entre les
composants matériels

Reproduction 49
interdite
Architecture simplifie d’un ordinateur

 En première approche, un ordinateur est constitué


d'un processeur qui effectue les traitements, d'une
mémoire centrale où ce processeur range les
données et les résultats de ces traitements et des
périphériques permettant l'échange d'informations
avec l'extérieur. Tous ces constituants sont reliés
entre eux par l'intermédiaire d'un bus, qui est
l'artère centrale et leur permet de s'échanger des
données.
 Pratiquement, tous les ordinateurs actuels ont
cette architecture, que ce soient les micro-
ordinateurs personnels ou les gros ordinateurs des
entreprises. Les différences résident
Reproduction 50
essentiellement dans
interditeles performances des
SYSTÈME D’EXPLOITATION

Système informatique (Rappel) :

C’est l’ensemble des matériels et logiciels destinés


à réaliser des tâches qui mettent en jeu le
traitement automatique de l'information.

L’objectif d’un système informatique est


d’automatiser le traitement de l’information.

Un système informatique est constitué de deux


entités : le matériel et le logiciel.

Reproduction 51
interdite
SYSTÈME D’EXPLOITATION

Reproduction 52
interdite
SYSTÈME D’EXPLOITATION

Reproduction 53
interdite
SYSTÈME D’EXPLOITATION

Fonction de base d’un système informatique (Rappel) :

Communication avec l'utilisateur


 entrée : entrée des informations à traiter : les
données
 sortie : communication des résultats
Calcul (ou traitement)
 élaboration des résultats à partir des données

Reproduction 54
interdite
SYSTÈME D’EXPLOITATION
 Séquencement
 Les opérations sont exécutées l'une après l'autre
selon un certain plan appelé un programme.
 Le choix d'une opération peut éventuellement
dépendre du résultat des opérations précédentes
 Mémorisation
 Les données et les résultats doivent pouvoir être
mémorisés
 La séquence des opérations à effectuer
(programme) est également
 mémorisée

Reproduction 55
interdite
SYSTÈME D’EXPLOITATION
Exploitation d’un système informatique

Reproduction 56
interdite
SYSTÈME D’EXPLOITATION

Système informatique : le logiciel

Un système informatique est composé de deux niveaux


bien distincts : le système d’exploitation et les
applications.
 L’objectif du logiciel est d’offrir aux utilisateurs des
fonctionnalités adaptées à leurs besoins.
 Le principe est de masquer les caractéristiques
physiques du matériel.
 La solution consiste à structurer en couches le
logiciel, chacune offrant des services de plus en plus
évolués au niveau supérieur
Reproduction 57
interdite
SYSTÈME D’EXPLOITATION
Système informatique

Reproduction 58
interdite
SYSTÈME D’EXPLOITATION

Système d’exploitation

Définition :
 C’est l’ensemble de programmes qui dirigent
l'utilisation des ressources d'un ordinateur par des
logiciels applicatifs.
 Abréviation : SE ou OS (Operating System)
Buts :
 Faciliter la programmation et l’utilisation de la
machine en fournissant des services de base
permettant d’abstraire le matériel
 Gérer les ressources matérielles
Reproduction 59
interdite
SYSTÈME D’EXPLOITATION
Fonctionnalités d’un système d’exploitation :

Gestion des périphériques (ou des entrées/sorties)


 Abstraire la communication vers les
périphériques (écran, claviers, webcam,
imprimante, réseau…) via des pilotes
Gestion des données
 Fournir une vue d’accès aux données sous forme
d’un système de fichiers
 Permettre de contrôler l’accès aux fichiers
Gestion des ressources
 Gestion et partage du CPU via une stratégie
d’ordonnancement
 Gestion et partage
Reproduction
de la mémoire vive 60
interdite
SYSTÈME D’EXPLOITATION

 Gestion de l’exécution des applications (processus)


 Affecter et partager les ressources entre
différentes applications qui s’exécutent
 Gérer le cycle de vie des application (démarrage,
fin, pause, etc.)
 Gestion des utilisateurs
 Fournir une interface de commande et de
programmation
 Permettre à l’utilisateur de contrôler le système via
une interface graphique ou en ligne de commande
 Faciliter la tâche du programmeur en offrant une
API (interface de programmation d’applications)
Reproduction 61
interdite
SYSTÈME D’EXPLOITATION
 Services divers :

 aide à la mise au point de programmes


(débogueurs),
 traitement des défaillances,

 mesure du temps,

 facturation des ressources,

 statistiques d'utilisation des ressources,

 mesure de performances,

 Etc.
Reproduction 62
interdite
SYSTÈME D’EXPLOITATION

Système d’exploitation

Fournit des services adaptés aux tâches usuelles :

 la gestion de l'information : désignation,


stockage, recherche, communication vers
d’autres machines

 la préparation et la mise au point de


programmes

 l'exploitation de programmes (applications)

L'ensemble des services fournis aux usagers


constitue une nouvelle machine souvent qualifiée
d'abstraite. Reproduction 63
interdite
SYSTÈME D’EXPLOITATION

Interface du système informatique

L'interface du système informatique est


constituée des outils disponibles pour accéder aux
services fournis.

Ces outils définissent le langage de la machine


abstraite qui permet aux usagers de communiquer
avec le système.

Reproduction 64
interdite
SYSTÈME D’EXPLOITATION
Organisation schématique d'un système informatique :
modèle en couches

Reproduction 65
interdite
SYSTÈME D’EXPLOITATION
Logiciel de base et système d'exploitation

Dans le logiciel de base on distingue


habituellement deux niveaux :
les outils et services :
 compilateur, chargeur, utilitaires ;
le système d'exploitation :
 couche inférieure, plus proche de la
machine.
Outils et services sont interchangeables
et peuvent être partiellement ou
complètement absents.
Par opposition le système d’exploitation
est indispensable, c’est lui qui masque le
Reproduction
matériel interdite
66
SYSTÈME D’EXPLOITATION
Modèle en couche

Niveau 1 : le système
d’exploitation

Reproduction 67
interdite
SYSTÈME D’EXPLOITATION
Modèle en couche

Niveau 0 : exécutif

Reproduction 68
interdite
SYSTÈME D’EXPLOITATION

Noyau

Le noyau d’un système d’exploitation est le


logiciel qui assure :

 la communication entre les logiciels et le


matériel

 la gestion des divers logiciels (tâches) à


exécuter : lancement des programmes,
ordonnancement, etc.

 la gestion du matériel : mémoire, processeur,


périphérique, stockage, etc.
Reproduction 69
interdite
SYSTÈME D’EXPLOITATION

Importance du langage de commande

C'est un point important du système


d'exploitation

 Langages de commande textuels sont


puissants mais difficiles à utiliser par un
utilisateur non initié :

 Shell Windows, Powershell

 Shell UNIX.

Reproduction 70
interdite
SYSTÈME D’EXPLOITATION

 Langages de commandes graphiques d'usage


plus simple mais plus limités :

 Bureaux Windows ou MacOS

 X-Windows, Gnome ou KDE sous UNIX

 Interfaces des smartphones et tablette

Reproduction 71
interdite
SYSTÈME D’EXPLOITATION

Classes de systèmes d'exploitation

Systèmes mono-usager

 MS-DOS (Microsoft)

 Premières versions de MacOS

 Premières versions de Windows (Microsoft)

 Palm OS, Windows CE (assistants personnels)

Reproduction 72
interdite
SYSTÈME D’EXPLOITATION

 Systèmes multi-usagers

 UNIX, Linux

 Windows récents (NT, 2000, XP, Vista, 7, …),


MacOS

 Android

 Tous les systèmes des gros ordinateurs


("mainframes"):
z/OS (IBM), GCOS (Bull)

Reproduction 73
interdite
SYSTÈME D’EXPLOITATION
Logiciels et domaines d’application

Définition :
 Partie invisible des systèmes informatiques
(programmes)
Logiciels de base
 Les pilotes (drivers)
 Pilotes camera web
 Pilotes carte réseau
 Pilote carte son
 Pilote carte graphique
Reproduction 74
interdite
SYSTÈME D’EXPLOITATION

 Systèmes d’exploitation(SE, OS)

 Windows

 Unix

 IOS

 FreeDOS

 Android

Reproduction 75
interdite
SYSTÈME D’EXPLOITATION
Logiciels d’application
Multimédia
 Traitement d’images
 Photoshop
 GIMP
 Paint
 Son
 Audacity
 VLC media player
 Montage vidéo
 Movie Maker
 Filmora

Reproduction 76
interdite
SYSTÈME D’EXPLOITATION
 Bureautique
 Texteur
 MS-Word
 Tableur
 MS-Excel
 Présentation Assisté par Ordinateur(PAO)
 MS-Power Point
 Antivirus
 Kaspersky
 Avast
 Clean master

Reproduction 77
interdite
SYSTÈME D’EXPLOITATION
Domaines d’application de l’informatique

Le domaine de gestion


Le domaine industriel
Le domaine scientifique
Le domaine de la téléphonie, de la communication
et de média
Le domaine pédagogique
Le domaine de l’enseignement
Le domaine de la vie sociale
Le domaine de l’internet et du multimédia
Reproduction 78
interdite
Architecture simplifie d’un ordinateur

Architecture générale d’un


ordinateur
Reproduction 79
interdite
Architecture simplifie d’un ordinateur
 Les informations traitées par les ordinateurs sont
de différentes natures :
 nombres, texte,
 images, sons, vidéo,
 programmes, …
 Dans un ordinateur, elles sont toujours
représentées sous forme binaire (BIT : Binary digIT
) une suite de 0 et de 1.
 Le codage de l’information permet sans ambiguïté
de passer d’une représentation (dite externe)
d’une information à une autre représentation (dite
interne : sous forme binaire) de la même
information, suivant un ensemble de règle précise.
Reproduction 94
interdite
Architecture simplifie d’un ordinateur

 Dans un ordinateur, un mot mémoire est l’unité de


base manipulée par un microprocesseur.
 La taille d’un mot s’exprime en bits ou en octets,
et est souvent utilisée pour classer les
microprocesseurs (32 bits, 64 bits…).
 Toutes choses étant égales par ailleurs, un
microprocesseur est d’autant plus rapide que ses
mots sont longs, car les données qu'il traite à
chaque cycle sont plus importantes.

Reproduction 95
interdite
Architecture simplifie d’un ordinateur

 Les ordinateurs modernes ou processeurs


modernes utilisent généralement des données de
8, 16, 32 ou 64 bits, bien que d'autres tailles
soient possibles. La nomenclature actuelle est
comme suit :
 donnée de 8 bits : « octet », parfois
abusivement « byte » ;
 donnée de 16 bits : « word » ou « mot »
 donnée de 32 bits : « dword » ou « double mot »
 donnée de 64 bits : « qword » ou « quadruple
mot ».
Reproduction 96
interdite
Représentation des nombres dans la mémoire d’un ordinateur

 Système de numération :
On appelle système de numération tout système
permettant d’écrire les nombres.
Exemple :
Le système décimal permet d’écrire un nombre à
l’aide de dix chiffres 0 à 9. Tout nombre est
représenté par une combinaison de ces dix
symboles.
 Définition d’une base :
La base d’un système de numération est la référence
qui permet l’écriture d’un nombre. Dans le cas du
système décimal, la base est 10.
Exemple :
2148Reproduction
= 2 x 103 + 1 x 102 + 4 x 101 +
97
8 x 10 0 interdite
Représentation des nombres dans la mémoire d’un ordinateur

 En généralisant, un nombre A peut être exprimé


dans une base b par n chiffres : (A)b = an-1 an-
2 ...a1 a0

 ai : est un chiffre de l’alphabet de poids i


(position i).
 a0 : chiffre de poids 0 appelé le chiffre de poids
faible
 an-1: chiffre de poids n-1 appelé le chiffre de
poids fort
 La valeur de A en base b est donnée par :
(A)b = [Link]-1 + [Link]-2 + ... + a0.b0
Reproduction 98
interdite
Représentation des nombres dans la mémoire d’un ordinateur

 Système décimal (Base 10):

C’est le système de base 10 que nous utilisons tous les


jours. Il comprend dix symboles différents : (0, 1, 2, 3,
4, 5, 6, 7, 8, 9)
Exemple : (159)10

Si nous employons le système décimal avec aisance


dans tous nos calculs, il n'en va pas de même pour les
machines électroniques dans lesquelles ce système
reste difficile à mettre en œuvre pour plusieurs raisons
d'ordre technique. C'est un autre système, plus adapté,
qui est implanté (Le système binaire).

Reproduction 99
interdite
Représentation des nombres dans la mémoire d’un ordinateur

 Système binaire (Base 2) :

Ce système est employé pour traduire les états d’un


système logique, il comprend deux symboles (0 et 1).
Chacun d’eux est aussi appelé bit (Binary digIT = BIT)
Le bit le plus à gauche d'un nombre binaire est appelé bit
de poids fort (Le plus significatif / Most Significant Bit), et
le bit le plus à droite est appelé bit de poids faible (Le
moins significatif / Least Significant Bit)).

Reproduction 100
interdite
Représentation des nombres dans la mémoire d’un ordinateur

Les autres systèmes de numération utilisés :


Système octal (Base 8) :

Ce système comprend 8 symboles (0 à 7). Autrefois


très utilisé, il tend aujourd’hui à disparaître au profit
de la base 16 suite à l’évolution technologique des
composants (16 bits et +)
Exemple : (374)8
Système hexadécimal (Base 16) :

Le système hexadécimal comporte 16 symboles : les


dix chiffres 0 à 9 et les six lettres A, B, C, D, E et F.
Ce système est très répandu pour la simple raison
qu'il permet de représenter les nombres binaires
d'une manière plus compacte.
Reproduction
Exemple : (AC53)[Link] 101
Représentation des nombres dans la mémoire d’un ordinateur

Problème :
Le problème de conversion se pose alors du
moment que la machine et l'homme parlent deux
langages différents : La machine ne peut accepter
un nombre décimal et l'homme de son côté reste
incapable d'interpréter un résultat fourni par la
machine dans sa base sans faire appel à une
gymnastique lourde d’esprit.
Par conséquent, les règles de passage entre la
base décimale et n'importe quelle base b ont été
définies :

Reproduction 102
interdite
Représentation des nombres dans la mémoire d’un ordinateur

Reproduction 103
interdite
Représentation des nombres dans la mémoire d’un ordinateur

 Passage de la base décimale à la base B :


Méthode :
Diviser le nombre décimal à convertir (A) par la base B
et conserver le reste de la division. Le quotient obtenu
est divisé par B et conserver le reste. Il faut répéter
l’opération sur chaque quotient obtenu. Les restes
successifs sont écrits, en commençant par le dernier, de
la gauche vers la droite pour former l’expression de
(A)10 dans le système de base B. Cette méthode est dite
« Méthode de la division successive ».
Exemple :
Convertir A = (17)10 en binaire A
= (10001)2.
Reproduction 104
interdite
Représentation des nombres dans la mémoire d’un ordinateur

 Conversion d’un nombre hexadécimal en binaire :

Chaque symbole du nombre écrit dans le système


hexadécimal est remplacé par son équivalent écrit dans
le système binaire avec 4 bits.
Exemple :
Convertir le nombre hexadécimal suivant en binaire
(9B5)16

Reproduction 105
interdite
Représentation des nombres dans la mémoire d’un ordinateur

 Conversion d’un nombre binaire en hexadécimal :

C’est l’inverse de la précédente. Il faut donc regrouper


les 1 et les 0 du nombre par 4 en commençant par la
droite, puis chaque groupe est remplacé par le
symbole hexadécimal correspondant.
Exemple :
Convertir (111000101011)2 en système hexadécimal :

Reproduction 106
interdite
Représentation des nombres dans la mémoire d’un ordinateur

 Conversion d’un nombre binaire en octal :


Le passage du système binaire au système octal se fait
par groupement de 3 bits.
Exemple :
 Soit A = (1100110)2 un nombre écrit dans la base
binaire. Convertir A en système octal :
001 100 110 donc (A)8 = 146

1 4 6
 Soit A = (253)8 un nombre écrit dans la base
octale.
Convertir A en système binaire :
A = (253)8 d’où (A)2 = 010101011
Reproduction 107
interdite
Représentation des nombres dans la mémoire d’un ordinateur

Représentation des nombres entiers en mémoire :


Représentation d’un entier naturel :

Un entier naturel est un nombre entier positif ou nul. Le


choix à faire (c'est-à-dire le nombre de bits à utiliser)
dépend de la fourchette des nombres que l'on désire
utiliser. Pour coder des nombres entiers naturels
compris entre 0 et 255, il nous suffira de 8 bits (un
octet) car 28 = 256. D'une manière générale un codage
sur n bits pourra permettre de représenter des nombres
entiers naturels compris entre 0 et 2n-1.
Exemple :

Sur un octet :
(9)10 = (00001001)2, (128)10 = (10000000)2, etc.
Reproduction 108
interdite
Représentation des nombres dans la mémoire d’un ordinateur

 Représentation d’un entier relatif :


 Un entier relatif est un entier pouvant être négatif.
Il faut donc coder le nombre de telle façon que l'on
puisse savoir s'il s'agit d'un nombre positif ou d'un
nombre négatif, et il faut de plus que les règles
d'addition soient conservées. L'astuce consiste à
utiliser un codage que l'on appelle complément à
deux. Cette représentation permet d'effectuer les
opérations arithmétiques usuelles naturellement.
 Un entier relatif positif ou nul sera représenté en
binaire (base 2) comme un entier naturel, à la seule
différence que le bit de poids fort (le bit situé à
l'extrême gauche) représente le signe. Il faut donc
s'assurer pour un entier positif ou nul qu'il est à
Reproduction
zéro (0 correspond à un signe positif, 1 à un signe
interdite
109
interdite
Représentation des nombres dans la mémoire d’un ordinateur

Ainsi, si on code un entier naturel sur 4 bits, le nombre


le plus grand sera 0111 (c'est-à-dire 7 en base
décimale).
 Sur 8 bits (1 octet), l'intervalle de codage est [-
128, 127].
 Sur 16 bits (2 octets), l'intervalle de codage est [-
32768, 32767].
 Sur 32 bits (4 octets), l'intervalle de codage est [-
2147483648, 2147483647].
D'une manière générale le plus grand entier relatif
positif codé sur bits sera n bits sera 2n-1-1
Reproduction 110
interdite
Représentation des nombres dans la mémoire d’un ordinateur

 Un entier relatif négatif sera représenté grâce au


codage en complément à deux.
Principe du complément à deux :
1. Ecrire la valeur absolue du nombre en base
2. Le bit de poids fort doit être égal à 0.
2. Inverser les bits : les 0 deviennent des 1 et
vice versa. On fait ce qu'on appelle le
complément à un.
3. On ajoute 1 au résultat (les dépassements
sont ignorés).
Cette opération correspond au calcul de 2n-|x|, où n
est la longueur de la représentation et |x| la valeur
absolue du nombre à coder.
Reproduction 111
interdite 8
Représentation des nombres dans la mémoire d’un ordinateur

Exemple 1 :
-6 = (0110)2 avec précision de 4 bits
Complément à 1 : 1001
Complément à 2 : 1001 + 1 = 1010
La représentation binaire de -6 sur 4 bits est donc
1010.
Exemple 2 :
On désire coder la valeur -19 sur 8 bits. Il suffit :
1. d'écrire 19 en binaire : 00010011
2. d'écrire son complément à 1 : 11101100
3. et d'ajouter 1 : 11101101
La représentation binaire de -19 sur 8 bits est donc
11101101. Reproduction 112
interdite
Représentation des nombres dans la mémoire d’un ordinateur

Exemple 3 :
Sur 4 bits
Décim Complément à Décim Complément à
al 2 al 2
0 0000 -8 1000
1 0001 -7 1001
2 0010 -6 1010
3 0011 -5 1011
4 0100 -4 1100
5 0101 -3 1101
6 0110 -2 1110
7 0111 -1 1111
Reproduction 113
interdite
Représentation des nombres dans la mémoire d’un ordinateur

 On remarquera qu'en additionnant un nombre et


son complément à deux on obtient 0. En effet
00010011 + 11101101 = 00000000 (avec une
retenue de 1 qui est éliminée).

 Représentation des nombres réels en mémoire :


 En base 10, l'expression 652,375 est une manière
abrégée d'écrire :
6.102 + 5.101 + 2.100 + 3.10-1 + 7.10-2 + 5.10-3
 Il en va de même pour la base 2. Ainsi, l'expression
110,101 signifie :
1.22 + 1.21 + Reproduction
0.20 + 1.2-1 + 0.2-2 + 1.2-3
114
interdite
Représentation des nombres dans la mémoire d’un ordinateur

 Conversion de binaire en décimal :

On peut ainsi facilement convertir un nombre réel


de la base 2 vers la base 10.
Exemple :

(110,101)2 = 1.22 + 1.21 + 0.20 + 1.2-1 + 0.2-2 +


1.2-3
= (6,625)10

Reproduction 115
interdite
Représentation des nombres dans la mémoire d’un ordinateur

 Conversion de décimal en binaire :

Le passage de base 10 en base 2 est plus subtil.


Par exemple : convertissons 13,375 en base 2.
 La partie entière se transforme comme suite
(13)10 = (1101)2
 On transforme la partie décimale selon le
schéma suivant :

Donc la représentation en binaire de (13,375)10


Reproduction = 116
interdite
Représentation des nombres dans la mémoire d’un ordinateur

Exemple :

Reproduction 117
interdite
Représentation des nombres dans la mémoire d’un ordinateur

 Codification des nombres réels (norme IEEE 754) :


 Du moment que les nombres réels peuvent
prendre des valeurs très grandes ou très petites,
ils sont représentés en virgule flottante (floating
point) selon le format normalisée IEEE.
 Il existe deux formats IEEE pour les nombres à
virgule flottante : le format 32 bits (simple
précision) et le format 64 bits (double précision) :

Reproduction 118
interdite
Représentation des nombres dans la mémoire d’un ordinateur

Format 32 bits : Cette norme se propose de coder le


nombre sur 32 bits et définit trois composantes :

 signe est représenté par un seul bit, le bit de


poids fort (bit 31)
 l'exposant est codé sur les 8 bits consécutifs au
signe. Il est égal à exposant+127
 la mantisse (les bits situés après la virgule) sur
les 23 bits restants

Reproduction 119
interdite
Représentation des nombres dans la mémoire d’un ordinateur

Exemple : Encodage en IEEE 754


Essayons d’encoder le nombre +16,5 en simple
précision.
1. Encoder en binaire le nombre à virgule : +16,5 =
(10000,1)2
2. Transformer en notation scientifique (souvenez-
vous que décaler la virgule revient à
multiplier/diviser par 2)
(10000,1)2 = (1,00001 x 24)2
3. Identifier les champs : signe = 0 (positif),
exposant = 4,
mantisse = 00001 (on ne prend pas le 1,)
Reproduction 120
4. Encoder l’exposant 4 doit
interdite être codé sur 8 bits par
Représentation des nombres dans la mémoire d’un ordinateur

5. Résultat final (En contrôle, écrire tous les 0 à la fin


pour faire 32 bits) :

6. En hexadécimal (ne pas oublier les 0 à la fin pour faire


32 bits) :
41 84 00 00
Exemple :
 L’exposant 00000000 signifie que le nombre est
dénormalisé (trop petit)
 L’exposant 11111111 signifie un dépassement de
capacité (nombre trop grand : NaN (Not a Number))
Par conséquent, le plus petit exposant possible est 01
(m=–126) et leReproduction
plus grand est FE (m=+127). 121
interdite
Représentation des nombres dans la mémoire d’un ordinateur

Format 64 bits : Cette norme se propose de coder le


nombre sur 64 bits et définit trois composantes :
 signe est représenté par un seul bit, le bit de
poids fort (bit 63)
 l'exposant est codé sur les 11 bits consécutifs
au signe. Il est égal à exposant+1023
 la mantisse (les bits situés après la virgule) sur
les 52 bits restants

Reproduction 122
interdite
Les limites de la représentation mémoire :

 Les erreurs d’arrondi :


 La représentation interne d'un nombre est
limitée par le nombre de bits utilisés pour le
stockage. Par suite, les erreurs de calcul de
l'ordinateur peuvent être plus ou moins
importantes suivant les machines.
 Il ne s'agit donc pas de bugs de votre machine !
Il faut savoir qu'un résultat affiché n'est pas
celui qui est stocké dans les entrailles du
microprocesseur.
Prenons le cas d'une calculatrice ou d'un micro-
ordinateur de poche affichant 10 chiffres
significatifs : Reproduction
Reproduction 123
interdite
Les limites de la représentation mémoire :

Tampons : On obtient :
17/13 1,307692308
17/13-1 0,3076923077
(17/13)*10-13 0,0769230769
(17/13)*100-
0,769230769
130
On voit que le dernier chiffre (8) obtenu est un arrondi
(800) de 769 : plus clairement 8.10-9 est un arrondi
d'affichage d'un calcul interne égal à 7,69.10-9.
Ce qui signifie que, par précaution, ces ordinateurs
n'affichent pas deux chiffres risquant d'être entachés
d'erreurs : affichage de 10 chiffres significatifs en
calculant avec 12.
Reproduction 124
interdite
Représentation des nombres dans la mémoire d’un ordinateur

 Dépassement de capacité :

Sur 4 bits, on veut soustraire 2 à 5 :


 Nous ferons l'addition de +5 (0101) et -2
(1110)
 Soit l'addition :
0101 + 1110 = 10011
 Sans tenir compte du 5ème le résultat
bit,
(0011) est positif et égal à +3 Une erreur a été
effectuée par dépassement de la capacité du
code (codage sur 4 bits), ce type d'erreur est
appelée Overflow
Reproduction 125
interdite
Le Codage des caractères

 L'homme utilise le plus souvent des informations


sous forme de texte, de chiffres ou de symboles, c'est
ce qu'on appelle en informatique des caractères
(A,B,C,...,1,2,3,...,(,@,&,...).
 Cependant, la mémoire de l'ordinateur ainsi que les
supports d'informations ne peuvent supporter que les
valeurs 0 et 1.
 Il a donc fallu trouver un codage qui permettrait de
représenter n'importe quel caractère sous forme d'un
nombre binaire afin de faciliter son stockage et sa
transmission.

Reproduction 126
interdite
Le Codage des caractères
 Le code ASCII (American Standard Code for Information
Interchange :
 Le code ASCII était parmi les premiers codes utilisés
pour ce propos. C'est un code universel qui fait
correspondre à chaque caractère un code sur 7 ou 8
bits (voir Annexe 1).
 Le code ASCII a été mis au point pour la langue
anglaise, il ne contient donc pas de caractères
accentués, ni de caractères spécifiques à une langue.
 Le code ASCII a donc été étendu à 8 bits pour pouvoir
coder plus de caractères (on parle d'ailleurs de code
ASCII étendu...). Cette norme s'appelle ISO-8859 et
se décline par exemple en ISO-8859-1 lorsqu'elle
étend l'ASCII avec les caractères accentués d'Europe
occidentale, et Reproduction
qui est souvent appelée Latin-1 ou 127
interdite
Le Codage des caractères

 L’UNICODE:
 Il existe d'autres normes que l'ASCII, comme
l’Unicode par exemple, qui présent l'avantage de
proposer une version unifiée des différents
encodages de caractères complétant l'ASCII mais
aussi de permettre l'encodage de caractères autres
que ceux de l'alphabet latin.
 Unicode définit des dizaines de milliers de codes,
mais les 128 premiers restent compatibles avec
ASCII.

Reproduction 128
interdite
Le Codage des caractères

 Unicode dans la pratique : UTF-8


 Généralement en Unicode, un caractère prend 2
octets. Autrement dit, le moindre texte prend deux
fois plus de place qu'en ASCII. C'est du gaspillage.
 De plus, si on prend un texte en français, la grande
majorité des caractères utilisent seulement le code
ASCII. Seuls quelques rares caractères nécessitent
l'Unicode.
 On a donc trouvé une astuce : l’ UTF-8 :
 Un texte en UTF-8 est simple : il est partout en
ASCII, et dès qu'on a besoin d’un caractère
appartenant à l'Unicode, on utilise un caractère
spécial signalant "attention, le caractère suivant
Reproduction
est en Unicode". interdite 129
Le Codage des caractères

Reproduction 130
interdite
EXERCICES D’APPLICATION

1. Encoder L’entier 1345 en base 2 et 16


2. Décoder N = (6ABC)16 en base 10
3. Encoder 25 et -25 en Complément à 2
4. Décoder 10101000 et 01001010 en Complément à
2 en base 10 (2 méthodes)
5. 34,687510 = ( )2
6. 6,1510 = ( )2

Reproduction 131
interdite
EXERCICES D’APPLICATION

1. La représentation IEEE 754 du nombre x = − 5/8 en


simple précision
2. Soient x et y les flottants représentés en norme IEE754
(simple précision) par :
x = 0 | 1000 0010 | 01000000000000000000000
y = 0 | 0111 1011 | 11010000000000000000000
x+y=?
3. Soient x et y les flottants représentés en norme IEE754
(simple précision)
par :
x = 1 | 0111 1010 | 11000000000000000000000
y = 1 | 0111 1001 | 10010000000000000000000
x-y=? Reproduction 132
interdite
EXERCICES D’APPLICATION

4. Considérons la multiplication entre x et y avec :


x = 0 | 0111 0010 | 01000011101000000000000
et
y = 1 | 1000 0010 | 00000000000000000000000
x*y=?

Reproduction 133
interdite
EXERCICES D’APPLICATION

1-A) On considère ces opérations écrites en


base 10 :
a) – 61 – 44
b) – 61 – 72
c) 99 – 35
d) 99 + 35
On dispose d’une machine travaillant sur des nombres
binaires de longueur 8 (8 bits). Faire manuellement ce
que l’additionneur de la machine ferait
automatiquement, et donner les résultats obtenus en
binaire. Eventuellement, en cas d’erreur, indiquer
pourquoi. Reproduction 134
interdite
EXERCICES D’APPLICATION

1-B) Addition de nombres entiers signés.


a)On travaille ici sur des nombres de 8 bits.
b)Ecrire les nombres 109 et 88 (base 10) en binaire signé
sur une longueur de 8 bits.
c)Ecrire les nombres – 109 et – 88 en binaire signé sur 8
bits, en passant par l’intermédiaire du complément à 2.
d)Faire les additions suivantes, en utilisant les résultats
précédents :
 109 – 88
 – 109 – 88
 – 109 + 88
En cas d’erreur pour cause de débordement, indiquez-le.
Reproduction 135
interdite
EXERCICES D’APPLICATION

2) Changement de base
a) On se donne le nombre 32745 en base 8. Comment
s’écrit-il en base 16 ?
Indication : passer par l’intermédiaire de la base 2.
b) Un nombre s’écrit 753 en base 8. Comment s’écrit-il en
base 16 ?
3) Nombre flottant en binaire
3-a) On se donne le nombre 35,6 en base 10. Le convertir
en flottant sur 32 bits (simple précision).
3-b) On considère le nombre à virgule : 73,55 (base 10)
a) Ecrire ce nombre en binaire en virgule fixe.
b) Ecrire ce nombre en binaire en virgule flottante, en
simple précision (sur 32 bits). Le résultat obtenu est-il
Reproduction 136
parfaitement exact ?interdite
ALGORITHMIQUE ET STRUCTURES DE DONNEES

CHAPITRE iI Introduction à
l’algorithmique et à la programmtion
avec Python

Reproduction 137
interdite
ALGORITHME

 Le mot algorithme vient du mathématicien arabe


du 9ème siècle Abu Jaafar Muhammad bin Musa Al-
Khwarizmi, le terme à cette époque était associé à
l'algèbre.
 Aujourd’hui, il représente la base de la
programmation, c’est une suite ordonnée
d’instructions qui indique la démarche à suivre
pour résoudre un problème donné.
 Nous pouvons prendre à titre d’exemple le mode
d’emploi d’un télécopieur, où il est question d’un
ensemble d’étapes à suivre (voir l’exemple ci-
dessous).
Reproduction 138
interdite
ALGORITHME
 Exemple : « Extrait du mode d’emploi d’un
télécopieur concernant l’envoi d’un document ».
 Étape 1 : Insérez le document dans le chargeur
automatique;
 Étape 2 : Composez le numéro de fax du
destinataire à l’aide du pavé numérique ;
 Étape 3 : Enfoncez la touche d’envoi pour lancer
l’émission.
 Ce mode d’emploi précise comment envoyer un fax.
Il est composé d’une suite ordonnée d’instructions
(insérez..., composez..., enfoncez...) qui manipulent
des données (document, chargeur automatique,
numéro de fax, pavé numérique, touche d’envoi)
pour réaliser la tâche désirée (l’envoi d’un
Reproduction 139
document). Cette interdite
suite d’instructions peut être
ALGORITHME

 Un algorithme prend en entrée des données et fournit


un résultat permettant de donner la réponse à un
problème, il est caractérisé par un langage de
description constitué d’un ensemble de mots clés et
de structures permettant de décrire de manière
complète l’ensemble des opérations à exécuter sur
des données pour obtenir des résultats.
 Un algorithme est écrit dans un langage
compréhensible par les humains. Une phase
d’analyse du problème est indispensable pour
l’établissement d’un algorithme, elle permet de
déterminer dans un premier temps, l’ensemble des
données d’entrée et les résultats attendus.
Reproduction 140
interdite
ALGORITHME

Processus de réalisation d’un


algorithme

Reproduction 141
interdite
Programme
 L’algorithme est écrit dans un langage
compréhensible par les humains, mais
malheureusement ce n’est pas le cas de la machine.
 Par conséquent, l’algorithme doit être traduit dans
un langage de programmation donnant ainsi naissance
à un programme, appelé aussi Code Source.
 Ce code source n’est à son tour compréhensible que
par l’humain, car l’ordinateur est une machine à la
quelle on ne peut s'adresser qu'en lui envoyant des
0 et des 1 appelés langage binaire
(0010110110010011010011110….) ou langage
machine, c’est alors ici qu’intervient le Compilateur
(ou l’Interpréteur), sont rôle est de convertir ce
programme vers leReproduction
langage machine. 142
interdite
PROGRAMME
Langage de Compilateur
Programmatio Code Ou Langage
Algorith n Source Interpréteur Machine
me a, b, c
Variable a = input("a = ") 10011110000111
Début b = input("b = ") 00000111111111
Lire(a, b) ca+b 11111111110000
ca+b print(c) 00000000011100
Ecrire(c) 11100011100011
Fin 10000111100010
001010

Programme : de l’algorithme
à la machine

Reproduction 143
interdite
Langage de programmation
 Un langage de programmation est un langage
informatique, permettant à un humain d’écrire un
Code Source qui sera analysé par un ordinateur.
 Il s’agit d’un ensemble de mot clés, constituant la
syntaxe du langage et ayant une sémantique bien
définie, décrivant le comportement de la machine,
on parle de langage évolué.
 Il existe plusieurs langages, certains sont
complémentaires, mais ils répondent à des objectifs
différents :
 Il y a ceux qui sont destinés aux sites web
statiques tels que HTML et CSS ;
 ceux dédiés aux sites web dynamiques tels que
Reproduction 144
Php et Javascript ;interdite
Langage de programmation
 ceux qui sont adaptés au développement
d'applications mobiles sur Androïd tels que Kotlin,
Java et C++.
 Ces trois derniers langages ainsi que Python sont
notamment utilisés pour développer des programmes
de l’intelligence artificielle (IA), en plus d’autres
langages tels Scala et Julia.
 Parmi tous ces langages, nous allons voir ensemble, le
langage Python, existant depuis la fin des années 80 et
ayant une communauté importante et une
bibliothèque assez riche. Il est utilisé dans la
réalisation de nombreux logiciels, c’est un langage
généraliste.
 Il a l’avantage d’être
Reproduction
simple et facile, il est fortement 145
interdite
Compilateur et interpreteur

 Un compilateur est un programme informatique qui


transforme un code source écrit dans un langage de
programmation (le langage source) en un autre
langage compréhensible par la machine (langage
machine). C’est alors le système d'exploitation qui
va utiliser le code ou langage machine et les
données d'entrée pour calculer les données de sortie
(solution).
 A contrario un interpréteur, utilise le code source
ainsi que les données d’entrée, pour générer les
données de sortie, en l’interprétant directement.

Reproduction 146
interdite
Compilateur et interpreteur

(a) Processus de compilation, (b)Processus


d’interprétation
Reproduction 147
interdite
Conclusion

 Nous avons vu durant ce chapitre, le voyage que font


quelques idées permettant de résoudre un problème
donné vers une solution établie automatiquement,
grâce à un ordinateur.
 Ces idées résultantes d’une phase d’analyse, sont
formulées dans un algorithme qui sera traduit par la
suite dans un langage de programmation dont le
choix dépend de l’objectif du programmeur. Il s’agit
d’un pseudo-code qui va être ensuite compilé ou
interprété pour être exécuté par la machine.
 L’algorithme ainsi que le programme ont une certaine
syntaxe à respecter, cette syntaxe en langage de
programmation tel que Python, est primordiale pour
Reproduction
le processus d’exécution par la machine. 148
interdite
ALGORITHMIQUE ET STRUCTURES DE DONNEES

CHAPITRE iii
Structure lineaire

Reproduction 149
interdite
Introduction

 Les différents langages évolués reposent sur des


concepts communs, tels que les variables qui
représentent les différentes données manipulées,
les instructions de base, les structures de contrôle
ainsi que les structures de données.
 L’utilisation du compilateur impose encore une fois
la distinction entre les instructions de déclaration et
l’instruction exécutable, sur ce l’objectif de ce
chapitre est de faire le point sur cette distinction,
tout en donnant la structure générale et la syntaxe
des instructions de base en algorithmique comme
en langage Python.
Reproduction 150
interdite
Structure générale d’un algorithme

 Un algorithme est constitué de trois parties :


 L’entête : permet d’identifier l’algorithme,
caractérisé par le mot-clé algorithme suivi du
nom de l’algorithme qui doit être significatif par
rapport au traitement effectué par ce dernier;
 Partie déclarative : c’est une liste exhaustive
des objets, grandeurs utilisées et manipulées
dans le corps de l’algorithme; cette liste est
placée en début d’algorithme.

Reproduction 151
interdite
Structure générale d’un algorithme

 Plusieurs types de déclaration sont possibles :


 déclaration des donnéesil est question de
:
déclarer toutes les données manipulées par
l’algorithme, les constantes d’abord puis les
variables ;
 déclaration des fonctions et procédures.
 le corps de l’algorithme : il contient les instructions
de ce dernier, il est délimité par deux mots clés début
et fin.

Reproduction 152
interdite
Structure GENERALE d’un algorithme
Algorithme <Nom de l’algorithme> L’entête
Constante
<Liste des constantes avec leurs valeurs>

La partie
Variable
<Liste de variables suivis de leurs types> déclarativ
e
Fonctions et procédures
<Liste des fonctions et procédures>

DEBUT
<Action 1>
<Action 2> Le corps de
… l’algorithme
<Action N>
FIN

Reproduction 153
interdite
Les données de l’algorithme : variables et constantes

 Afin d’aborder ce point, il est nécessaire d’expliquer la


notion d’adresse mémoire, effectivement puisque les
données manipulées sont stockées dans cette
dernière.
 Ce qu’il faut savoir c’est que suite à la déclaration
d’une variable, une zone dans la mémoire va lui être
attribuée, cette zone est caractérisée par une adresse,
le nom de la variable est utilisé comme référence à
cette adresse mémoire.
 La taille de la zone dépend du type de la donnés, c’est
la raison justement de la déclaration.

Reproduction 154
interdite
Structure GENERALE d’un algorithme

Adresse
mémoire

Reproduction 155
interdite
Les données de l’algorithme : variables et constantes

 Les constantes
 La valeur d’une constante ne peut pas être modifiée
au cours de l’exécution de l’algorithme, elle peut
représenter :
 des chiffres : 1, 8,…
 des nombres : 12, 28, 1856,5, …
 des caractères : a, x, ?, espace, ...
 des chaînes de caractères : abc, bonjour,
Olyvier, commune de Ndzomoe, …
 La déclaration d’une constante se fait via le mot-clé :
constante
Reproduction 156
interdite
Les données de l’algorithme : variables et constantes

 Les variables
 Les variables peuvent stocker des chiffres, des
nombres, des caractères, des chaînes de
caractères, dont la valeur peut être modifiée au
cours de l’exécution de l’algorithme.
 La déclaration d’une variable se fait via le mot clé
mot-clé : variable

Reproduction 157
interdite
Types de donnees

 Il existe plusieurs types de donnés, nous


considérerons cinq types de base :
 Le type entier : ce type permet de stocker les
nombres entiers, on utilise par exemple ce type de
données pour stocker l'âge d'une personne, le
nombre d'étudiants dans une classe, ou le code
postal d'une ville.
Exemple : 1, 5, 85, -5.
Mot clé : entier

Reproduction 158
interdite
Types de donnees

 Le type réel :Le nombre flottant, permet de


représenter les nombres avec virgule, sachant que
l’ensemble des entiers est inclus dans les réels, ce
type peut être utilisé par exemple pour représenter
les dimensions des formes géométriques, le poids,
etc.
 Exemple : 7.50, 19.569, –1564.01, 18.36 10 e-6
 Mot clé : réel

Reproduction 159
interdite
Types de donnees

 Le booléen : Il ne peut prendre que deux états : VRAI


ou FAUX, il représente une réponse logique associée à
une condition.
 Mot clé : booléen
 Le caractère : Ce type ne peut contenir qu’un seul
caractère, qui peut être une lettre alphabétique, et
tous autres symboles que vous pouvez trouver sur
votre clavier.
 Exemple : ' a ', 'A', '+', '7', 'z', ' =',….
 Mot clé : car

Reproduction 160
interdite
Types de donnees

 La chaîne de Ce type permet de


caractères :
contenir plusieurs caractères, il peut être utilisé
pour représenter des noms, adresses ou même
des phrases.
 Exemple : "informatique", "science"…
 Mot clé : chaîne

Reproduction 161
interdite
Types de donnees

 Puisque nous avons vu les différents types de


données, voici quelques exemples de déclaration :
 Exemples :
 Déclaration d’une variable du type entier :
variable x : entier ;
 Déclaration d’une variable du type réel :
variable y : réel ;
 Déclaration d’une constante de valeur 10
(pesanteur)
constante PES = 10 ;

Reproduction 162
interdite
Operateurs de base

 Une instruction peut contenir une expression, cette


dernière est constituée principalement de variable et
d’opérateurs, nous allons voir dans ce qui suit les
opérateurs de base.

Reproduction 163
interdite
Operateurs de base
 Les opérateurs arithmétiques
Une opération arithmétique est constituée d’une
ou plusieurs variables reliées par un ou plusieurs
opérateurs, parmi ceux qui sont présentés dans
la table ci-dessous.

Reproduction 164
interdite
Operateurs de base
 Les opérateurs de comparaison

L’utilisation des opérateurs de comparaison ou


relationnels induit à une expression dite logique,
dont le résultat et soit vrai ou faux. Ces
opérateurs sont présentés dans la table ci-
dessous.

Reproduction 165
interdite
Operateurs de base

 Les opérateurs logiques

Ce type d’opérateur sert à relier (associer) deux


ou plusieurs conditions (expression logique). Il
existe trois types d’opérateurs présentés dans la
table ci-dessous.

Reproduction 166
interdite
Les instructions de base d’un algorithme simple

 Une instruction est un ordre qui permet de


spécifier à la machine l’action à effectuer.
 Il existe trois types d’instructions primitives dites
de base à savoir :
 L’instruction d’affectation ;
 L’instruction de lecture ;
 L’instruction d’écriture.

Reproduction 167
interdite
Les instructions de base d’un algorithme simple

 L’instruction d’affectation : L’instruction


d’affectation consiste à attribuer une valeur à une
variable, la syntaxe générale est la suivante :
nom_variable  expression
 Après l’affectation, le contenu de la variable est
modifié, il contient la valeur de l’expression de
droite, l’expression peut être composée de
variables, de constantes, et d’opérateur de base.

Reproduction 168
interdite
Les instructions de base d’un algorithme simple

 On peut avoir une affection dans :


Une constante (dans la déclaration seulement).
 Exemple : surface  40;

Une autre variable


 Exemple : x  y //sachant que y possède déjà
une valeur
Le résultat d’une fonction.
 Exemple : résultat  racine(nombre) ;

Un calcul portant sur ces différents éléments.


 Exemple : surface  (PI * Carre(Diamètre)) / 4
;
Reproduction 169
interdite
Les instructions de base d’un algorithme simple
 L’instruction de lecture : Cette instruction permet
de récupérer (entrer) une donnée à partir du
périphérique d’entrée, généralement le clavier. La
machine attend que l’utilisateur saisisse une valeur
pour la stocker dans une variable (en mémoire), le
mot-clé utilisé est Lire.
Syntaxe : Lire(nom_variable)

Sachant que la variable est déjà déclarée.


Exemple : Lire(x)
Remarque : la valeur de x correspond à la valeur
saisie au clavier par l’utilisateur, pour cela il
faudrait justement lui demander de faire cette
saisie.
Reproduction 170
interdite
Les instructions de base d’un algorithme simple
 L’instruction d’écriture (d’affichage) Cette
:
instruction permet d’effectuer l’affichage à l’écran,
généralement d’un résultat important issu de
l’algorithme qui est stocké dans une variable, ou
d’un message afin d’interagir avec l’utilisateur, le
mot-clé utilisé est Écrire.
 Syntaxe 1 : Écrire("expression");

Permet d’afficher expression telle quelle à l’écran.


 Exemple : Écrire("entrer votre nom : ") ;
 Syntaxe 2 : Écrire (nom_variable) ;

Permet d’afficher le contenu de la variable.


 Exemple : Écrire (‘x=’, x) ;

Reproduction 171
interdite
Exercices

 Exercice 1 :
Écrire un algorithme permettant d’afficher à
l’écran le message « My first algorithm »

Reproduction 172
interdite
Exercices
Algorithme
principal ;
Constante E = 5 ;
 Exercice 2 : Variable A, B, C :
Parmi ces affectations entier ;
(considérées D : car ;
indépendamment les Début
unes des autres), A←B+C;
lesquelles provoqueront
A←A+B*C;
des erreurs, et
pourquoi ? B←A-D;
C←E/B;
E←E+1;
Reproduction Fin 173
interdite
Exercices
 Exercice 3 :
Quelles seront les valeurs de A et B après la suite
d’instructions suivantes :
Algorithme calcul ;
Variable A, B : entier ;
Début
A←3;
B ← A*2 ;
A←5;
Fin

Reproduction 174
interdite
Exercices
 Exercice 4 :
Écrire un algorithme permettant de faire l’addition
de deux nombres a et b sachant que a est un entier
a = 11 et b est une constante b = 24 et mettre le
résultat dans la variable c puis l’afficher.
 Exercice 5 :
Écrire un algorithme permettant de faire la division
de deux nombres réels a et b sachant que les
valeurs de a et b sont saisies par l’utilisateur. Le
résultat ensuite doit être affiché.
 Exercice 6 :
Écrire un algorithme permettant de demander
l’année de naissance de l’utilisateur puis calculer
son âge et l’afficher.
Reproduction 175
interdite
Programmation en langage python

 Nous rappelons toutefois qu’un programme est une


séquence d’instructions, d’ordres, donnés à
l’ordinateur afin qu’il exécute des actions.
 L’élément responsable de l’exécution de ces ordres
dans l’ordinateur est un composant électronique
particulier nommé processeur.
 Le programme doit être écrit dans un langage de
programmation évolué qui est ensuite traduit en
langage machine grâce à un compilateur ou un
interpréteur.

Reproduction 176
interdite
Programmation en langage python
 Il existe des milliers de langages de programmation
de haut niveau tels que le pascal, JavaScript, Java,
Python, PHP, C/C++, etc.
 Tout au long de nos cours nous étudierons le
langage de programmation Python.
 Le langage python est créé en 1991
par Guido Van Rossum.
 C’est un système informatique
COMPLET et LIBRE de haute qualité;
 Utilisations : Data Science, Machine
Learning, Data Visualization, Data
application, Web development;

Reproduction 177
interdite
Programmation en langage python

 Programmation orientée objet & programmation


fonctionnelle;
 Utilisation par les plus grandes entreprises du
monde : Meta, Google, Instagram, Spotify, etc.
 Langage typé dynamiquement interprété et
intuitif;
 Très utilisé dans le monde de l’industrie et de la
R&D;
 Grande communauté d’utilisation;
 Très grand nombre de Librairies disponibles et
libres d’accès
Reproduction
Reproduction
 Site [Link]
interdite
178
Environnement de développement (IDE)

[Link]
bution/

Quelques Packages
Populaires

Reproduction 179
interdite
Environnement de développement (IDE)
Jupyter Notebook

Reproduction 180
interdite
Comment installer python

Reproduction 181
interdite
Comment installer python

Reproduction 182
interdite
Comment installer python

Reproduction 183
interdite
Comment installer python

Reproduction 184
interdite
Comment installer python

GOOGLE COLABORATORY

[Link]
/[Link]

Reproduction 185
interdite
Jupyter notebook
 Jupyter permet d’explorer et
notebook
d’analyser vos données mais aussi de
communiquer efficacement vos résultats.
 Fonctionnalités basiques :
 Exécution du programme dans un
navigateur
 Affichage direct des résultats
 Intégration de Markdown pour écrire
du texte
 Partage en ligne de vos résultats
(formatsReproduction
ipynb, html, pdf, etc.) 186
interdite
Operations basiques en python

Opération Symbole
Addition +
Soustraction -
Multiplication *
Division /
Division entière //
Exponentiel **
Modulo / reste %

Reproduction 187
interdite
exercices

1. Soustraire 5 puissance 3 de 100 et diviser le


résultat par 5. Donnez la réponse finale.
2. Ajoutez 6 au reste de 15 divisé par 4
3. Ajoutez 2 puissance 2 à la division entière de 24
par 4
4. Déterminez le type des nombres suivants : 6,
6.0, 5+3.14
5. Affichez l’expression suivante : « How is
going ? »

Reproduction 188
interdite
ALGORITHMES & PROGRAMMATION I

CHAPITRE III
instructions conditionnelles
(les TESTS)

Reproduction 189
interdite
INTRODUCTION
 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 190
interdite
Structure d’un test : forme simple

 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 191
interdite
Structure d’un test : forme simple

Si (condition) Alors
Instruction 1
Instruction 2
Finsi

Reproduction 192
interdite
Structure d’un test : forme simple
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
Si (x = y) Alors
Ecrire(″x est égale à y″)
Finsi

Dans cet exemple, le message ″x est égale à y″


ne sera pas affiché puisque la condition (x = y)
n’est pas vérifiée.
Reproduction 193
interdite
Structure d’un test : forme complète

 La forme complète permet de choisir entre deux


actions selon qu’une condition est vérifiée ou
non.
Si (condition) Alors
Instruction 1
Instruction 2
Sinon
Instruction A
Instruction B
Finsi

Reproduction 194
interdite
Structure d’un test : forme complète
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.

Reproduction 195
interdite
Structure d’un test : forme complète
Exemple (sur la forme complète d’un test) :
x5
y9
Si (x = y) Alors
Ecrire(″x est égale à y″)
Sinon
Ecrire (″x est différente de y″)
Finsi
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é.

Reproduction 196
interdite
Structure d’un test : tests imbriqués

 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.

Reproduction 197
interdite
Structure d’un test : tests imbriqués

Reproduction 198
interdite
Structure d’un test : tests imbriqués

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.

Reproduction 199
interdite
Structure d’un test : tests imbriqués
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

Reproduction 200
interdite
Structure d’un test : tests imbriqués

 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 :

Reproduction 201
interdite
Structure d’un test : tests imbriqués

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

Reproduction 202
interdite
Structure d’un test : tests imbriqués

Donc, l’utilisation de tests imbriqués permet de :


Simplifier lepseudo-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 dans le cas où la
d’exécution :
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.
Reproduction 203
interdite
Structure d’un test
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

Reproduction 204
interdite
Structure d’un test

Si A ET B Alors Si NON A OU NON B


Alors
Instruction(s) 1 Instruction(s) 2
Sinon Sinon
Instruction(s) 2 Instruction(s) 1
Finsi Finsi

Reproduction 205
interdite
Les choix multiples

 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 :

Reproduction 206
interdite
Les choix multiples
Syntaxe :
Selon (variable)
Condition 1 : Instruction(s) 1
Condition 2 : Instruction(s) 2

Condition N : Instruction(s) N
Défaut : Instruction(s) N+1
Finselon

Reproduction 207
interdite
Les choix multiples
Remarque :

Dans la structure de test à choix multiples :


 Instruction(s) i est une suite d’instructions ;

 Condition i 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.

Reproduction 208
interdite
Les choix multiples

Exemple :

Dans ce qui suit, le nom du jour de la semaine


correspondant est affiché selon la valeur de la
variable « jour ».

Reproduction 209
interdite
Les choix multiples
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.
Reproduction 210
interdite
Conclusion

 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.

Reproduction 211
interdite
ALGORITHMES & PROGRAMMATION I

CHAPITRE IV
instructions itératives
(les boucles)

Reproduction 212
interdite
INTRODUCTION
 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
Reproduction 213
la même séquenceinterdite
d’instructions.
INTRODUCTION

 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 ?
1)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).

Reproduction 214
interdite
Définition

 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.

Reproduction 215
interdite
L’instruction « Pour … Faire »
 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 .
Reproduction 216
interdite
L’instruction « Pour … Faire »

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 ».

Reproduction 217
interdite
L’instruction « Pour … Faire »

Reproduction 218
interdite
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 Algorithme compteur_decroissant
Variable i : entier Variable i : entier
Constante N=100 Constante N=100
Début Début
Pour i de 1 à N Faire Pour i de N à 1 Faire
Ecrire(i) Ecrire(i)
FinPour FinPour
Fin Fin
Résultat d’exécution : 1, 2, 3, …, 99, 100 Résultat d’exécution :
100, 99, 98, …, 2, 1
 Remarque : Si la valeur du « pas » n’est pas précisée
dans l’instruction « Pour », elle est par défaut égale à
un (1).
Reproduction 219
interdite
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 de
réalisation) Faire
Instruction(s)
Fintq

Reproduction 220
interdite
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
Fin Tq
Fin

Reproduction 221
interdite
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
d’arrêt)

Reproduction 222
interdite
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 223
interdite
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 224
interdite
L’instruction « Répéter … jusqu’à »

 Remarque :
 Dans la boucle « Répéter … Jusqu’à », la condition
telle qu’elle est exprimée ci-dessus, constitue une
condition d’arrêt de la boucle ; mais réellement,
cela diffère selon le langage de programmation
utilisé.
 Par exemple, en Pascal, la condition de cette boucle
est une condition d’arrêt. Alors qu’en langage C,
cette condition est exprimée en tant qu’une
condition de continuation.

Reproduction 225
interdite
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 226
interdite
La notion dE compteur

Bloc de la boucle
cpt  0 cpt  0
Répéter Tant que (condition de
instruction(s) réalisation) Faire
… instruction(s)
cpt  cpt + 1 …
Jusqu’à (condition cpt  cpt + 1
d’arrêt) FinTq

Reproduction 227
interdite
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 228
interdite
La notion dE compteur
 Exemple :

i0 i0
Répéter Tant que (i<5) Faire
Ecrire(i) Ecrire(i)
i  i+1 i  i+1
Jusqu’à (i=5) FinTq

Résultat d’exécution : 0, 1, 2, 3, 4, 5 Résultat


d’exécution : 0, 1, 2, 3, 4

Reproduction 229
interdite
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 230
interdite
La notion d’accumulation
 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

Reproduction 231
interdite
Les boucles imbriquees
 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 232
interdite
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
i=1 peut être représenté
comme suit : j=1
j=2
j=3
i=2
j=1
j=2
j=3

Reproduction 233
interdite
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 234
interdite
Les boucles imbriquEes
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 235
interdite
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.

Reproduction 236
interdite

Vous aimerez peut-être aussi