Codage de l'information , ce qui donne un découpage de 8 sextets
|
|
- Geoffroy Perras
- il y a 8 ans
- Total affichages :
Transcription
1 Univ. Lille 1 - Licence Informatique 2ème année Objectifs du TP Codage de l'information TP : Le codage Base 64 Ce TP a pour but 1. de convertir des chiers quelconques en un chier texte codé en base 64 ; 2. et de faire la conversion inverse. Outils utilisés l'utilitaire base64, le langage Caml. Matériel fourni 1 Le codage base 64 Le codage base 64 est un codage permettant de transformer toute donnée binaire en une donnée n'utilisant que 64 caractères ASCII disponibles sur la plupart des systèmes informatiques, et acceptés dans les protocoles de transmission de messages (courrier électronique par exemple). 1.1 Principe du codage Le principe de ce codage consiste à découper la donnée binaire en tranches de six bits, que nous nommerons sextets, et d'associer à chaque sextet un caractère choisi parmi les 26 lettres majuscules (A,..., Z), les 26 lettres minuscules (a,..., z), les 10 chires décimaux (0,..., 9), et les deux caractères + et /. L'alphabet cible de ce codage comprend donc 64 caractères. La table 1 montre les codes associés à chaque sextet. Exemple 1 : Le mot Codage, codé en ASCII, a une longueur de 6 8 = 48 bits , ce qui donne un découpage de 8 sextets , qui conformément au codage base 64 donne Q29kYWdl. Le codage base 64 code des sextets. Que faire si la donnée à coder n'a pas une longueur multiple de 8? La longueur en bits d'un chier est multiple de 8 mais pas nécessairement multiple de 6. Trois cas de gures peuvent se présenter : 1
2 Sextet (déc.) Code Sextet (déc.) Code Sextet (déc.) Code Sextet (déc.) Code (0) A (1) B (2) C (3) D (4) E (5) F (6) G (7) H (8) I (9) J (10) K (11) L (12) M (13) N (14) O (15) P (16) Q (17) R (18) S (19) T (20) U (21) V (22) W (23) X (24) Y (25) Z (26) a (27) b (28) c (29) d (30) e (31) f (32) g (33) h (34) i (35) j (36) k (37) l (38) m (39) n (40) o (41) p (42) q (43) r (44) s (45) t (46) u (47) v (48) w (49) x (50) y (51) z (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) / Table 1 Table du codage base Le chier à coder a une longueur en bits multiple de 6 : la longueur est de 6k bits autrement dit k sextets à coder. Dans ce cas chacun des k sextets est codé, et le chier codé contient les k codes correspondant à ces k sextets. C'est l'exemple donné ci-dessus. 2. Le chier à coder a une longueur égale à 6k + 2 bits, autrement dit contient k sextets plus deux bits isolés. À ces deux derniers bits on vient alors ajouter quatre bits nuls pour former un dernier sextet qui est codé, et on ajoute à la suite de ce dernier code un double symbole = (qui ne fait pas partie de l'alphabet cible et qui indique donc que seuls les deux bits de poids forts du code précédent les deux = sont à prendre en compte pour le décodage). 3. Le chier à coder a une longueur égale à 6k + 4 bits, autrement dit contient k sextets plus quatre bits isolés. À ces quatre derniers bits on vient alors ajouter deux bits nuls pour former un dernier sextet qui est codé, et on ajoute à la suite de ce dernier code un simple symbole = (qui ne fait pas partie de l'alphabet cible et qui indique donc que seuls les quatre bits de poids forts du code précédent le = sont à prendre en compte pour le décodage). Exemple 2 : Le mot Codages, codé en ASCII, a une longueur de 7 8 = 56 bits Or 56 = , ce qui donne 9 sextets complets, auquel il convient d'ajouter un sextet obtenu en ajoutant quatre bits nuls , qui, en ajoutant les deux symboles =, donne en base 64 Q29kYWdlcw ==. 2
3 Exemple 3 : Enn, le mot Codages. (notez le. nal), codé en ASCII, a une longueur de 8 8 = 64 bits Or 64 = , ce qui donne 10 sextets complets, auquel il convient d'ajouter un sextet obtenu en ajoutant deux bits nuls , qui, en ajoutant un seul symbole =, donne en base 64 Q29kYWdlcy4 =. 1.2 L'utilitaire base64 Sur certains système Unix, un utilitaire permet de coder en base 64 tout chier qu'on lui transmet. Cet utilitaire se nomme base64, et on l'utilise en ligne de commandes. Exemple 4 : Pour encoder le chier cigale-utf-8.txt > base64 cigale-utf-8.txt TGEgQ2lnYWxlIGV0IGxhIEZvdXJtaQ0KDQpMYSBDaWdhbGUsIGF5YW50IGNoYW50w6kNClRvdXQg bcfdqxtdqswnclnlihryb3v2ysbmb3j0igtdqxbvdxj2dwunclf1yw5kigxhigjpc2ugznv0ihzl bnvlidonclbhcyb1bibzzxvsihbldgl0ig1vcmnlyxunckrlig1vdwnozsbvdsbkzsb2zxjtaxnz ZWF1Lg0KRWxsZSBhbGxhIGNyaWVyIGZhbWluZQ0KQ2hleiBsYSBGb3VybWkgc2Egdm9pc2luZSwN CkxhIHByaWFudCBkZSBsdWkgcHLDqnRlcg0KUXVlbHF1ZSBncmFpbiBwb3VyIHN1YnNpc3Rlcg0K SnVzcXUnw6AgbGEgc2Fpc29uIG5vdXZlbGxlLg0KSmUgdm91cyBwYWllcmFpLCBsdWkgZGl0LWVs bgusdqpbdmfudcbsj0/du3qsigzvasbkj2fuaw1hbcwnckludmopcsoqdcbldcbwcmluy2lwywwu IA0KTGEgRm91cm1pIG4nZXN0IHBhcyBwcsOqdGV1c2UgOg0KQydlc3QgbMOgIHNvbiBtb2luZHJl IGTDqWZhdXQuDQpRdWUgZmFpc2llei12b3VzIGF1IHRlbXBzIGNoYXVkID8NCkRpdC1lbGxlIMOg IGNldHRlIGVtcHJ1bnRldXNlLg0KTnVpdCBldCBqb3VyIMOgIHRvdXQgdmVuYW50DQpKZSBjaGFu dgfpcywgbmugdm91cybkw6lwbgfpc2uudqpwb3vzignoyw50awv6id8gaidlbibzdwlzigzvcnqg YWlzZS4NCkVoIGJpZW4hIGRhbnNleiBtYWludGVuYW50Lg0K On constate que le résultat du codage se fait sur la sortie standard. Si on veut l'obtenir dans un chier, il sut de rediriger cette sortie standard vers un chier. > base64 cigale-utf-8.txt > cigale.b64 Pour décoder, on rajoute l'option -d dans la ligne de commande. > base64 -d cigale.b64 3
4 Question 1 Testez cette commande avec diérents chiers. En particulier, cherchez à obtenir trois chiers dont les versions codées en base 64 se terminent par 0, 1 et 2 symboles =. Question 2 de chier? Quel lien existe-t-il entre la taille de ces chiers et le nombre de symboles = présents en n Question 3 Quel lien existe-t-il entre la taille du chier original et celle du chier codé? 2 Codage d'un chier en base 64 Dans cette partie, vous allez programmer le codage d'un chier en base 64. Votre programme devra se comporter comme l'utilitaire base64 sans l'option -d. Dans cette partie et la suivante, vous mettrez toutes les déclarations de variables et fonctions dans un chier nommé codage64.ml. 2.1 Représentation de la table de codage Le tableau de codage 1 peut être représenté en Caml par un tableau de caractères de longueur 64. let table = [ A ; B ; C ; D ; E ; F ; G ; H ; I ; J ; K ; L ; M ; N ; O ; P ; Q ; R ; S ; T ; U ; V ; W ; X ; Y ; Z ; a ; b ; c ; d ; e ; f ; g ; h ; i ; j ; k ; l ; m ; n ; o ; p ; q ; r ; s ; t ; u ; v ; w ; x ; y ; z ; 0 ; 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 ; 9 ; + ; / ] Ainsi, à partir d'un entier k compris entre 0 et 63, c'estàdire un sextet, on a immédiatement le code associé avec l'expression table.($k$). Question 4 Testez pour plusieurs valeurs de k. 2.2 Encodage Il n'est pas possible de lire des sextets dans un chier. La plus petite donnée qu'on puisse y lire est un octet. En lisant donc trois octets consécutifs, on obtient 3 8 = 24 = 4 6 bits ce qui donne 4 sextets. Le principe du programme va donc consister à lire dans le chier source trois octets consécutifs (si il y en a bien encore trois à lire), et à écrire sur la sortie standard les quatre codes correspondant, et ceci jusqu'à avoir parcouru complètement le chier source. Bien entendu si la taille (en octets) du chier n'est pas un multiple de trois, à la n du chier le nombre d'octets réellement lus dans le chier peut très bien n'être que 1 ou 2. La procédure encoder_base64, de type 4
5 parcourt entièrement un chier en lisant les octets par groupe de trois. Ces octets sont stockés dans un tableau de longueur trois (triplet_octets) qui est passé à une procédure traiter_octets pour être codé en 4 codes de la base 64. (** [encoder_base64 source] produit un codage en base 64 du fichier [source]. La sortie se fait sur la sortie standard. *) let encoder_base64 source = let entree = open_in_bin source and triplet_octets = Array.make 3 (-1) in try while true do triplet_octets.(0) <- input_byte entree ; triplet_octets.(1) <- input_byte entree ; triplet_octets.(2) <- input_byte entree ; traiter_octets triplet_octets done with End_of_file -> traiter_octets triplet_octets ; close_in entree Pendant toute la durée du parcours du chier source, le tableau triplet_octets contient trois octets lus dans le chier. Il n'y a qu'arrivé à la n du chier qu'il peut en être autrement, à savoir le tableau contient deux octets lus dans le chier seulement, le troisième élément valant -1 ; le tableau contient un seul octet lu dans le chier, les deux éléments qui suivent valant -1 ; ou bien le tableau ne contient aucun octet lu dans le chier, et ses trois éléments valent Procédure traiter_octets Il ne vous reste plus qu'à réaliser la procédure traiter_octets, de type int array unit, qui écrit sur la sortie standard les quatre codes correspondant aux 24 bits formés par les trois octets contenus dans le tableau, si aucun des entiers ne vaut -1 ; trois codes seulement suivis d'un symbole = si le tableau ne contient que deux octets lus ; deux codes suivis de deux symboles = si le tableau ne contient qu'un seul octet lu ; et enn n'écrit rien si le tableau ne contient aucun octet lu. Question 5 Réalisez la fonction traiter_octets. Vous pouvez au choix utiliser l'une ou l'autre des deux procédures d'impression sur la sortie standard 1. print_char 2. ou Printf.printf avec le format "%c". Dans un premier temps, votre procédure traiter_octets ne doit provoquer aucun passage à la ligne. Testez votre procédure sur de nombreux exemples. 5
6 Question 6 Vériez ensuite le bon fonctionnement de la procédure encoder_base64 décrite ci-dessus. Question 7 Modiez maintenant la procédure traiter_octets pour que la longueur des lignes ne dépasse pas 76 caractères (comme c'est le cas par défaut avec l'utilitaire base64). 3 Décodage d'un chier au format base 64 Maintenant, vous allez programmer le décodage d'un chier codé en base 64. Votre programme devra se comporter comme l'utilitaire base64 avec l'option -d. Préalablement, vous allez réaliser certaines fonctions. Question 8 Réalisez la fonction decode_char de type char int, qui pour un caractère faisant partie des codes de la base 64, renvoie le sextet correspondant. Question 9 Réalisez la fonction decode_bloc de type string int array, qui à partir d'une chaîne de quatre caractères contenant des codes de la base 64 et éventuellement 1 ou 2 symboles = à la n, calcule un tableau contenant trois entiers représentant chacun un octet, et éventuellement des -1 à la n. Question 10 Réalisez la procédure traiter_bloc de type qui à partir d'une chaîne de quatre caractères, imprime sur la sortie standard les trois octets obtenus par décodage. L'impression de ces octets se fera après conversion en caractère en utilisant la procédure Printf.printf. Par exemple pour un octet (int) désigné par n on utilise l'instruction Printf.printf "%c" (char_of_int n) Un chier codé en base 64 est un chier texte constitué de lignes de longueurs multiples de quatre (76 dans votre programme d'encodage). Question 11 Réalisez la procédure traiter_ligne de type qui prend en paramètre une ligne (provenant d'un chier codé en base 64, et dont on peut supposer qu'elle a une longueur multiple de 4) et qui imprime sur la sortie standard les caractères décodés. Question 12 Réalisez maintenant la procédure decoder_base64 de type qui décode le chier dont le nom est passé en paramètre. 4 Réalisation de l'utilitaire base64 Vous allez maintenant produire un programme exécutable qui produit la même sortie que l'utilitaire base64. Pour cela, il faut tout d'abord compiler le module que vous venez de réaliser. 6
7 Question 13 Compilez le chier contenant vos déclarations. En supposant que ce chier est nommé codage64.ml, la commande est > ocamlc -c codage64.ml vous devez avoir obtenu dans le dossier courant deux chiers codage64.cmi et codage64.cmo. Ensuite il faut compiler le chier base64.ml qui contient les déclarations suivantes : (** Utilitaire d encodage/decodage de fichiers en base64. Necessite le module Codage64. FIL - UFR IEEA - Univ. Lille1 (oct 2010) open Codage64 (** [usage ()] imprime l usage normal de l utilitaire. *) let usage () = Printf.fprintf stderr "Usage : %s [-e -d] <fichier>\n" Sys.argv.(0) ; Printf.fprintf stderr "\t -e pour encoder\n" ; Printf.fprintf stderr "\t -d pour decoder\n" ; exit 1 let principal () = if Array.length Sys.argv <> 3 then usage () else let option = Sys.argv.(1) and fichier = Sys.argv.(2) in match option with "-e" -> encoder_base64 fichier ; exit 0 "-d" -> decoder_base64 fichier ; exit 0 _ -> usage () (** appel a la procedure principal *) let _ = principal () Question 14 Compilez le chier base64.ml pour obtenir un exécutable. > ocamlc -o base64 codage64.cmo base64.ml Question 15 Utilisez votre programme base64 pour encoder en base 64 les chiers de votre choix. Comparez les sorties produites par votre programme et l'utilitaire base64 (pour cela la commande diff peut s'avérer bien utile). 7
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étailRecherche dans un tableau
Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6
Plus en détailTP 1 : 1 Calculs en binaire, octal et hexadécimal
Univ. Lille 1 - Licence Informatique 2ème année 2013-14 Objectifs du TP Ce TP a pour but Codage de l'information TP 1 : 1. de découvrir quelques opérations logiques sur les nombres 2. et quelques formats
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étailLicence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter
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étailLogiciel de Base. I. Représentation des nombres
Logiciel de Base (A1-06/07) Léon Mugwaneza ESIL/Dépt. Informatique (bureau A118) mugwaneza@univmed.fr I. Représentation des nombres Codage et représentation de l'information Information externe formats
Plus en détailLes chaînes de caractères
Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il
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é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étailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
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étailBase de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)
Base de l'informatique Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB) Généralité Comment fonctionne un ordinateur? Nous définirons 3 couches Le matériel
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étailExceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;
CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe
Plus en détailCours de Programmation 2
Cours de Programmation 2 Programmation à moyenne et large échelle 1. Programmation modulaire 2. Programmation orientée objet 3. Programmation concurrente, distribuée 4. Programmation monadique 5. Les programmes
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étailProgrammation en Java IUT GEII (MC-II1) 1
Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)
Plus en détailCours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
Plus en détailTP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts
E3FI ESIEE Paris Systèmes et scripts B. Perret TP : Shell Scripts 1 Remarque générale Lorsque vous cherchez des informations sur Internet, n'oubliez pas que langage de shell script que nous avons vu correspond
Plus en détailSHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5
SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N
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étailReprésentation d un entier en base b
Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir
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étailUne version javascript sera disponible directement dans le cours prochainement.
Author : Cédric Vanconingsloo Ce cours est principalement axé sur la compréhension du fonctionnement d'un ordinateur et l'étude du seul langage qu'il connaisse, le binaire. De ce fait, le cours est relativement
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étailMysql. Les requêtes préparées Prepared statements
Mysql Les requêtes préparées Prepared statements Introduction Les prepared statements côté serveur sont une des nouvelles fonctionnalités les plus intéressantes de MySQL 4.1 (récemment sorti en production
Plus en détailChapitre 2 Devine mon nombre!
Python 3 : objectif jeux Chapitre 2 Chapitre 2 Devine mon nombre! 2.1. Thèmes abordés dans ce chapitre commentaires modules externes, import variables boucle while condition : if... elif... else la fonction
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étailClasse ClInfoCGI. Fonctions membres principales. Gestion des erreurs
Utilisation des classes de PourCGI par Michel Michaud, version 2002-11-23 Les fichiers PourCGI.h et PourCGI.cpp rendent disponibles deux classes et une fonction libre qui permettent de faire facilement
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é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 2 : Chiffrement par blocs
USTL - Licence et Master Informatique 2006-2007 Principes et Algorithmes de Cryptographie TP 2 : Chiffrement par blocs Objectifs du TP utiliser openssl pour chiffrer/déchiffrer, étudier le remplissage
Plus en détailJeux de caracte res et encodage (par Michel Michaud 2014)
Jeux de caracte res et encodage (par Michel Michaud 2014) Les ordinateurs ne traitent que des données numériques. En fait, les codages électriques qu'ils conservent en mémoire centrale ne représentent
Plus en détailUSTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 :
USTL - Licence ST-A 1ère année 2005-2006 Codage de l information TP 1 : Objectifs du TP Ce TP a pour but 1. de découvrir quelques opérations logiques sur les nombres 2. et quelques formats de fichiers.
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étail1/ Présentation de SQL Server :
Chapitre II I Vue d ensemble de Microsoft SQL Server Chapitre I : Vue d ensemble de Microsoft SQL Server Module: SQL server Semestre 3 Année: 2010/2011 Sommaire 1/ Présentation de SQL Server 2/ Architerture
Plus en détailIMPORTATION, CRÉATION, MANIPULATION, EXPORTATION DE DONNÉES STATISTIQUES
IMPRTATIN, CRÉATIN, MANIPULATIN, EXPRTATIN DE DNNÉES STATISTIQUES Bernard Dupont Bernard.Dupont@univ-lille1.fr ahm.bahah@yahoo.fr Bien que l'analyse et le traitement des données ne soient pas sa vocation
Plus en détailPropagation sur réseau statique et dynamique
Université de la Méditerranée UFR Sciences de Luminy Rapport de stage informatique pour le Master 2 de Physique, Parcours Physique Théorique et Mathématique, Physique des Particules et Astroparticules.
Plus en détailTP 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é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étailCours Informatique Master STEP
Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions
Plus en détailRappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme
Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation
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étaillength : A N add : Z Z Z (n 1, n 2 ) n 1 + n 2
1 Univ. Lille1 - Licence info 3ème année 2013-2014 Expression Logique et Fonctionnelle... Évidemment Cours n o 1 : Introduction à la programmation fonctionnelle 1 Introduction La programmation fonctionnelle
Plus en détailACTIVITÉ DE PROGRAMMATION
ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,
Plus en détailRapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources
Master Maths Finances 2010/2011 Data Mining janvier 2011 RapidMiner 1 Introduction 1.1 Présentation RapidMiner est un logiciel open source et gratuit dédié au data mining. Il contient de nombreux outils
Plus en détailLES TYPES DE DONNÉES DU LANGAGE PASCAL
LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.
Plus en détail2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE
2 Grad Info Soir Langage C++ Juin 2007 Projet BANQUE 1. Explications L'examen comprend un projet à réaliser à domicile et à documenter : - structure des données, - objets utilisés, - relations de dépendance
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étailProgrammation C++ (débutant)/instructions for, while et do...while
Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de
Plus en détailCours admin 200x serveur : DNS et Netbios
LE SERVICE DNS Voici l'adresse d'un site très complet sur le sujet (et d'autres): http://www.frameip.com/dns 1- Introduction : Nom Netbios et DNS Résolution de Noms et Résolution inverse Chaque composant
Plus en détailExercices 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étailLe poids et la taille des fichiers
Le poids et la taille des fichiers Au tout départ des 0 et des 1 En français et en anglais on appelle cela un bit 8 bit donne un octet (ou byte en anglais) Exemple d octet : 11111111 10111010 00001000
Plus en détailLicence Sciences, Technologies, Santé Mention Informatique Codage de l'information
1 Licence Sciences, Technologies, Santé Mention Informatique Codage de l'information année universitaire 2013-2014 Licence Creative Commons cbea 2 Introduction Objectifs du cours Le cours de Codage de
Plus en détailARDUINO DOSSIER RESSOURCE POUR LA CLASSE
ARDUINO DOSSIER RESSOURCE POUR LA CLASSE Sommaire 1. Présentation 2. Exemple d apprentissage 3. Lexique de termes anglais 4. Reconnaître les composants 5. Rendre Arduino autonome 6. Les signaux d entrée
Plus en détailInitiation à la programmation en Python
I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de
Plus en détailProjet 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étailNotions fondamentales du langage C# Version 1.0
Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailCours Programmation Système
Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma Février
Plus en détailALGORITHMIQUE ET PROGRAMMATION En C
Objectifs ALGORITHMIQUE ET PROGRAMMATION Une façon de raisonner Automatiser la résolution de problèmes Maîtriser les concepts de l algorithmique Pas faire des spécialistes d un langage Pierre TELLIER 2
Plus en détailIV- 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étailIntroduction à l algorithmique et à la programmation M1102 CM n 3
Introduction à l algorithmique et à la programmation M1102 CM n 3 DUT Informatique 1 re année Eric REMY eric.remy@univ-amu.fr IUT d Aix-Marseille, site d Arles Version du 2 octobre 2013 E. Remy (IUT d
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é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étailMDI Chèque de Allégroupe Réclamation
Introduction MDI Chèque de Allégroupe Réclamation MDIChèques est une suite logique d' Allégroupe Réclamation. Une fois que l'adjudicateur a pris la décision de payer le lot, il fait une Requête de paiement
Plus en détail1. Structure d'un programme FORTRAN 95
FORTRAN se caractérise par la nécessité de compiler les scripts, c'est à dire transformer du texte en binaire.(transforme un fichier de texte en.f95 en un executable (non lisible par un éditeur) en.exe.)
Plus en détailCours 14 Les fichiers
Cours 14 Les fichiers F. Gayral 1 Fichier : définition /media/travaux/documents/fgenseignement/java1/courstpsfgfc/14-fichiers/voirtypefichiers Fichier = ensemble d informations codées et stockées sur une
Plus en détailMicrosoft Windows NT Server
Microsoft Windows NT Server Sommaire : INSTALLATION DE WINDOWS NT SERVER... 2 WINNT.EXE OU WINNT32.EXE... 2 PARTITION... 2 FAT OU NTFS... 2 TYPE DE SERVEUR... 2 Contrôleur principal de Domaine (CPD)....
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étailCours 6 : Programmation répartie
Cours 6 - PC2R - M2 STL - UPMC - 2008/2009 p. 1/49 Cours 6 : Programmation répartie modèle à mémoire répartie Interneteries Client/serveur Exemples en O Caml Classe Java clients/serveur multi-langages
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étailPlan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Plus en détailConversion d un entier. Méthode par soustraction
Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut
Plus en détailUtilisation d objets : String et ArrayList
Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons
Plus en détailSTS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module
François SCHNEIDER Lycée Victor-Hugo BESANÇON. STS SE FreeRTOS Programmation réseau WIFI Programmation réseau Socket Tcp FlyPort smart Wi-Fi 802.11 module Prérequis : langage C, connaissance réseau : Ip,
Plus en détailCHAPITRE VIII : Les circuits avec résistances ohmiques
CHAPITRE VIII : Les circuits avec résistances ohmiques VIII. 1 Ce chapitre porte sur les courants et les différences de potentiel dans les circuits. VIII.1 : Les résistances en série et en parallèle On
Plus en détailProgrammation Web. Madalina Croitoru IUT Montpellier
Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance
Plus en détailTP 1. Prise en main du langage Python
TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer
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étailCours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples
Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation
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étailSolutions du chapitre 4
Solutions du chapitre 4 Structures de contrôle: première partie 4.9 Identifiez et corrigez les erreurs (il peut y en avoir plus d une par segment de code) de chacune des proposition suivantes: a) if (
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 = <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étailL'instruction if permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse. Sa forme de base est la suivante:
420-183 Programmation 1 8. Les structures conditionnelles Dans l'écriture de tout programme informatique, une des premières nécessités que nous rencontrons est de pouvoir faire des choix. Dans une application
Plus en détailTP Sur SSH. I. Introduction à SSH. I.1. Putty
I. Introduction à SSH TP Sur SSH Le protocole SSH (pour Secure Shell) est le remplaçant de rsh (remote shell) qui correspond grosso-modo à telnet. Comme nous le verrons, SSH permet bien plus de choses
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étailLangage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr
Plus en détailIntroduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Plus en détailExamen Médian - 1 heure 30
NF01 - Automne 2014 Examen Médian - 1 heure 30 Polycopié papier autorisé, autres documents interdits Calculatrices, téléphones, traducteurs et ordinateurs interdits! Utilisez trois copies séparées, une
Plus en détailTP2 - Conguration réseau et commandes utiles. 1 Généralités. 2 Conguration de la machine. 2.1 Commande hostname
Département d'informatique Architecture des réseaux TP2 - Conguration réseau et commandes utiles L'objectif de ce TP est d'une part de vous présenter la conguration réseau d'une machine dans l'environnement
Plus en détailI- Définitions des signaux.
101011011100 010110101010 101110101101 100101010101 Du compact-disc, au DVD, en passant par l appareil photo numérique, le scanner, et télévision numérique, le numérique a fait une entrée progressive mais
Plus en détailProgrammation Objet - Cours II
Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à
Plus en détailCompte-rendu de projet de Système de gestion de base de données
Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison
Plus en détailLe Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr
Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Table des matières 1 Les bases 3 2 Variables et constantes 5 3 Quelques fonctions indispensables
Plus en détailLe prototype de la fonction main()
Le prototype de la fonction main() 1. Introduction...1 2. Paramètres et type de retour de la fonction main()...1 3. Exemple 1...2 4. La fonction exit() du C...2 5. Détecter le code de retour d un programme
Plus en détailSeance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.
Seance 2: Complétion du code de jeu. (durée max: 2h) Mot clé const et pointeurs: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Implémentez jeu_recupere_piece
Plus en détailProgrammation en langage C
Programmation en langage C Anne CANTEAUT INRIA - projet CODES B.P. 105 78153 Le Chesnay Cedex Anne.Canteaut@inria.fr http://www-rocq.inria.fr/codes/anne.canteaut/cours C 2 Table des matières 3 Table des
Plus en détailSub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"
TD1 : traduction en Visual BASIC des exemples du cours sur les structures de contrôle de l'exécution page 1 'TRADUCTION EN VBA DES EXEMPLES ALGORITHMIQUES SUR LES STRUCTURES 'DE CONTROLE DE L'EXECUTION
Plus en détail