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

Dimension: px
Commencer à balayer dès la page:

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

Transcription

1 Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes différents de compression/décompression. Dans cet énoncé, nous commencerons par rappeler quelques généralités sur la compression de texte, puis nous présenterons les deux algorithmes à réaliser et enfin nous donnerons quelques informations sur l organisation du projet et relatives au rendu et à l évaluation du projet. 1 Généralités sur la compression/décompression de texte La compression d un fichier informatique permet de réduire sa taille, permettant ainsi de gagner de la place sur le disque dur, de transmettre plus rapidement ce fichier par le réseau, etc.... Bien sur, lorsqu un fichier est compressé, on doit être capable de le décompresser. On distingue en général deux types de compression pour les fichiers informatiques : la compression avec pertes ou sans pertes d informations. La compression avec pertes d informations est particulièrement adaptée aux fichiers contenants des données physiques tel que du son, de la vidéo ou une image. On ne s y intéressera pas dans ce projet. Dans le cas de la compression d un texte, on ne veut perdre aucune informations. Il ne s agit pas que, pour un fichier compressé puis décompressé, un caractère a du fichier d origine devienne un caractère b. On utilise alors des algorithmes de compression dit sans pertes de données. Dans ce projet, il vous est demandé de coder deux de ces algorithmes, l algorithme rle (pour Run Length Encoding) et un algorithme se basant sur les codes de Huffman. 2 L algorithme RLE. L algorithme rle est un algorithme compressant des fichiers contenant des caractères se répétant plusieurs fois à la suite. L idée consiste simplement à remplacer une suite du même caractère par ce caractère suivie d un chiffre indiquant son nombre de répétitions. Ainsi, la chaîne "aaaa" sera encodée par la chaîne "a3" indiquant que l on a le caractère a suivie de 3 répétitions du même caractère. Cette méthode présente toutefois un problème. Autant "aaaa" sera compressé, autant "bc" sera encodé par "b0c0", augmentant ainsi les données au lieu de les compresser. On propose de modifier légèrement cet algorithme et d attendre de lire 2 fois de suite le même caractère pour ensuite indiquer le nombre de répétitions qui suivent. Ainsi, "aaaa" sera encodé par "aa2" et, par exemple, "aaaabcbb" sera encodé par "aa2bcbb0". Cette algorithme ne fonctionne bien sûr que si le texte initial contient en moyenne beaucoup de répétitions successives des caractères. La décompression est alors relativement simple. On lit les caractères un par un. Tant que l on ne lit pas deux fois le même caractère, on se contente d écrire le caractère lu dans le fichier résultat. Lorsqu on lit deux fois de suite le même caractère, on sait que suit un chiffre indiquant le nombre de répétitions restantes pour ce caractère. Il suffit alors d écrire autant de fois que nécessaire le caractère en question dans le fichier résultat. 3 L algorithme de Huffman. 3.1 Principe de l algorithme Dans un fichier texte, chaque caractère du texte occupe le même espace physique, soit 8 bits (voir aussi 3. pour plus de détails là-dessus). L idée est de changer cela, en donnant aux caractères les plus fréquents dans le texte un codage plus court, quitte à donner à certains autres caractère peu fréquent un codage de plus de 8 bits. 1

2 Pour cela, on va d abord calculer les probabilités d apparence de chaque caractère dans le texte à compresser. Par exemple, supposons que l on veuille compresser le texte "badbbacddcab", les probabilités 1 de chaque caractère sont : caractère probabilité a 3 b 4 c 2 d 3 L idée est alors d associer aux caractères un code (binaire) d autant moins long que le caractère est fréquent. On pourrait, pour les probabilités ci-dessus, être tenté de prendre pour b le code 0, pour a le code 1, pour d le code 10 et pour c le code 11. Ceci serait optimal en terme de longueur des codes mais malheureusement le décodage du texte (la décompression) serait alors impossible. En effet, avec de tels codes, 101 pourrait être décodé en "aba" mais aussi en "da". On doit donc trouver des codes, certes moins optimal, mais tel que le décodage puisse s effectuer sans ambiguïté. C est ce que Mr. Huffman (David A. Huffman, ) nous propose en utilisant, dans notre exemple, les codes suivants : caractère code a 01 b 00 c 11 d 10 Avec ces codes, par exemple, ne peut être décodé que par "bdc". Et puisque sur un ordinateur, un caractère est normalement encodé sur 8 bits, "bdc" occupe 3 8 = 24 bits, à comparer avec les 6 bits de son code de Huffman. On a bien compressé le texte. 3.2 Calcul des codes à l aide d arbres de Huffman Pour calculer ces codes, on va devoir construire un arbre de Huffman. L arbre de Huffman pour notre exemple est : Dans cet arbre, les feuilles sont les caractères (avec leurs probabilités entre parenthèse) alors que les noeuds représentent des caractères fictifs dont la probabilité est la somme des probabilités de leurs fils. Une fois cet arbre construit, le code d un caractère est facilement trouvé en suivant le chemin dans l arbre depuis la racine jusqu au caractère et en prenant 0 lorsque l on va à gauche et 1 lorsque l on va à droite. Comment créer l arbre de Huffman? Pour cela, on utilise un tas dont les éléments sont eux-même des arbres de Huffman. Dans la suite, on appellera probabilité de l arbre la probabilité du noeud racine d un arbre donné. On commence en remplissant le tas avec une feuille pour chaque caractère, et de façon à ce que le tas soit trié par probabilité croissante. Autrement dit, initialement, l arbre au sommet du tas contiendra le caractère avec la plus petite probabilité (dans notre exemple, le caractère c). Ensuite, et tant que le tas contient plus d un élément, on récupère les deux derniers éléments du tas (qui sont donc les arbres de plus petites probabilités), on créer un nouveau noeud fictif ayant pour fils les deux arbres récupérés et comme probabilité la somme des probabilités de ces deux fils. Enfin, on insère l arbre ainsi créé dans le tas de façon à ce que ce dernier reste trié 1 Ce qu on appelle probabilité ici n est que le nombre d occurrences de chaque caractère. Pour avoir une probabilité d apparence il faudrait diviser ces chiffres par le nombre total de caractère du texte, mais cela ne changerait rien a notre algorithme. 2

3 par probabilité croissante, et on continue. Lorsqu il n y a plus qu un seul élément sur le tas, celui-ci est l arbre de Huffman. Sur notre exemple précédent, la construction de l arbre de Huffman suit les étapes suivantes : On commence avec le tas contenant une feuille par caractère. Le tas est trié en fonction des probabilités : On récupère les deux éléments au sommet du tas, qu on joint par un noeud fictif de probabilité la somme des probabilités de ces deux éléments : Puis on insère l arbre nouvellement créé à sa place dans le tas. On recommence avec les deux nouveaux éléments au sommet. Et on insère l arbre nouvellement créé au tas. Le tas contient plus d un élément donc on continue. 12 Enfin, lorsqu il ne reste qu un seul élément, on a construit notre arbre de Huffman Compression L algorithme de compression lit en entrée un fichier quelconque et écrit un fichier résultat contenant un entête suivit de la suite de code de Huffman correspondant au fichier d entrée. L algorithme peut se résumer ainsi : On compte, dans le fichier d entrée, quels caractères apparaissent et combien de fois chacun ; 3

4 A partir de ces informations, on construit l arbre de Huffman ; On utilise l arbre de Huffman pour calculer le code de Huffman de chacun des caractères. On écrit l entête du fichier résultat (voir ci-dessous) ; On relit le fichier d entrée caractère par caractère en écrivant à chaque fois dans le fichier résultat le code de Huffman correspondant au caractère lue. Lors de la décompression, on utilisera également l arbre de Huffman. Mais celui-ci n est évidemment pas reconstructible à partir du fichier compressé. Il faut donc sauver cet arbre au début du fichier compressé. Il est toutefois plus simple de simplement sauver la liste des couples caractère et nombre d occurrences du caractère du fichier d entrée. En effet, une fois récupéré, il suffira d utiliser la même fonction de construction de l arbre de Huffman que pour la compression pour ré-obtenir le même arbre. Il faut donc écrire cette liste au début du fichier résultat. C est ce qu on appelle l entête du fichier. Une bonne idée consiste à également conserver le nombre de caractère de la liste, mais aussi le nombre de caractère total du fichier d entrée (qui sera donc le nombre total de caractère à décoder à la décompression). 3.4 Décompression L algorithme de décompression lit en entrée un fichier compressé avec l algorithme ci-dessus, et donc comprenant un entête suivie d une suite de code de Huffman, et écrit un fichier correspondant à la décompression du fichier d entrée. L algorithme peut se résumer ainsi : On lit l entête du fichier compressé, récupérant ainsi la liste des caractères avec leurs occurrences, et le nombre de caractères à décoder ; On reconstruit l arbre de Huffman à partir de la liste lue ; On lit alors bit par bit le reste des données du fichier compressé. On va alors se déplacer dans l arbre de Huffman. Lorsqu on lit un 0 on se déplace à gauche, lorsqu on lit un 1 on se déplace à droite. Et lorsqu on arrive à une feuille de l arbre, on a décodé un caractère : celui de la feuille en question. On écrit alors ce caractère dans le fichier résultat et on continue avec le bit suivant en repartant du noeud racine de l arbre de Huffman ; Lorsque l on a lu le bon nombre de caractère, on a correctement décompressé notre fichier. 3. Lecture et écriture de bits dans un fichier Rappelons qu un fichier informatique n est ultimement qu une (longue) suite de 0 et de 1. Pour un fichier de texte (ceux auxquels on s intéresse dans ce projet), on associe à chaque bloc de 8 bits un caractère dit ASCII. Puisque avec 8 bits on code 26 valeurs, on a 26 caractères ASCII (avec par exemple le code 9 pour le caractère a ). Les fonctions de la librairie standard C putc et getc permettent d écrire et de lire de tels caractères dans un fichier. Il n est en revanche pas possible de lire ou d écrire un seul bit dans un fichier. En particulier, tout fichier contient un nombre de bit multiple de 8. D ailleurs, la taille des fichiers informatiques s exprime toujours en octet (1 octet = 8 bits). Ainsi un fichier peut toujours être vu comme une suite de caractères. Toutefois, pour la compression (resp. la décompression) avec l algorithme de Huffman, on aimerait pouvoir écrire (resp. lire) dans un fichier bit par bit. Il va donc falloir émuler cela en utilisant un buffer accumulant les bits à écrire et, lorsque l on a accumulé 8 bits, on les écrits (avec putc). De même, pour la lecture, on lira 8 bits d un coup (avec getc) et on récupéra ensuite les bits un par un. Et lorsque les 8 bits auront été récupérés, on relira 8 nouveaux bits du fichier d entrée. Pour cela on aura besoin en particulier des opérations de décalage de bit >> et << ainsi que des opérations bit à bit &,, etc... Il faudra faire attention au fait que la compression avec l algorithme n engendre pas nécessairement un nombre de bits totales multiple de 8. 4 Réalisation du projet Le but du projet est d écrire un programme C effectuant la compression et la décompression d un fichier avec l algorithme rle et l algorithme basé sur les codes de Huffman. Pour cela, le projet comporte 2 parties. La première partie consiste à coder l algorithme rle et fait office d échauffement. La seconde partie concerne Huffman. 4

5 4.1 1ère partie : RLE. Vous coderez la compression et la décompression avec l algorithme rle. Vous devrez donc coder 2 fonctions, une de compression et une de décompression, mais également une fonction main résultant, une fois compilée, en un programme permettant la compression ou la décompression (une option sur la ligne de commande devra permettre ce choix) d un fichier nde partie : Huffman. Pour cet algorithme, on a besoin de manipuler des structure de données, les arbres de Huffman et les tas d arbres de Huffman. On doit aussi être capable de lire et d écrire des bits. On va donc procéder dans l ordre suivant : 1. Vous coderez une petite librairie sur les arbres de Huffman. Le type des arbres de Huffman sera : typedef struct hnode { int fictive; /* Vaudra 0 si le noeud n est pas fictif, 1 sinon. */ int character; /* Le caractère si le noeud n est pas fictif. */ int proba; /* La probabilité du noeud. */ /* Ici vous pourrez rajouter tous les champs qui vous semblent utiles. */ struct hnode *left; struct hnode *right; } hnode_t; typedef hnode_t *htree; Vous devrez coder au moins les fonctions suivantes : des fonctions d accès et de modifications des différents éléments contenus dans l arbre ; une fonction de création d un arbre ne contenant qu une feuille ; une fonction qui joint deux arbres par un noeud fictif ayant comme probabilité la somme des probabilités des deux sous-arbres. 2. Vous coderez une petite librairie sur les tas d arbres de Huffman. Le type des tas sera : typedef struct helt { htree elt; struct helt *next; } helt_t; typedef helt_t *hheap Vous coderez au moins les fonctions suivantes : une fonction de création d un tas vide ; des fonctions pour pousser/retirer l élément au sommet du tas ; un fonction d insertion d un arbre dans un tas respectant l ordre en probabilité croissante du tas ; une fonction qui teste si un tas ne contient plus qu un seul élément. 3. Vous coderez ensuite une petite librairie pour la lecture et l écriture de bits. Vous devrez au moins coder les fonctions suivantes : une fonction de lecture d un bit depuis un descripteur de fichier (type FILE*) ; une fonction d écriture d un bit dans un descripteur de fichier ; une fonction terminant l écriture de bits (en effet, on écrira réellement le fichier seulement lorsque l on aura collecté 8 bits. Il est toutefois possible qu à la fin, on ait moins de 8 bits à écrire. Cette fonction permettra alors d écrire quand même les derniers bits.). Lorsque vous aurez codé ces 3 librairies, vous coderez des fonctions de compression et de décompression d un fichier avec l algorithme de Huffman. Pour finir, vous intégrerez la compression/décompression avec Huffman au programme que vous aviez écrit dans la première partie.

6 Organisation du projet Le projet doit être réalisé en monôme. Un soin tout particulier devra être apporté à l indentation et le code devra être commenté correctement. On évitera également de coder l intégralité du projet dans un seul fichier. La date limite de rendu du projet est fixée au Vendredi 1 Février, 23h9. Des soutenances seront organisées la semaine du 18 Février. Le rendu s effectuera par mail à l adresse Ce mail devra contenir : Tous les fichiers source (.c et.h) de votre projet. Chaque fichier source devra commencer par votre nom et prénom en commentaire ; Un fichier Makefile permettant la compilation de votre projet, et ce simplement à l aide de la commande make ; Un simple fichier texte expliquant en quelques lignes comment utiliser le (les) binaire(s) créé(s) lors de la compilation ; Un document de quelques pages expliquant les difficultés que vous avez rencontrées et les solutions que vous y avez apportées. 6

Langage C/C++ TD 3-4 : Création dynamique d objets. Hubert Godfroy. 27 novembre 2014

Langage C/C++ TD 3-4 : Création dynamique d objets. Hubert Godfroy. 27 novembre 2014 Langage C/C++ TD 3-4 : Création dynamique d objets Hubert Godfroy 7 novembre 014 1 Tableaux Question 1 : Écrire une fonction prenant un paramètre n et créant un tableau de taille n (contenant des entiers).

Plus en détail

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

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

COMPRESSION/DECOMPRESSION D UNE IMAGE BINAIRE

COMPRESSION/DECOMPRESSION D UNE IMAGE BINAIRE Le 29 novembre 2013, Rapport projet TS114 COMPRESSION/DECOMPRESSION D UNE IMAGE BINAIRE Par Marc BELLINGER et Antoine BINON. 2eme année Télécommunications. 1 Introduction : Le but de ce projet est d implémenter

Plus en détail

Arbres binaires et codage de Huffman

Arbres binaires et codage de Huffman MP Option Informatique Premier TP Caml Jeudi 8 octobre 2009 Arbres baires et codage de Huffman 1 Arbres baires Soit E un ensemble non vide. On défit la notion d arbre baire étiqueté (aux feuilles) par

Plus en détail

C12. Les structures arborescentes. Août 2006

C12. Les structures arborescentes. Août 2006 Les structures arborescentes Août 2006 Objectifs du C12 Connaître le principe de la structure d arbre binaire Connaître les détails d implémentation de la structure d arbre binaire de recherche Les structures

Plus en détail

UV Théorie de l Information. Codes à longueur variable

UV Théorie de l Information. Codes à longueur variable Cours n 5 : UV Théorie de l Information Compression de l information : Codage de source sans distorsion Ex 1 : Code de Shannon Fano Ex 2 : Code de Huffman Ex 3 : Codage par plage Ex 4 : Codage de Lempel

Plus en détail

Les arbres binaires de recherche

Les arbres binaires de recherche Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s

Plus en détail

Compression de Données - Algorithme de Huffman Document de Conception

Compression de Données - Algorithme de Huffman Document de Conception ROLLET Samuel SALLE Jennifer Compression de Données - Algorithme de Huffman Document de Conception Projet d'algorithmique et Structure des Données 1 SOMMAIRE 1. Domaine d application....4 1.1 Objectifs

Plus en détail

TS214 - Compression/Décompression d une image binaire

TS214 - Compression/Décompression d une image binaire Filière Télécommunications, 2 ème année TS214 - Compression/Décompression d une image binaire De nombreux télécopieurs utilisent la recommandation T.4 Groupe 3 de l International Telecommunications Union

Plus en détail

Les structures de données. Rajae El Ouazzani

Les structures de données. Rajae El Ouazzani Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l

Plus en détail

Arbres binaires de recherche

Arbres binaires de recherche Chapitre 1 Arbres binaires de recherche 1 Les arbre sont très utilisés en informatique, d une part parce que les informations sont souvent hiérarchisées, et peuvent être représentées naturellement sous

Plus en détail

Séance de TD 05 TD05. 1 Exercice 1. 1.1 Question 1 : dessins des ABR avec hauteurs différentes AG51

Séance de TD 05 TD05. 1 Exercice 1. 1.1 Question 1 : dessins des ABR avec hauteurs différentes AG51 Séance de TD 05 1 Exercice 1 1. Dessinez les arbres binaires de recherche de hauteur 2,3,4,5 et 6 pour le même ensemble de clés S = 1,4,5,10,16,17,21. 2. Donnez l algorithme de l opération ArbreRechercher(x,k)

Plus en détail

Arbres ordonnés, binaires, tassés, FAP, tri par FAP, tas, tri par tas

Arbres ordonnés, binaires, tassés, FAP, tri par FAP, tas, tri par tas Arbres ordonnés, binaires, tassés, FAP, tri par FAP, tas, tri par tas 1. Arbres ordonnés 1.1. Arbres ordonnés (Arbres O) On considère des arbres dont les nœuds sont étiquetés sur un ensemble muni d'un

Plus en détail

TP 8 : Arbres binaires de recherche

TP 8 : Arbres binaires de recherche TP 8 : Arbres binaires de recherche Semaine du 17 Mars 2008 Exercice 1 Dénir une structure struct noeud_s permettant de coder un n ud d'un arbre binaire contenant une valeur entière. Ajouter des typedef

Plus en détail

Transmission d informations sur le réseau électrique

Transmission d informations sur le réseau électrique Transmission d informations sur le réseau électrique Introduction Remarques Toutes les questions en italique devront être préparées par écrit avant la séance du TP. Les préparations seront ramassées en

Plus en détail

Mini-Projet : Tournoi de Dames

Mini-Projet : Tournoi de Dames Mini-Projet : Tournoi de Dames L objectif du projet est de programmer un jeu de dames de façon à ce que votre programme puisse jouer une partie de dames avec les programmes des autres étudiants. 1 Organisation

Plus en détail

Algorithmique P2. HeapSort et files de priorité Ulg, 2009-2010 Renaud Dumont

Algorithmique P2. HeapSort et files de priorité Ulg, 2009-2010 Renaud Dumont Algorithmique P2 HeapSort et files de priorité Ulg, 2009-2010 Renaud Dumont Structure de tas - arbre Un tas est une structure de données qui Permet un nouveau type de tri (Tri par tas) Permet l'implémentation

Plus en détail

Travaux dirigés n o 6

Travaux dirigés n o 6 Travaux dirigés n o 6 Lycée Kléber MPSI, Option Info 2014/2015 Exercice 1 (Indexation d un arbre binaire) Ecrire une fonction Caml indexation : ( f, n) arbre_binaire -> (string,string) arbre_binaire qui

Plus en détail

TD : Codage des images

TD : Codage des images TD : Codage des images Les navigateurs Web (Netscape, IE, Mozilla ) prennent en charge les contenus textuels (au format HTML) ainsi que les images fixes (GIF, JPG, PNG) ou animée (GIF animée). Comment

Plus en détail

THÉORIE DE L'INFORMATION : RAPPELS

THÉORIE DE L'INFORMATION : RAPPELS THÉORIE DE L'INFORMATION : RAPPELS 1920 : premières tentatives de définition de mesure de l'information à partir de 1948 : travaux de Shannon Théorie de l'information discipline fondamentale qui s'applique

Plus en détail

Structures de données non linéaires

Structures de données non linéaires Structures de données non linéaires I. Graphes Définition Un graphe (simple) orienté G est un couple (S, A), où : S est un ensemble dont les éléments sont appelés les sommets. A est un ensemble de couples

Plus en détail

Conventions d écriture et outils de mise au point

Conventions d écriture et outils de mise au point Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette

Plus en détail

L2 - Algorithmique et structures de données (Année 2010/2011) Examen (2 heures)

L2 - Algorithmique et structures de données (Année 2010/2011) Examen (2 heures) L2 - lgorithmique et structures de données (nnée 2010/2011) Delacourt, Phan Luong, Poupet xamen (2 heures) Les documents (cours, TD, TP) sont autorisés. Les quatre exercices sont indépendants. À la fin

Plus en détail

Formats d images. 1 Introduction

Formats d images. 1 Introduction Formats d images 1 Introduction Lorsque nous utilisons un ordinateur ou un smartphone l écran constitue un élément principal de l interaction avec la machine. Les images sont donc au cœur de l utilisation

Plus en détail

Université Paris Diderot Paris 7. TD n 2. Arbres Binaire de Recherche

Université Paris Diderot Paris 7. TD n 2. Arbres Binaire de Recherche Université Paris Diderot Paris L Informatique Algorithmique Année 00-0, er semestre TD n Arbres Binaire de Recherche Le type de donné arbre" sera utilisé pour indiquer l ensemble de toutes les Arbres Binaires

Plus en détail

alg - Arbres binaires de recherche [br] Algorithmique

alg - Arbres binaires de recherche [br] Algorithmique alg - Arbres binaires de recherche [br] Algorithmique Karine Zampieri, Stéphane Rivière, Béatrice Amerein-Soltner Unisciel algoprog Version 25 avril 2015 Table des matières 1 Définition, Parcours, Représentation

Plus en détail

Partie 3. Gilles Lebrun (gilles.lebrun@unicaen.fr)

Partie 3. Gilles Lebrun (gilles.lebrun@unicaen.fr) Partie 3 Gilles Lebrun (gilles.lebrun@unicaen.fr) Les arbres binaires Définition : C est une structure arborescente ou hiérarchique ou récursive Chaque élément (nœud) constituant la structure de l arbre

Plus en détail

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

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

IV- Comment fonctionne un ordinateur?

IV- Comment fonctionne un ordinateur? 1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions

Plus en détail

Arbres binaires de recherche

Arbres binaires de recherche Chapitre 6 Arbres binaires de recherche 6.1 Introduction On a étudié le problème de la recherche dans une collection d éléments ordonnés entre eux : on a montré que Pour une liste contiguë, la recherche

Plus en détail

Algorithmique, Structures de données et langage C

Algorithmique, Structures de données et langage C UNIVERSITE PAUL SABATIER TOULOUSE III Algorithmique, Structures de données et langage C L3 IUP AISEM/ICM Janvier 2005 J.M. ENJALBERT Chapitre 1 Rappels et compléments de C 1.1 Structures Une structure

Plus en détail

Structures de données, IMA S6

Structures de données, IMA S6 Structures de données, IMA S6 Arbres Binaires d après un cours de N. Devésa, Polytech Lille. Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@polytech-lille.fr Université Lille 1 - Polytech

Plus en détail

Chapitre 3 Structures de données linéaires : listes, piles et files

Chapitre 3 Structures de données linéaires : listes, piles et files Chapitre 3 Structures de données linéaires : listes, piles et files 1. Introduction Le but de ce chapitre est de décrire des représentations des structures de données de base telles les listes en général

Plus en détail

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

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

Cours Algorithmique, 2ème partie AS IUT

Cours Algorithmique, 2ème partie AS IUT Cours Algorithmique, 2ème partie AS IUT Cours 2 : Arbres Binaires Anne Vilnat http://www.limsi.fr/individu/anne/coursalgo Plan 1 Représentations arborescentes 2 Définition d un arbre binaire récursive

Plus en détail

1 Introduction au codage

1 Introduction au codage CélestineOscarDésiréAnatoleGastonEugène 1 Introduction au codage 1.1 Les ensembles L ensemble de tout les ensembles est Dieu lui-même. Kantor Ensemble des parties d un ensemble désigne l ensemble des sous-ensembles

Plus en détail

Question 1 : Sur votre compte-rendu, indiquer les réponses pour les positions a et b des interrupteurs.

Question 1 : Sur votre compte-rendu, indiquer les réponses pour les positions a et b des interrupteurs. 2 nde MPI Le Binaire 1 / 8 I) Le codage 1) Présentation du L informatique utilise des courants électriques, des aimantations, des rayons lumineux... Chacun de ces phénomènes met en jeu deux états possibles

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

les Formulaires / Sous-Formulaires Présentation...2 1. Créer un formulaire à partir d une table...3

les Formulaires / Sous-Formulaires Présentation...2 1. Créer un formulaire à partir d une table...3 Présentation...2 1. Créer un formulaire à partir d une table...3 2. Les contrôles :...10 2.1 Le contrôle "Intitulé"...11 2.2 Le contrôle "Zone de Texte"...12 2.3 Le contrôle «Groupe d options»...14 2.4

Plus en détail

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list =

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun> 94 Programmation en OCaml 5.4.8. Concaténation de deux listes Définissons maintenant la fonction concat qui met bout à bout deux listes. Ainsi, si l1 et l2 sont deux listes quelconques, concat l1 l2 constitue

Plus en détail

x n = x x n 1 Exercice 3 Le but de cet exercice est de modéliser les suites définies par récurrence de la façon suivante :

x n = x x n 1 Exercice 3 Le but de cet exercice est de modéliser les suites définies par récurrence de la façon suivante : Ocaml - Exercices Exercice Définir en Ocaml les fonctions suivantes:. f : x sin x + cos x. g : x x 3x+ x x 5 3. Fonction h calculant la moyenne géométrique de deux float positifs ( xy) Exercice Ecrire

Plus en détail

Architecture des ordinateurs TP 3

Architecture des ordinateurs TP 3 Architecture des ordinateurs ESIPE - IR1 TP 3 Objectif de cette séance L objectif de cette séance est d apprendre à utiliser la pile et à écrire des fonctions en assembleur En particulier, nous verrons

Plus en détail

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

Plus en détail

Département Informatique Programmation objet. Cours n 8. Structures de données partie 3 Arbres binaires de calcul

Département Informatique Programmation objet. Cours n 8. Structures de données partie 3 Arbres binaires de calcul Programmation objet Cours n 8 Structures de données partie 3 Arbres binaires de calcul 1 Arbre binaire de calcul Nous avons vu l'utilisation des arbres binaires en tant que structure de données optimisée

Plus en détail

Guide pour la conception d'une application en C

Guide pour la conception d'une application en C Guide pour la conception d'une application en C Ph. Preux DESS IMST, ULCO Novembre 1999 1 Principes généraux Une application informatique, dès qu'elle dépasse une centaine de lignes de code, doit impérativement

Plus en détail

Les arbres binaires de recherche équilibrés

Les arbres binaires de recherche équilibrés Les arbres binaires de recherche équilibrés Stéphane londu Table des matières 1 rbres binaires de recherche 1.1 Rappels.................................. 1. Rotations................................. rbres

Plus en détail

Listes de personnes et calculatrice polonaise inverse en Java

Listes de personnes et calculatrice polonaise inverse en Java Listes de personnes et calculatrice polonaise inverse en Java Université Paris Sud Motivation Le but de cet exercice est de manipuler les listes chaînées et les piles et de voir leur application en analyse

Plus en détail

Projet 1 ENS Lyon L3IF

Projet 1 ENS Lyon L3IF Projet 1 ENS Lyon L3IF Génération de code Sébastien Briais 8 janvier 2008 Dans cette partie, vous allez devoir implémenter le générateur de code pour l émulateur DLX risc-emu. À rendre pour le 18 janvier

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

Détection et Correction d erreurs

Détection et Correction d erreurs Chapitre 4 Détection et Correction d erreurs 4.1 La couche liaison de données La couche 3 (couche réseau) a pour mission, entre autres, de trouver le meilleur chemin pour acheminer le message. Cette tâche

Plus en détail

Cours d Algorithmique et Complexité

Cours d Algorithmique et Complexité Cours d Algorithmique et Complexité Structures de données (2e suite) Catalin Dima Arbres binaires de recherche Propriété de base des arbres binaires de recherche Soit x un noeud de l arbre. Alors : 1.

Plus en détail

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

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S FICHE Fiche à destination des enseignants TS 35 Numériser Type d'activité Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S Compétences

Plus en détail

Algorithmique avancée en Python TDs

Algorithmique avancée en Python TDs Algorithmique avancée en Python TDs Denis Robilliard sept. 2014 1 TD 1 Révisions 1. Ecrire un programme qui saisit un entier, et détermine puis affiche si l entier est pair où impair. 2. Ecrire un programme

Plus en détail

2012/2013 Le codage en informatique

2012/2013 Le codage en informatique 2012/2013 Le codage en informatique Stéphane Fossé/ Marc Gyr Lycée Felix Faure Beauvais 2012/2013 INTRODUCTION Les appareils numériques que nous utilisons tous les jours ont tous un point commun : 2 chiffres

Plus en détail

Norme de programmation pour le cours et les travaux pratiques

Norme de programmation pour le cours et les travaux pratiques Université du Québec École de technologie supérieure Service des enseignements généraux www.seg.etsmtl.ca INF130 Ordinateurs et programmation Norme de programmation pour le cours et les travaux pratiques

Plus en détail

Représentation de l information en binaire

Représentation de l information en binaire Représentation de l information en binaire Les ordinateurs sont capables d effectuer de nombreuses opérations sur de nombreux types de contenus (images, vidéos, textes, sons,...). Cependant, quel que soit

Plus en détail

Initiation aux algorithmes des arbres binaires

Initiation aux algorithmes des arbres binaires Initiation aux algorithmes des arbres binaires Plan I. Les arbres biniaires I. Définition II. Représentation graphique d un arbre III. Terminologie IV. Représentation en mémoire des arbres binaires V.

Plus en détail

ACCESS 2013. Système de Gestion de Bases de Données Relationnelles

ACCESS 2013. Système de Gestion de Bases de Données Relationnelles Access est un logiciel permettant de gérer des données en masse : une liste de clients ou de fournisseurs, un stock de produits, des commandes, des salariés, un club de tennis, une cave à vin, une bibliothèque,

Plus en détail

Proposition d activité utilisant l application. Tripatouille. (http://www.malgouyres.fr/tripatouille/)

Proposition d activité utilisant l application. Tripatouille. (http://www.malgouyres.fr/tripatouille/) IREM Clermont-Ferrand Algorithmique au lycée Malika More malika.more@u-clermont1.fr 28 janvier 2011 Proposition d activité utilisant l application Tripatouille (http://www.malgouyres.fr/tripatouille/)

Plus en détail

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

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

Exercices «Programmation récursive» Deuxième saison UPMC Cycle L Revision: 1.21

Exercices «Programmation récursive» Deuxième saison UPMC Cycle L Revision: 1.21 Exercices «Programmation récursive» Deuxième saison UPMC Cycle L Revision: 1.21 Anne Brygoo, Maryse Pelletier, Christian Queinnec, Michèle Soria Université Paris 6 Pierre et Marie Curie septembre 2005

Plus en détail

Arbres binaires de recherche (ABR) Binary Search Trees (BST)

Arbres binaires de recherche (ABR) Binary Search Trees (BST) LSVIII-BIM Algorithmie, 2015 Arbres binaires de recherche (ABR) Binary Search Trees (BST) I. Arbres binaires 1. Structure 2. Parcours II. Arbres binaires de recherche 1. Définition 2. Opérations sur les

Plus en détail

Les arbres binaires. Terminologie avancée (1) TAD arbre binaire. Terminologie avancée (2) Terminologie avancée (3)

Les arbres binaires. Terminologie avancée (1) TAD arbre binaire. Terminologie avancée (2) Terminologie avancée (3) Les arbres Structures les plus importantes et les plus utilisées en informatique Liste = cas dégénéré d arbre Eemples: Arbres généalogiques Arbres de classification Arbres d epression / - Traduction de

Plus en détail

ENVIRONNEMENT DE DÉVELOPPEMENT

ENVIRONNEMENT DE DÉVELOPPEMENT CHAPITRE 1 ENVIRONNEMENT DE DÉVELOPPEMENT Installer Microsoft Visual C++ 2010 Express Edition... 17 Démarrer un nouveau projet... 21 Créer un programme minimal... 24 Générer et exécuter un programme...

Plus en détail

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

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

SYSTEMES DE NUMERATION

SYSTEMES DE NUMERATION Page 1/6 I- SYSTEMES SYSTEMES DE NUMERATION I-1- DECIMAL (base l0) C'est le système le plus utilisé. On peut représenter un nombre décimal sous la forme :... (1997) 10 = 1 10 3 + 9 10 2 + 9 10 1 + 7 10

Plus en détail

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

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

Marches, permutations et arbres binaires aléatoires

Marches, permutations et arbres binaires aléatoires Marches, permutations et arbres binaires aléatoires Épreuve pratique d algorithmique et de programmation Concours commun des Écoles Normales Supérieures Durée de l épreuve: 4 heures Cœfficient: 4 Juillet

Plus en détail

Arbres Binaire. PSI DAKHLA Prof Youssef El marzak. 1 Prof Youssef Elmarzak

Arbres Binaire. PSI DAKHLA Prof Youssef El marzak. 1 Prof Youssef Elmarzak Arbres Binaire PSI DAKHLA Prof Youssef El marzak 1 Prof Youssef Elmarzak 1.introduction: Les arbre sont très utilisées en informatique, d une part parce que les informations sont souvent hiérarchisées,

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

Plus en détail

Site de la spécialité ISN du lycée Louis Marchal

Site de la spécialité ISN du lycée Louis Marchal Site de la spécialité ISN du lycée Louis Marchal 1) Codage d' un entier positif Un ordinateur ne manipule que des 0 et des 1 (circuit ouvert ou fermé par exemple), toutes les données doivent donc être

Plus en détail

Fiche de TD-TP no. 4

Fiche de TD-TP no. 4 Master 1 Informatique Programmation Fonctionnelle, p. 1 Fiche de TD-TP no. 4 Exercice 1. Voici trois façons différentes de définir le type Image : type Image = [[ Int ]] data Image = Image [[ Int ]] newtype

Plus en détail

Compilateurs : Analyse lexicale. Vous êtes ici 2. Analyse lexicale 4. Matthieu Amiguet. En entrée d un compilateur, on a généralement un fichier

Compilateurs : Analyse lexicale. Vous êtes ici 2. Analyse lexicale 4. Matthieu Amiguet. En entrée d un compilateur, on a généralement un fichier Compilateurs : Matthieu Amiguet 2009 2010 Vous êtes ici 2 Partie Avant Analyse syntaxique Analyse sémantique Arbre syntaxique abstrait (AST) Partie Arrière Optimisation de l AST Génération de code Optimisation

Plus en détail

A - Créer une Base de données au format dbase

A - Créer une Base de données au format dbase Bases de données sous Open Office (OOo) : Bref tutorial A - Créer une Base de données au format dbase 1. Solution 1 :Ouvrir une feuille de classeur dans OOo. Mettre le nom des champs sur la 1ère ligne

Plus en détail

http://agents.cirad.fr/admin Mode d emploi

http://agents.cirad.fr/admin Mode d emploi http://agents.cirad.fr/admin Mode d emploi Introduction... 1 1. Comment créer sa page? La connexion au service... 2 2. Navigation dans agents.cirad.fr... 2 3. Gestion des pages... 3 4. Gestion des fichiers...

Plus en détail

Cours 7 : fonctions recursives, arithmétique binaire, flottants 1

Cours 7 : fonctions recursives, arithmétique binaire, flottants 1 Cours 7 : fonctions recursives, arithmétique binaire, flottants 1 Les types énumérés On peut aussi définir des types qui ont un nombre fini de valeurs (ex: jours de la semaine, couleurs primaires, etc.)

Plus en détail

Système de Gestion de Fichiers

Système de Gestion de Fichiers Chapitre 2 Système de Gestion de Fichiers Le système de gestion de fichiers est un outil de manipulation des fichiers et de la structure d arborescence des fichiers sur disque et a aussi le rôle sous UNIX

Plus en détail

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

TP Codage numérique des caractères. Un ordinateur ne manipule que des 0 et des 1 : Comment alors code-t-il du texte? TP Codage numérique des caractères Un ordinateur ne manipule que des 0 et des 1 : Comment alors code-t-il du texte? I Le code ASCII 1. Une première approche Ouvrir un fichier Excell Sur la ligne 1 du tableau,

Plus en détail

Fiche n 25 01/03/2002. Power Archiver

Fiche n 25 01/03/2002. Power Archiver Service informatique Enseignement Recherche Fiche n 25 01/03/2002 Power Archiver Power Archiver vous permet de compresser ou décompresser un ou plusieurs fichier(s) afin de les stocker sur votre disque

Plus en détail

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) Modularité Extensions Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) généricité modules de première classe : peuvent être

Plus en détail

I.2: Le test fonctionnel I.2.2 : Le test fonctionnel de logiciel

I.2: Le test fonctionnel I.2.2 : Le test fonctionnel de logiciel I.2: Le test fonctionnel I.2.2 : Le test fonctionnel de logiciel Introduction Notre contexte : pas possible d exprimer toutes les combinaisons de DT. Le test fonctionnel est basé sur la spécification/interface

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,

Plus en détail

LOGICIEL DE GESTION DE DOCUMENTS PDF : PROJET INFO 1

LOGICIEL DE GESTION DE DOCUMENTS PDF : PROJET INFO 1 LOGICIEL DE GESTION DE DOCUMENTS PDF : PROJET INFO 1 L. POINSOT Contact client : Laurent Poinsot (laurent.poinsot@lipn.univ-paris13.fr) Résumé : Ce document est le cahier des charges du projet INFO 1.

Plus en détail

Première étape : créer le fichier de données - extraire les données de PMB et les transférer dans Excel

Première étape : créer le fichier de données - extraire les données de PMB et les transférer dans Excel A.-M. Cubat Démo (Apli) : imprimer des cartes de lecteurs ou une «planche-contact» - avec les codes-barres Page 1 Première étape : créer le fichier de données - extraire les données de PMB et les transférer

Plus en détail

Définitions. Numéro à préciser. (Durée : )

Définitions. Numéro à préciser. (Durée : ) Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.

Plus en détail

Codage et traitement formel

Codage et traitement formel Codage et traitement formel Centre pour la Formation à l'informatique dans le Secondaire CODAGE ET TRAITEMENT FORMEL Codes et algorithmes associés Qui ne s est pas adonné, dans sa jeunesse, au cours d

Plus en détail

Manuel Technique. Communication Entreprise-Expert. Version 1.0

Manuel Technique. Communication Entreprise-Expert. Version 1.0 Manuel Technique Communication Entreprise-Expert Version 1.0 1 SOMMAIRE 02 Vos échanges : Création ou sélection de l échange 02 Liste des échanges 03 Création d un nouvel échange 04 Paramétrage 04 Paramètres

Plus en détail

Chap17 - CORRECTİON DES EXERCİCES

Chap17 - CORRECTİON DES EXERCİCES Chap17 - CORRECTİON DES EXERCİCES n 3 p528 Le signal a est numérique : il n y a que deux valeurs possibles pour la tension. Le signal b n est pas numérique : il y a alternance entre des signaux divers

Plus en détail

TP3 : Manipulation et implantation de systèmes de fichiers 1

TP3 : Manipulation et implantation de systèmes de fichiers 1 École Normale Supérieure Systèmes et réseaux Année 2012-2013 TP3 : Manipulation et implantation de systèmes de fichiers 1 1 Répertoire de travail courant Le but de l exercice est d écrire une commande

Plus en détail

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

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr 6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure

Plus en détail

nom : Collège Ste Clotilde

nom : Collège Ste Clotilde UNE CONFIGURATION INFORMATIQUE Objectif : Identifier les éléments principaux d une configuration L ordinateur enregistre des données qu il traite pour produire un résultat Sifflements 20 Notice 12 attache

Plus en détail

Cours de C. Manipulation de bits. Sébastien Paumier

Cours de C. Manipulation de bits. Sébastien Paumier Cours de C Manipulation de bits Sébastien Paumier paumier@univ-mlv.fr Illustrations provenant du site http://tux.crystalxp.net/ 1 Le binaire représentation en base 2 128 64 32 16 8 4 2 1 2 7 2 6 2 5 2

Plus en détail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

Initiation à l informatique - SUJET A

Initiation à l informatique - SUJET A Licence d Informatique L1 Année 2005-2006 Initiation à l informatique - SUJET A Ce sujet est un questionnaire à choix multiples. Chaque question n a pas nécessairement une seule réponse, elle peut en avoir

Plus en détail

Compilation séparée. Compilation séparée. ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1

Compilation séparée. Compilation séparée. ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1 Compilation séparée Compilation séparée ENSIIE: Programmation avancée, Compilation séparée, Modularité, Spécifications algébriques 1 Compilation séparée Modularité GCC : 4 millions de lignes de code Noyau

Plus en détail

Projet Cryptographie L'algorithme de chiffrement Solitaire

Projet Cryptographie L'algorithme de chiffrement Solitaire Projet Cryptographie L'algorithme de chiffrement Solitaire Contenu Présentation de l algorithme de chiffrement solitaire:... 3 Mise en œuvre... 7 Code source... 8 Squelette... 8 Accueil.php... 8 Crypter.php...

Plus en détail

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

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34 Capacité d un canal Second Théorème de Shannon Théorie de l information 1/34 Plan du cours 1. Canaux discrets sans mémoire, exemples ; 2. Capacité ; 3. Canaux symétriques ; 4. Codage de canal ; 5. Second

Plus en détail