Temps de transmission du document compressé
|
|
- Laure Briand
- il y a 8 ans
- Total affichages :
Transcription
1 É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 de fichier binaire. Mise en place d une petite liste chaînée. Apprentissage d un algorithme de compression. 2 Description du problème: Compresser un fichier? La compression consiste à prendre un fichier et à diminuer sa taille. Cela a pour effet de rendre le fichier inutilisable (comme c est le cas pour un.zip) ou de dégrader sa qualité (comme c est le cas pour un.jpg ou.mp3). Certains diront que la compression permet d écrire sur un support (disquette ou CD) un document qui autrement ne pourrait y être inscrit en raison de sa grosseur. Cependant, dans cette ère où la télécommunication s infiltre partout, le principal avantage de la compression repose sur l équation suivante : Temps de compression + Temps de transmission du document compressé + Temps de décompression < Temps de transmission du document non compressé Votre travail consiste à écrire un programme en C permettant de compresser un fichier. Vous devez utiliser l algorithme LZW décrit ci-dessous et utiliser les modules spécifiés. Prenez note que ce travail porte sur un algorithme servant à la compression de plusieurs types de fichiers dont les.gif, les.tiff et les.zip. INF-145 Programmation avancée et langage C Automne 2013 / Page 1
2 3 Description de l algorithme de compression de Lempel Ziv Welch Voici l algorithme général suivi d une trace pour bien saisir son fonctionnement : chaîne : t_chaîne // Une chaîne pouvant contenir '\0'. caractère : t_caractère // Un caractère non signé. dictionnaire : t_dictionnaire // Un dictionnaire de chaînes. ajouter tous les codes ASCII au dictionnaire tant que (on peut lire un caractère dans le fichier source) caractère lire_un_caractère(fichier_source) si (dictionnaire contient la chaîne chaîne+caractère) alors chaîne chaîne+caractère // On concatène les deux. sinon si (le dictionnaire contient moins de 2 12 chaînes) alors ajouter chaîne+caractère dans le dictionnaire fin si écrire le code de chaîne dans le fichier destination chaîne caractere; fin si fin tant que écrire le code de chaîne dans le fichier destination Pour bien saisir l exemple qui suit, il faut savoir que lorsqu'on écrit le code de la chaîne dans le fichier destination, celui-ci prend 12 bits. En effet, l objectif de l algorithme est de trouver des chaînes qui se répètent et de les remplacer par un nombre (un code). Puisqu il y a en partant 256 chaînes possibles (les codes ASCII), on ne peut pas conserver ces codes sur 8 bits. Nous encoderons donc les chaînes sur 12, 13 ou 14 bits (arbitrairement, nous choisissons 12). Voici un exemple de fonctionnement de l algorithme où les écritures dans le fichier destination sont présentées sous forme de lettres et de bits pour mieux comprendre : INF-145 Programmation avancée et langage C Automne 2013 / Page 2
3 Exemple de compression Contenu du fichier source : Remplissage du dictionnaire : LE PAPA PALE 0 = "\0",, 48 = "0",, 97 = "a", etc. Contenu de chaîne : Caractère lu dans le fichier source : Ajout au dictionnaire : Écriture binaire dans le fichier Équivalent de ce qui a été écrit (pour la compréhension) "" (vide) 'L' "L" 'E' 256 = "LE" = "L" "E" ' ' (blanc) 257 = "E " = "E" " " (blanc) 'P' 258 = " P" = " " (blanc) "P" 'A' 259 = "PA" = "P" "A" 'P' 260 = "AP" = "A" "P" 'A' "PA" " " (blanc) ' ' (blanc) " P" 'A' 261 = "PA " = "PA" 'P' = " PA" = " P" "A" 'L' 263 = "AL" = "A" "L" 'E' "LE" = "LE" Ainsi, le fichier destination contiendra les bits suivants : qui correspondent à écrire les entiers 76, 69, 32, 80, 65, 259, 258, 65 et 256 sur 12 bits chacun. INF-145 Programmation avancée et langage C Automne 2013 / Page 3
4 4 Description de l algorithme de décompression de Lempel Ziv Welch Voici l algorithme général permettant d effectuer la décompression d un fichier compressé à l aide de l algorithme précédent. chaîne : t_chaîne // Une chaîne pouvant contenir \0. caractère : t_caractère // Un caractère non signé. dictionnaire : t_dictionnaire // Un dictionnaire de chaînes. vieux_code : entier nouveau_code : entier ajouter tous les codes ASCII au dictionnaire vieux_code lire_un_code(fichier_source) chaîne chercher la chaîne du vieux_code dans le dictionnaire écrire_une_chaîne(chaîne, fichier destination) caractère premier caractère de la chaîne tant que (on peut lire un code dans le fichier source) nouveau_code lire_code(fichier_source) si (nouveau_code n est pas present dans le dictionnaire) alors chaîne chercher la chaîne du vieux_code dans le dictionnaire chaîne chaîne + caractère // On concatène. sinon chaîne chercher la chaîne du nouveau_code dans le dictionnaire fin si écrire_une_chaîne(chaîne, fichier destination) caractère premier caractère de chaîne chaîne chercher la chaîne du vieux_code dans le dictionnaire chaîne chaîne + caractère si (le dictionnaire contient moins de 2 12 chaînes) alors ajouter la chaîne dans le dictionnaire fin si vieux_code nouveau_code fin tant que INF-145 Programmation avancée et langage C Automne 2013 / Page 4
5 Exemple de décompression Contenu du fichier source : (voir le résultat de la compression ci-dessus) Remplissage du dictionnaire : 0 = "\0",, 48 = "0",, 97 = "a", etc. AVANT LA BOUCLE : vieux_code (76 = "L") chaîne "L" écriture de "L" dans le fichier destination caractère 'L' BOUCLE (1 ère passe) nouveau_code (69 = "E") chaîne "E" écriture de "E" dans le fichier destination caractère 'E' chaîne "LE" ajout de 256 = "LE" dans le dictionnaire vieux_code 69 BOUCLE (2 e passe) nouveau_code (32 = " ") chaîne " " écriture de " " dans le fichier destination caractère ' ' chaîne "E " ajout de 257 = "E " dans le dictionnaire vieux_code 32 BOUCLE (3 e passe) nouveau_code (80 = "P") chaîne "P" écriture de "P" dans le fichier destination caractère 'P' chaîne " P" ajout de 258 = " P" dans le dictionnaire vieux_code 80 INF-145 Programmation avancée et langage C Automne 2013 / Page 5
6 BOUCLE (4 e passe) nouveau_code (65 = "A") chaîne "A" écriture de "A" dans le fichier destination caractère 'A' chaîne "PA" ajout de 259 = "PA" dans le dictionnaire vieux_code 65 BOUCLE (5 e passe) nouveau_code (259 = "PA") chaîne "PA" écriture de "PA" dans le fichier destination caractère = 'P' chaîne = "AP" ajout de 260 = "AP" dans le dictionnaire vieux_code 259 BOUCLE (6 e passe) nouveau_code (258 = " P") chaîne = «P». écriture de " P" dans le fichier destination caractere ' ' chaîne "PA " ajout de 261 = "PA " dans le dictionnaire vieux_code 258 BOUCLE (7 e passe) nouveau_code (65 = "A") chaîne "A". écriture de "A" dans le fichier destination caractère "A" chaîne " PA" ajout de 262 = " PA" dans le dictionnaire vieux_code 65 BOUCLE (8 e passe) FIN nouveau_code (256 = "LE") chaîne "LE". écriture de "LE" dans le fichier destination caractère "L" chaîne "AL" ajout de 263 = "AL" dans le dictionnaire vieux_code 256 INF-145 Programmation avancée et langage C Automne 2013 / Page 6
7 5 Recommandations et exigences supplémentaires Puisque la compression LZW est fortement documentée sur le web (une simple recherche avec les termes LZW data compression algorithm vous le démontrera), l implantation que nous vous demandons est un peu particulière. Elle sera TRÈS lente, mais vous amènera à pratiquer davantage la création de type et le découpage en librairie et évitera que vous ne preniez votre code directement du web ÉTAPE 1 : Module chaine Date de complétion : 14 novembre Votre programme doit pouvoir compresser des fichiers binaires. Or, puisque les fichiers binaires peuvent contenir des séquences de '\0', les chaînes du C ne conviennent pas à l implémentation de l algorithme. En effet, on sait que le caractère '\0' indique une fin de chaîne. Cela ne convient pas du tout à notre application. Le.h d un module implémentant un type t_chaine permettant de conserver une chaîne pouvant contenir des '\0' vous est offert. Vous n avez qu à coder le.c de ce module. Prenez note qu il vous est interdit de modifier le.h et qu afin de respecter le principe de la représentation cachée tout client de ce module ne peut accéder au contenu d un objet de type t_chaine qu en utilisant les fonctions du module. À noter, il se peut que vous ne puissiez pas faire immédiatement la fonction ecrire_chaine_fichier car vous ne verrez pas la manipulation de fichiers avant la onzième semaine. ÉTAPE 2 : Module liste Date de complétion : 21 novembre Votre programme doit conserver un dictionnaire de codes (des chaînes de caractères auxquelles sont associés des numéros). Afin de simplifier la création du dictionnaire, nous utiliserons une liste chaînée de t_chaine. Le.h d un module implémentant un type t_liste_chainee permettant de conserver des chaînes dans une liste chaînée vous est offert. Vous n avez qu à coder le.c de ce module. Prenez note qu il vous est interdit de modifier le.h et qu afin de respecter le principe de la représentation cachée tout client de ce module ne peut INF-145 Programmation avancée et langage C Automne 2013 / Page 7
8 accéder au contenu d un objet de type t_liste_chainee qu en utilisant les fonctions du module. ÉTAPE 3 : Module dictionnaire Date de complétion : 28 novembre Un dictionnaire permet de conserver toutes les chaînes ainsi que le code associé à chacune d elles. Afin de rendre l ajout et la recherche plus rapide, nous regrouperons deux tableaux de listes chaînées dans un enregistrement. Le premier tableau possédera 256 éléments dont chacune des listes contiendra des chaînes débutant par un code ASCII identique à l indice. Ainsi, la chaîne "LE" se trouvera dans la liste à l indice 76 puisque le code ASCII du premier caractère ('L') est 76. Le second tableau possédera 100 éléments dont chacune des listes contiendra des chaînes dont le code modulo 100 donne l indice. Ainsi, si la chaîne "abc" possède le code 437, alors elle se trouve dans la liste à l indice 37, puisque 437 mod 100 = 37. Chaque chaîne est donc présente à deux reprises dans le dictionnaire. Le.h d un module implémentant un type t_dictionnaire vous est offert. Vous n avez qu à coder le.c de ce module. Prenez note qu il vous est interdit de modifier le.h et qu afin de respecter le principe de la représentation cachée tout client de ce module ne peut accéder au contenu d un objet de type t_dictionnaire qu en utilisant les fonctions du module. ÉTAPE 4 : Programme principal Date de complétion : 6 décembre Votre programme principal doit saisir le nom du fichier à compresser et le nom du fichier de destination directement sur la ligne de commande. Ensuite, si l usager demande de compresser, il compresse le fichier et sinon il le décompresse. Le tout doit se faire à l aide de l algorithme offert précédemment. La majorité des fonctions vous sont offertes ; vous devez compléter les fonctions effectuer_compression et effectuer_decompression. Au besoin, vous devrez créer des sous-fonctions. INF-145 Programmation avancée et langage C Automne 2013 / Page 8
9 6 Contraintes de l enseignant La remise du travail complet devra respecter les exigences de remise des travaux pratiques (voir sur le site du cours dans la section Travaux pratiques). De plus, AUCUNE VARIABLE GLOBALE NE SERA ACCEPTÉE. CECI ENTRAINERA UNE PERTE DU QUART DES POINTS (25%). Un programme qui ne compile pas se voit attribuer la note zéro pour la partie exécution. Un programme n utilisant pas l algorithme LZW se voit attribuer la note 0. Un programme n utilisant pas les modules fournis se voit attribuer la note 0. La politique du 10% pour la qualité du français sera appliquée. Aucun document écrit à la main ne sera accepté. Une partie qui n'est pas imprimée n'est pas corrigée (même si elle est sur la disquette) et se voit attribuer la note 0. BON TRAVAIL! INF-145 Programmation avancée et langage C Automne 2013 / Page 9
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étailFormats 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étailTD : 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étailCompression Compression par dictionnaires
Compression Compression par dictionnaires E. Jeandel Emmanuel.Jeandel at lif.univ-mrs.fr E. Jeandel, Lif CompressionCompression par dictionnaires 1/25 Compression par dictionnaire Principe : Avoir une
Plus en détailCours 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étailTravaux 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étailIntroduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
Plus en détailManuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
Plus en détailBases 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étailDE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51
DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de
Plus en détailEPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE
EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0
Plus en détail1 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étailDé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étailInformatique Générale
Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html
Plus en détailCours 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étailASR1 TD7 : Un microprocesseur RISC 16 bits
{Â Ö Ñ º ØÖ Ý,È ØÖ ºÄÓ Ù,Æ ÓÐ ºÎ ÝÖ Ø¹ ÖÚ ÐÐÓÒ} Ò ¹ÐÝÓÒº Ö ØØÔ»»Ô Ö Óº Ò ¹ÐÝÓÒº Ö» Ö Ñ º ØÖ Ý»¼ Ö½» ASR1 TD7 : Un microprocesseur RISC 16 bits 13, 20 et 27 novembre 2006 Présentation générale On choisit
Plus en détailUniversité du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.
Université du Québec à Chicoutimi Département d informatique et de mathématique Plan de cours Titre : Élément de programmation Sigle : 8inf 119 Session : Automne 2001 Professeur : Patrice Guérin Local
Plus en détailINITIATION 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étailArchitecture des ordinateurs TD1 - Portes logiques et premiers circuits
Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice
Plus en détailLe codage informatique
Outils de Bureautique Le codage informatique (exemple : du binaire au traitement de texte) PLAN 3) Le codage binaire 4) Représentation physique des bits 5) Le bit est un peu court... 6) Codage de texte
Plus en détailConventions 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étailArithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot
Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,
Plus en détailStructure du format BMP, sa lecture, sa construction et son écriture
Structure du format BMP, sa lecture, sa construction et son écriture Claude Parisel Mars 2003 Table des matières : 1. Le choix du format 2. Commentaires sur les autres formats 3. Format BMP pour noir&blanc,
Plus en détailChapitre 1 I:\ Soyez courageux!
Chapitre 1 I:\ Soyez courageux! Pour ne rien vous cacher, le langage d'assembleur (souvent désigné sous le terme "Assembleur", bien que ce soit un abus de langage, puisque "Assembleur" désigne le logiciel
Plus en détailLa mémoire. Un ordinateur. L'octet. Le bit
Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve
Plus en détailV- 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étailCours 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étailSuivant 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étailAlgorithmique 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étailPython - introduction à la programmation et calcul scientifique
Université de Strasbourg Environnements Informatique Python - introduction à la programmation et calcul scientifique Feuille de TP 1 Avant de commencer Le but de ce TP est de vous montrer les bases de
Plus en détailMachines virtuelles Cours 1 : Introduction
Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 pierre.letouzey@inria.fr PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une
Plus en détailRappels d architecture
Assembleur Rappels d architecture Un ordinateur se compose principalement d un processeur, de mémoire. On y attache ensuite des périphériques, mais ils sont optionnels. données : disque dur, etc entrée
Plus en détailComment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet
Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet Beat Wolf 1, Pierre Kuonen 1, Thomas Dandekar 2 1 icosys, Haute École Spécialisée de Suisse occidentale,
Plus en détailAlgorithme. Table des matières
1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............
Plus en détailAnne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2
Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................
Plus en détailPriorités de calcul :
EXERCICES DE REVISION POUR LE PASSAGE EN QUATRIEME : Priorités de calcul : Exercice 1 : Calcule en détaillant : A = 4 + 5 6 + 7 B = 6 3 + 5 C = 35 5 3 D = 6 7 + 8 E = 38 6 3 + 7 Exercice : Calcule en détaillant
Plus en détailChap III : Les tableaux
Chap III : Les tableaux Dans cette partie, on va étudier quelques structures de données de base tels que : Les tableaux (vecteur et matrice) Les chaînes de caractères LA STRUCTURE DE TABLEAU Introduction
Plus en détailIN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Plus en détailGroupe symétrique. Chapitre II. 1 Définitions et généralités
Chapitre II Groupe symétrique 1 Définitions et généralités Définition. Soient n et X l ensemble 1,..., n. On appelle permutation de X toute application bijective f : X X. On note S n l ensemble des permutations
Plus en détailÉléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if
Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike
Plus en détailGestion de gros fichiers binaires (images) en APL*PLUS III
Gestion de gros fichiers binaires (images) en APL*PLUS III par Gérard A. Langlet Lun des nombreux problèmes que nous avons rencontrés en APL concerne l impression d images, constituées en fait de grosses
Plus en détailUE 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étailAlgorithmes récursifs
Licence 1 MASS - Algorithmique et Calcul Formel S. Verel, M.-E. Voge www.i3s.unice.fr/ verel 23 mars 2007 Objectifs de la séance 3 écrire des algorithmes récursifs avec un seul test rechercher un élément
Plus en détailUEO11 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étailGrandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test
Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite
Plus en détailLe format OpenPGP. Traduit par : Sébastien Person. personseb@yahoo.fr. Matthieu Hautreux. matthieu.hautreux@insa-rouen.fr.
Le format OpenPGP Traduit par : Sébastien Person personseb@yahoo.fr Matthieu Hautreux matthieu.hautreux@insa-rouen.fr Odile Weyckmans odile.weyckmans@insa-rouen.fr Relu et maintenu par : Yvon Benoist benoist@insa-rouen.fr
Plus en détailUE C avancé cours 1: introduction et révisions
Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple
Plus en détailB2i Brevet Informatique. Internet. Livret de l enseignant
B2i Brevet Informatique et Internet Ecole Livret de l enseignant 1. Maîtriser les premières bases de la technologie informatique. Toutes les activités nécessitant l utilisation de l ordinateur concourent
Plus en détailCours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
Plus en détailPré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étail6 - 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étailDéfinition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS = 7 10 1 + 5 10 2 + 2 10 3
8 Systèmes de numération INTRODUCTION SYSTÈMES DE NUMÉRATION POSITIONNELS Dans un système positionnel, le nombre de symboles est fixe On représente par un symbole chaque chiffre inférieur à la base, incluant
Plus en détailProgrammation 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étailLes petits pas. Pour favoriser mon écoute. Où le placer dans la classe? Procédurier. Adapter les directives. Référentiel Présentation des travaux
Tombe facilement dans la lune (distraction interne) Compenser les déficits d attention des élèves ayant un TDAH : des moyens simples à proposer aux enseignants Line Massé Département de psychoéducation,
Plus en détailPROJET ALGORITHMIQUE ET PROGRAMMATION II
PROJET 1 ALGORITHMIQUE ET PROGRAMMATION II CONTENU DU RAPPORT A RENDRE : o Fiche signalétique du binôme o Listing des différents fichiers sources o CD sources o Il sera tenu compte de la présentation du
Plus en détailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Plus en détail1 Lecture de fichiers
Programmation 1 Cours n 6 GB3, 2 nd semestre 2014-2015 Cours de Python Gilles Bernot 1 Lecture de fichiers Un fichier est une suite de caractères mémorisés sur le disque dur de la machine dans un endroit
Plus en détailCodage d information. Codage d information : -Définition-
Introduction Plan Systèmes de numération et Représentation des nombres Systèmes de numération Système de numération décimale Représentation dans une base b Représentation binaire, Octale et Hexadécimale
Plus en détailCours Informatique 1. Monsieur SADOUNI Salheddine
Cours Informatique 1 Chapitre 2 les Systèmes Informatique Monsieur SADOUNI Salheddine Un Système Informatique lesystème Informatique est composé de deux parties : -le Matériel : constitué de l unité centrale
Plus en détail1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)
1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d
Plus en détailLicence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailCoup de Projecteur sur les Réseaux de Neurones
Coup de Projecteur sur les Réseaux de Neurones Les réseaux de neurones peuvent être utilisés pour des problèmes de prévision ou de classification. La représentation la plus populaire est le réseau multicouche
Plus en détail1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4
1 Introduction 1-1 Chaîne de développement Algorithm e C+ + Algorigramm e languag e machine binaire Le programme est écrit à l aide de Multiprog sous forme d algorigramme puis introduit dans le microcontrôleur
Plus en détailRepré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étail1 Recherche en table par balayage
1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément
Plus en détailTP : 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étailChapitre 10 Arithmétique réelle
Chapitre 10 Arithmétique réelle Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013
Plus en détailURECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2
Initiation Matlab 2 1 Chaînes de caractères (string) Une chaîne de caractères (string en anglais) est une suite ordonnée de caractères (du texte, par exemple). Sous matlab, les chaînes de caractères sont
Plus en détailTP, première séquence d exercices.
TP, première séquence d exercices. Benoît Valiron benoit.valiron@lipn.univ-paris13.fr 7 novembre 2010 Introduction Vous écrirez les réponses aux questions courtes sur une feuille à rendre à la fin de la
Plus en détailINTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores
INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN
Plus en détailIFT1215 Introduction aux systèmes informatiques
Introduction aux circuits logiques de base IFT25 Architecture en couches Niveau 5 Niveau 4 Niveau 3 Niveau 2 Niveau Niveau Couche des langages d application Traduction (compilateur) Couche du langage d
Plus en détailCours d Informatique
Cours d Informatique 1ère année SM/SMI 2007/2008, Info 2 Département de Mathématiques et d Informatique, Université Mohammed V elbenani@hotmail.com sayah@fsr.ac.ma 2007/2008 Info2, 1ère année SM/SMI 1
Plus en détailSECTION 5 BANQUE DE PROJETS
SECTION 5 BANQUE DE PROJETS INF 4018 BANQUE DE PROJETS - 1 - Banque de projets PROJET 2.1 : APPLICATION LOGICIELLE... 3 PROJET 2.2 : SITE WEB SÉMANTIQUE AVEC XML... 5 PROJET 2.3 : E-LEARNING ET FORMATION
Plus en détail1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :
GIF-3002 SMI et Architecture du microprocesseur Ce cours discute de l impact du design du microprocesseur sur le système entier. Il présente d abord l architecture du cœur ARM Cortex M3. Ensuite, le cours
Plus en détailMICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C
Haute Ecole d Ingénierie et de Gestion Du Canton du Vaud MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Programmation en mode simulation 1. DOCUMENTS DE RÉFÉRENCE...
Plus en détailLes structures. Chapitre 3
Chapitre 3 Les structures Nous continuons notre étude des structures de données qui sont prédéfinies dans la plupart des langages informatiques. La structure de tableau permet de regrouper un certain nombre
Plus en détailAdama MBODJI MBODJ.SYSTEM
MBODJ.SYSTEM Tableaux & vecteurs Algorithmes de tris Chaînes de caractères Listes linéaires Piles & Files Arbres Fichiers Je dédie cet ouvrage à mon père Souleymane MBODJI 2 Dédicace... 2 Sommaire... 3
Plus en détailDéroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009
Déroulement Algorithmes et structures de données Cours 1 et 2 Patrick Reuter http://www.labri.fr/~preuter/asd2009 CM mercredi de 8h00 à 9h00 (Amphi Bât. E, 3 ème étage) ED - Groupe 3 : mercredi, 10h30
Plus en détailBase de Connaissances SiteAudit. Utiliser les Rapports Planifiés. Sommaire des Fonctionnalités. Les Nouveautés
Base de Connaissances SiteAudit Utiliser les Rapports Planifiés Avril 2010 Dans cet article: Sommaire des fonctionnalités Les nouveautés Planifier des rapports SiteAudit 4.0 fournit une nouvelle interface
Plus en détailET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.
ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de
Plus en détailWhite Paper - Livre Blanc
White Paper - Livre Blanc Développement d applications de supervision des systèmes d information Avec LoriotPro Vous disposez d un environnement informatique hétérogène et vous souhaitez à partir d une
Plus en détailChap17 - 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étailIntroduction à l algorithmique et à la programmation (Info 2)
Introduction à l algorithmique et à la programmation (Info 2) Premier cours: présentation du module, codage et définition de l algorithmique Matthieu Puigt IUT du Littoral Côte d Opale DUT Génie Industriel
Plus en détailMIS 102 Initiation à l Informatique
MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ
Plus en détailwww.imprimermonlivre.com
0 www.imprimermonlivre.com Composition d une couverture avec Word L objectif de ce guide est de vous proposer un mode opératoire pour créer une couverture avec Word. Nous vous rappelons toutefois que Word
Plus en détailFactorisation Factoriser en utilisant un facteur commun Fiche méthode
Factorisation Factoriser en utilisant un facteur commun Fiche méthode Rappel : Distributivité simple Soient les nombres, et. On a : Factoriser, c est transformer une somme ou une différence de termes en
Plus en détail2.4 Représentation graphique, tableau de Karnaugh
2 Fonctions binaires 45 2.4 Représentation graphique, tableau de Karnaugh On peut définir complètement une fonction binaire en dressant son tableau de Karnaugh, table de vérité à 2 n cases pour n variables
Plus en détailPetit guide des sous-réseaux IP
Petit guide des sous-réseaux IP Robert Hart, hartr@interweft.com.au version française par Laurent Caillat-Vallet, caillat@univ-lyon1.fr v1.0, 31 Mars 1997 Ce document décrit pourquoi et comment découper
Plus en détailÉPREUVE COMMUNE DE TIPE 2008 - Partie D
ÉPREUVE COMMUNE DE TIPE 2008 - Partie D TITRE : Les Fonctions de Hachage Temps de préparation :.. 2 h 15 minutes Temps de présentation devant le jury :.10 minutes Entretien avec le jury :..10 minutes GUIDE
Plus en détailLicence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Plus en détailArchitecture des ordinateurs
Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?
Plus en détailInformatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse
Questions - Révision- - 1 er Semestre Informatique Durée de l examen : 1h pour 40 questions. Aucun document n est autorisé. L usage d appareils électroniques est interdit. Les questions faisant apparaître
Plus en détailL utilisation d un réseau de neurones pour optimiser la gestion d un firewall
L utilisation d un réseau de neurones pour optimiser la gestion d un firewall Réza Assadi et Karim Khattar École Polytechnique de Montréal Le 1 mai 2002 Résumé Les réseaux de neurones sont utilisés dans
Plus en détailAlgorithmique et structures de données I
Algorithmique et structures de données I Riadh Ben Messaoud Université 7 novembre à Carthage Faculté des Sciences Économiques et de Gestion de Nabeul 1ère année Licence Fondamentale IAG 1ère année Licence
Plus en détailLes Jardins d Henri. Présentation d une situation professionnelle. Activité : Fleuriste. 5 salariés
Présentation d une situation professionnelle Réalisée par F. Mauri LP H Brulle Libourne Les Jardins d Henri Activité : Fleuriste 5 salariés Cliquez sur la disquette pour accéder aux liens lors de la projection
Plus en détailActivité 1. Compter les points Écriture binaire des nombres. Résumé. Liens pédagogiques. Compétences. Âge. Matériel
Activité 1 Compter les points Écriture binaire des nombres Résumé Les données de l ordinateur sont stockées et transmises sous la forme d une série de 0 et de 1. Comment peut-on représenter des mots et
Plus en détailReproductibilité des expériences de l article "Analyse et réduction du chemin critique dans l exécution d une application"
Reproductibilité des expériences de l article "Analyse et réduction du chemin critique dans l exécution d une application" Katarzyna Porada and David Parello and Bernard Goossens Univ. Perpignan Via Domitia,
Plus en détailTHEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs
Architecture Matérielle des Systèmes Informatiques. S1 BTS Informatique de Gestion 1 ère année THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT Dossier 1 L environnement informatique. Objectifs Enumérer et
Plus en détailG.P. DNS02 Septembre 2012. Réfraction...1 I.Préliminaires...1 II.Première partie...1 III.Deuxième partie...3. Réfraction
DNS Sujet Réfraction...1 I.Préliminaires...1 II.Première partie...1 III.Deuxième partie...3 Réfraction I. Préliminaires 1. Rappeler la valeur et l'unité de la perméabilité magnétique du vide µ 0. Donner
Plus en détail