Outils Informatique Codage

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

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

Jeux de caracte res et encodage (par Michel Michaud 2014)

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

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

Cours Informatique 1. Monsieur SADOUNI Salheddine

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Logiciel de Base. I. Représentation des nombres

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

Méthode de préparation du fichier texte d import depuis Excel, via Access jusqu à Drupal.

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

Le codage informatique

Une version javascript sera disponible directement dans le cours prochainement.

Conversion d un entier. Méthode par soustraction

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

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Direction des Systèmes d'information

Théorie et codage de l information

TD : Codage des images

COMMUNICATION ENTRE DEUX ORDINATEURS PAR LASER MODULE EN CODE MORSE OU BINAIRE.

1 Introduction au codage

Plan du cours. Historique du langage Nouveautés de Java 7

TIC. Tout d abord. Objectifs. L information et l ordinateur. TC IUT Montpellier

UE Programmation Impérative Licence 2ème Année

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Présentation du cours

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

Unix/Linux I. 1 ere année DUT. Université marne la vallée

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

C.M. 1 & 2 : Prise en main de Linux

Structure du format BMP, sa lecture, sa construction et son écriture

Représentation des Nombres

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

Etude d Exchange, Google Apps, Office 365 et Zimbra

TP : Gestion d une image au format PGM

Acquisition Indexation Classement & Recherche & Stockage Consultation. Solution d archivage sur mesure

REALISATION D UNE CALCULATRICE GRACE AU LOGICIEL CROCODILE CLIPS 3.

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Conventions d écriture et outils de mise au point

Master d'informatique 1ère année. Réseaux et protocoles. Architecture : les bases

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

Licence Sciences et Technologies Examen janvier 2010

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

IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif :

Architecture des ordinateurs

Informatique Générale

1.1 L EXPLORATEUR WINDOWS

TP 1 : 1 Calculs en binaire, octal et hexadécimal

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

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

Algorithme. Table des matières

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Chap17 - CORRECTİON DES EXERCİCES

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

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

IFT1215 Introduction aux systèmes informatiques

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

Documentation SecurBdF

Les types de fichiers

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Introduction à Linux (pour le HPC) «Linux 101» Présentation :

Atelier individuel. Linux 101. Frédérick Lefebvre & Maxime Boissonneault frederick.lefebvre@calculquebec.ca U. Laval - Janv. 2014

Manuel du logiciel PrestaTest.

Fonctions homographiques

Rapport de certification ANSSI-CSPN-2010/07. KeePass Version 2.10 Portable

Concept-Informatique 2007

Introduction...3. Objectif...3. Manipulations...3. La Sauvegarde...4. Les différents types...4. Planification...4. Les outils...5

Logiciel et format de fichiers

Compression Compression par dictionnaires

Formats de fichiers adaptés à l'archivage électronique à moyen et long terme

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Le format OpenPGP. Traduit par : Sébastien Person. personseb@yahoo.fr. Matthieu Hautreux. matthieu.hautreux@insa-rouen.fr.

Solutions web : instructions aux développeurs

Base de Connaissances SiteAudit. Utiliser les Rapports Planifiés. Sommaire des Fonctionnalités. Les Nouveautés

Cours de Système : Gestion de Fichiers

Créer le schéma relationnel d une base de données ACCESS

Erreur statique. Chapitre Définition

DM 1 : Montre Autoquartz ETA

Introduction à NetCDF

Plateforme de capture et d analyse de sites Web AspirWeb

IFT2880 Organisation des ordinateurs et systèmes

Analyse des protections et mécanismes de chiffrement fournis par BitLocker

Solutions libres de stockage. Patrice Langlois / Antoine Puechlong Service Informatique IGMM CRBM CPBS

IV- Comment fonctionne un ordinateur?

Utilisation de KoXo Computers V2.1

Licence Sciences, Technologies, Santé Mention Informatique Codage de l'information

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Import factures depuis journal de vente

Objet du document. Version document : 1.00

Outils pour la pratique

ClariLog - Asset View Suite

ASR1 TD7 : Un microprocesseur RISC 16 bits

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

Limitations of the Playstation 3 for High Performance Cluster Computing

Transcription:

Outils Informatique Codage E. Jeandel Représentation des données Comment coder une image en un fichier? Comment coder un texte en un fichier? Comment représenter une couleur dans un ordinateur? Comment représenter un graphe dans un ordinateur? Comment représenter une base de données dans un ordinateur? Dans un ordinateur La notion de base est le bit. Un bit peut prendre deux valeurs, ou. Les bits sont regroupés, pour simplifier, par 8, pour former ce qu on appelle un octet. Représenter des données, c est donc les représenter comme une série de bits, ou comme une série d octets. Représentation des nombres Un nombre entier est représenté par son écriture en base 2 : 5 5 664 Plus d informations dans le cours d Architecture en L3

Représentation des dates Plusieurs formats : Format utilisé (entre autres) sous DOS et Windows : Date sur 6 bits : 5 pour le jour, 4 pour le mois, et 7 pour l année, en prenant comme référence 98 2//9 = = x3c33 Bug de l an? Heure sur 6 bits : 5 pour l heure, 6 pour les minutes, 5 pour les secondes. Problème? 9 : 5 : 36 = = x4e72 Format utilisé sous Unix : nombre de secondes écoulées depuis minuit UTC (temps universel coordonnée) le er janvier 97, codé sur 32 bits, dont un bit pour le signe. 2//9 à 9 :5 :36 = 2638996 Bug de l an? (il y a 35576 5 2 2 secondes dans un an) Représentation des caractères Un caractère est représenté par 8 bits (donc par un nombre entre et 255). Des tables de correspondance expliquent comment on passe des 8 bits au caractère correspondant. Exemple pour le caractère é : Norme Code binaire Décimal ISO/IEC 8859-233 (Latin- Western European) Mac OS Roman 42 CP437 3 99% des normes ont les mêmes 28 premiers caractères, correspondant à la norme ASCII. Chacune des normes ne permet de représenter que 256 caractères : insuffisant pour certaines langues. 2

3

Représentation des caractères : Unicode Unicode est un standard qui explique comment représenter et manipuler du texte. Il contient en particulier une liste de plus de caractères. On trouve ensuite plusieurs façons de les représenter : UTF-32 : Représente chaque caractère sur 32 bits (donc 4 octets) UTF-8 : Représente la majorité des caractères fréquents sur 8 bits, d autres sur 6 bits, 24 ou 32 bits Caractère Code UTF8 a é C Table utilisée en cours et en TD h p x a i q y b j r z c k s. d l t, e m u f n v! g o w? ne permet de représenter que des minuscules et quelques signes de ponctuation, mais bien suffisant pour les exercices. Récapitulatif La séquence suivante : peut donc représenter : Les 4 nombres 24, 57, 59, 53 Les 2 nombres 6597 et 4857 Le nombre 43686849 Les 4 caractères ƒö (en CP437) Les 4 caractères ùüô (en Mac OS Roman) Le caractère (en UTF-8) Les instructions assembleur x86 suivantes : LOCK POPF; LAHF; CDQ Un exemple Un logiciel d archivage permet de regrouper en un seul fichier plusieurs fichiers et répertoires afin, par exemple, de les stocker ensuite plus facilement, ou de les compresser. 4

On va ici archiver deux fichiers : toto.py (6 caractères) print "bonjour" readme.txt (7 caractères) blabla avec deux logiciels différents Un exemple : Microsoft Cabinet MSCF ~, _ 3<rN toto.py 3< N read print "bonjour" blabla Un exemple : Microsoft Cabinet 534d 4643 7e MSCF...~... 6 2c 3 2,... 32 5f..._... 48 3c33 4e72 2 6f74 6f74...3<rN.toto 64 72e 79 7 3c33.py...3< 8 4e7c 2 6572 646 656d 742e 7478 6 N.readme.txt.a 96 943 7b 7 7 6972 746e 222 6f62 C...print "bo 2 6a6e 756f 2272 62a 66c 6c62 a6 njour".blabla. Entête, permettant d identifier le type du fichier (ici : une archive CAB) Taille de l archive (ici 27) Début du premier fichier de l archive Nombre de fichiers dans l archive (ici 2) Suit ensuite une description de chaque fichier Taille du fichier (ici 6) Date et heure du fichier Permissions : x2 signifie que le fichier est exécutable Nom du fichier Puis le contenu de chaque fichier Autre exemple : GNU tar Traité en TP : 6f74 6f74 72e 79 toto.py... 6... 96 33 33 3537 35 33 33...755. 2 3537 3 33 33 3537 3 33 33 75.75. 28 33 33 323 3 33 3233 3235 337 2.32527 44 3332 3 33 3532 343 2 3 23.254.... 6... 256 75 7473 726 22 65 656a 6e6 6564.ustar.ejeande 272 6c l... 288 65 656a 6e6 6564...ejeande 34 6c l... 32... 52 727 6e69 274 6222 6e6f 6f6a 7275 a22 print "bonjour". 528... 24 6572 646 656d 742e 7478 readme.txt... 4... 2 33 33 3436 34 33 33...644. 36 3537 3 33 33 3537 3 33 33 75.75. 52 33 33 33 37 33 3233 3235 337 7.32527 68 3532 35 33 333 3435 2 3 255.354.... 84... 28 75 7473 726 22 65 656a 6e6 6564.ustar.ejeande 296 6c l... 32 65 656a 6e6 6564...ejeande 328 6c l... 344... 536 6c62 626 66c a blabla... 552... 5

Coder On veut représenter informatiquement une liste de fruits. Exemple : représenter Dessins de Kevin Andersson - www.kevinandersson.dk Exemple () Codage : Décodage : 6

Exemple (2) Codage : Décodage : Exemple (3) Codage : Décodage : 7

Exemple (4) Décodage : Exemple (5) Décodage : Définitions Définition. Un code (binaire) est une façon d associer à chaque objet (ici des fruits) une suite de et de (un mot) Définition 2. Un code est uniquement déchiffrable (ou non ambigu) si on peut retrouver de façon unique toute liste d objets à partir de la suite de et de. Les 5 exemples précédents sont non ambigus, sauf le dernier. 8

Questions Problème. Comment peut-on savoir qu un code donné est uniquement déchiffrable? Problème 2. Comment créer un code uniquement déchiffrable? Code bloc Définition 3. Un block code est un code où tous les mots du code sont différents et de même longueur. Proposition 3. Un block code est non-ambigu. Inégalité de Kraft-McMillan Théorème 4. On note l i la longueur du code pour le i-ème objet. On suppose qu il y a n objets. Si un code est non-ambigu, alors 2 l + 2 l2 + + 2 ln Exemple : peut-on trouver un code pour les fruits de sorte que soit codé sur bit ;,,, soient codés sur 3 bits ; sur 4 bits? Test de Sardinas-Patterson Soit C le code. On le met dans une colonne C A chaque étape i Si un mot de la première colonne C commence un mot de la dernière colonne C i (ou vice versa), on met le reste dans une nouvelle colonne C i+ On arrête le calcul lorsqu on boucle Théorème 5. C est un code non-ambigu si et seulement si on n atteint jamais un mot de C au cours de l exécution 9

Exemple C est ambigu Exemple Code préfixe C est non ambigu Définition 4. Un code est préfixe si aucun mot n est un préfixe d un autre mot. Exemple : Remarque : un block code est préfixe. Code préfixe On peut représenter les codes préfixes par des arbres :

Codes préfixes Théorème 6. Un code préfixe est non-ambigu. Preuve : pour décoder, on suit le chemin dans l arbre. Dès qu on arrive à une feuille, on a fini et on repart du début. Les codes préfixes sont instantanés : Dès qu on a fini de lire le premier mot de code, on sait qu on l a lu et qu on peut passer au deuxième. Théorème de Kraft-McMillan Théorème 7. Soit l i des entiers. Si les l i vérifient 2 l + 2 l2 + + 2 ln Alors il existe un code préfixe tel que le ième objet a pour longueur l i. Ensemble Théorème 8. On note l i la longueur du code pour le i-ème objet. Si le code est nonambigu, alors 2 + l 2 + + l2 2 ln Théorème 9. Soit l i des entiers. Si les l i vérifient 2 + l 2 + + l2 2 ln Alors il existe un code préfixe tel que le ième objet a pour longueur l i. Corollaire Théorème. Si C est un code non-ambigu, on peut trouver un code préfixe avec exactement les mêmes longueurs de mot. Les codes qui ne sont pas préfixes ne servent à rien. Comment trouver, sachant les l i, le code préfixe qui convient? Conclusion Pour coder des objets, on utilisera des codes non-ambigus, et souvent des codes préfixes. Si on sait qu un objet apparait très souvent, il faut lui donner un code plus petit que les autres. Comment faire? C est le prochain cours.