Académique Documents
Professionnel Documents
Culture Documents
Algorithmique et Programmation 1
Pr. Abdelhamid ZOUHAIR Pr. Aziz MAHBOUB
A. U: 2020/2021
Objectif du Module
1
Algorithmique et Programmation 1
Chapitre1 : Généralités
1. Survol des systèmes de numération
2. Codage
3. Composants d’un Ordinateur
Système de numération
2
Système de numération
Chiffres
Système Base Exemple
(Symboles)
Numération et codage
Base Base
3
Base d’un système
r → base
N → nombre
Exemple : [ 124 , 659 ]10
n −1
( N) r = ∑ar j
j
j=− m
4
Base d’un système
Exemple:
Pour le système binaire (r=2) et N=1101.101
Conversion et Correspondance
Hexadé. == Hexadécimal 10
5
Système de numération
Exercice 1 :
1. Décomposer les nombres décimaux suivants en
base 10 : 100, 345,789.56
2. Écrire 120 en base 7.
3. Écrire 421 en base 5.
4. Écrire 100 en base 2.
11
Système Binaire
6
Système Binaire
13
Système Binaire
Bit de poids
fort
7
Système Binaire
Équivalent décimal :
la numération décimale peut être construite à partir de la
numération binaire en utilisant méthode suivante:
Soit la numération binaire suivante 1011.1101, nous
cherchons son équivalent décimal:
1011.1101 = 1x8 + 0x4 +1x2 + 1x1 + 1x0.5 + 1x0.25 +
0x0.125 +1x0.0625
Par conséquent 1011.1101 = 11.8125
Autre Exemple :
A partir de cette représentation (11 110 011)2 on obtient le
nombre décimal suivant :
(1 x 27 )+ (1 x 26 )+ (1 x 25 ) + (1 x 24) + (0 x 23) + (0 x 22) + (1
x 21) + (1 x 20) = 128 + 64 + 32 + 16 + 0 + 0 + 2 + 1
= (243) 10 15
Système Binaire
Exercice 2 :
Trouver la représentation en base binaire de :
(67)10, (128) 10 et (566) 10.
16
8
Système Binaire
17
Système Binaire
Exercice 3:
Trouver la représentation en base binaire de :
(1.25)10, (1.24) 10 et (5.75) 10.
18
9
Les nombres négatifs
Comment calculer les codes des nombres négatifs ?
En décimal : -xxx, Mais : Ordinateur 0/1 uniquement
Les nombres négatifs sont codés de façon que les opérations
classiques puisent être effectuées normalement. Autrement dit, 2
+ (-2) doit bien donner 0 pour somme.
En pratique, comment faire?
Les nombres positifs sont codés normalement; tandis que les
nombres négatifs sont codés selon leur complément à deux. Le
calcul se fait en deux étapes :
1. Prendre le complément du nombre = Remplacer tous les 0 par des 1 et
tous les 1 par des 0.
2. Ajouter 1 à sa valeur= Calcul du complément à 2 = Ajouter 1 au
complément à 1
Exemple : -100
100 en décimal est égal à 01100100 en binaire
Complément du nombre : 10011011
On ajoute 1 : 10011011+1 =10011100
-100 est donc égal à 10011100 19
Opérations arithmétiques
L’addition
Pour additionner deux nombres binaires, on procède de la même
façon que dans l'arithmétique des nombres décimaux.
On écrit les nombres sur des lignes successives en les mettant en
colonne, en partant de la droite ; ensuite on additionne les chiffres
de chaque colonne en commençant par celle de droite.
Règles d’addition :
0+ 0=0
0+ 1=1
1+ 0=1
1+ 1 = 0 avec retenue de 1
Exemple :
1 1 Retenues
10001101
+ 1001
___ ___ ___ ___
1001 0110
20
10
Opérations arithmétiques
L’addition
Règles d’addition : Exemple 2 :
(1011)2 + (0110)2
0 1 Soit (11)10 + (6)10 = (17)10
+
0 0 1 1 1 1 Retenues
1 0 1 1 11
+ 0 1 1 0 6
1 1 0* ------------------------
1 0 0 0 1 17
* 1 + 1 = 10
Je pose 0 et je retiens 1
(17)10
21
Opérations arithmétiques
La soustraction
0 1 (1011)2 - (0110)2
- Soit (11)10 - (6)10 = (5)10
0 0 1* 1 0 1 1
- 0 1 1 0
-----------------------
1 1 0 1 Retenues
0 1 0 1
* Je pose 1 et je retiens 1
(5)10
22
11
Opérations arithmétiques
La multiplication
Règles de multiplication Exemple
(1011)2 x (110)2
0 1 Soit (11)10 x (6)10 = (66)10
x 1 0 1 1
x 1 1 0
0 0 0 ------------------------
1 1 1 1
1 0 1 0 0 0 0
1 0 1 1 .
1 0 1 1 . .
------------------------------
(66)10 1 0 0 0 0 1 0
23
Opérations arithmétiques
La division
101100 100
-100
------- 1 0 1 1 (44)10
1 1
110 Sens de lecture
-100
-------
100
Exemple
-100
(101100)2 ÷ (100)2
-------
0 Soit (44)10 ÷ (4)10 = (11)10
24
12
Système binaire
25
Système binaire
26
13
Système binaire
27
Système binaire
Exercice 4 :
Trouver la représentation en base binaire de : (67)8,
(128) 8 et (566) 8.
Trouver la représentation en base octal de :
(11 101 010)2 et (1 010 101 010 100 001)2.
28
14
Système binaire
29
Système binaire
30
15
Système binaire
31
Système binaire
Exercice 5 :
Trouver la représentation en base binaire de : (67)16,
(128) 16 et (566) 16.
Trouver la représentation en base hexadécimal de :
(11 101 010) 2 et (1 010 101 010 100 001) 2.
32
16
Algorithmique et Programmation 1
Chapitre1 : Généralités
1. Survol des systèmes de numération
2. Codage
3. Composants d’un Ordinateur
33
Codage de l’information
Codage des nombres entiers
17
Codage de l’information
Codage des entiers naturels
Cas des entiers naturels (positifs ou nuls)
Les entiers naturels (positifs ou nuls) sont codés sur un nombre d’octets
fixé.
On rencontre habituellement des codages sur 1, 2 ou 4 octets, plus rarement
sur 64 bits (en fonction de l’architecture du processeur).
Un codage sur n bits permet de représenter tous les nombres naturels entre 0
et 2n − 1. Par exemple sur 1 octet, on pourra coder les nombres de 0 à 255 =
28 − 1.
Codage de l’information
Codage des entiers relatifs
Cas des entiers relatifs (positifs ou négatifs)
Les nombres entiers relatifs peuvent être positifs ou négatifs. Ils
possèdent donc un signe que nous devons donc représenter sur
machine.
En effet, la base 2 ne permet de représenter que des entiers positifs.
Pour représenter un entier signé, on utilise le codage en complément à
deux.
Beaucoup de processeurs manipulent les entiers signés en complément
à 2 sur 32 bits ou sur 64 bits.
La raison est que les additions sont très faciles à effectuer avec cette
représentation.
Il faut distinguer entre deux cas des entiers relatifs :
1.Les entiers relatifs positifs ou nuls
2.Les entiers relatifs négatifs
36
18
Codage de l’information
Codage des entiers relatifs
Exercice 7 :
Donner la représentation du nombre entier relatif 163 sur 1 octet.
(pas possible)
37
Codage de l’information
Codage des entiers relatifs
2. Entiers relatifs négatifs
Pour obtenir le codage sur n bits d’un nombre x négatif, on procède comme suit :
1.On code en binaire sa valeur absolue sur n bits.
2.On complémente (ou on inverse) tous les bits.
3.On ajoute 1 (addition binaire).
NB: Complémenter signifie que l’on transforme les 0 en 1 et vice versa.
Exemple : Soit à coder la valeur −2 sur 8 bits.
On exprime la valeur absolue de −2, à savoir 2, en binaire sur 8 bits, soit :
00000010.
On complémente la séquence 00000010, on obtient donc : 11111101.
On ajoute 1 (addition binaire) et on obtient comme résultat : 11111110.
Remarque :
Le bit le plus significatif est utilise pour représenter le signe du nombre :
si le bit le plus fort = 1 alors nombre negatif
si le bit le plus fort = 0 alors nombre positif
Les autres bits codent la valeur absolue du nombre
Exemple : Sur 8 bits, codage des nombres -24 et -128 en (bs)
-24 est code en binaire signe par : 1 0 0 1 1 0 0 0(bs)
-128 hors limite nécessite 9 bits au minimum 38
19
Codage de l’information
Codage des entiers relatifs
Exercice 8 :
Coder 100 et -100 en binaire signe sur 8 bits.
Exercice 9 :
Calculer la somme de (1101)2 + (11)2 en posant l’addition, puis vérifier votre
résultat en passant par la base dix.
39
Codage de l’information
Codage des nombres réels (norme IEEE)
Représentation IEEE-754 :
Un même nombre réel peut être écrit de différentes façons.
Par exemple: le nombre 110 00 peut être écrit des façons suivantes :
110 00 = 0.110 x 25 = 110 x 22 = 0.0110 x 26
Pour éviter des représentations différentes du même nombre, la norme IEEE
propose une représentation normalisée des nombres réels en binaire.
L’intérêt principal de la norme IEEE est de normaliser la représentation
en base 2 des nombres réels afin d’avoir des comportements
identiques des programmes sur des machines différentes.
Représentation IEEE :
La norme IEEE définit des codages des nombres réels en :
simple précision (sur 32 bits)
double précision (sur 64 bits).
Quadruple précision (sur 80 bits)
40
20
Codage de l’information
Codage des nombres réels (norme IEEE)
Représentation IEEE : codage en simple précision :
La représentation IEEE en simple précision permet de décomposer un nombre
réel en trois parties (trois zones distinctes) : signe, exposant et mantisse (la suite
de bits après la virgule), le tout sur 32 bits.
le signe sur 1 bit
l'exposant sur 8 bits en arithmétique signé
la mantisse (ensemble des chiffres à droite de la virgule)sur 23 bits qui correspond
aux nombre décimal.
Un nombre réel peut s’écrire en binaire : ± 1, mantisse x 2n
Par exemple : 100 0000 1111 = 1,00 0000 1111 × 210
Le codage IEEE simple précision d’un nombre réel a la forme suivante :
seeeeeeeemmmmmmmmmmmmmmmmmmmmmmm
s : signe : il est représenté sur le bit de poids fort : 1 pour un réel négatif, 0
pour un réel positif.
e : exposant : il est codé sur les 8 bits. On code en binaire la valeur e = n +
127 où e: exposant codé, n: exposant réel, 127 excédent (en simple
précision)).
m : mantisse : il est codée sur les 23 bits de poids faibles.
41
Codage de l’information
Codage des nombres réels (norme IEEE)
42
21
Codage de l’information
Codage des nombres réels (norme IEEE)
Exemple :
Traduire en binaire simple précision 32 bits le nombre : - 6,625
1. Signe : 1
2. Convertir en binaire le nombre réel : (6,625)10 = (110,1010)2
3. Construire la mantisse en écrivant la représentation binaire du nombre réel de
la façon suivante : 1, mantisse × 2n : 110,1010 = 1,101010 x 22
4. Constituer l'exposant codé en décimal : exposant = 2+127= 129
5. Convertir l'exposant codé en binaire : (129)10 = (1000 0001 )2
6. Etendre la mantisse à 23 bits : 101 0100 0000 0000 0000 0000
7. Ecrire la représentation IEEE en simple précision du nombre réel.
(- 6,625)10 =
Question :
qu’elle est la représentation IEEE simple précision du nombre + 6, 625 ?
L'opposé de - 6,625, soit + 6,625, s'obtient en mettant le bit de signe à 0.
43
Codage de l’information
Codage des caractères
44
22
Codage de l’information
Codage des caractères
45
Codage de l’information
Codage des caractères
Code ASCII :
À chaque caractère est
associée une configuration
de 8 chiffres binaires (1
octet), le chiffre de poids fort
(le plus à gauche) étant
toujours égal à 0.
Table de correspondance
du codage ASCII
46
23
Codage de l’information
Codage des caractères
Code ASCII :
Table de correspondance
du codage ASCII
47
Codage de l’information
Codage des caractères
Exercice 10 :
48
24
Algorithmique et Programmation 1
Chapitre1 : Généralités
1. Survol des systèmes de numération
2. Codage
3. Composants d’un Ordinateur
49
25
Architecture des ordinateurs
Rapidité des évolutions technologiques (illustré par la loi de Moore,
1975)
Moore postulait le doublement du nombre de transistors des
microprocesseurs tous les 2 ans entre 1971 et 2001 .
Actuellement : doublement d’une grandeur (vitesse, capacité, etc.) tous
les 18 à 24 mois.
Nombreux principes de base communs à tous les ordinateurs
Type et représentation des informations.
La manière dont les composants internes dialoguent, etc…
26
Architecture des ordinateurs
Histoire : évolutions architecturales
53
1ère génération
1945-1957
1945 : Naissance de l’ordinateur :
Caractéristiques :
Premier ordinateur électronique
Machines volumineuses et peu fiables
Utilisation de tubes à vide (18000 Tubes)
Poids : 30 tonnes
Surface : 170 m²
Exécute 40 000 opération/s Câblage du programme
27
Architecture des ordinateurs
Histoire : évolutions architecturales
1ère génération
1944-1952 : Architecture de Von Neumann : 1945-1957
5 composants essentiels dans l’architecture de Von Neumann :
L’unité arithmétique et logique (UAL), qui effectue les
opérations de base
l’unité de contrôle (commande), qui est chargée du séquençage
des opérations
la mémoire, qui contient à la fois les données et le programme
les dispositifs d’entrée-sortie, qui permettent de communiquer
avec le monde extérieur.
55
2ème génération
Machines fiables: 1958- 1964
• Technologie à transistors
• Exécute 200 000 opérations/s
• Premiers langages de programmation évolués
(COBOL, FORTRAN, LISP)
56
28
Architecture des ordinateurs
Histoire : évolutions architecturales
3ème génération
1965- 1971
•Technologie des circuits intégrés
• Exécute 1 000 000 opération/s
• Avènement du système d’exploitation complexe
4004 de INTEL(1971)
(UNIX, Pascal, Basic, CISC)
• 1971 : premier microprocesseur 4004 de INTEL: Toutes les
composantes de la CPU sont réunies sur une même puce
PDP 8E (1965) 57
4ème génération
1972- 1977
1971 : Processeur Intel 4004
2300 transistors dans un unique circuit intégré
Fréquence de 740 kHz, 0,092 MIPS
(millions d'instructions par seconde)
Micral-N (1973) 58
29
Architecture des ordinateurs
Histoire : évolutions architecturales
5ème génération
1978 et +
• Technologie VL/WSI (very large, wafer)
• Systémes distribués interactif
• Multimédia, traitement de données non numériques:
(textes, images, paroles)
• Parallélisme massif, client-serveur
• …
• 1980 : IBM sort le PC (Personal Computer)
Début de l’ère de l’informatique individuelle
59
30
Architecture des ordinateurs
Principaux éléments de l’ordinateur
Ecran
Souris
Périphériques Ordinateur
clavier
Unité
Centrale
61
L’écran ou moniteur
Périphérique d’affichage de
l’ordinateur c’est l’interface entre
l’utilisateur et l’ordinateur.
62
31
Architecture des ordinateurs
Les périphériques
Scanner
63
64
32
Architecture des ordinateurs
Composantes de l’unité centrale
Boîtier :
C’est le support des composants de l’ordinateur.
En général on a deux types de boîtier :
Format Tour
Format Bureau
65
La carte mère:
L'élément constitutif principal de l'ordinateur est la carte-mère, c'est sur
cette carte que sont connectés ou soudés l'ensemble des éléments
essentiels de l'ordinateur.
La carte-mère contient des éléments embarqués (intégrés à la carte) :
33
Architecture des ordinateurs
Composantes de l’unité centrale
La carte mère:
Port
Ports de
d’alimentation
RAM Bios Connecteurs
type ATX
Chipset IDE
support
de
processe
ur
La
Pile
Port ps\2 du
CMOS
Pour
Souris
Port ps\2
Pour
clavier Port
Port LPT USB
Ports
Port d’extension
Port RJ45 Entrée\sor
série carte tie audio AGP , PCI
réseau carte son ,ISA,…
intégrée intégrée 67
Le chipset :
C’est un circuit électronique chargé de coordonner les échanges de données
entre les divers composants de l'ordinateur (processeur, mémoire; ...).
34
Architecture des ordinateurs
Composantes de l’unité centrale
69
La mémoire :
Reçoit les données et les programmes, il en existe 3 types:
• La mémoire vive appelée RAM stocke temporairement des données pendant
l’exécution d’un programme (son contenu est par contre détruit dès lors que
l'ordinateur est éteint ou redémarré).
• La mémoire ROM qui contient les informations essentielles son contenu est
figé.
• La mémoire de masse ou mémoire externe fixe les informations qui sont
conservées lors de l’arrêt de l’ordinateur (disque-dur).
La mémoire Cache:
La mémoire-cache permet au processeur de se "rappeler" les opérations déjà
effectuées auparavant.
35
Architecture des ordinateurs
Composantes de l’unité centrale
71
Références Bibliographique
72
36