Java intensif Entrées/Sorties

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

Download "Java intensif Entrées/Sorties"

Transcription

1 Java intensif Entrées/Sorties Serge Rosmorduc Serge Rosmorduc () Java intensifentrées/sorties / 50

2 Serge Rosmorduc () Java intensifentrées/sorties / 50

3 But du cours Donner les éléments de base pour comprendre les entrées/sorties en java. Cours 1 : Notions générales, lecture et écriture simple dans un fichier en java ; Cours 2 : Notions avancées, fichiers, lecture de textes structurés ; Serge Rosmorduc () Java intensifentrées/sorties / 50

4 Première partie I Notions fondamentales Serge Rosmorduc () Java intensifentrées/sorties / 50

5 Flux... b o n j o u r m o n d e \n... Définition : Un flux est une suite de données, finie ou infinie, dotée d un curseur. Il existe deux grands types de flux : les flux en lecture (auquel cas le curseur correspond à une tête de lecture) et les flux en écriture. Les lectures (resp. écritures) dans le flux se font à la position du curseur. L opération de lecture (resp. d écriture) avance le curseur. Exemple de flux : canal de communication en réseau, fichier sur disque, entrée standard au clavier... Serge Rosmorduc () Java intensifentrées/sorties / 50

6 Notion de fichier Définition : un fichier sera ici défini comme un flux enregistré sur un disque. Un fichier peut être envisagé de deux manières : comme objet du système de gestion de fichiers, il a une taille, des droits, une date de création, il appartient à un répertoire... par ailleurs, il contient un flux. En java, un fichier (existant ou non!) est représenté par un objet File (java 1.6) ou Path (à partir de 1.7). Serge Rosmorduc () Java intensifentrées/sorties / 50

7 Flux séquentiels et accès direct flux séquentiel : un flux séquentiel est un flux dans lequel les caractères sont lus (ou écrits) les uns après les autres, du premier au dernier. flux en accès direct : un flux en accès direct (Random Access) permet la lecture de n importe quel caractère du flux. Le programmeur peut déplacer la tête de lecture (ou d écriture) à n importe quel endroit du flux. Serge Rosmorduc () Java intensifentrées/sorties / 50

8 Flux binaires et flux textes Définitions Flux binaire un flux binaire est une suite d octets. L interprétation de ces octets est à la charge du programme qui les lit ou les écrit. Flux texte un flux texte est une suite de caractères. Il est stocké selon un système de codage déterminé. Note : En dernier ressort, un flux texte est toujours contruit au dessus d un flux binaire. Serge Rosmorduc () Java intensifentrées/sorties / 50

9 Flux binaire, exemples les fichiers créés par la plupart des bases de données ; la plupart des formats d images ; les fichiers.doc de word les fichiers compressés (zip et autres)... Serge Rosmorduc () Java intensifentrées/sorties / 50

10 Petit rappel d architecture Plusieurs manière de coder un entier sur 4 octets en mémoire : numéro de l octet valeur big endian octet le plus significatif d abord = little endian octet le moins significatif d abord = java, : big endian x86 : little endian Voir classe ByteBuffer. Serge Rosmorduc () Java intensifentrées/sorties / 50

11 Exemple simpliste de fichier binaire : un format d image couleur. Format du fichier : le fichier commence par deux entiers courts, codés en binaire sur deux octets, en mode Big Endian (Grandboutien) ; ces entiers sont respectivement la largeur et la hauteur de l image. il comporte ensuite la liste des points de l image, ligne après ligne, avec trois octets par points, représentant les valeurs R, V, et B de la couleur. Pseudo code pour écrire un petit fichier dans ce format : écrire(0); écrire(3); // largeur 3 pixels écrire(0); écrire(1); // hauteur 1 pixel écrire(255); écrire(0); écrire(0); // 1 pixel rouge écrire(100); écrire(100); écrire(0); // 1 pixel jaune écrire(255); écrire(255); écrire(255); // 1 pixel blanc Serge Rosmorduc () Java intensifentrées/sorties / 50

12 Fichiers textes et codage des caractères Approche simple (anciennement) : un fichier est une suite de nombre entre 0 et 255 ; le codage d un fichier texte associe à chaque nombre un caractère ; le codage dépend généralement du système et de sa configuration. Exemple caractère code ASCII code latin-1 code MacRoman espace (zéro) (un) a A é (non) œ (non) (non) 207 Serge Rosmorduc () Java intensifentrées/sorties / 50

13 Unicode Un codage pour tous les caractères dépasse l octet! Les codes vont de 0 à 0x10FFFF ( ) comment les représenter concrètement : UTF-8, UTF-16 (BE/LE), UTF-32(BE/LE) pour les fichiers : UTF-8 (plus compact, pas d ambiguïté BE/LE) ; en interne, un char java est en UTF-16. texte u n é t é Latin-1 0x75 0x6E 0x20 0xE9 0x74 0xE9 UTF-8 0x75 0x6E 0x20 0xC3 0xA9 0x74 0xC3 0xA9 Serge Rosmorduc () Java intensifentrées/sorties / 50

14 Fins de lignes trois codages différents unix : saut de ligne, \n, code 10 mac : retour chariot, \r, code 13 dos/windows : \r\n Attention : un fichier créé par windows et lu sous unix comportera probablement le saut de lignes windows! Serge Rosmorduc () Java intensifentrées/sorties / 50

15 Deuxième partie II Et en Java? Serge Rosmorduc () Java intensifentrées/sorties / 50

16 Exemple d écriture public static void testecrituretexte (String fname) throws IOException { // On crée un objet Writer, ce qui ouvre le fichier FileWriter f= new FileWriter(fname); try { // On utilise cet objet pour écrire f.write("hello "); f.write("world."); f.write("it works!"); } finally { // On ferme le flux f.close(); } } Serge Rosmorduc () Java intensifentrées/sorties / 50

17 Écriture, points importants La création du FileWriter permet crée le fichier et permet d écrire dedans ; on écrit avec write() ; ne jamais oublier de fermer les fichiers ouverts. pratiquement toutes les méthodes d I/O renvoient des IOExceptions. Serge Rosmorduc () Java intensifentrées/sorties / 50

18 Exemple de lecture public static void testlecturetexte (String fname) throws IOException { FileReader f= new FileReader(fname); try { // Le résultat de read doit être un entier // (à cause du -1 qui est renvoyé en fin de fichier) int cc; cc= f.read(); while (cc!= -1) { // Pour ranger cc dans un char, il faut un cast : char c= (char)cc;... on fait quelque chose de la valeur de c... cc= f.read(); // Lecture du suivant. } } finally { f.close(); } } Serge Rosmorduc () Java intensifentrées/sorties / 50

19 Lecture, points importants FileReader f= new FileReader(fname) : on crée le lecteur. la méthode read() renvoie le code du caractère lu ou -1 si on arrive à la fin du fichier. -1 n est pas un code de caractère. On ne peut pas le ranger dans un char. C est pour ça que cc est un int. chaque appel de read() avance dans le fichier. D où l intérêt de stocker la valeur reçue dans une variable. que se passe-t-il si on oublie le read() dans la boucle? Serge Rosmorduc () Java intensifentrées/sorties / 50

20 Récapitulation On manipule le flux à travers un objet (Reader, Writer, OutputStream ou InputStream) ; la création de l objet ouvre le flux (et crée le fichier si on est en écriture) ; ouvrir un fichier existant en écriture efface l ancien fichier ; on doit toujours fermer les flux ouverts ; écriture : on ouvre, on écrit, on ferme ; lecture : on ouvre, on boucle en lisant, on atteint la fin du fichier, on ferme ; read() et write() avancent dans le fichier ; la lecture est plus complexe que l écriture Serge Rosmorduc () Java intensifentrées/sorties / 50

21 Architecture des entrées/sorties en Java Flux séquentiels Important!!! Lecture Écriture Binaire InputStream OutputStream Texte Reader Writer Flux à accès direct RandomAccessFile. Serge Rosmorduc () Java intensifentrées/sorties / 50

22 Organisation des classes Writer close() flush() write(cbuf : char[]) write(cbuf : char[],off : int,len : int) write(c : int) write(s : String) write(s : String,off : int,len : int) remarquez les méthodes abstraites! BufferedWriter OutputStreamWriter StringWriter PrintWriter newline() out : OutputStream tostring() : String print(s : String) Un BufferedWriter écrit dans un autre Writer FileWriter Serge Rosmorduc () Java intensifentrées/sorties / 50

23 Nommage des classes Typiquement : Buffered StringBuffer/ByteArray File Filter Piped InputStream OutputStream Reader Writer D autres classes sont plus spécifiques : e.g. PrintWriter. Serge Rosmorduc () Java intensifentrées/sorties / 50

24 Filtrage Certaines classes fonctionnent comme des filtres ; LineNumberReader f= new LineNumberReader( new InputStreamReader(System.in));... c= f.read(); On lit l entrée standard (System.in) (binaire) ; Le InputStreamReader : flux texte au dessus de cette entrée LineNumberReader : reader qui compte les lignes. Serge Rosmorduc () Java intensifentrées/sorties / 50

25 La classe Writer, étude détaillée void write (int c) throws IOException Écrit le caractère dont le code est c. Notez que cette méthode fonctionne correctement que c soit un char ou un int. void write (char [] s) throws IOException écrit le contenu de s. void write (char[] s, int off, int longueur) throws IOException écrit les caractères de s compris entre l indice off et off + longueur. Serge Rosmorduc () Java intensifentrées/sorties / 50

26 void write (String s) throws IOException écrit la chaîne s. void flush () throws IOException Réalise effectivement la copie sur le support. C est utile dans le cas de classes comme BufferedWriter, où les données sont stockées temporairement en mémoire. void close () throws IOException ferme le Writer Serge Rosmorduc () Java intensifentrées/sorties / 50

27 La classe Reader : étude détaillée int read () throws IOException lit un caractère sur l entrée, et renvoie son code, ou -1 si la fin du fichier est atteinte. int read (char [] buf) throws IOException Remplit le tableau buf avec les caractères lus. Attention, cette méthode n alloue pas le tableau. La méthode renvoie le nombre de caractères lus, ou -1 si la fin du fichier est atteinte. Serge Rosmorduc () Java intensifentrées/sorties / 50

28 int read (char [] buf, int dep, int longueur) throws IOException Copie les caractères lus dans buf, en commençant à l indice dep, en en lisant au maximum longueur caractères. La méthode renvoie le nombre de caractères lus, ou -1 si la fin du fichier est atteinte. void close () throws IOException ferme le lecteur. Serge Rosmorduc () Java intensifentrées/sorties / 50

29 Reader et Writer, précisions sur les sauts de ligne Codage des sauts de ligne dépend du système d exploitation ; Reader et Writer ne distinguent pas les sauts de lignes des autres caractères ; ils manipulent donc \n et \r comme des caractères comme les autres. pour lire ligne par ligne, le plus simple est d utiliser un BufferedReader. Serge Rosmorduc () Java intensifentrées/sorties / 50

30 Classes InputStream et OutputStream En gros, même méthodes que respectivement Reader et Writer ; Mais écrivent et lisent des octets ; les méthodes recoivent ou renvoient des int entre 0 et 255 ; Serge Rosmorduc () Java intensifentrées/sorties / 50

31 Lecture d un fichier Classes FileOutputStream, FileWriter Ouverture/création du flux : FileOutputStream (File file) throws IOException FileOutputStream (String name) throws IOException FileOutputStream (String name, boolean append) throws FileNotFoundException ouvre le flux en écriture ; ajoute les données écrites à la fin du fichier actuel si append vaut vrai. Serge Rosmorduc () Java intensifentrées/sorties / 50

32 Lecture d un fichier Classes FileReader, FileInputStream FileInputStream (File file) throws FileNotFoundException FileInputStream (String name) throws FileNotFoundException Serge Rosmorduc () Java intensifentrées/sorties / 50

33 Déclaration de Reader Qu est-ce qui est mieux : 1 void mafonction(filereader f) 2 void mafonction(reader r) Serge Rosmorduc () Java intensifentrées/sorties / 50

34 Déclaration de Reader Qu est-ce qui est mieux : 1 void mafonction(filereader f) 2 void mafonction(reader r) Réponse : avec Reader, la fonction sera utilisable pour tous les Reader. On préfère donc cette version dans la plupart des cas. De même pour les variables d instance de type Reader. On peut écrire : Reader r= new FileReader("toto.txt"); (l intérêt est plus mitigé). Serge Rosmorduc () Java intensifentrées/sorties / 50

35 Classes orientées chaînes : écriture CharArrayWriter, ByteArrayOutputStream, StringWriter int c; FileReader f= new FileReader(args[0]); StringWriter sw= new StringWriter(); c= f.read(); while (c!= -1) { // écrit c dans sw sw.write(c); c= f.read(); } // Copie le contenu de sw dans s. String s= sw.tostring(); System.out.println(s); Serge Rosmorduc () Java intensifentrées/sorties / 50

36 Classes orientées chaînes : lecture CharArrayReader, ByteArrayInputStream, StringReader, StringBufferInputStream Reader f= new StringReader("hello tout le monde"); int c; while ((c= f.read())!= -1) { System.out.println((char) c); } f.close(); utiliser des méthodes prévues pour des flux sur des chaînes de caractères. tests JUnit : pas besoin de créer de fichier, on teste sur des StringReader ou des StringWriter... Serge Rosmorduc () Java intensifentrées/sorties / 50

37 Ponts entre flux binaires et textes Les classes InputStreamReader et OutputStreamWriter permettent de construire un flux orienté caractères au dessus d un flux d octets. Elles permettent de spécifier le codage d un fichier (impossible avec FileWriter/FileReader Ouverture explicite en UTF-8 Reader r= new InputStreamReader( new FileInputStream("toto.txt"), "UTF-8"); Serge Rosmorduc () Java intensifentrées/sorties / 50

38 BufferedReader Lecture Bufferisée Souvent utilisée à cause de sa méthode readline() Utilise un tampon (buffer). Lecture plus rapide ; retour en arrière : void reset () throws IOException revient à la dernière marque void mark (int limite) throws IOException pose une marque (oubliée après limite caractères) lecture ligne à ligne : String readline () throws IOException renvoie le texte de la ligne (sans la fin de ligne), ou null si le fichier est terminé. Serge Rosmorduc () Java intensifentrées/sorties / 50

39 Lecture d un fichier ligne à ligne avec BufferedReader code propre : BufferedReader r =.... ; S t r i n g s= r. readline ( ) ; while ( s!= null ) {... s= r. readline ( ) ; } r. close ( ) ; En réalité : BufferedReader r =.... ; S t r i n g s ; while ( ( s= r. readline ( ) )!= null ) {... } r. close ( ) ; (p.s. normalement, le close est dans un finally). Serge Rosmorduc () Java intensifentrées/sorties / 50

40 Troisième partie III Algorithmes Serge Rosmorduc () Java intensifentrées/sorties / 50

41 Approche des algorithmes de lecture Exemple : lecture et interprétation à la main d une suite de nombres réels représentés en texte. On commence par spécifier précisément la forme du texte (qu est ce qui est optionnel, qu est-ce qui ne l est pas...) ici : exemple lecture d une heure, de la forme : un ou deux chiffres, zéro ou plusieurs espaces, la lettre h, zéro ou plusieurs espaces, un ou deux chiffres. expression régulière : [0-9][0-9]? * h * [0-9][0-9]? on lit un caractère, puis on l interprète on termine une interprétation en lisant le caractère suivant ; On raisonne en terme d états. À moment donné, où en sommes-nous, quels caractères pouvons nous attendre? lié à la notion d automates Serge Rosmorduc () Java intensifentrées/sorties / 50

42 Début : lecture d un ou deux chiffres pour l heure // On lit le premier caractère avant de commencer c= lire() si c n est pas un chiffre erreur() fin si h= valeur de c c= lire() //on avance... //lecture du chiffre "optionnel" si c est un chiffre h= h * 10 + valeur de c c= lire() // on avance fin si à la fin, c correspond au caractère qui suit le texte reconnu intérêt de -1 comme fin de flux ; on est prêt à lire la suite... Serge Rosmorduc () Java intensifentrées/sorties / 50

43 Lecture de zéro ou n espaces, // c a déjà été lu... tant que c = espace c= lire() fin tant que on est sûr que c n est pas un espace après la boucle ; on s arrête forcément : fin du fichier, lire() renvoie -1. Serge Rosmorduc () Java intensifentrées/sorties / 50

44 Lecture de h Normalement, après les espaces, le caractère qui suit est un h. si ça n est pas le cas, on a une erreur ; si c est le cas, on passe le h et on avance au caractère suivant. si c!= h alors erreur() fin si c= lire() Serge Rosmorduc () Java intensifentrées/sorties / 50

45 On réunit le tout... c= lire() si c n est pas un chiffre alors erreur() fin si h= valeur de c c= lire() si c est un chiffre h= h * 10 + valeur de c c= lire() fin si tant que c = espace faire c= lire() fin tant que si c!= h alors erreur() fin si c= lire() tant que c = espace faire c= lire() fin tant que si c n est pas un chiffre alors erreur() fin si m= valeur de c c= lire() si c est un chiffre m= m * 10 + valeur de c c= lire() fin si Serge Rosmorduc () Java intensifentrées/sorties / 50

46 Exemple plus complexe : lecture de nombres réels (en réalité, c est bien entendu déjà fait ailleurs dans les classes java) un nombre est de la forme -? [0-9]+ (. [0-9]+)? ils sont séparés par une suite de 0 espaces ou plus. Serge Rosmorduc () Java intensifentrées/sorties / 50

47 Algorithme pour -? [0-9]+ (. [0-9]+)? : l u = read ( ) nb= 0 NEGATIF= FAUX SI l u == ALORS n e g a t i f = VRAI l u = read ( ) / / sauter l e! FIN SI SI l u non c h i f f r e exception FIN SI REPETER nb= nb 10 + ( l u 0 ) l u = read ( ) TANT QUE l u est un c h i f f r e SI l u ==. ALORS l u = read ( ) dec= 0.1 SI l u non c h i f f r e exception FIN SI REPETER nb= nb + dec ( l u 0 ) dec= dec 0.1 l u = read ( ) TANT QUE l u est un c h i f f r e FIN SI Serge Rosmorduc () Java intensifentrées/sorties / 50

48 Quatrième partie IV Java 7 (et un peu 6 aussi) pleins de nouveautés... Serge Rosmorduc () Java intensifentrées/sorties / 50

49 Bloc try with resource garantit la fermeture d un ou plusieurs flux, même en cas d exception. Forme try (CREATION DE RESOURCES R1, R2...) { CODE UTILISANT R1, R2... } Les resources sont des objets de classes qui ont une méthode close. (Closeable) public static void testecrituretexte (String fname) throws IOException { try (FileWriter f= new FileWriter(fname)) { f.write("hello "); f.write("world."); f.write("it works!"); } // pas besoin de close : //f est fermé automatiquement. } Serge Rosmorduc () Java intensifentrées/sorties / 50

50 Classe Files Classe utilitaire (helper class) = classe pour méthodes statique. Utilise Path et non plus File (cours prochain) méthodes de manipulation de fichier (copie, déplacement...) ; comprend des notions complexes (liens symboliques, etc.) ; contient des méthodes-fabriques (factory methods) pour créer des flux. Exemple : static BufferedReader newbufferedreader (Path path, Charset cs) throws throws IOException Crée un flux texte en lecture, en spécifiant le chemin du fichier et son codage. (Rmq : pour le codage, utiliser la méthode statique Charset.forName()) Serge Rosmorduc () Java intensifentrées/sorties / 50

51 Entrées/sorties textes simplifiées classe java.io.console, récupérable par l appel System.console(). Entrées/sorties clavier/écran formatées, lecture de mot de passe, etc ; Scanner (on en cause au cours suivant) ; PrintWriter : affichages de type printf du C (déjà en 1.5). Serge Rosmorduc () Java intensifentrées/sorties / 50

Flux de données Lecture/Ecriture Fichiers

Flux de données Lecture/Ecriture Fichiers Flux de données Lecture/Ecriture Fichiers 1 Un flux de données est un objet qui représente une suite d octets d un programme pour une certaine destination ou issus d une source pour un programme flux d

Plus en détail

Entrées / Sorties. Entrées / Sorties. Entrées/Sorties. System.out. Fonctionnement par flots (stream) Karima Boudaoud IUT- R&T. Terrain connu.

Entrées / Sorties. Entrées / Sorties. Entrées/Sorties. System.out. Fonctionnement par flots (stream) Karima Boudaoud IUT- R&T. Terrain connu. Entrées / Sorties Entrées/Sorties Fonctionnement par flots (stream) Karima Boudaoud IUT- R&T Karima Boudaoud IUT GTR-Sophia Antipolis 2 Terrain connu Entrées / Sorties la classe java.lang.system cette

Plus en détail

Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.

Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers. I Présentation : Dans le chapitre 1, nous avons vu comment utiliser les appels-systèmes de bas niveau pour créer et accéder à des fichiers sur le disque. Nous avons notamment mis en évidence leur dépouillement

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

1 Lecture de fichiers

1 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étail

Cours 14 Les fichiers

Cours 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é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

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant. Chapitre 7 Le mode de communication en connexion est, a priori, supporté par le protocole TCP. Ce protocole fournit une communication fiable; les données sont transmises comme chaînes d octets. Avant de

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan 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étail

TP 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 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étail

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 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étail

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

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

Plus en détail

1/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/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étail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Cours 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étail

ACTIVITÉ DE PROGRAMMATION

ACTIVITÉ 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étail

Cours de Système : Gestion de Fichiers

Cours de Système : Gestion de Fichiers Cours de Système : Gestion de Fichiers Bertrand Le cun et Emmanuel Hyon bertrand.le cun{at}u-paris10.fr et Emmanuel.Hyon{at}u-paris10.fr Université Paris Ouest Nanterre 25 octobre 2011 B.L.C. & E.H. (UPO)

Plus en détail

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

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

Plus en détail

Programmation Internet en Java

Programmation Internet en Java Chapitre 8 Programmation Internet en Java Vous avez déjà utilisé Internet, le plus connu des inter-réseaux mondiaux d ordinateurs et quelques-uns de ses services, en particulier le web et le courrier électronique.

Plus en détail

TP, première séquence d exercices.

TP, 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étail

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr . Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le

Plus en détail

Programmation système I Les entrées/sorties

Programmation système I Les entrées/sorties Programmation système I Les entrées/sorties DUT 1 re année Université de Marne La vallée Les entrées-sorties : E/O Entrées/Sorties : Opérations d échanges d informations dans un système informatique. Les

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

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

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

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

Plus en détail

Programmation Réseau. Sécurité Java. Jean-Baptiste.Yunes@univ-paris-diderot.fr. UFR Informatique 2012-2013. jeudi 4 avril 13

Programmation Réseau. Sécurité Java. Jean-Baptiste.Yunes@univ-paris-diderot.fr. UFR Informatique 2012-2013. jeudi 4 avril 13 Programmation Réseau Sécurité Java Jean-Baptiste.Yunes@univ-paris-diderot.fr UFR Informatique 2012-2013 Java Sécurité? différentes sécurités disponibles et contrôlables intégrité contrôle d accès signature/authentification/cryptographie

Plus en détail

TD3: tableaux avancées, première classe et chaînes

TD3: tableaux avancées, première classe et chaînes TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première

Plus en détail

Gestion distribuée (par sockets) de banque en Java

Gestion distribuée (par sockets) de banque en Java Gestion distribuée (par sockets) de banque en Java Université Paris Sud Rappel sur la solution locale de gestion simple de banque L objet de cet exercice était de créer une application java qui implante

Plus en détail

Structure d un programme

Structure d un programme Architecture des ordinateurs Cours 6 Structure d un programme 3 décembre 2012 Archi 1/30 Programme en Assembleur Archi 2/30 Sections de données programme en assembleur = fichier texte (extension.asm) organisé

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE 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étail

Cours Informatique 1. Monsieur SADOUNI Salheddine

Cours 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étail

Conventions d écriture et outils de mise au point

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

Plus en détail

Algorithmique et Programmation, IMA

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

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

Développement Logiciel

Développement Logiciel Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles

Plus en détail

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

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

Plus en détail

Communication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle

Communication inter-processus (IPC) : tubes & sockets. exemples en C et en Java. F. Butelle F. Butelle, E. Viennet, Système GTR2 IUT Paris 3 Communication inter-processus (IPC) : tubes & sockets exemples en C et en Java F. Butelle F. Butelle, E. Viennet, Système GTR2 IUT Paris 3 Java : implémentation

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

GESTION DES FICHIERS C/UNIX

GESTION DES FICHIERS C/UNIX Licence IG Page 1 sur 6 GESTION DES FICHIERS C/UNIX Introduction Deux modes d appel - Par la bibliothèque standard C (appel de haut niveau) - Par appels système (bas niveau) Nécessite les includes suivant

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à 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étail

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

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

Plus en détail

Rappels Entrées -Sorties

Rappels Entrées -Sorties Fonctions printf et scanf Syntaxe: écriture, organisation Comportement Données hétérogènes? Gestion des erreurs des utilisateurs 17/11/2013 Cours du Langage C ibr_guelzim@yahoo.fr ibrahimguelzim.atspace.co.uk

Plus en détail

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

Info0101 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étail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE 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étail

Les fichiers. Chapitre 4

Les fichiers. Chapitre 4 Chapitre 4 Les fichiers Jusqu à maintenant tous les programmes que nous avons conçus travaillaient sur des données qui étaient perdues après chaque session de travail. On peut cependant, c est bien naturel,

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

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

ARDUINO 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étail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

Plus en détail

Programmer 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) 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étail

Le système de gestion des fichiers, les entrées/sorties.

Le système de gestion des fichiers, les entrées/sorties. Le système de gestion des fichiers, les entrées/sorties. Luigi Santocanale Laboratoire d Informatique Fondamentale, Centre de Mathématiques et Informatique, 39, rue Joliot-Curie - F-13453 Marseille 19

Plus en détail

Premiers Pas en Programmation Objet : les Classes et les Objets

Premiers Pas en Programmation Objet : les Classes et les Objets Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.

Plus en détail

Chap III : Les tableaux

Chap 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étail

Travaux Pratiques : Lucène - Gestion d un index plein texte

Travaux Pratiques : Lucène - Gestion d un index plein texte Chapter 1 Travaux Pratiques : Lucène - Gestion d un index plein texte Pour ce TP, nous allons étudier l utilisation d un index de recherche textuel OpenSource : Lucene 1. Nous allons créer un projet en

Plus en détail

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

Codage 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étail

Le codage informatique

Le 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étail

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

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 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étail

Analyse de sécurité de logiciels système par typage statique

Analyse de sécurité de logiciels système par typage statique Contexte Modélisation Expérimentation Conclusion Analyse de sécurité de logiciels système par typage statique Application au noyau Linux Étienne Millon UPMC/LIP6 Airbus Group Innovations Sous la direction

Plus en détail

TP1. Outils Java Eléments de correction

TP1. Outils Java Eléments de correction c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par

Plus en détail

Programmation par les Objets en Java

Programmation par les Objets en Java Programmation par les Objets en Java Najib TOUNSI Les classes en Java (TD 3) I. Notion de classe I.1 Classe, champs, méthodes, instanciation, this, private vs. public. Créer une classe Point (coordonnée

Plus en détail

Certificat Big Data - Master MAthématiques

Certificat Big Data - Master MAthématiques 1 / 1 Certificat Big Data - Master MAthématiques Master 2 Auteur : Sylvain Lamprier UPMC Fouille de données et Medias Sociaux 2 / 1 Rich and big data: Millions d utilisateurs Millions de contenus Multimedia

Plus en détail

Représentation d un entier en base b

Repré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étail

Programmation système de commandes en C

Programmation système de commandes en C Programmation système de commandes en C Cours de Programmation système Tuyêt Trâm DANG NGOC Université de Cergy-Pontoise 2012 2013 Tuyêt Trâm DANG NGOC Programmation système de commandes

Plus en détail

Programmation client-serveur sockets - RPC

Programmation client-serveur sockets - RPC Master Informatique M Plan de la suite Programmation client-serveur sockets - RPC Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/people/krakowia

Plus en détail

Solutions du chapitre 4

Solutions 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

Licence 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étail

et se trouve popularisé rapidement pour ses possibilités de développement liés au Web. Les

et se trouve popularisé rapidement pour ses possibilités de développement liés au Web. Les Chapitre 3 Java, langage de développement objet 3.1 Présentation de Java 3.1.1 Objectifs Le langage Java a été développé afin de pouvoir générer des applications qui soient indépendantes des machines et

Plus en détail

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

Jeux 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étail

1 Description générale de VISFIELD

1 Description générale de VISFIELD Guide d utilisation du logiciel VISFIELD Yann FRAIGNEAU LIMSI-CNRS, Bâtiment 508, BP 133 F-91403 Orsay cedex, France 11 décembre 2012 1 Description générale de VISFIELD VISFIELD est un programme écrit

Plus en détail

Programmation Réseau SSH et TLS (aka SSL)

Programmation Réseau SSH et TLS (aka SSL) Programmation Réseau SSH et TLS (aka SSL) Jean-Baptiste.Yunes@liafa.jussieu.fr Coloriages: François Armand armand@informatique.univ-paris-diderot.fr UFR Informatique 2011-2012 Réseau et Sécurité Problèmes

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

Le 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 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étail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections

Plus en détail

Architecture des ordinateurs

Architecture 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étail

Cours 1 : Qu est-ce que la programmation?

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

Plus en détail

Rappels d architecture

Rappels 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étail

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET I. INTRODUCTION 1.1. HISTORIQUE 1991: Concepts Java pour Sun -conception d'un langage pour des appareils électroniques(code embarqué) -syntaxe proche du C++

Plus en détail

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

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

Plus en détail

PROGRAMMATION PAR OBJETS

PROGRAMMATION PAR OBJETS PROGRAMMATION PAR OBJETS Java Environnement et constructions spécifiques Walter Rudametkin Maître de Conférences Bureau F011 Walter.Rudametkin@polytech-lille.fr B. Carré Polytech Lille 2 Java (Sun 1995)

Plus en détail

Programmation avec des objets : Cours 7. Menu du jour

Programmation avec des objets : Cours 7. Menu du jour 1 Programmation avec des objets : Cours 7 Menu du jour 1. Retour sur la classe Liste 2. Précisions sur l interface 3. Difficultés dans le cas d erreurs 4. Soulever des exceptions 5. Utilisation des Listes

Plus en détail

Auto-évaluation Programmation en Java

Auto-évaluation Programmation en Java Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN

Plus en détail

Une version javascript sera disponible directement dans le cours prochainement.

Une 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étail

SYSTÈME DE GESTION DE FICHIERS

SYSTÈME DE GESTION DE FICHIERS SYSTÈME DE GESTION DE FICHIERS - DISQUE 1 Les couches logiciels réponse requête Requêtes E/S Système E/S Pilote E/S Interruptions utilisateur traitement S.E. commandes S.E. S.E. matériel Contrôleur E/S

Plus en détail

Algorithme. Table des matières

Algorithme. 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étail

Anne Tasso. Java. Le livre de. premier langage. 6 e édition. Groupe Eyrolles, 2000, 2002, 2005, 2006, 2008, 2010, ISBN : 978-2-212-12648-8

Anne Tasso. Java. Le livre de. premier langage. 6 e édition. Groupe Eyrolles, 2000, 2002, 2005, 2006, 2008, 2010, ISBN : 978-2-212-12648-8 Anne Tasso Java Le livre de premier langage 6 e édition Groupe Eyrolles, 2000, 2002, 2005, 2006, 2008, 2010, ISBN : 978-2-212-12648-8 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

Programmation Orientée Objet - Licence TIS CM8/9. Rappel sur la séance précédente. Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers.

Programmation Orientée Objet - Licence TIS CM8/9. Rappel sur la séance précédente. Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers. Programmation Orientée Objet - Licence TIS CM8/9 Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers.fr Poitiers, le 13/03/2006 Rappel sur la séance précédente La fois précédente, nous avons vu : 1 UML

Plus en détail

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011 Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique

Plus en détail

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE C.Crochepeyre MPS_SGF 2000-20001 Diapason 1 Les couches logiciels réponse SGF requête matériel matériel Requêtes E/S Système E/S Pilote E/S Interruptions Contrôleur

Plus en détail

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

La 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étail

Base 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) 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étail

Structure fonctionnelle d un SGBD

Structure fonctionnelle d un SGBD Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert

Plus en détail

Génie Logiciel I. Cours VI - Typage statique / dynamique, fonctions virtuelles et classes abstraites, flots d entrées / sorties, et string

Génie Logiciel I. Cours VI - Typage statique / dynamique, fonctions virtuelles et classes abstraites, flots d entrées / sorties, et string Génie Logiciel I Cours VI - Typage statique / dynamique, fonctions virtuelles et classes abstraites, flots d entrées / sorties, et string Nicolas Kielbasiewicz C.D.C.S.P./I.S.T.I.L./I.C.J. Filière M.A.M.

Plus en détail

Les structures. Chapitre 3

Les 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étail

Langage Java. Classe de première SI

Langage Java. Classe de première SI Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les

Plus en détail

Durée estimée :1 journée Date de la réalisation : 2011. Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ

Durée estimée :1 journée Date de la réalisation : 2011. Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ 001 Titre : Mesure de température interfacée par carte Arduino Type de réalisation : montage électronique, de surveillance de température Concepteur : C. Rouviere Coordonnées : Laboratoire lbv villefranche/mer

Plus en détail

Informatique Générale

Informatique 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étail

Chap17 - CORRECTİON DES EXERCİCES

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

Plus en détail

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne) Mémoire - espace destiné a recevoir, conserver et restituer des informations à traiter - tout composant électronique capable de stocker temporairement des données On distingue deux grandes catégories de

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