Faculté des Sciences, Université Ibn Tofail
Département Informatique
Initiation à l’informatique
MIP S1
Abdelalim SADIQ
[email protected]
https://sites.google.com/site/sadiqalim/licence-fondamentale
Plan du cours
◼ Introduction
◼ Initiation à l'informatique
◼ Algorithmique
◼ Langage Python
2
Chapitre I
INITIATION À L’INFORMATIQUE
3
Définition : Informatique
Informatique : contraction d'information et automatique
Informatique = Information + Traitement automatique
4
Quel est le sens du mot information ?
◼ Dans le langage courant, il s’agit d’un renseignement quel qu’il soit.
◼ Tout élément de connaissance susceptible d’être représenté à l’aide de conventions
pour être conservé, traité ou communiqué.
◼ C’est un fait ou un ensemble de faits dont la connaissance, fournie par un support
quelconque, nous permet d’entreprendre une action.
5
Le traitement de l’information
◼ Le traitement de l’information est le déroulement systématique d’une suite
d’opération sur des données. Il consiste à passer d’un état appelé données à un autre
état appelé résultats.
Données Traitement de Résultat
l’information
6
Différentes phases du traitement de l’information
◼ Le traitement de l’information exige plusieurs phases essentielles :
❑ la collection des informations élémentaires : ces informations proviennent de sources
diverses et dans un ordre quelconque;
❑ la saisie des informations : l’information qui découle d’un événement est notée,
enregistrée sur un support qui permet la conservation et la communication;.
❑ le tri des informations : il s’agit du regroupement des informations de même nature dans
un ordre méthodique en vue de les traitées;
❑ l’exploitation des informations : il s’agit de l’utilisation de l’information. Cette phase
rend les éléments nouveaux utilisables soit par l’homme (copie manuelle, …) soit par des
machines (automatique).
7
Qu'est-ce que l'informatique ?
▪ Informatique : La science de traitement automatique de l'information par
des machines,
Définition de l'Académie Française :
▪ Science du traitement rationnel, notamment par machines automatiques,
de l’information considérée comme le support des connaissances et des
communications, dans les domaines technique, économique et social
8
Moyen de traitement de l’information
◼ Pour traiter l’information d’une manière automatique, il faut être capable de :
❑ définir parfaitement les données et les résultats ;
❑ décomposer le passage de ces données vers ces résultats en une suite d’opérations
élémentaires dont chacune peut être exécutée par une machine.
◼ L’ordinateur est l’outil automatique convenable qui permet d’effectuer ces
opérations. On peut dire que l’ordinateur est une machine automatique du traitement
de l’information.
9
Structure d’un ordinateur
◼ Un ordinateur est une machine programmable, universelle de traitement de
l'information
◼ Un ordinateur est une machine
❑ Qui prend des données en entrée
❑ Leur applique une série d’instructions
❑ Fournit des résultats en sortie
◼ C’est plus ou moins compliqué
❑ – Ordinateurs mécaniques (ex: métier à tisser)
❑ – Distributeur automatique…
❑ – Téléphone, PC…
10
un ordinateur?
PC
métier à tisser
Distributeur automatique
11
Schéma d’un ordinateur
programme
1+3 4
Données Résultas
ordinateur
Structure d’un ordinateur
◼ Tous les ordinateurs ont des caractéristiques communes :
pour réaliser une tâche utile, trois choses doivent cohabiter
(travaillent ensemble) :
1) Matériel (Hardware) : composantes
physiques internes ou externes d’un ordinateur
2) Système d’exploitation (Operating System) :
ensemble de programmes qui pilotent/gèrent le
hardware d’un ordinateur (Windows XP, Linux)
3) Applications logicielles (Software) :
programmes chargées dans l’ordinateur pour
réaliser une fonction précise (Word)
Structure d’un ordinateur
◼ L'ordinateur doit donc posséder :
❑ Une ou plusieurs unités de stockage, pour mémoriser le programme en cours
d'exécution ainsi que les données qu'il manipule
❑ Une unité de traitement permettant l'exécution des instructions du programme et
des calculs sur les données qu'elles spécifient
❑ Différents dispositifs « périphériques » servant à interagir avec l'extérieur :
clavier, écran, souris, carte graphique, carte réseau, etc.
14
Modèle de Von Neumann
15
Unité de traitement
◼ c’est un organe principal ou le cerveau de l’ordinateur (microprocesseur).
◼ Il traite les informations introduites dans la mémoire. Il contient:
❑ une unité de commande U.C
❑ une unité arithmétique et logique U.A.L
UAL
U.C
Unité de Command U.C.
◼ Unité de contrôle
◼ c’est la partie intelligente du microprocesseur.
◼ Elle permet de chercher les instructions d’un programme se trouvant dans
la mémoire, de l’interpréter pour ensuite acheminer les données vers
l’U.A.L afin de les traiter
une unité arithmétique et logique U.A.L
◼ qui est composée d’un ensemble de circuits appeler accumulateur
(registres mémoires permettant de stocker les résultats intermédiaires lors
d'un calcul) chargés d’exécuter les opérations arithmétiques/
❑ Addition
❑ Soustraction
❑ Multiplication
❑ Division
❑ Opérations logiques.
CODAGE DE L'INFORMATION
19
Représentation de l'information
◼ L'information est représentée au sein des composants de
l'ordinateur sous forme de différents états de la matière :
❑ « Trou » ou « pas trou » sur la surface d’un cédérom ou DVD
❑ Orientation nord ou sud d'un matériau magnétique
❑ Lumière ou absence de lumière émise par un laser
❑ Courant électrique ou non
◼ Ce sont souvent des représentations à deux états, c'est-à-dire
«binaires »
20
Système de base de mémorisation
◼ Le système binaire ou système à deux états (système à base 2) est le plus simple
qu’on puisse imaginer pour mémoriser l’information.
◼ Pour le réaliser, il suffit d’utiliser une composante physique capable de prendre
deux états distincts, stables et ne peuvent être modifiés que par un mécanisme
extérieur.
21
Constituants élémentaires
◼ Tous les ordinateurs sont construits à base de circuits électroniques
◼ Les circuits électroniques sont réalisés au moyen de transistors
❑ Composant élémentaire, dont le courant de sortie dépend de deux valeurs
d'entrée
◼ Un transistor a donc trois « pattes » Appelées : base, émetteur et collecteur
◼ Analogue à un « robinet à électricité » : plus il arrive de courant sur la base,
plus le courant circule de l' émetteur vers le collecteur
22
Constituants élémentaires
◼ Dans les ordinateurs, on utilise les transistors en mode saturé, c'est-à-dire «
tout ou rien »
❑ Fonctionnement analogue à celui d'un interrupteur
◼ Robinet fermé ou ouvert en grand
◼ Soit le courant passe, soit il ne passe pas du tout
❑ Représentation des valeurs binaires « 0 » et « 1 »
◼ En combinant plusieurs transistors, on peut effectuer des calculs complexes
❑ Sur la base de montages en série ou en parallèle
◼ Regroupement au sein de « circuits intégrés »
23
Codage d’information
❑ Les informations traitées par les ordinateurs sont de différentes natures :
▪ nombres, texte, images, sons, vidéo,
❑ Dans un ordinateur, quelle que soit la nature de l'information traitée (image,
son, texte, vidéo), elle l'est toujours sous la forme binaire (BIT : Binary
digIT) une suite de 0 et de 1.
❑ Par exemple 01001011.
Codage de l’information
◼ Bit
❑ L’unité de traitement d’un ordinateur et tous les composants qui l’entourent doivent traiter
les nombres usuels (0, 1, 2, …, 8, 9) dont la représentation au moyen d’états électriques
est très complexe.
❑ C’est la raison pour laquelle les ordinateurs travaillent sur des nombres « binaires », et
n’utilisent que les chiffres 1 (allumé) et 0 (éteinte).
❑ Chaque 0 ou 1 d’un nombre binaire constitue un bit (signifie : binary digit). C’est la plus
petite unité d'information manipulable par une machine. Il faut, par exemple, 4 bits
pour représenter un chiffre ordinaire tel que « 8 » (qui s’écrit 1000 en représentation
binaire).
25
Codage de l’information
26
Codage d’information
◼ Le terme bit signifie ≪ binary digit ≫, c'est-a-dire 0 ou 1 en numérotation binaire. Il s'agit
de la plus petite unité d'information manipulable par une machine numérique. Il est
possible de représenter physiquement cette information binaire par un signal électrique
ou magnétique, qui, au-delà d'un certain seuil, correspond à la valeur 1.
◼ L'octet (en anglais byte) est une unité d'information composée de 8 bits. Il permet par
exemple de stocker un caractère comme une lettre ou un chiffre.
◼ Une unité d'information composée de 16 bits est généralement appelée mot (en anglais
word).
◼ Une unité d'information de 32 bits de longueur est appelée mot double (en anglais
double word).
27
Codage d’information : Définition
❑ Codage d’information: permet d’établir une correspondance qui 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ègles précises.
❑ Exemple :
• Le nombre 35 : 35 est la représentation externe du nombre trente cinq
• La représentation interne de 35 sera une suite de 0 et 1 ( 100011 )
Système de numération
◼ Système de numération décrit la façon avec laquelle les nombres
sont représentes.
◼ Un système de numération est défini par :
➢ Un alphabet : ensemble de symboles ou chiffres,
➢ Des règles d’écritures des nombres :
Juxtaposition de symboles
Exemples de Système de numération
◼
Bases de numération
(Binaire, Octale et Hexadécimale)
◼ Système binaire utilise deux chiffres : {0,1}
✓ C’est avec ce système que fonctionnent les ordinateurs
◼ Système Octale utilise huit chiffres :
{0,1,2,3,4,5,6,7}
✓ Elle permet de coder 3 bits par un seul symbole.
◼ Système Hexadécimale utilise 16 chiffres :
{0,1,2,3,4,5,6,7,8,9,A, B, C, D, E, F}
✓ Elle permet de coder 4 bits par un seul symbole.
Système d’unités
◼
Transcodage (ou conversion de base)
◼ Le transcodage (ou conversion de base) est l’opération qui permet
de passer de la représentation d’un nombre exprime dans une base
à la représentation du même nombre mais exprimé dans une autre
base.
◼ Par la suite, on verra les conversions suivantes:
✓ Décimale vers Binaire, Octale et Hexadécimale
✓ Binaire vers Décimale, Octale et Hexadécimale
Conversion: table de base
Décimal Binaire Hexa Octal
décimal
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 8 10
9 1001 9 11
10 1010 A 12
11 1011 B 13
12 1100 C 14
13 1101 D 15
14 1110 E 16
15 1111 F 17
16 10000 10 20
Conversion: Décimal => Binaire (1/2)
◼ Restes successifs de la division par 2
173 / 2 = 86 reste 1
86 / 2 = 43 reste 0 17310 => 101011012
43 / 2 = 21 reste 1
21 / 2 = 10 reste 1
10 / 2 = 5 reste 0
5 / 2 = 2 reste 1
2 / 2 = 1 reste 0
1 / 2 = 0 reste 1
Arrêt lorsque le quotient est nul
Conversion: Décimal => Binaire (2/2)
◼ Restes successifs de la division par 2
173 2
13 86 2
1 06 43 2
0 3 21 2
1 1 10 2
1 0 5 2
1 2 2
0 1 2
1 0
1 0 1 0 1 1 0 1
Conversion: Puissances de 2
2n Décimal Chaine binaire
20 1 1
21 2 10
2n Décimal Hexadécimal
22 4 100
210 1 024 400
23 8 1000
24 16 10000 220 1 048 576 100 000
25 32 100000
230 1 073 741 824 40 000 000
26 64 1000000
240 1 099 511 627 776 10 000 000 000
27 128 10000000
28 256 100000000
29 512 1000000000
210 1024 10000000000
211 2048 100000000000
212 4096 1000000000000
Conversion: Binaire => Décimal (1/2)
◼ Addition des puissances de 2 correspondant aux bits de valeur 1
101011012 => 17310
1 x 20 = 1 1 0 1 0 1 1 0 1
+
0x 21 = 0 x x x x x x x x
+ 27 26 25 24 23 22 21 20
1x 22 = 4
+ (128) (64) (32) (16) (8) (4) (2) (1)
1x 23 = 8
+
0x 24 = 0
+ 128 + 0 + 32 + 0 + 8 +4 +0 + 1 173
1 x 25 = 32
+
0x 26 = 0
+
1x 27 = 128
173
Conversion: Décimal => Hexadécimal
Rappel :
0=0 4=4 8=8 C = 12
1=1 5=5 9=9 D = 13
2=2 6=6 A = 10 E = 14
3=3 7=7 B = 11 F = 15
◼ Restes successifs de la division par 16
1577510 => 3D9F16
15775 / 16 = 985 reste 15 F
985 / 16 = 61 reste 9 9
61 / 16 = 3 reste 13 D
3 / 16 = 0 reste 3 3
Arrêt lorsque le quotient est nul
Conversion: Hexadécimal => Décimal
◼ On multiplie les chiffres hexadécimaux par les puissances de 16
correspondantes :
Exemple:
7 7 x 160 (1) = 7
E5B716 => 5880710 B 11 x 161 (16) = 176
5 5 x 162 (256) = 1280
E 14 x 163 (4096) = 57344
58807
Conversion: Binaire => Hexadécimal
❑ Les 16 symboles du code hexadécimal sont représentés par 4 bits
dans le système binaire (24 = 16), ainsi pour convertir un nombre
binaire en hexadécimal, il suffit de le découper en tranche de 4 bits à
partir de la droite (poids les plus faibles) et de faire correspondre à
chaque quartet le code hexadécimal correspondant.
Exemple :
Bit de poids le plus faible
LSB (Less significant Bit)
Binaire 1101 1100 1111 0111 1011 0010 1010 1110
Hexadécimal D C F 7 B 2 A E
(13) (12) (15) (7) (11) (2) (10) (14)
Conversion: Hexadécimal => Binaire
❑ Il suffit de faire correspondre à chaque symbole
hexadécimal, le quartet binaire correspondant :
Exemple :
Hexadécimal 3 F B 0 E C 9
Décimal (3) (15) (11) (0) (14) (12) (9)
Binaire 0011 1111 1011 0000 1110 1100 1001
Conversion: décimal => Octale
❑ Restes successifs de la division par 8
Conversion: binaire => Octale
◼ Principe: regroupement des bits sous forme de sous ensembles
de trois bits puis remplacer chaque groupe par le symbole
correspondant dans la base 8.
◼ Exemple:
101011 : 101 011 = 5 3
Exercice
◼ Complétez le tableau ci-dessous. L'indice indique la base dans laquelle le
nombre est écrit.
45
Exercice
◼ Soit N un nombre représenté en binaire par : N = 1010011101
Chercher la représentation de N dans la base décimal, hexadécimale et
octale.
Représentation des nombres entiers
◼ Représentation d'un entier naturel
❑ Un entier naturel est un nombre entier positif ou nul. Le choix à faire (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.
◼ Exemples : 9 = 000010012, 128 = 100000002, etc.
47
Représentation des nombres entiers
◼ 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 a deux.
Cette représentation permet d'effectuer les opérations arithmétiques
usuelles naturellement.
48
Représentation des nombres entiers
◼ Un entier relatif positif ou nul sera représente en binaire (base 2) comme
un entier naturel, à la seule différence que le bit de poids fort (le bit situe a
l'extrême gauche) représente le signe. Il faut donc s'assurer pour un entier
positif ou nul qu'il est à zéro (0 correspond a un signe positif, 1 a un signe
négatif). Ainsi, si on code un entier naturel sur 4 bits, le nombre le plus
grand sera 0111 (c'est-a-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 code sur n bits
sera 2n-1-1.
49
Représentation des nombres entiers
◼ Un entier relatif négatif sera représente grâce au codage en complément a
deux.
◼ Principe du complément à deux
1. Ecrire la valeur absolue du nombre en base 2. Le bit de poids fort doit être égal a 0.
2. Inverser les bits : les 0 deviennent des 1 et vice versa. On fait ce qu'on appelle le
complément a un.
3. On ajoute 1 au résultat (les dépassements sont ignores).
◼ Exemple : 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 a 1 : 11101100
3. et d'ajouter 1 : 11101101
◼ On remarquera qu'en additionnant un nombre et son complément a deux on
obtient 0. En effet, 00010011 + 11101101 = 00000000 (avec une retenue de
1 qui est éliminée).
50
Exercice
◼ Codez les entiers relatifs suivants sur 8 bits (16 si nécessaire) :
456, -1, -56, -5642.
◼ Que valent en base dix les trois entiers relatifs suivants :
01101100
11101101
1010101010101010 ?
51
Représentation des nombres réels
◼ 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 + 0.20 + 1.2-1 + 0.2-2 + 1.2-3.
52
Représentation des nombres réels
◼ Le passage de base 10 en base 2 est plus subtil. Par exemple :
convertissons 1234,347 en base 2.
◼ La partie entière se transforme comme suite : 123410 = 100110100102
◼ On transforme la partie décimale selon le schéma suivant :
0,347・2 = 0,694 0,347 = 0,0...
0,694・2 = 1,388 0,347 = 0,01...
0,388・2 = 0,766 0,347 = 0,010...
0,766・2 = 1,552 0,347 = 0,0101...
0,552・2 = 1,104 0.347 = 0,01011...
0,104・2 = 0,208 0,347 = 0,010110...
0,208・2 = 0,416 0,347 = 0,0101100...
0,416・2 = 0,832 0,347 = 0,01011000...
0,832・2 = 1,664 0,347 = 0,010110001...
53
Exercice
◼ Transformez en base 2 : 0,562510 ; 0,1510 ; 12,910 .
54
Operations Arithmétique
◼ Opérations arithmétiques
❑ Similaires aux opérations dans la base 10
◼ Chiffres limités à la base B
❑ Exemple
◼ Décimal
721
+ 297
1018
◼ Binaire
1011010001
+ 0100101001
1111111010 = 101810
55
Operations Arithmétique
◼ Octal
1321
+ 0451
17728 = 101810
◼ Hexadécimal
2D1
+ 129
3FA16 = 101810
56