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

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

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

Transcription

1 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 fichiers textes, sans perte d'information, afin qu'ils occupent moins d'espace sur un disque. On demande également d'écrire un décompresseur qui devra restaurer le fichier original. Les algorithmes de compression sont nombreux. Celui proposé ici est l'algorithme de Huffman. Nous nous proposons de le coder en langage C Notation du projet La notation sera faite au terme d une présentation de votre travail. La forme de cette présentation est laissée totalement libre (Power Point, film, exposé oral en français, en anglais, animation, documents écrits ). Un vidéo-projecteur est à votre disposition si besoin. Le temps de cette présentation est de 5 minutes (démonstrations comprises). Vous devrez être donc extrêmement concis et préparer toutes vos démonstrations au préalable afin de limiter le temps de manipulation Organisation d un projet de programmation L ensemble du projet devra obligatoirement comporter : Toutes les versions de votre logiciel en commençant par huff_v0.c. Chaque amélioration de votre logiciel vous fera passer à la version supérieure et vous conserverez une sauvegarde de la dernière version qui fonctionne. Un fichier «version.txt» dans lequel vous écrirez la description de chacune des versions de votre logiciel que vous avez écrit. Il est préférable que vous respectiez les propositions de prototypage des fonctions faites dans l énoncé afin que le debugage soit plus aisé. 2. Principe de l'algorithme de Huffman Une idée apparue très tôt en informatique pour compresser les données a été exploitée indépendamment dans les années 1950 par Shannon et Fano. Elle est basée sur la remarque suivante : les caractères d'un fichier sont habituellement codés sur un octet, donc tous sur le même nombre de bits. Il serait plus économique en terme d'espace disque, pour un fichier donné, de coder ses caractères sur un nombre variable de bits, en utilisant peu de bits pour les

2 caractères fréquents et plus de bits pour les caractères rares. Le codage choisi dépend donc du fichier à compresser. Les propriétés d'un tel codage sont les suivantes : a. Les caractères sont codés sur un nombre différent de bits (pas nécessairement un multiple de 8) ; b. Les codes des caractères fréquents sont courts ; ceux des caractères rares sont longs ; c. Bien que les codes soient de longueur variable, on peut décoder le fichier compressé de façon unique. d. La dernière de ces trois propriétés est automatiquement assurée si l'on à la propriété suivante : Si c1 et c2 codent deux caractères différents, c1 ne commence pas par c2 et c2 ne commence pas par c1. En effet, si la propriété d est assurée, lorsqu'on décode le fichier compressé en le lisant linéairement, dès que l'on reconnaît le code d'un caractère, on sait que l'on ne pourra pas le compléter en un autre code. L'algorithme de Huffman, qui garantit ces propriétés, fonctionne de la façon suivante : 2.1. Calcul des occurrences des caractères On prend l exemple d un fichier texte dont le contenu est «Une banane». On calcule tout d'abord le nombre d occurrence de chaque caractère dans le fichier à compresser. Dans l exemple ci-dessous, on a le nombre d occurrence du caractère espace, U, b, n, a et e. Figure 1 : Fréquence des caractères 2.2. Création de l arbre de Huffman On prend ensuite les caractères qui possèdent la plus faible occurrence et on ajoute leur nombre d occurrence pour réaliser un nouveau nœud. Figure 2 : Création d un nouveau nœud On fait exactement la même chose en reprenant en compte le nouveau nœud (et non plus les caractères espace et U). Dans l exemple précédent l occurrence la plus faible est celle de b et celle du nouveau nœud (on aurait pu prendre aussi a ou e puisque leur valeur est 2 aussi, cela revient au même à la fin).

3 Figure 3 : Création d un autre nouveau nœud IMPORTANT : Dans toute la suite du TP, on appellera «une feuille» de l arbre les éléments qui sont en bout de l arbre (les caractères). On appellera un nœud les éléments regroupant deux feuilles (ou deux nœuds). Figure 4 : Création complète de l'arbre de Huffman Avec d'autres choix, on peut obtenir des arbres différents, mais l'algorithme fonctionne avec tout choix respectant la construction ci-dessus. À partir de l'arbre, on construit le code d'un caractère en lisant le chemin qui va de la racine au caractère. Un pas à gauche étant lu comme 0 et un pas à droite comme 1. Figure 5 : Arbre de Huffman avec le codage des caractères On lit le code des caractères en descendant depuis le haut jusqu au caractère.

4 Figure 6 : Code binaire de chaque caractère Dans l'exemple précédent, on obtient la suite de bits pour le codage du mot «Une banane». On peut voir que ce codage vérifie toujours les propriétés a) à d), et permet donc la compression et la décompression. Avec cet algorithme, le décompresseur doit connaître les codes construits par le compresseur. Lors de la compression, le compresseur écrira donc ces codes en début de fichier compressé, sous un format à définir, connu du compresseur et du décompresseur. Le fichier compressé aura donc deux parties disjointes : Une première partie permettant au décompresseur de retrouver le code de chaque caractère; Une seconde partie contenant la suite des codes des caractères du fichier à compresser. Attention, le décompresseur doit toujours pouvoir trouver la séparation entre ces deux parties. Aussi, vous pouvez toujours vérifier le code générer par votre algorithme en vérifiant que le code générer pour coder un caractère ne doit pas ressembler au début d un code d un autre caractère. 3. Travail demandé 3.1. Première partie : Occurrences des caractères L objectif est de travailler avec des fichiers (qui par la suite seront les fichiers à compresser). Il faut donc que nous maitrisions les fonctions de manipulation de fichier. Q1. Réaliser un programme qui ouvre un fichier texte et qui affiche une partie du contenu à l écran. (Utiliser la fonction fread()). Q2. Réaliser un programme qui ouvre un fichier texte et qui affiche la totalité du contenu du fichier à l écran. Vous ferez une lecture grâce à la fonction fgetc( ) jusqu'à ce que vous rencontriez le caractères de fin de fichier (EOF=End Of File). Nous nous intéressons au comptage des occurrences des caractères présents dans le fichier texte. Pour cela nous utiliserons un tableau de caractère appelé tab_caractere[256]. Ce tableau comporte 256 éléments. Dans chaque case de ce tableau, nous rentrerons le nombre d occurrence du caractère dont le code ASCII est donné par l index de tab_caractère. Exemple : Le code ASCII du a est 97. tab_caractere[97] comportera donc le nombre d occurrence du caractère a. Q3. Coder une fonction dont le prototype est [ void occurence(file* file, int tab[256]) ]. Cette fonction comptera les occurrences des caractères du fichier file, et stockera les

5 occurrences dans le tableau tab passé en paramètre. Afficher à l écran une partie du tableau pour vérifier le fonctionnement Seconde partie : Réalisation de l arbre de Huffman Pour chaque caractère (ou nœud de l arbre), nous allons créer une structure commune qui nous permettra de créer l arbre et de créer le code. Nous avons appelé cette structure «nœud» mais en réalité elle sera aussi utilisée pour les feuilles de l arbre. La structure est donc définie comme suit : 1. struct noeud{ 2. unsigned char c; /* Caractère initial*/ 3. unsigned int occurence; /* Nombre d'occurrences dans le fichier */ 4. int code; /* Codage dans l'arbre */ 5. int bits; /* Nombre de bits sur lesquels est codée le caractère */ 6. struct noeud *gauche, *droite; /* Lien vers les nœuds suivants */ 7. }; La seule différence entre un nœud et une feuille, est que pour une feuille, les pointeurs vers les nœuds suivant sont NULL. C est de cette façon que nous les distinguerons. Q4. Réaliser une boucle dans votre programme afin de créer dynamiquement une structure nœud pour chacun des caractères contenu dans le fichier. Vous testerez votre programme en affichant le contenu du champ c caractère et occurrence de chacune des structures créées. Chacune de ces structures seront réservées en mémoire par la fonction malloc(). De plus, afin de conserver l ensemble des structures créées, nous sauvegarderons les pointeurs sur ces structures nœud (*) dans le tableau suivant : [struct noeud* arbre_huffman[256] ] Explications complémentaires : On doit donc créer pour chacun des caractères de notre tableau tab_caractere[256] une structure nœud comme suit : c= Occurrence=1 c= U Occurrence=1 c= b Occurrence=1 c= n Occurrence=3 c= a Occurrence=2 c= e Occurrence=2

6 Afin de conserver les références sur chacune des structures créées, il faut que nous conservions l adresse de ces structures. Nous allons donc les conserver dans un tableau appelé : [ * arbre_huffman[256] ] Ce tableau Struct nœud* arbre_huffman[256] aura donc le contenu suivant : [0] Adresse de la structure «nœud» du caractère [1] Adresse de la structure«nœud» du caractère U [2] Adresse de la structure «nœud»du caractère b [ ] [ ] [5] Adresse de la structure «nœud»du caractère e Q5. Réalisez exactement la même chose mais cette fois ci en faisant appel à une fonction dont le prototype est le suivant : [ struct noeud* creer_feuille(int* tab, int index )] Nous allons maintenant faire apparaître des nouveaux nœuds dans l arbre comme préciser dans la Figure 2. Q6. En dehors du contexte de cet algorithme de compression, réaliser une fonction pouvant chercher dans un tableau les deux entiers les plus petits. Exemple : int tab[5]={6,0,4,2,1} >>> Le premier entier le plus petit est 0 à l index 1. >>> Le second entier le plus petit est 1 à l index 4. Note : Une façon simple de rechercher les deux entiers les plus petits est de trier le tableau et de récupérer les valeurs à l index 0 et 1. Une fois que cette fonction est validée, vous pouvez parcourir votre tableau de Huffman [struct noeud* arbre_huffman[256] ] afin de rechercher les nœuds comportant la plus petite occurrence. Dès lors que vous avez trouvé ces deux nœuds, vous aller créer un nouveau nœud dont la valeur d occurrence vaut la somme des deux nœuds d origine comme préciser dans la Figure 2. Q7. Réaliser la fonction [ void creer_noeud(struct noeud* tab[], int taille) ] qui réalisera la recherche des plus petites occurrences, fera la création du nouveau nœud et le sauvegardera dans le même tableau de Huffman. Note : il y a deux emplacements possibles pour le nouveau nœud. «!» est le nouveau nœud.

7 Figure 7 : Création du tableau de Huffman avec un nouveau nœud A la fin de la création de l arbre, vous devez obtenir une seule référence (pointeur sur structure) qui est celle du haut de l arbre binaire, et qui possède dans les champs «droite» et «gauche» les références des deux nœuds suivant (qui eux même possèdent deux références des deux nœuds suivants, etc, etc ) 3.3. Troisième partie : Création du code En parcourant l arbre binaire depuis le haut de l arbre, nous allons créer les codes comme nous l avons exposé à la Figure 5. La méthode pour le parcours de l arbre de la racine jusqu au feuille est donné par le code C suivant. Il s agit d une fonction récursive, c'est-à-dire qu elle s appelle elle-même : niveau : nombre de bit du code de chaque caractère element : un nœud code : code du caractère 1. void creer_code(struct noeud* element,int code,int niveau){ 2. //On est sur une feuille 3. if(element->droite==null && element->gauche==null){ 4. element->bits=niveau; 5. element->code=code;

8 6. printf("\n %c\t %d\t",element->c,element->occurence); 7. } 8. else{ 9. //On va a droite (on injecte un 0 à droite) 10. creer_code(element->droite,code<<1,niveau+1); // On va a gauche (On injecte un 1 à droite) 13. creer_code(element->gauche,(code<<1)+1,niveau+1); 14. } 15. } Q8. Réaliser la création du code de votre arbre binaire Q9. Dans la fonction créer code, lorsque vous êtes dans une feuille et que vous avez trouvé le code correspondant, faites appel à une fonction [ void affichage_code(int nbr_bits, int codage) ] qui permettra d afficher le code du caractère sous forme binaire. int nbr_bits : Correspond au nombre de bits du code ( champ bit de la structure) int codage : Correspond au code (champ code de la structure) Dans notre exemple nous aurons l affichage suivant : Caractere Code : 0000 Caractere U Code : 0001 Caractere b Code : 001 Caractere n Code : 01 etc La compression va maintenant pouvoir avoir lieu. Pour cela, nous allons modifié un peu la fonction créer_code() afin de sauvegarder toutes les liens (pointeur) vers les structures «noeud» des caractères existants dans le fichier. Ceci sera très similaire au tableau tab_caractere du début (int tab_caractere[256]). Nous conservons donc le pointeur sur la structure de chacun des caractères du fichier dans le tableau : Struct nœud * alphabet[256] Le positionnement dans ce tableau sera fait de la même façon que pour tab_caractere, c'est-àdire : Le code ASCII du a est 97. alphabet[97] comportera donc le pointeur vers la structure nœud du caractère «a». On aura donc directement accès au code de «a» et au nombre de bit du code par : alphabet[97]->code ; alphabet[97]->bits ; 3.4. Quatrième partie : Compression Le fichier final devra posséder 2 parties :

9 Une partie «entête» possédant le nombre de feuilles différentes (nombre de caractères différents) de votre fichier, et la structure «alphabet» correspondant à chacun de ces caractères. Une partie «contenu» possédant le code compressé des caractères du fichier. Q10. Réaliser une entête dans votre fichier et faite en la relecture immédiate. Grâce à cette entête le logiciel de décompression pourra prendre connaissance des caractères présent dans le fichier, et pour chacun d entre eux connaître son code. Note : Entre la création de l entête, et sa relecture, vous pouvez effacer le tableau * alphabet[256]. En effet, l objectif même de la relecture est justement de recréer ce tableau sans en avoir la connaissance au préalable. Q11. Ecrire l ensemble des codes correspondant à chaque caractère du fichier d origine les uns à la suite des autres Cinquième partie : Décompression L objectif est d une part de recréer le tableau * alphabet[256] (déjà fait). D autre part il nous faut recréer le tableau de Huffman afin de décoder les bits du fichier compresser. Le travail que nous avons effectué au début de l algorithme était : Il nous faut maintenant réaliser le travail inverse. Grâce à l arbre reconstitué, lorsque nous allons lire chacun des bits du fichier compressé, nous descendrons dans les nœuds de l arbre, jusqu'à ce que nous trouvions une feuille (un nœud avec des valeurs NULL pour les pointeurs droite et gauche).

10 Q12. Réaliser la création «inverse» de l arbre de Huffman depuis le tableau * alphabet[256]. Q13. Parcourir votre arbre pour chacun des bits lus et afficher la valeur du caractère décompressé. BON COURAGE

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

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

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte 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

Plus en détail

Compression méthode de Huffman

Compression méthode de Huffman Compression méthode de Huffman Thierry Lecroq Université de Rouen FRANCE La méthode de Huffman consiste à remplacer les caractères les plus fréquents par des codes courts et les caractères les moins fréquents

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

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

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

Licence E.E.A. TD N 2 de Langage C/C++

Licence E.E.A. TD N 2 de Langage C/C++ TD N 2 de Langage C/C++ 1 Licence E.E.A. TD N 2 de Langage C/C++ Ce TD a pour objectif de vous faire découvrir et utiliser le langage C et peut être C++. Il s agira de transcrire sous la forme d un programme

Plus en détail

Série d exercices N 9 Arbres

Série d exercices N 9 Arbres Série d exercices N 9 Arbres Exercice 1 a) Ecrire une fonction ARBIN creerarbreentiers() qui permet de créer et de renvoyer l arbre d entiers suivant : b) Ecrire une fonction int feuilles(arbin a) qui

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

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

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

Plus en détail

Informatique TP4 : Manipulations de fichiers Manipulations de chaînes et de tableaux CPP 1A

Informatique TP4 : Manipulations de fichiers Manipulations de chaînes et de tableaux CPP 1A Informatique TP4 : Manipulations de fichiers Manipulations de chaînes et de tableaux CPP 1A Djamel Aouane, Frederic Devernay, Matthieu Moy Mars - avril 2015 1 Manipulations de fichiers Pour organiser des

Plus en détail

IPT : Cours 2. La représentation informatique des nombres

IPT : Cours 2. La représentation informatique des nombres IPT : Cours 2 La représentation informatique des nombres (3 ou 4 heures) MPSI-Schwarz : Prytanée National Militaire Pascal Delahaye 28 septembre 2015 1 Codage en base 2 Définition 1 : Tout nombre décimal

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

1 Hello world. 2 Sorties en C. DUT Informatique M3101 Système S3 2015 / 2016. Travaux Pratiques n o 0 : Rappels de programmation C

1 Hello world. 2 Sorties en C. DUT Informatique M3101 Système S3 2015 / 2016. Travaux Pratiques n o 0 : Rappels de programmation C DUT Informatique 2015 / 2016 Travaux Pratiques n o 0 : Rappels de programmation C Nom(s) : Groupe : Date : Objectifs : renouer avec les notions, la manipulation et l écriture de programmes C, en particulier

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

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

L3 Info & Miage. TP-Projet SGF

L3 Info & Miage. TP-Projet SGF TP-Projet SGF 1. Introduction L objectif de ce mini-projet est de réaliser un Système de Gestion de Fichiers simplifié capable de gérer des accès à des fichiers séquentiels de type flot. L idée est ici

Plus en détail

Chaîne d additions ATTENTION!

Chaîne d additions ATTENTION! Chaîne d additions Épreuve pratique d algorithmique et de programmation Concours commun des écoles normales supérieures Durée de l épreuve: 3 heures 30 minutes Juin 2012 ATTENTION! N oubliez en aucun cas

Plus en détail

Algorithmique IN102 TD 3

Algorithmique IN102 TD 3 Algorithmique IN10 TD 16 décembre 005 Exercice 1 Clairement, il existe des arbres de hauteur h à h + 1 éléments : il sut pour cela que leurs n uds internes aient au plus un ls non vide. On a alors un arbre

Plus en détail

Tableaux et manipulation d images «bitmap»

Tableaux et manipulation d images «bitmap» T.P. numéro VII Tableaux et manipulation d images «bitmap» Ce T.P. va faire intervenir les notions suivantes : lecture/écriture de fichiers binaires ; images bitmap ; tableaux de données. 1 Fichiers binaires

Plus en détail

M2 Informatique/Réseaux Université Pierre et Marie Curie UE APMM

M2 Informatique/Réseaux Université Pierre et Marie Curie UE APMM TD TECHNIQUES DE CODAGE ET DE COMPRESSION. LANGAGE / CODAGE / VALENCE.. Rappels Toute fraction intelligible d un message est constituée de symboles. Le langage est l ensemble de ces symboles. Un codage

Plus en détail

Exercice sur les arbres binaires de recherche

Exercice sur les arbres binaires de recherche Exercice sur les arbres binaires de recherche Voici une liste aléatoire de 1 éléments. Notez que vous pouvez faire cet exercice en prenant une autre liste aléatoire ; évidemment, il y a peu de chances

Plus en détail

Organisation des données et structures de stockage

Organisation des données et structures de stockage ING2 - ING3 Nvx 2009-2010 Organisation des données et structures de stockage I. Stockage de l information en C Ce chapitre rappelle brièvement et complète certaines notions de base vues en première année

Plus en détail

Programmation : Exercices

Programmation : Exercices Programmation : Exercices IUT de Villetaneuse R&T 1 ère année Laure Petrucci 6 novembre 2007 1 Premiers programmes Exercice 1.1 : Machine à dessiner On souhaite écrire un programme pour afficher des dessins.

Plus en détail

COMPRESSION BINAIRE. Compression et décompression d une image binaire suivant la recommandation T.4 de l ITU-T

COMPRESSION BINAIRE. Compression et décompression d une image binaire suivant la recommandation T.4 de l ITU-T COMPRESSION BINAIRE Compression et décompression d une image binaire suivant la recommandation T.4 de l ITU-T Auteurs: KASTTET Ahmed, SALIM Eliass ENSEIRB. T2. 2007/2008 SOMMAIRE I.Introduction... 3 II.Codage...

Plus en détail

LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION

LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION Licence STS Université Claude Bernard Lyon I LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION 1 COURS 7 : Structures et Fichiers OBJECTIFS DE LA SÉANCE Deux notions abordées dans ce cours Celle

Plus en détail

Fiche de révisions - Algorithmique

Fiche de révisions - Algorithmique Fiche de révisions - Algorithmique Rédigé par : Jimmy Paquereau 1. Généralités Algorithme : un algorithme est la description d une procédure à suivre afin de résoudre un problème donné. Il n est pas nécessairement

Plus en détail

Langages et concepts de programmation

Langages et concepts de programmation Langages et concepts de programmation Séances 3 et 4 Tri d un fichier de voitures Une correction possible 1 Le sujet On dispose d un fichier contenant des informations sur des voitures d occasion : le

Plus en détail

Programmation C++ (débutant)/les tableaux statiques

Programmation C++ (débutant)/les tableaux statiques Programmation C++ (débutant)/les tableaux statiques 1 Programmation C++ (débutant)/les tableaux statiques Le cours du chapitre 6 : les tableaux statiques Les tableaux Une variable entière de type int ne

Plus en détail

Réalisation d une Interface Utilisateur

Réalisation d une Interface Utilisateur Réalisation d une Interface Utilisateur Pour manipuler facilement les données enregistrées dans une base de données, il est nécessaire de cacher leur implantation technique dans les tables et d offrir

Plus en détail

LE BINAIRE ET LE CODAGE DES INFORMATIONS

LE BINAIRE ET LE CODAGE DES INFORMATIONS LE BINAIRE ET LE CODAGE DES INFORMATIONS Objectifs : Connaître le système binaire, le bit et l'octet. Comprendre le codage des informations en informatique I LE SYSTEME BINAIRE ) Le binaire L informatique

Plus en détail

3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon

3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 2012-2013 (2eme session) durée 2h Tous documents et calculatrices autorisés. Le sujet comporte 6 pages Le temps approximatif ainsi que le barème

Plus en détail

Cours d initiation à la programmation en C++ Johann Cuenin

Cours d initiation à la programmation en C++ Johann Cuenin Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................

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

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

Partie I : Automates et langages

Partie I : Automates et langages 2 Les calculatrices sont interdites. N.B. : Le candidat attachera la plus grande importance à la clarté, à la précision et à la concision de la rédaction. Si un candidat est amené à repérer ce qui peut

Plus en détail

Chapitre cinq : Représentation des Images

Chapitre cinq : Représentation des Images Chapitre cinq : Représentation des Images Ce chapitre présente les bases pour la représentation des images et des sons. ~ 1 ~ 6. 6.1.1. Introduction Il existe plusieurs moyens de représenter des images.

Plus en détail

Programmation récursive

Programmation récursive Année 2004-2005 F. Lévy IUT De Villetaneuse Dép t informatique Cours d'algorithmique 2 éme Année Cours 8 Programmation récursive 1. Qu'est-ce que la programmation récursive Définition : la programmation

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

Principes généraux de codage entropique d'une source. Cours : Compression d'images Master II: IASIG Dr. Mvogo Ngono Joseph

Principes généraux de codage entropique d'une source. Cours : Compression d'images Master II: IASIG Dr. Mvogo Ngono Joseph Principes généraux de codage entropique d'une source Cours : Compression d'images Master II: IASIG Dr. Mvogo Ngono Joseph Table des matières Objectifs 5 Introduction 7 I - Entropie d'une source 9 II -

Plus en détail

Cours WebDev Numéro 2

Cours WebDev Numéro 2 Cours WebDev Numéro 2 Objectifs : Créer un lecteur de pensée Pré-requis : Aucun Gestion de tableau à 1 dimension. Création de procédure. Gestion de table mémoire. Gestion des nombres aléatoires. Nous allons

Plus en détail

1.1 L EXPLORATEUR WINDOWS

1.1 L EXPLORATEUR WINDOWS Gérer les fichiers et les dossiers Cette partie du T.P. a pour objectifs de vous familiariser avec les méthodes pour copier, déplacer, effacer, renommer des dossiers et des fichiers. 1.1 L EXPLORATEUR

Plus en détail

DS Java 1. 19 novembre 2005

DS Java 1. 19 novembre 2005 DS Java 1 19 novembre 2005 Durée : 2 heures. Documents (notes et polycopiés) autorisés. La rigueur et la propreté seront prises en compte dans l évaluation. Le barème est indicatif. Vous rédigerez vos

Plus en détail

Exercice 1 : Questions diverses (5 points)

Exercice 1 : Questions diverses (5 points) Université Claude Bernard Lyon 1 Licence Sciences, Technologies, Santé L2 Année 2010-2011, 2ème semestre LIF5 Algorithmique & Programmation procédurale Contrôle final du 20 juin 2011 Durée : 1h30 Note

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

} 7 Variables (composantes)

} 7 Variables (composantes) Chapitre 4 Tableaux Jusqu ici, nous avons employé les variables pour stocker les valeurs individuelles de types primitifs : une variable de type int pour stocker un entier, une variable de type boolean

Plus en détail

PG208, Projet n 3 : Serveur HTTP évolué

PG208, Projet n 3 : Serveur HTTP évolué PG208, Projet n 3 : Serveur HTTP évolué Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif

Plus en détail

Projet codage de texte

Projet codage de texte Formation ISN Professeurs de Terminale Denis Bouhineau, Éric Gaussier, Alexandre Termier, Cyril Labbé, Philippe Bizard, Anne Rasse, Jean-Marc Vincent UFR IM 2 AG email Jean-Marc.Vincent@imag.fr Formation

Plus en détail

Complément à un : addition, signes opposés. Complément à un : addition, signes opposés

Complément à un : addition, signes opposés. Complément à un : addition, signes opposés Complément à un : addition, signes opposés Soient p et q deux entiers de signes opposés. Leur somme est toujours représentable pour la taille de mot mémoire fixée car min(p, q) < p + q < max(p, q) Exemple

Plus en détail

Option Informatique Arbres binaires équilibrés

Option Informatique Arbres binaires équilibrés Option Informatique Arbres binaires équilibrés Sujet novembre 2 Partie II : Algorithmique et programmation en CaML Cette partie doit être traitée par les étudiants qui ont utilisé le langage CaML dans

Plus en détail

pedigree d'un cheval Zoe ; son père est Tonnerre et sa mère Belle ; mère de Belle est Rose et père de Belle est Eclair jean jean marc paul luc

pedigree d'un cheval Zoe ; son père est Tonnerre et sa mère Belle ; mère de Belle est Rose et père de Belle est Eclair jean jean marc paul luc Chap. 3 Les arbres binaires Un arbre est un ensemble de nœuds, organisés de façon hiérarchique, à partir d'un nœud distingué, appelé racine. La structure d'arbre est l'une des plus importantes et des plus

Plus en détail

INFO-F-101 Programmation Projet 4 Page Ranking(1/4): Création de la matrice du compte des liens

INFO-F-101 Programmation Projet 4 Page Ranking(1/4): Création de la matrice du compte des liens INFO-F-101 Programmation Projet 4 Page Ranking(1/4): Création de la matrice du compte des liens Année académique 2009 2010 1 Introduction Ce projet est le premier d une série de quatre projets qui ont

Plus en détail

Programmation avancée en C

Programmation avancée en C Département Informatique Nom : Prénom : Année scolaire : 2007 2008 Date : 23 juin 2008 Module INF446 Session de juin Programmation avancée en C Contrôle de connaissance 1 de 45 minutes ÅERCI de répondre

Plus en détail

Programmation impérative

Programmation impérative Programmation impérative Cours 4 : Manipulation des fichiers en C Catalin Dima Organisation des fichiers Qqs caractéristiques des fichiers : Nom (+ extension). Chemin d accès absolu = suite des noms des

Plus en détail

1. Les fondements de l informatique 13

1. Les fondements de l informatique 13 Introduction à l'algorithmique 1. Les fondements de l informatique 13 1.1 Architecture de Von Neumann 13 1.2 La machine de Turing 17 1.3 Représentation interne des instructions et des données 19 1.3.1

Plus en détail

Fiche n 4. Fichiers utilisés : Lexique_1, Lexique_2

Fiche n 4. Fichiers utilisés : Lexique_1, Lexique_2 Fiche n 4 Fichiers utilisés : Lexique_1, Lexique_2 A l aide de l explorateur Windows, sélectionnez en une seule manœuvre les fichiers Lexique_1 et Lexique_2 (cliquez sur les deux fichiers en maintenant

Plus en détail

Temps de transmission du document compressé

Temps de transmission du document compressé École de technologie supérieure INF-145 Travail pratique #3 Frédérick Henri Travail en équipe de 2 L algorithme de compression de LZW 1 Objectifs Retour sur les notions de pointeur, d enregistrement et

Plus en détail

Introduction au langage C - types et variables

Introduction au langage C - types et variables Chapitre 2 Introduction au langage C - types et variables 1 Le Langage C Le langage C est un langage de bas niveau dans le sens où il permet l accès à des données que manipulent les ordinateurs (bits,

Plus en détail

POWERGES. La Facturation

POWERGES. La Facturation La Facturation 1. Préparation et configuration générale du programme des FACTURES Avant toute chose, il est nécessaire de configurer l environnement que vous voudriez utiliser. Pour ce faire, il faut rentrer

Plus en détail

Sujet d examen 1. Pratique du C. Novembre 2009

Sujet d examen 1. Pratique du C. Novembre 2009 Durée 1 h 30 Documents autorisés Sujet d examen 1 Pratique du C Novembre 2009 Introduction Écrivez lisiblement et n hésitez pas à commenter votre code en langage C. Vous ne pouvez utiliser que les fonctions

Plus en détail

INF-130 Travail Pratique #2

INF-130 Travail Pratique #2 École de technologie supérieure INF-30 Travail Pratique #2 Travail individuel Tracé d un métro Francis Bourdeau, Frédérick Henri et Patrick Salois Remise à la 0 e semaine. Objectifs - Amener l étudiant

Plus en détail

Claude Delannoy. Exercices C++ en langage. 3 e édition. Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5

Claude Delannoy. Exercices C++ en langage. 3 e édition. Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5 Claude Delannoy Exercices en langage C++ 3 e édition Groupe Eyrolles, 1997, 1999, 2007, ISBN : 978-2-212-12201-5 Chapitre 3 Les fonctions Rappels Généralités Une fonction est un bloc d instructions éventuellement

Plus en détail

Gestion d'un entrepôt

Gestion d'un entrepôt Gestion d'un entrepôt Épreuve pratique d'algorithmique et de programmation Concours commun des écoles normales supérieures Durée de l'épreuve: 3 heures 30 minutes Juin/Juillet 2010 ATTENTION! N oubliez

Plus en détail

fichiers Exemple introductif : stockage de photos numériques

fichiers Exemple introductif : stockage de photos numériques b- La Gestion des données Parmi les matériels dont il a la charge, le système d exploitation s occupe des périphériques de stockage. Il s assure, entre autres, de leur bon fonctionnement mais il doit être

Plus en détail

Licence STPI Semestre 3 - Examen de Validation de Module - Janvier 2006 ULSI301 - LANGAGE C

Licence STPI Semestre 3 - Examen de Validation de Module - Janvier 2006 ULSI301 - LANGAGE C Licence STPI Semestre 3 - Examen de Validation de Module - Janvier 2006 ULSI301 - LANGAGE C Durée : 2h. - Documents et Calculatrices autorisés. Toutes les réponses doivent être justifiées - Les exercices

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

3 : LA COMPRESSION DE DONNEES

3 : LA COMPRESSION DE DONNEES 3 : LA COMPRESSION DE DONNEES Représentation de l information Algorithmique Langages et programmation Architectures matérielles CONNAISSANCES ABORDEES Numérisation : Coder sous forme d'un code standard

Plus en détail

MÉRÉ Aurélien FIIFO1. Pathfinder

MÉRÉ Aurélien FIIFO1. Pathfinder MÉRÉ Aurélien FIIFO1 AMC Pathfinder 1 Sommaire Préambule... 3 Modélisation de l espace... 4 Modélisation des cases δ, α... 4 Interface en mode texte... 5 Modélisation du robot... 8 1 ) Le type Robot...

Plus en détail

MO-Call pour les Ordinateurs. Guide de l utilisateur

MO-Call pour les Ordinateurs. Guide de l utilisateur MO-Call pour les Ordinateurs Guide de l utilisateur Sommaire MO-CALL POUR ORDINATEURS...1 GUIDE DE L UTILISATEUR...1 SOMMAIRE...2 BIENVENUE CHEZ MO-CALL...4 MISE EN ROUTE...5 CONNEXION...5 APPELS...7 COMPOSITION

Plus en détail

TD 5 LES POINTEURS. Définition: Pointeur

TD 5 LES POINTEURS. Définition: Pointeur TD 5 LES POINTEURS d'après le site de F. Faber http://www.ltam.lu/tutoriel_ansi_c Définition: Pointeur Un pointeur est une variable spéciale qui peut contenir l'adresse d'une autre variable. En C, chaque

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

Algorithmique - Techniques fondamentales de programmation Exemples en Python (nombreux exercices corrigés) - BTS, DUT informatique

Algorithmique - Techniques fondamentales de programmation Exemples en Python (nombreux exercices corrigés) - BTS, DUT informatique Introduction à l'algorithmique 1. Les fondements de l informatique 13 1.1 Architecture de Von Neumann 13 1.2 La machine de Turing 17 1.3 Représentation interne des instructions et des données 19 1.3.1

Plus en détail

Correction langage Java

Correction langage Java MINISTÈRE DE L ÉCOLOGIE, DU DÉVELOPPEMENT DURABLE, DES TRANSPORTS ET DU LOGEMENT EXAMEN PROFESSIONNEL DE VÉRIFICATION D APTIDUDE AUX FONCTIONS DE PROGRAMMEUR Session 2010 Correction langage Java Langage:

Plus en détail

Nous allons détailler dans cette documentation les fonctionnalités pour créer un objet colonne.

Nous allons détailler dans cette documentation les fonctionnalités pour créer un objet colonne. Généralités Dans le générateur d états des logiciels Ciel pour Macintosh vous avez la possibilité de créer différents types d éléments (texte, rubrique, liste, graphiques, tableau, etc). Nous allons détailler

Plus en détail

TP1 - Introduction au langage C

TP1 - Introduction au langage C ENS Lyon L-Info PROJ1 2014-2015 TP1 - Introduction au langage C Sujet à terminer pour le dimanche 20 à 2h59, sous forme d une archive.zip contenant votre code source, par email à aurelien.cavelan@ens-lyon.fr.

Plus en détail

TapeWare. Logiciel de sauvegarde

TapeWare. Logiciel de sauvegarde TapeWare Logiciel de sauvegarde TapeWare est un logiciel de sauvegarde utilisé avec les lecteurs DAT, notamment de marque Hewlett-Packard. Les lecteurs DAT utilisent une bande magnétique enfermée dans

Plus en détail

Algorithmique et programmation. Cours d'algorithmique illustré par des exemples pour le picbasic

Algorithmique et programmation. Cours d'algorithmique illustré par des exemples pour le picbasic Algorithmique et programmation Cours d'algorithmique illustré par des exemples pour le picbasic Même s'il est possible d'écrire un programme petit à petit par touches successives, le résultat est souvent

Plus en détail

RÈGLES POUR L'ÉCRITURE DES PSEUDO-CODES (Programmation par objets)

RÈGLES POUR L'ÉCRITURE DES PSEUDO-CODES (Programmation par objets) RÈGLES POUR L'ÉCRITURE DES PSEUDO-CODES (Programmation par objets) Consignes générales : 1) Chaque algorithme est bien identifié. 2) Les mots clés doivent être utilisés selon la même syntaxe que ci-dessous.

Plus en détail

Qu est-ce qu une boîte mail

Qu est-ce qu une boîte mail Qu est-ce qu une boîte mail Sur Internet, la messagerie électronique (ou e-mail en anglais) demeure l application la plus utilisée. La messagerie permet à un utilisateur d envoyer des messages à d autres

Plus en détail

Modification d une feuille de style

Modification d une feuille de style Modification d une feuille de style Septembre 2005 Modification d un feuille de style Contenu Aperçu Page 3 Comment démarrer Page 4 Modifier une feuille de style Page 6 Partage d un style Page 10 Page

Plus en détail

Projet Pratique de INF241 Parcours de Tableaux

Projet Pratique de INF241 Parcours de Tableaux Projet Pratique de INF241 Parcours de Tableaux L objectif de ce projet est de travailler sur les tableaux en langage d assemblage ARM. Vous devez réaliser votre projet en partie lors des séances encadrées

Plus en détail

Procédures et fonctions

Procédures et fonctions Chapitre 5 Procédures et fonctions 5.1 Introduction Considérons le programme suivant, dont le but est d inverser les éléments d un tableau : public class InversionTableau1 { int t[]= {8, 2, 1, 23; Terminal.ecrireStringln("Tableau

Plus en détail

Langage C notes de cours

Langage C notes de cours Langage C notes de cours K. El Omari IUT GTE, UPPA 1 Présentation générale 1.1 Introduction La programmation par le langage C (ainsi que par d autres langages dit compilés) est basée sur : 1. la rédaction

Plus en détail

Projet Programmation 2012-2013

Projet Programmation 2012-2013 Projet Programmation 2012-2013 Cours d informatique de Deuxième Année Licence L1.2 Gestion du trafic aérien d un aéroport Le projet est à réaliser par binôme (2). Une soutenance aura lieu lors de la dernière

Plus en détail

Leçon N 4 Picasa 1 ère Partie

Leçon N 4 Picasa 1 ère Partie Leçon N 4 Picasa 1 ère Partie Nous allons maintenant revoir PICASA en détail, car c est le principal logiciel pour gérer et traiter ses photos et que vous serez amenés à utiliser assez souvent. PICASA

Plus en détail

6. Lecture/écriture formatées et Fichiers. printf / scanf Fichier: Mémoire tampon Accès aux fichiers Modes d'ouverture Lecture / écriture

6. Lecture/écriture formatées et Fichiers. printf / scanf Fichier: Mémoire tampon Accès aux fichiers Modes d'ouverture Lecture / écriture 1 6. Lecture/écriture formatées et Fichiers printf / scanf Fichier: Mémoire tampon Accès aux fichiers Modes d'ouverture Lecture / écriture 2 Références Site du zèro : Programmer en C http://www.siteduzero.com/tutoriel-3-14189-apprenez-a-programmer-en-c.html

Plus en détail

Introduction à la programmation

Introduction à la programmation Chapitre 2 Introduction à la programmation Nous avons vu, dans le chapitre précédent, ce qu est un algorithme et un certain nombre de façons pour exécuter les algorithmes à la main. Nous allons voir, dans

Plus en détail

Mise en situation. Maison passive

Mise en situation. Maison passive François SCHNEIDER Mise en situation Maison passive Dans le cadre d une étude sur les maisons passives, il est décidé d effectuer des relevés de température et d humidité dans chacune des pièces (9 zones)

Plus en détail

Algorithmique et Analyse d Algorithmes

Algorithmique et Analyse d Algorithmes Algorithmique et Analyse d Algorithmes L3 Info Cours 11 : Arbre couvrant Prétraitement Benjamin Wack 2015-2016 1 / 32 La dernière fois Rappels sur les graphes Problèmes classiques Algorithmes d optimisation

Plus en détail

LOGICIEL : SUPERVISEUR GEN32

LOGICIEL : SUPERVISEUR GEN32 LOGICIEL : SUPERVISEUR GEN32 Version 2 Manuel d utilisation Manuel d utilisation 1 Table des Matières I. Installation Gen32 3 II. III. IV. Premier démarrage du logiciel.3 1) Code d accès.3 2) Identification

Plus en détail

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3 I Arbres binaires 2014-2015 Table des matières 1 Rappels 2 1.1 Définition................................................ 2 1.2 Dénombrements............................................ 2 1.3 Parcours.................................................

Plus en détail

ISMIN 1A Programmation 1 : Examen de programmation C. Réponses. Partie 1. Questions ouvertes

ISMIN 1A Programmation 1 : Examen de programmation C. Réponses. Partie 1. Questions ouvertes ISMIN 1A Programmation 1 : Examen de programmation C Réponses Partie 1. Questions ouvertes 1. Soit la déclaration suivante, char tab[] = "". Que contient le tableau tab? Réponse : tab[0] = \0. tab est

Plus en détail

PROJET de DEVELOPPEMENT LOGICIEL en C. OBJECTIFS du PROJET :

PROJET de DEVELOPPEMENT LOGICIEL en C. OBJECTIFS du PROJET : PROJET de DEVELOPPEMENT LOGICIEL en C OBJECTIFS du PROJET : Développer un logiciel en équipe de plusieurs étudiants. Le projet : programme simulant une chaîne de transmission de données entre ordinateurs

Plus en détail

Manipulations binaires en C++

Manipulations binaires en C++ Manipulations binaires en C++ Tous les exercices devront être résolus sans utiliser les opérateurs *, / et % Rappels En informatique, les nombres sont stockés sous forme binaire. Même si ce n'est pas nécessaire,

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

Cours numéro 9 : arbres binaires et de recherche

Cours numéro 9 : arbres binaires et de recherche Cours numéro 9 : arbres binaires et de recherche LI213 Types et Structures de données Licence d Informatique Université Paris 6 Arbre Arbre Un arbre est un ensemble fini A d éléments, liés entre eux par

Plus en détail

TP : Gestion d une image au format PGM

TP : Gestion d une image au format PGM TP : Gestion d une image au format PGM Objectif : L objectif du sujet est de créer une classe de manipulation d images au format PGM (Portable GreyMap), et de programmer des opérations relativement simples

Plus en détail

Projet Matlab : un logiciel de cryptage

Projet Matlab : un logiciel de cryptage Projet Matlab : un logiciel de cryptage La stéganographie (du grec steganos : couvert et graphein : écriture) consiste à dissimuler une information au sein d'une autre à caractère anodin, de sorte que

Plus en détail

Leçon N 13 Création d un album photo avec CEWE 2 ème partie

Leçon N 13 Création d un album photo avec CEWE 2 ème partie Leçon N 13 Création d un album photo avec CEWE 2 ème partie 7 Les éléments de réalisation. A gauche du poste de travail vous avez une fenêtre où vous pourrez faire apparaître les éléments qui vous permettrons

Plus en détail