Le codage de l`information : le binaire

publicité
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 1012 et 10012 en décimale. (La notation 1012 signifie que le nombre est écrit en base 2)
2. Indiquer le nombre de bits associé à chacun des nombres binaires ci-dessus
3. Ecrire 1110 et 1710 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 1 sur 4
Lire n
Afficher(« Le nombre de départ est »,n)
d prend pour valeur 0
i prend pour valeur 0
// Initialisation des variables
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 1012 et 10012
d avant la boucle
n avant la boucle
i avant la boucle
d après la boucle
n après la boucle
i après la boucle
d avant la boucle
n avant la boucle
i avant la boucle
d après la boucle
n après la boucle
i après la boucle
Passage 1
0
Passage 2
Passage 3
Passage 4
Passage 5
Passage 2
Passage 3
Passage 4
Passage 5
0
Passage 1
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 2 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-mondemerveilleux-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 3 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, où un nombre entier en écriture décimale est en entrée et
qui renvoi la conversion binaire de ce nombre.

Programmer
cet
algorithme
« ConversionDecimaleBinaire.py ».
sous
Python
en
partant
du
fichier
 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
Page 4 sur 4
Téléchargement