Introduction à la programmation en Java. Les chaînes de caractères et le codage. Les caractères. Ascii (Norme ISO 646 : 7 bits) COURS 9

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

Download "Introduction à la programmation en Java. Les chaînes de caractères et le codage. Les caractères. Ascii (Norme ISO 646 : 7 bits) COURS 9"

Transcription

1 Introduction à la programmation en Java Faculté des Sciences de Nice Licence Math-Info COURS 9 Les chaînes de caractères et le codage Module L1I1 Frédéric MALLET Jean-Paul ROY Les caractères Ascii (Norme ISO 646 : 7 bits) Lettre alphabet, chiffres, ponctuation, contrôle Code Ascii (7 bits + 1 bit de parité) American Standard Code for Information Interchange permet 128 combinaisons différentes : 2 7 Un code est associé à chaque caractère Exemples : Le caractère 'A' est codé 65 : 0x41 Le caractère '0' est codé 48 : 0x30 Le code 97 correspond au caractère 'a' Le code 10 correspond au retour à la ligne 9-3 American Standard Code for Information Interchange 'G' est codé 47h soit

2 Les caractères (codés sur 8 bits) Code iso-latin-1 (8 bits) Code EBCDIC Extended Binary Coded Decimal Interchange Code Utilisé principalement par IBM Code Ansi American National Standard Institute De 0 à 127 : Code Ascii inchangé De 128 à 255 : extensions multilingues Connu sous les noms ISO-latin-1, ISO Pas suffisant pour toutes les langues Kanji du japonais, alphabets cyrillique, hébreu, arabe, 'G' est codé 47h soit Le type char de Java et l'unicode Code les caractères sur 16 bits (2 octets) Les caractères les plus utilisés sont codés sur 8 bits (code ASCII) Les autres caractères sont codés sur 16 bits En Java, L'apostrophe différentie les caractères et les variables '\uxxxx' représente le caractère d'unicode XXXX Exemples : char c; c = 'a'; // la variable c devient égale à 'a' c = '\u00e9'; // affectée au caractère d'unicode 00e9 : é 9-7 Conversion char int Pour obtenir l Unicode d un caractère char c ; int code ; code = (int)c; Pour connaître le caractère associé à un Unicode c = '\u0061'; // caractère d unicode 0x61 : 'a' code = 65; c = (char)code; // caractère d unicode 0x65 : 'e' code = 0x20AC; c = (char)code; // caractère d unicode 0x20AC : ' ' Le transtypage est permis car char est isomorphe à int 9-8

3 L opérateur + et les caractères Les opérateurs de comparaison On a déjà vu que l opérateur + a plusieurs significations suivant le type des opérandes Addition sur les nombres Concaténation sur les chaînes de caractères Pour les caractères : 'a'+2, 'a'+'b'? Le caractère est remplacé par son code unicode (1 entier int) 'a'+2 99 (car 'a' a le code 97) 'a'+'b' 195 (car 'b' a le code 98) Que vaut 'c'-'a'? Que vaut 'A'+2? Que vaut 'c'-'a'+'a'? 2 Le code de 'C' Le code de 'C' 9-9 L égalité : opérateurs == et!= La comparaison : opérateurs >, >=, < et <= Ces opérateurs fonctionnent sur les int Lorsqu ils sont utilisés avec des caractères, le caractère est remplacé par son code Unicode Exemple : 'a' == 97 true 'C' > 'A' true 97 < 'z' true Comment faire pour savoir si un caractère représente une minuscule? Une majuscule? 9-10 La classe Character Notes personnelles Le caractère c est-il une majuscule? c>='a' && c<='z' Ça marche pour les 26 lettres standards Et pour les caractères spéciaux : Ç, É,? La classe Character propose des méthodes statiques qui rendent indépendant du jeu de caractères : Character.isUpperCase('\u00C7') true Ç Character.isLowerCase('a') true Character.isLetter('$') false Character.isDigit('8') true

4 La classe String Les chaînes de caractères 9-13 La classe String C est une collection ordonnée de caractères (char) Le premier caractère a l indice 0 L implémentation exacte n est pas connue Les méthodes couramment utilisées int length() // la longueur de la chaîne char charat(int i) // caractère d indice i int indexof(char c) // position du caractère c (ou 1) int indexof(string ch) // position de ch (ou -1) String tolowercase() // nouvelle chaîne avec le même // contenu tout en minuscule String touppercase() // nouvelle chaîne avec le même // contenu tout en majuscule 9-14 Les String sont inaltérables String char[ ] String Aucune méthode ne permet de modifier le contenu d une chaîne de caractères pas de setcharat(char c, int i) On peut y arriver par concaténation de sous-chaînes String s ; s = s.substring(0,i) + c + s.substring(i); s.substring(a, b) extrait une sous-chaîne de s du caractère d indice a au caractère d indice b-1 Les méthodes touppercase, tolowercase, replace qui semblent modifier les chaînes construisent en réalité un nouvel objet à chaque fois Pour modifier une chaîne de caractères, il est plus efficace de la transformer en tableau de caractères char[] tochararray() de la classe String Exemple : String s; char[] tab = s.tochararray(); tab[i] = 'c'; Après les modifications, on peut construire un nouveau String à partir du tableau de caractères char[] data = { 'a', 'b', 'c', 'd', 'e' ; s = new String(data); s = new String(data, 1, 3); s devient "abcde" s devient "bcd" 9-16

5 Exemple La méthode replace() /** Remplacer dans une chaîne toutes les occurrences du caractère cold par le * caractère cnew. s la chaîne à modifier cold le caractère à remplacer cnew le caractère par lequel on remplace une nouvelle chaîne modifiée */ static String replace(string s, char cold, char cnew) { char[] tmp; tmp = s.tochararray(); for(int i=0; i < tmp.length; i+=1) if(tmp[i] == cold) tmp[i] = cnew ; return new String(tmp); 9-17 Attention RAPPEL : Les tableaux ont une taille constante déterminée à la construction Passer par un tableau de char est très pratique mais ne permet de faire que des transformations à taille constante Pour faire des modifications à taille variable, il FAUT créer un autre tableau et recopier tous les caractères { char[] t1 = s.tochararray(); char[] t2 = new char[t1.length+2];//(par exemple) for(int i=0; i<t1.length; i+=1) t2[i]=t1[i]; return new String(t2); 9-18 Une méthode concat() Notes personnelles /** concatène les chaînes passées en paramètre dans un tableau tableau chaînes à concaténer chaîne composée de chaque mot de tableau * séparés par un espace */ static String concat(string[] tableau) { String res = ""; // chaîne vide for(int i = 0; i < tableau.length; i+=1) { res += tableau[i] ; res += ' '; return res;

6 res = res + tableau[i] : complexité? Les String sont inaltérables : il faut recréer une nouvelle chaîne à chaque tour de boucle char[] restmp ; // quelle est la longueur du résultat? // res.length() + tableau[i].length() restmp = new char[res.length() + tableau[i].length()]; // copie de l ancien res dans restmp for(int i=0; i<res.length(); i+=1) restmp[i] = res.charat(i); // copie de tableau[i] à la suite O( tableau[i].length() ) for(int j=0; j<tableau[i].length(); j+=1) restmp[res.length() + j] = tableau[i].charat(j); res = new String(resTmp); O( res.length() + tableau[i].length() ) O( res.length() ) // construit le résultat 9-21 concat() : une autre version /** concatène les chaînes passées en paramètre dans un tableau tableau chaînes à concaténer chaîne composée de chaque mot de tableau * séparés par un espace */ static String concat(string[] tableau) { char[] res = new char[100]; // 100 caractères au plus int indres = 0; // position dans le résultat for(int i = 0; i < tableau.length; i+=1) { for(int j=0; j < tableau[i].length; j+=1) { res[indres] = tableau[i].charat(j); indres += 1; res[indres] = ' '; // ajoute un espace entre les mots indres += 1; return new String(res, 0, indres); 9-22 Si le tampon res est suffisamment grand, il suffit de copier tous les caractères de tableau[i] à la suite Pas de réallocation On peut toujours faire un premier tour pour calculer la longueur totale du résultat Sinon, il faudrait agrandir la taille de res et recopier tout ce qui a déjà été fait 9-23 Bilan sur la boucle complète Avec la concaténation '+' Premier tour : O( 0 + tableau[0].length() ) = c 0 Deuxième tour : O (c 0 + tableau[1].length() ) = c 1 Troisième tour : O (c 1 + tableau[1].length() ) = c 2 Au total : c 0 + c 1 + c c n = t 0 + (t 0 +t 1 ) + (t 0 +t 1 +t 2 ) + (t 0 +t 1 +t 2 +t 3 ) + Avec un tableau de char Dans le pire des cas : idem Dans le meilleur des cas, au total: t 0 + t 1 + t 2 + t t n Il suffit que le tampon soit suffisamment grand pour atteindre le meilleur des cas 9-24

7 Application codage de César On veut réaliser une classe qui permet le codage et le décodage de chaînes de caractères pas lisible par tout le monde Notre algorithme de codage consiste à utiliser une clé privée : un entier nommé clé Cette clé est choisie par le codeur Seul l objet de codage la connaît Chaque objet de codage peut avoir une clé différente Démonstration Algorithme de codage Chaque caractère majuscule de la chaîne d origine est remplacé par le caractère suivant dans l alphabet 'A' est remplacé par 'B',, 'Z' est remplacé par 'A' En fait la distance entre le caractère codé et le caractère original est déterminé par la clé : ici la clé vaut 1 Si la clé vaut 2: 'A' est remplacé par 'C', La méthode code String code(string chaine) { char[] buf = chaine.tochararray(); // pour chaque caractère for(int i=0; i<chaine.length(); i+=1) buf[i] = this.codechar(buf[i]); return new String(buf); Notes personnelles

8 Le décodage Il suffit de décaler dans l autre sens /** décode une chaîne suivant le code de César chaîne à décoder */ String decode(string chaine) { char[] buf = chaine.tochararray(); // pour chaque caractère for(int i=0; i<chaine.length(); i+=1) { buf[i] = this.decodechar(buf[i]); return new String(buf); 9-29 Le codage de chaque caractère c Calculer la position dans l alphabet Décaler de clé [c n est pas une majuscule] [c est une majuscule] S assurer que c est toujours une lettre codechar(char) c c est inchangé 9-30 La méthode codechar() La méthode decodechar() char codechar(char c) { if (Character.isUpperCase(c)) { // calcule la position dans l alphabet // (à partir de la fin : pos>=0) int pos = c - 'A'; // décale de clé position sur la droite pos = pos + this.cle ; // s assure qu on ne déborde pas pos = pos % 26 ; c = (char)('a' + pos) ; return c; 9-31 char decodechar(char c) { if (Character.isUpperCase(c)) { // calcule la position dans l alphabet // (à partir de la fin : pos>=0) int pos = 'Z' - c; // décale de clé position sur la gauche pos = pos + this.cle ; // s assure qu on ne déborde pas pos = pos % 26 ; c = (char)('z'- pos) ; return c; 9-32

9 code() et codechar() La méthode code : Codeur. String String La méthode codechar : Codeur. char char Surcharge : On a le droit d utiliser l identificateur code pour nommer les deux méthodes On dit qu on surcharge la méthode code() char code(char c) { if (Character.isUpperCase(c)) { // calcule la position dans l alphabet int pos = ((c-'a') + this.cle) % 26; c = (char)('a' + pos) ; return c; Résoudre la surcharge Comment faire la différence entre code(string) et code(char)? Dans BlueJ : Il suffit de choisir la bonne! Lors de l écriture de code Java (exemple code(string)) L ambiguïté est levée par le type et le nombre des arguments String code(string chaine) { char[] buf = chaine.tochararray(); for(int i=0; i<chaine.length(); i+=1) buf[i] = this.code(buf[i])); return new String(buf); buf[i] est de type char, on n utilise donc la méthode code avec UN 9-33 paramètre de type char 9-34 Codage par substitution Avec un ordinateur moderne, on peut facilement essayer toutes les clés pour trouver décoder un message Le codage par substitution utilise une chaîne de 26 caractères comme clé privée Chaque lettre de la clé correspond à une lettre de l alphabet Exemple : clé = "LEZBUOITAVDMNPHYRCFGJKQSWX"; Tous les 'A' sont substitués par 'L', tous les 'B' par 'E', etc. Ainsi, "BONJOUR" est codé "EHPVHJC" Il y a 26! clés possibles Notes personnelles On utilise les statistiques pour casser ce code!

10 Codage par substitution - décodage Pour décoder, on cherche la position de chaque caractère dans la clé pour déduire la lettre originale Exemple : clé = "LEZBUOITAVDMNPHYRCFGJKQSWX"; On veut décoder "EHPVHJC" Le 'E' est en deuxième position dans la clé, il correspond donc à la lettre 'B' Le 'C' est en position 18 dans la clé, il correspond à la lettre 'R' En Java : On utilise la méthode indexof(char) de la classe String pour trouver la position d un caractère dans la clé! 9-37 Codage de Vigenère La clé privée est une chaîne de caractères Chaque caractère de la clé sert de clé de «César» Exemple : clé = "ZYGOMATIQUE" 'Z' les lettres 1, 12, 23, 34 sont décalées de 25 ('Z' - 'A') 'Y' les lettres 2, 13, 24, 35 sont décalées de 24 ('Y' - 'A') 'G' les lettres 3, 14, 25, 36 sont décalées de 6 ('G' - 'A') 'O' les lettres 4, 15, 26, 37 sont décalées de 14 ('O' - 'A') "LE RIRE EST LE PROPRE DE L HOMME" devient "KC FURX UMX JK BRHXHY CC Z HHUCY" 9-38 Codage de Vigenère - décodage Comme pour le codage de César, pour décoder, il suffit de décaler dans l autre sens en utilisant la clé privée Combien y a-t-il de clés possibles? Table de codage ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ A ABCDEFGHIJKLMNOPQRSTUVWXYZ N NOPQRSTUVWXYZABCDEFGHIJKLM B BCDEFGHIJKLMNOPQRSTUVWXYZA O OPQRSTUVWXYZABCDEFGHIJKLMN C CDEFGHIJKLMNOPQRSTUVWXYZAB P PQRSTUVWXYZABCDEFGHIJKLMNO D DEFGHIJKLMNOPQRSTUVWXYZABC Q QRSTUVWXYZABCDEFGHIJKLMNOP E EFGHIJKLMNOPQRSTUVWXYZABCD R RSTUVWXYZABCDEFGHIJKLMNOPQ F FGHIJKLMNOPQRSTUVWXYZABCDE S STUVWXYZABCDEFGHIJKLMNOPQR G GHIJKLMNOPQRSTUVWXYZABCDEF T TUVWXYZABCDEFGHIJKLMNOPQRS H HIJKLMNOPQRSTUVWXYZABCDEFG U UVWXYZABCDEFGHIJKLMNOPQRST I IJKLMNOPQRSTUVWXYZABCDEFGH V VWXYZABCDEFGHIJKLMNOPQRSTU J JKLMNOPQRSTUVWXYZABCDEFGHI W WXYZABCDEFGHIJKLMNOPQRSTUV K KLMNOPQRSTUVWXYZABCDEFGHIJ X XYZABCDEFGHIJKLMNOPQRSTUVW L LMNOPQRSTUVWXYZABCDEFGHIJK Y YZABCDEFGHIJKLMNOPQRSTUVWX M MNOPQRSTUVWXYZABCDEFGHIJKL Z ZABCDEFGHIJKLMNOPQRSTUVWXY 9-39 Remarque sur ces codages On peut étendre l algorithme aux caractères Ascii ou même aux caractères unicode Si le pirate dispose de l algorithme de codage, le code est plus vulnérable Exemple : Algorithme de Vigenère Je code "AAAAAAA" avec la clé privée "ROUGE" On obtient "ROUGERO" 9-40

Utilisation d objets : String et ArrayList

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

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

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

Plus en détail

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

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

Logiciel de Base. I. Représentation des nombres

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

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

1 Introduction au codage

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

Plus en détail

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

Exercices sur les interfaces

Exercices sur les interfaces Exercices sur les interfaces Fabrice Rossi 18 octobre 1999 1 Le type Object 1.1 Manipulations élémentaires Exercice 1.1 : Indiquer l affichage produit par le programme suivant : public class UpCast1 {

Plus en détail

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez

Plus en dé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

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

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

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com Partie 1 Professeur : Haouati Abdelali CPGE Lycée Omar Ibn Lkhattab - Meknès www.haouati.com haouaticpge@gmail.com Partie I : Généralités et algorithmique de base 1. Environnement matériel et logiciel

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

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

Représentation des Nombres

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

Plus en détail

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

Conversion d un entier. Méthode par soustraction

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

CHRONIQUE de la société royale LE VIEUX-LIÈGE

CHRONIQUE de la société royale LE VIEUX-LIÈGE N o 325 (Tome V, N o 23) PUBLICATION TRIMESTRIELLE Juillet Septembre 2005. CHRONIQUE de la société royale Association sans but lucratif Sites et monuments Siège social : rue Hors-Château, 65, B-4000 LIÈGE

Plus en détail

Les opérations binaires

Les opérations binaires Les opérations binaires Compétences associées A2 : Analyser et interpréter une information numérique Objectifs Etre capable: - De coder les nombres entiers en code complément à 2. - De résoudre les opérations

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

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

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en dé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

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

Programmation en Java IUT GEII (MC-II1) 1

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

Les chaînes de caractères

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

TP 1. Prise en main du langage Python

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

Une introduction à Java

Une introduction à Java Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)

Plus en détail

1 Recherche en table par balayage

1 Recherche en table par balayage 1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément

Plus en détail

Recherche dans un tableau

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

Licence Sciences et Technologies Examen janvier 2010

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

PROJET ALGORITHMIQUE ET PROGRAMMATION II

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

Corrigé des exercices sur les références

Corrigé des exercices sur les références Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile

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

IV- Comment fonctionne un ordinateur?

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

Plus en détail

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

Architecture de l ordinateur

Architecture de l ordinateur Architecture de l ordinateur Emmanuel Lazard Université Paris-Dauphine mars 2011 Computers are my forte! BRAZIL (Terry Gilliam, 1985) Ce document a initialement été publié sous forme de livre : Emmanuel

Plus en détail

Tp 1 correction. Structures de données (IF2)

Tp 1 correction. Structures de données (IF2) Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que

Plus en détail

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

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

Plus en détail

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

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

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

Plus en détail

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

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

DM 1 : Montre Autoquartz ETA

DM 1 : Montre Autoquartz ETA Lycée Masséna DM 1 : Montre Autoquartz ETA 1 Présentation de la montre L essor de l électronique nomade s accompagne d un besoin accru de sources d énergies miniaturisées. Les contraintes imposées à ces

Plus en détail

Chapitre V. Les classes : Object, Vector, etc.

Chapitre V. Les classes : Object, Vector, etc. Chapitre V Les classes de base Les classes : Object, Vector, etc. Plan La classe Object Les collections La classe ArrayList La classe Vector Les classes Wrappers Les classes String et StringBuffer La classe

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

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

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

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en dé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

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

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

Algorithmique et programmation : les bases (VBA) Corrigé

Algorithmique et programmation : les bases (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi

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

Programmation Orientée Objet Java

Programmation Orientée Objet Java Programmation Orientée Objet Java Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 12 novembre 2014 Bertrand Estellon (DII AMU) Programmation Orientée Objet Java 12 novembre

Plus en détail

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique DOMAINE P3.C3.D1. Pratiquer une démarche scientifique et technologique, résoudre des

Plus en détail

Chapitre 10. Les interfaces Comparable et Comparator 1

Chapitre 10. Les interfaces Comparable et Comparator 1 Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],

Plus en détail

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5 UNIVERISTE MOHAMMED PREMIER Faculté des Sciences d Oujda Oujda - Maroc Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5 Pr. El Mostafa DAOUDI Département de Mathématiques

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

2 Comment fonctionne un ordinateur, dans les grandes lignes

2 Comment fonctionne un ordinateur, dans les grandes lignes Programmation 1 Cours n 1 GB3, 2 nd semestre 2014-2015 Cours de Python Gilles Bernot Les notes de cours et les feuilles de TD sont disponibles (avec un peu de retard par rapport au déroulement du cours)

Plus en détail

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) CLASSE RACINE Object ancêtre de toutes les classes RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) définit donc des méthodes héritées par toutes

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

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

INF 321 : mémento de la syntaxe de Java

INF 321 : mémento de la syntaxe de Java INF 321 : mémento de la syntaxe de Java Table des matières 1 La structure générale d un programme 3 2 Les composants élémentaires de Java 3 2.1 Les identificateurs.................................. 3 2.2

Plus en détail

Cours de Programmation Impérative: Zones de mémoires et pointeurs

Cours de Programmation Impérative: Zones de mémoires et pointeurs Cours de Programmation Impérative: Zones de mémoires et pointeurs Julien David A101 - david@lipn.univ-paris13.fr Julien David (A101 - david@lipn.univ-paris13.fr) 1 / 1 Z`o n`e s `d`e m`é m`o i r`e Julien

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

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

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

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

Plus en détail

Programme Compte bancaire (code)

Programme Compte bancaire (code) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; Programme Compte bancaire (code) namespace compte_bancaire /// Classe Program public

Plus en détail

NOTICE TELESERVICES : Créer mon compte personnel

NOTICE TELESERVICES : Créer mon compte personnel NOTICE TELESERVICES : Créer mon compte personnel Sommaire Sommaire... 1 Objet de la notice... 1 A qui s adresse cette notice?... 1 Pré-requis... 1 Le guide pas à pas pour créer votre compte personnel...

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

clavier espagnol Figure 1 - deux types de claviers AZERTY ou QWERTY

clavier espagnol Figure 1 - deux types de claviers AZERTY ou QWERTY Clavier (Keyboard) Résumé : Le clavier reste le périphérique d entrée fondamental de l ordinateur car il permet d introduire des caractères de façon simple. La maîtrise de son utilisation demeure donc

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

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

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

# 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>

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

Plus en détail

Démonstration d utilisation De NesmaCom

Démonstration d utilisation De NesmaCom Démonstration d utilisation De NesmaCom Envoi : SMS Marketing - 1 - Démonstration : NesmaCom I. Connexion à NesmaCom Entrer votre Email et votre mot de passe pour accéder à votre compte sur notre solution

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

Activité 1. Compter les points Écriture binaire des nombres. Résumé. Liens pédagogiques. Compétences. Âge. Matériel

Activité 1. Compter les points Écriture binaire des nombres. Résumé. Liens pédagogiques. Compétences. Âge. Matériel Activité 1 Compter les points Écriture binaire des nombres Résumé Les données de l ordinateur sont stockées et transmises sous la forme d une série de 0 et de 1. Comment peut-on représenter des mots et

Plus en détail

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

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

Plus en détail

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

Objets et Programmation. origine des langages orientés-objet

Objets et Programmation. origine des langages orientés-objet Objets et Programmation origine des langages orientés-objet modularité, encapsulation objets, classes, messages exemples en Java héritage, liaison dynamique G. Falquet, Th. Estier CUI Université de Genève

Plus en détail

Java c est quoi? Java pourquoi?

Java c est quoi? Java pourquoi? Grandes lignes du cours Cours JAVA : Le bases du langage Java. Version 3.02 Julien Sopena 1 1 julien.sopena@lip6.fr Équipe REGAL - INRIA Rocquencourt LIP6 - Université Pierre et Marie Curie Licence professionnelle

Plus en détail

SNT4U16 - Initiation à la programmation 2014-2015. TD - Dynamique de POP III - Fichiers sources

SNT4U16 - Initiation à la programmation 2014-2015. TD - Dynamique de POP III - Fichiers sources SNT4U16 - Initiation à la programmation Licence SVT 2 ème année 2014-2015 TD - Dynamique de POP III - Fichiers sources contacts : mathias.gauduchon@univ-amu.fr, melika.baklouti@univ-amu.fr, xavier.giraud@univ-amu.fr,

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

UE C avancé cours 1: introduction et révisions

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

Cours 1: Java et les objets

Cours 1: Java et les objets Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/

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

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan Cours de C++ François Laroussinie Dept. d Informatique, ENS de Cachan 2 novembre 2005 Première partie I Introduction Introduction Introduction Algorithme et programmation Algorithme: méthode pour résoudre

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

Chapitre 1 : La gestion dynamique de la mémoire

Chapitre 1 : La gestion dynamique de la mémoire Chapitre 1 : La gestion dynamique de la mémoire En langage C un programme comporte trois types de données : Statiques; Automatiques ; Dynamiques. Les données statiques occupent un emplacement parfaitement

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

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 d Informatique

Cours d Informatique Cours d Informatique 1ère année SM/SMI 2007/2008, Info 2 Département de Mathématiques et d Informatique, Université Mohammed V elbenani@hotmail.com sayah@fsr.ac.ma 2007/2008 Info2, 1ère année SM/SMI 1

Plus en détail