Page 1 sur 4
Le codage de l’information : le binaire
Objectifs :
- Découvrir la notion de codage de l’information avec le binaire
- Savoir ce qu’est un algorithme
- Débuter en Python
Introduction.
Au cœur d’un ordinateur, certains composants convertissent le courant électrique en 0 et 1 créant ainsi une
suite de bits (appelé langage machine). Il y a énormément d’étapes au niveau de la machine avant de réussir
à transformer ces bits en nombre, en mots, en image.
D’abord, qu’est-ce que le codage de l’information ?
Voici une vidéo répondant à cette question et vous permettant de découvrir la notion de « base ».
https://www.youtube.com/watch?v=kCrwLydx7S8
Binaire ↔ Décimal (un peu de maths !)
Le but ici est de comprendre comment un nombre entier écrit en binaire (i.e. avec deux chiffres) peut être
converti en un entier écrit avec dix chiffres (écriture décimale).
Pour cela rendez-vous ici.
Exercice d’application
1. Ecrire
2
101
et
2
1001
en décimale. (La notation
2
101
signifie que le nombre est écrit en base 2)
2. Indiquer le nombre de bits associé à chacun des nombres binaires ci-dessus
3. Ecrire
10
11
et
10
17
en binaire.
4. Indiquer le nombre de bits associé à chacun des nombres binaires précédents
Résumez cette partie dans votre article « Carnet de bord » sur le site du lycée
Activité 1 - Algorithme de conversion binaire vers décimale.
Qu’est-ce qu’un algorithme ?
Un algorithme est une suite finie d'instructions permettant de résoudre un problème ou d'obtenir un
résultat. Il s’agit de la « maquette » d’un code informatique.
Astuce : pour obtenir le chiffre des unités d'un nombre entier il suffit de déterminer son reste dans la
division euclidienne par 10.
Voici un algorithme en pseudocode, qui demande à l’utilisateur un nombre en écriture binaire et qui affiche
sa conversion en écriture décimale.
n : entier // Nombre binaire entré par l'utilisateur
d : entier // valeur du nombre en base 10
i : entier // compteur des puissances successives à partir de 0
Début du Traitement
Afficher(« rentrer votre nombre binaire »)
Page 2 sur 4
Lire n
Afficher(« Le nombre de départ est »,n)
d prend pour valeur 0 // Initialisation des variables
i prend pour valeur 0
Tant que n est différent de 0 faire
Si ResteDivEucDe(n)par10 >1 // Chaque chiffre de n doit-être
inférieur ou égal à 1
Alors
Afficher(« Votre nombre n’est pas en écriture binaire »)
Afficher(« rentrer votre nombre binaire »)
Lire n
Afficher(« Le nombre de départ est »,n)
d prend pour valeur 0 // Initialisation des variables
i prend pour valeur 0
Sinon
d prend pour valeur d + ResteDivEucDe(n)par10
2 puissance i
n prend pour valeur partie entière de n/10
i prend pour valeur i+1
Fin Si
Fin Tant Que
Fin du traitement
1. Afin de comprendre l’algorithme, remplir le tableau ci-dessous pour
2
101
et
2
1001
Passage 1
Passage 2
Passage 3
Passage 4
Passage 5
0
0
Passage 1
Passage 2
Passage 3
Passage 4
Passage 5
0
0
2. Effectuer des modifications afin que le l’algorithme affiche le nombre binaire de départ et le nombre
de bit de celui-ci.
Page 3 sur 4
Activité 2 - Programmation : premier pas avec Python.
Qu’est-ce que programmer ?
Extrait de l’article Wikipédia :
Dans le domaine de l'informatique, la programmation est l'ensemble des activités qui permettent l'écriture
des programmes informatiques. Cela représente donc la rédaction du (ou des) code source d'un logiciel.
Pour écrire un programme, on utilise un langage de programmation. Un logiciel est un ensemble de
programmes (qui peuvent être écrits dans des langages de programmation différents) dédié à la réalisation de
certaines tâches par un (ou plusieurs) utilisateurs du logiciel.
--> Nous utiliserons dans les prochaines activités le langage Python (Version 3)
Déclaration des variables en Python :
En python il n'est pas nécessaire de préciser le type de variable (entier, caractère, … ) en début de
code mais il faut connaître le concept de type de variables !
Pour cela : lire les deux premières parties de cette page :
https://openclassrooms.com/courses/apprenez-a-programmer-en-python/le-monde-
merveilleux-des-variables
Télécharger puis ouvrir le fichier « ConversionBinaireDecimale.py » avec notepad++.
Compléter avec le code ci-dessous, attention à bien respecter l’indentation** qui est
obligatoire en Python :
** l’indentation est l’ajout de tabulations ou d'espaces dans un fichier, pour une meilleure lecture et
compréhension du code.
Prenez le temps de bien lire ce fichier afin de voir que la structure est la même que celle du
pseudocode précédent.
Les principales différences sont :
L’ajout de bibliothèques dont « math » ;
La syntaxe de programmation python : les mots clés sont en anglais.
Dans votre article « Carnet de bord » indiquez :
1. Certaines de ces différences.
2. Comment calcule-t-on une puissance en python ?
3. Comment obtient-on la partie entière de n ?
Page 4 sur 4
Exécution du programme
- Clic droit sur le programme : « Edit with IDLE »
- Dans le menu RUN, on trouve deux fonctionnalités indispensables
Check Module qui vérifie la syntaxe du code
Run Module qui exécute le code
1. Décrire le code couleur
2. Cliquer sur Run Module
3. Tester les nombres binaires étudiés précédemment : 101, 1001 puis les 2 que vous avez calculé
à la question 3 de l’introduction.
4. Améliorer le programme afin :
a. Qu’il affiche le nombre de bit
b. Qu’il affiche un message d’erreur lorsque le nombre initial n’est pas écrit en binaire, c’est-à-
dire si le reste de la division euclidienne de n par 10 est supérieur à 1 comme indiqué dans
l’algorithme
Utiliser la structure if else (voir ce lien)
Activité 3 : Pour aller plus loin - Conversion décimale vers binaire.
Créer un algorithme en pseudocode, un nombre entier en écriture décimale est en entrée et
qui renvoi la conversion binaire de ce nombre.
Programmer cet algorithme sous Python en partant du fichier
« ConversionDecimaleBinaire.py ».
n (le nombre binaire est déclaré en chaine de caractères)
on utilise la concaténation de chaines
Source : cette activité s’appuie sur un TP ISN de D. Simon
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !