CHIFFREMENT BINAIRE FICHE ENSEIGNANT. L'activité contient : Compétences mathématiques : Domaines du socle : Niveau concerné

Documents pareils
Conversion d un entier. Méthode par soustraction

Introduction à l algorithmique et à la programmation (Info 2)

Informatique Générale

Chapitre 1 I:\ Soyez courageux!

Petit lexique de calcul à l usage des élèves de sixième et de cinquième par M. PARCABE, professeur au collège Alain FOURNIER de BORDEAUX, mars 2007

Représentation d un entier en base b

Représentation des Nombres

Programmation C. Apprendre à développer des programmes simples dans le langage C

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

TP Codage numérique des caractères. Un ordinateur ne manipule que des 0 et des 1 : Comment alors code-t-il du texte?

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

R. A. A. Bébian. Mimographie, ou essai d écriture mimique. París, 1825

V- Manipulations de nombres en binaire

Algorithme. Table des matières

MPI Activité.10 : Logique binaire Portes logiques

Transmission d informations sur le réseau électrique

Système binaire. Algèbre booléenne

Le chiffre est le signe, le nombre est la valeur.

TP 2 Réseaux. Adresses IP, routage et sous-réseaux

Logiciel de Base. I. Représentation des nombres

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

La mémoire. Un ordinateur. L'octet. Le bit

Systèmes informatiques

UFR de Mathématiques et Informatique Année 2009/2010. Réseaux Locaux TP 04 : ICMP, ARP, IP

Une version javascript sera disponible directement dans le cours prochainement.

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Le codage informatique

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

L AUTOMATISME LE SIGNAL

REALISATION D UNE CALCULATRICE GRACE AU LOGICIEL CROCODILE CLIPS 3.

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique


IFT2880 Organisation des ordinateurs et systèmes

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

EXERCICES DE REVISIONS MATHEMATIQUES CM2

Partie Agir : Défis du XXI ème siècle CHAP 20-ACT EXP Convertisseur Analogique Numérique (CAN)

Tux Paint. 1. Informations générales sur le logiciel. Auteur : Bill Kendrick et l équipe de développement de New Breed Software

Seconde Généralités sur les fonctions Exercices. Notion de fonction.

Le langage C. Séance n 4

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

ANALYSE TRAMEs LIAISON SERIE

QUESTION 1 {2 points}

Architecture matérielle des systèmes informatiques

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

L informatique en BCPST

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Introduction à NetCDF

Cours d algorithmique pour la classe de 2nde

Licence Sciences et Technologies Examen janvier 2010

Différencier, d accord oui mais comment organiser sa classe.

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Programmes des classes préparatoires aux Grandes Ecoles

INFO 2 : Traitement des images

Conventions d écriture et outils de mise au point

Corrigé des TD 1 à 5

Logiciel SCRATCH FICHE 02

VIII- Circuits séquentiels. Mémoires

Activité 1. Compter les points Écriture binaire des nombres. Résumé. Liens pédagogiques. Compétences. Âge. Matériel

Cours Informatique 1. Monsieur SADOUNI Salheddine

La question est : dans 450 combien de fois 23. L opération est donc la division. Le diviseur. Le quotient

Compétences en fin de maternelle Comparer des quantités.

Synthèse «Le Plus Grand Produit»

Logiciel Libre Cours 3 Fondements: Génie Logiciel

UNE EXPERIENCE, EN COURS PREPARATOIRE, POUR FAIRE ORGANISER DE L INFORMATION EN TABLEAU

Cours d Informatique

Baccalauréat universitaire (bachelor) en mathématiques et sciences informatiques

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Chap17 - CORRECTİON DES EXERCİCES

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Introduction à l étude des Corps Finis

Algorithmique & Langage C IUT GEII S1. Notes de cours (première partie) cours_algo_lgc1.17.odp. Licence

Codage d information. Codage d information : -Définition-

Glossaire des nombres

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

B = A = B = A = B = A = B = A = Recopier sur la copie chaque expression numérique et la réponse exacte. Réponse A Réponse B Réponse C Solution

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Information. BASES LITTERAIRES Etre capable de répondre à une question du type «la valeur trouvée respecte t-elle le cahier des charges?

Microprocesseur + Logiciel

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

Cours 1 : La compilation

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Algèbre binaire et Circuits logiques ( )

MIS 102 Initiation à l Informatique

Physique Chimie. Utiliser les langages scientifiques à l écrit et à l oral pour interpréter les formules chimiques

Vous revisiterez tous les nombres rencontrés au collège, en commençant par les nombres entiers pour finir par les nombres réels.

Notes du cours 4M056 Programmation en C et C++ Vincent Lemaire et Damien Simon

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

40 minutes. Attente Vie active Participer à une variété d activités physiques dans le but d être une personne active tout au long de sa vie.

Partie publique / Partie privée. Site statique site dynamique. Base de données.

Technique opératoire de la division (1)

Algorithmique I. Algorithmique I p.1/??

Transcription:

CHIFFREMENT BINAIRE FICHE ENSEIGNANT Niveau concerné Cycle 4 : à partir de la 4è Durée : 2 séances L'activité contient : Affectation Variable Boucle Test Programmation parallèle Compétences mathématiques : Chercher Raisonner Modéliser Représenter Calculer Communiquer Domaines du socle : Domaine 1 Comprendre, s'exprimer en utilisant les langages mathématiques, scientifiques et informatiques Domaine 2 Coopération et réalisation de projets Domaine 3 Domaine 4 Démarches scientifiques Conception, création, réalisation Domaine 5 Pré-Requis Informatique : connaissance de l environnement Scratch écrire un algorithme en langage naturel Notion de boucle

Mathématique : Notion de division euclidienne et vocabulaire associé Savoir poser une division à la main Puissance de 2 si l on souhaite aller plus loin Modalités et matériels En salle informatique, travail individuel pendant deux séances de 50 minutes. Objectifs Les objectifs de cette activité sont d initier les élèves à un exemple de codage et de chiffrement utilisé en informatique et de pratiquer eux-mêmes ce code en réalisant un programme sur Scratch permettant de coder un nombre en langage binaire. Scénario L activité commence par une brève explication sur le chiffrement binaire et son fonctionnement. On demande aux élèves de s essayer au chiffrement binaire d abord à la main afin de se familiariser avec la technique. On essaye alors de leur faire comprendre l inconvénient et les limites de cette méthode manuelle. On souhaite qu ils s orientent très vite sur la mise en place d un algorithme faisant «le travail à leur place». Pour cela, ils doivent passer par l écriture au préalable d un algorithme en langage naturel qui transforme un nombre donné par l utilisateur en base 10 en un nombre en base 2. Ils se lancent ensuite sur le logiciel Scratch afin de mettre en application leur programme précédent. Ils découvrent alors la commande «modulo» définie comme donnant le reste de la division euclidienne. Afin de faciliter leur composition du programme, on leur donne les différents blocs à utiliser qu ils doivent réordonner. Le programme est découpé en deux parties afin de guider les élèves pas à pas vers dans leur programmation : une première où les blocs sont donnés et où les élèves doivent les réagencer une deuxième partie correspondant à la remise en ordre des restes de la division euclidienne par 2 afin de lire ces restes dans le bon ordre. Enfin, on termine le TP en leur demandant de tester le programme sur trois nombres afin de vérifier que tout fonctionne correctement. Ce TP peut s inscrire aussi dans l étude des puissances de nombres en faisant le lien avec les puissances de 2. Il peut également faire l objet d une partie d un EPI avec la technologie.

TP initiation au chiffrement binaire Le chiffrement binaire, c est quoi? L homme a toujours eu besoin de compter et il a inventé la numération décimale (celle que l on utilise «habituellement»). C est ce que l on appelle la numération en base 10 (dix, comme le nombre total de doigts sur nos deux mains réunies). Cependant, il existe d autres façons de compter que la numération décimale : dans les domaines de l électronique, de l automatisme ou encore de l informatique, la numération binaire (en base 2) est plus souvent utilisée. Cela signifie que tous les nombres s écrivent avec deux chiffres uniquement : 0 et 1. C est Leibniz (un mathématicien allemand du VII ème siècle) qui a introduit la numération binaire telle qu on la pratique actuellement en informatique. Nous utilisons donc la numération binaire car les systèmes technologiques ont souvent deux états stables, par exemple : un interrupteur est ouvert ou fermé ; une diode est allumée ou éteinte ; une tension est présente ou absente. Ainsi, à chaque état du système technologique, on associe un état logique binaire : l interrupteur ouvert sera noté 1, et 0 s il est fermé. Le chiffre binaire qui peut prendre ces deux états est nommé «Bit» qui vient de l anglais : Binary digit. En informatique, une variable qui prend les valeurs 0 ou 1 exclusivement est dite booléenne (du mathématicien britannique George Boole au I ème siècle).

Le chiffrement binaire, comment ça marche? Prenons un exemple : nous allons prendre un nombre dans notre numération décimale et nous allons l écrire en numération binaire. Choisissons le nombre 193 : Pour transformer 193 en langage binaire, nous allons faire des divisions euclidiennes successives (c est à dire des divisions «posées» les unes à la suite des autres) de 193 par 2 jusqu à ce que le quotient soit égal à 0. Rappel : La division euclidienne correspond à la division «posée à la main». Cette image représente la division euclidienne du nombre a par le nombre b. q est le quotient et r le reste. Cette opération correspond à la division euclidienne de 183 par 12. 15 est le quotient, 3 est le reste. On peut écrire le calcul en ligne : 183 = 12 15 + 3. Reprenons notre exemple : On a arrêté les divisions car à ce stade là, l étape suivante serait d écrire que 1 = 2 0 +1 Le quotient suivant serait alors 0. Ainsi la liste des restes obtenus par ces divisions successives est : 1 0 0 0 0 0 1 1 Il suffit alors de recopier cette liste à l envers (ou bien directement de lire de bas en haut, comme sur l image, les restes obtenus) pour dire que 193 en écriture binaire est 1 1 0 0 0 0 0 1 Quel est l inconvénient? C est une méthode longue et au cours de laquelle les risques d erreurs sont grands à cause du grand nombre de divisions. On souhaite donc que ces calculs soient faits par un ordinateur grâce à un algorithme.

À ton tour de jouer! 1) Ecrire en langage binaire le nombre 53. 2) Ecrire avec vos propres mots un algorithme permettant de passer d un nombre en écriture décimale à un nombre en écriture binaire.

Programmons pas à pas Développons d abord la partie du programme consacrée aux divisions successives par 2 1) Créez une variable appelée «Nombre» puis une liste appelée «restes des divisions». Dans la variable «Nombre» on affectera à chaque étape le nombre que l on divise et la variable «restes des divisions» va contenir les restes des divisions successives. 2) Pour ajouter le reste d une division dans la liste ainsi créée, il vous faudra utiliser la commande «modulo» dans opérateurs : Ce nouvel opérateur donne le reste de la division euclidienne du premier nombre par le deuxième. Par exemple, si vous entrez 10 comme premier nombre et 2 comme deuxième nombre, vous obtiendrez 0 car 10 = 5 2 + 0. De même, qu obtenez-vous si vous mettez 53 à la place de 10? 3) Pour obtenir le nouveau quotient des divisions successives, vous aurez besoin d utiliser l opérateur «plancher de» : Par exemple, renverra 5 comme résultat. Familiarisez-vous avec ce nouvel opérateur : qu obtenez-vous si vous demandez le plancher de 25/2? Expliquez pourquoi.

4) Complétez la structure du programme ci-dessous afin que celui-ci demande un nombre à l utilisateur et une fois celui-ci entré, le programme stocke les restes des divisions par 2 dans la liste appelée «restes des divisions» Appelez le professeur pour validation avant de continuer

Développons ensuite la partie du programme consacrée à lire la liste des restes dans «l autre sens» 1) Créez une variable «L» qui va lire la liste remplie précédemment des restes des divisions. 2) Créez une variable «Liste définitive» qui va contenir les éléments de la liste des restes des divisions lue dans le bon ordre. 3) Ré-assemblez les blocs suivants dans l ordre puis rattachez-les au bloc précédent : 4) Faites dire au lutin de votre choix «le nombre... est codé par...». Pour cela, vous devrez utiliser l opérateur «regroupe» Cet opérateur vous permettra de faire des phrases qui utilisent des variables et des listes. Tester votre programme Testez votre programme avec votre date de naissance puis avec 2015 ; 2016. Quels résultats obtenez-vous? Pour aller plus loin... Lien entre numération binaire et puissance de 2 Déterminer l écriture d un nombre en binaire à partir des puissances de 2 Déterminer l écriture d un nombre en base 10 connaissant son écriture en base 2 Opérations avec des nombres en écritures binaires.