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

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

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

Transcription

1 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 notation, place une paire de crochet par dimension du tableaujusteaprèsuntype: int[] untableau; double[][] untableaubidimensionnel; Lasecondedéclarationplacela(oules)paire(s)decrochetsaprèslenomdela variable liée. int untableau[]; double untableaubidimensionnel[][]; Construction des tableaux La construction se fait en utilisant l opérateur new suividutypededonnéecontenuesdansletableaupuisdelataillevouluepour chaque dimensions entre crochets. untableau = new int[10]; untableaubidimensionnel = new double[5][23]; Les tableaux peuvent aussi être construit en plusieurs étapes. Les dimensions doivent être spécifiées de la gauche vers la droite. Chaque sous tableau est alors un tableau de dimension inférieure. L exemple ci dessous présente la construction d un tableau bidimensionnel triangulaire: src/tableaubidim.java Chaque ligne est expliquée ci dessous: Le tableau donnees est déclaré bidimensionnel. Le tableau est partiellement construit, seule la première dimension est fixée à 10. tableau[i] est un tableau mono-dimensionnel(dimension 2 1) dont la taille n est pour l instant pas fixée. La boucle crée un tableau mono-dimensionnel pour chaque tableau[i] dont la taille vaut [i+1] Deux affectations sont ensuite effectuées. Le tableau obtenu est donc triangulaire composé de 1 élément sur la première ligne, 2surladeuxième,... Tableaux contenant des objets Les tableaux peuvent aussi contenir des objets. Ladéclarationdutableauxestlamême,untype(danscecasuneclasse)suivitdu 1

2 nomdutableau: String untableau[]; String untableaubidimensionnel[][]; Laconstructiondutableaufaitappelaumotclé newsuivitdunomdelaclasse et de(ou des) paire(s) de crochets contenant les dimensions. untableau = new String[10]; untableaubidimensionnel = new String[5][23]; A la suite de la construction du tableau, les éléments contenus doivent être crées un à un, souvent à l aide d une boucle. L exemple suivant présente la construction d un tableau de chaîne de caractères: String tab[]; tab = new String[10]; for (int i = 0; i < 10; i++) { tab[i] = new String(); Remarque Souvent, la déclaration et la construction du tableau sont faites en uneseuleligne: int untableau[] = new int[10]; double untableaubidimensionnel[][] = new double[5][23] 1.2 Initialisation aléatoire d une matrice Écrivez unprogramme quiinitialise unematricedetaille10 par5avecdes valeurs aléatoires comprises entre 0 et 10. Correction: import java.util.random; public class InitialisationAleatoire { public static void main(string[] args) { int[][] matrice = new int[5][10]; Random gen = new Random(); // Remplissage de la matrice for (int i = 0; i < matrice.length; i++) { for (int j = 0; j < matrice[0].length; j++) { matrice[i][j] = gen.nextint(10); // Affichage de la matrice for (int i = 0; i < matrice.length; i++) { 2

3 for (int j = 0; j < matrice[0].length; j++) { System.out.print(matrice[i][j]+" " ); System.out.println(); 1.3 Somme de matrices A partir du programme précédent, écrivez un programme qui calcule la somme de deux matrices remplies aléatoirement. Correction: import java.util.random; public class SommeMatrices { public static void main(string[] args) { int[][] matrice1 = new int[5][10]; int[][] matrice2 = new int[5][10]; int[][] somme = new int[5][10]; Random gen = new Random(); // Remplissage de la matrice for (int i = 0; i < matrice1.length; i++) { for (int j = 0; j < matrice1[0].length; j++) { matrice1[i][j] = gen.nextint(10); matrice2[i][j] = gen.nextint(10); // Calcul de la somme for (int i = 0; i < matrice1.length; i++) { for (int j = 0; j < matrice1[0].length; j++) { somme[i][j] = matrice1[i][j] + matrice2[i][j] ; // Affichage du resultat for (int i = 0; i < somme.length; i++) { for (int j = 0; j < somme[0].length; j++) { System.out.print(somme[i][j]+" " ); System.out.println(); 3

4 1.4 Produit de matrices Écrivez un programme qui initialise aléatoirement deux matrices, l une de 5 3 et l autre de 3 5 éléments. A partir du programme précédent, écrivez un programme qui calcule le produit des deux matrices. Correction: import java.util.random; public class ProduitMatrices { public static void main(string[] args) { int[][] matrice1 = new int[5][3]; int[][] matrice2 = new int[3][5]; int[][] produit = new int[5][5]; Random gen = new Random(); // Remplissage de la matrice for (int i = 0; i < matrice1.length; i++) { for (int j = 0; j < matrice1[0].length; j++) { matrice1[i][j] = gen.nextint(10); matrice2[j][i] = gen.nextint(10); // Calcul du produit for (int ligne = 0; ligne < matrice1.length ; ligne++) { for (int colonne = 0; colonne < matrice2[0].length; colonne++) { produit[ligne][colonne] = 0 ; for (int m = 0; m < matrice1[0].length; m++) { produit[ligne][colonne] = produit[ligne][colonne] + ( matrice1[ligne][m] matrice2[m][colonne]); // Affichage du resultat for (int i = 0; i < produit.length; i++) { for (int j = 0; j < produit[0].length; j++) { System.out.print(produit[i][j]+" " ); System.out.println(); 4

5 1.5 Classematrice Vous allez construire une classe Matrice dont le schéma UML est présenté dans la figure ci dessous. Matrice - données:entier[][] +Matrice() + Matrice(Matrice unematrice) + Matrice(entier[][] untableau) + Matrice(entier nblignes,entier nbcolonnes) +getnombrelignes():entier + getnombrecolonnes(): entier + getdonnées(entier ligne,entier colonne): entier + setdonnées(entier ligne, entier colonne, entier unevaleur): + RemplirMatriceAléatoirement(): +AfficherMatrice(): + CalculSomme(Matrice unematrice): Matrice + CalculProduit(Matrice unematrice): Matrice + CalculDeterminant(): entier FIG.1 SchémaUMLdelaclasse Matrice Attributs La classe matrice a un seul attribut, un tableau bidimensionnel qui contient les valeurs de la matrice Méthodes Les constructeurs La classe comporte quatre constructeurs: le premier constructeur ne reçoit aucun paramètre, il est vide. le second constructeur reçoit une matrice en paramètre et en construit une copie. le troisième constructeur reçoit un tableau d entiers et construit une matrice à partir des valeurs contenues dans le tableau. le quatrième constructeur construit une matrice à partir du nombre de lignes et du nombre de colonnes passés en paramètre. 5

6 La méthode d affichage La méthode AfficherMatrice permet d afficher le contenu de la matrice en utilisant System.out.print et System.out.println et de tabulation(\t). La méthode de remplissage La méthode RemplirMatriceAleatoirement permet de remplir aléatoirement une matrice avec des valeurs comprises entre 0 et 9 (inclus). Les assesseurs Les attributs sont privés. Les données doivent donc être lues ou modifiéesenpassantpardesméthodes 1.Deuxméthodespermettentdedéterminer lesdimensionsdelamatrice: la méthode getnombrelignes renvoie le nombre de lignes contenues dans la matrice de même, la méthode getnombrecolonnes renvoie le nombre de colonnes contenues dans la matrice. Deux méthodes permettent de lire/écrire les données contenues dans la matrice: getvaleur renvoie la valeur contenue aux coordonnées passées en arguments d appel La méthode setvaleur permet de placer une valeur dans la matrice(la valeur et les coordonnées sont passées par les arguments d appel). Ces deux méthodes vérifient que les coordonnées sont valides avant d effectuer une opération de lecture ou d écriture. Méthodes arithmétiques Deux méthodes permettent d opérer des calculs arithmétiques sur des matrices. Ces deux méthodes reçoivent une matrice en paramètre et renvoie une nouvelle matrice construite à partir de la matrice considérée(référencée par this) et celle passée en paramètres. CalculSomme renvoie la somme CalculProduit renvoie le produit Silescalculsnesontpaspossibles(taillesdesmatricesnoncompatibles,...) ces méthodes renvoient null Calcul du déterminant La méthode CalculDeterminant permet de calculer le déterminant d une matrice. Une méthode relativement facile à programmer est le calcul récursif. silamatriceaunetaillede 1 1,ledéterminantestlavaleurcontenuedans la matrice, sinon, on calcul le déterminant de manière récursive. Exemplepourunematrice 3 3 a 0,0 a 0,1 a 0,2 A = a 1,0 a 1,1 a 1,2 a 2,0 a 2,1 a 2,2 Le déterminant se calcul de la manière suivante: 1 Lesméthodespermettantd accéderàdesdonnéesprivéessontdesassesseurs 6

7 ( ) ( ) ( ) a1,1 a det A = a 0,0.det 1,2 a1,0 a a a 2,1 a 0,1.det 1,2 a1,1 a + a 2,2 a 2,0 a 0,2.det 1,2 2,2 a 2,1 a 2,2... puis ( ) a1,1 a det 1,2 = a a 2,1 a 1,1.det ( ) a 2,2 a1,2 det ( ) a 2,1 2,2 Correction: import java.util.random; public class Matrice { Les donnees contenues dans la matrice public int[][] donnees; Constructeur de base public Matrice() { Construction d une matrice a partir de ses nblignes le nombre de nbcolonnes le nombre de colonnes public Matrice (int nblignes, int nbcolonnes){ if ( (nblignes!= 0) && (nbcolonnes!= 0) ){ this.donnees = new int[nblignes][nbcolonnes]; Construction d une matrice a partir d un untableau les donnees sources public Matrice (int[][] untableau){ if ( (untableau.length!= 0) && (untableau[0].length!= 0) ){ 7

8 this.donnees = new int[untableau.length][untableau[0].length]; for (int i = 0; i < untableau.length; i++) { for (int j = 0; j < untableau[0].length; j++) { this.donnees[i][j] = untableau[i][j]; Construit une matrice en copiant une matrice unematrice la matrice source public Matrice (Matrice unematrice){ this.donnees = new int[unematrice.donnees.length][unematrice.donnees[0].length]; for (int i = 0; i < donnees.length; i++) { for (int j = 0; j < donnees[0].length; j++) { this.donnees[i][j] = unematrice.donnees[i][j]; Renvoie le nombre de lignes composant la le nombre de lignes public int getnombrelignes(){ return this.donnees.length; Renvoie le nombre de colonnes composant la le nombre de colonne public int getnombrecolonnes(){ return this.donnees[0].length; Permet de lire un element de la ligne l abcisse de la cellule voulue 8

9 @param colonne l ordonnee de la cellule la valeur de cet element public int getdonnees(int ligne, int colonne) { if( (ligne<this.donnees.length) && (colonne<this.donnees[0].length) ){ return this.donnees[ligne][colonne]; else{ return 0; Permet d ecrire un element dans la ligne l abcisse de la cellule colonne l ordonnee de la cellule unevaleur la valeur a ecrire public void setdonnees(int ligne, int colonne, int unevaleur) { if( (ligne<this.donnees.length) && (colonne<this.donnees[0].length) ){ this.donnees[ligne][colonne] = unevaleur; Remplissage aleatoire de la matrice avec des valeurs comprises en 0 et 9 public void RemplirMatriceAleatoirement(){ Random generateuraleatoire = new Random(); for (int i = 0; i < this.donnees.length; i++) { for (int j = 0; j < this.donnees[0].length; j++) { this.donnees[i][j] = generateuraleatoire.nextint(10); Affiche le contenu de la matrice public void AfficherMatrice(){ for (int i = 0; i < this.donnees.length; i++) { for (int j = 0; j < this.donnees[0].length; j++) { System.out.print("\t"+this.donnees[i][j]); 9

10 System.out.println(); Calcul la somme de la matrice actuelle avec la matrice passee en unematrice la matrice a la somme matricielle public Matrice CalculSomme(Matrice unematrice){ Matrice Somme = null; if( (this.donnees.length == unematrice.donnees.length) && (this.donnees[0].length == unematrice.donnees[0].length) ){ Somme = new Matrice (this.donnees.length,this.donnees[0].length); for (int ligne = 0; ligne < this.donnees.length ; ligne++) { for (int colonne = 0; colonne < this.donnees[0].length; colonne++) { Somme.donnees[ligne][colonne] = this.donnees[ligne][colonne] + unematrice.donnees[ligne][colonne]; return Somme; Calcul le produit de la matrice actuelle avec la matrice passee en unematrice la matrice a le produit matriciel public Matrice CalculProduit(Matrice unematrice){ Matrice Produit = null; if( (this.donnees.length == unematrice.donnees[0].length) && (this.donnees[0].length == unematrice.donnees.length) ){ Produit = new Matrice(this.donnees.length,uneMatrice.donnees[0].length); 10

11 for (int ligne = 0; ligne < this.donnees.length ; ligne++) { for (int colonne = 0; colonne < unematrice.donnees[0].length; colonne++) { Produit.donnees[ligne][colonne] = 0 ; for (int m = 0; m < this.donnees[0].length; m++) { Produit.donnees[ligne][colonne] = Produit.donnees[ligne][colonne] + ( this.donnees[ligne][m] unematrice.donnees[m][colonne]); return Produit; Calcul le determinant de la matrice de maniere le determinant de la matrice public int CalculerDeterminant(){ int det = 0; if ( this.donnees.length == this.donnees[0].length ){ if ( (this.donnees.length == 1 ) && (this.donnees[0].length == 1)){ det = this.donnees[0][0]; else{ / Parcours de la premiere ligne for (int colonne = 0; colonne < this.donnees[0].length; colonne++) { / Creation du sous tableau int[][] soustableau = new int[this.donnees.length - 1][this.donnees[0].length - 1]; / Remplissage du sous tableau for (int lignetableau = 1; lignetableau < this.donnees.length; lignetableau++) { for (int colonnetableau = 0; colonnetableau < this.donnees[0].length; colonnetableau++) { if (colonnetableau<colonne){ soustableau[lignetableau-1][colonnetableau] = 11

12 this.donnees[lignetableau][colonnetableau]; else{ if (colonnetableau>colonne){ soustableau[lignetableau-1][colonnetableau-1] = this.donnees[lignetableau][colonnetableau]; / Creation de la sous matrice a partir du sous tableau Matrice sousmatrice; sousmatrice = new Matrice(sousTableau); / Alternance de signe if(colonne % 2 ==0){ det = det + this.donnees[0][colonne] sousmatrice.calculerdeterminant(); else{ det = det - this.donnees[0][colonne] sousmatrice.calculerdeterminant(); return det; 1.6 Classe de test Écrivez une classe de test simple(juste une méthode main) pour tester votre classe Matrice. Correction: public class TestMatrice args public static void main(string[] args) { /Matrice A,B,C; A = new Matrice(2,3); 12

13 B = new Matrice(3,2); A.RemplirMatriceAleatoirement(); B.RemplirMatriceAleatoirement(); System.out.println("A : "); A.AfficherMatrice(); System.out.println("B : "); B.AfficherMatrice(); System.out.println("Produit : "); C=A.CalculProduit(B); C.AfficherMatrice(); Matrice E; E = new Matrice(3,3); E.RemplirMatriceAleatoirement(); E.AfficherMatrice(); System.out.println("--- Determinant ---"); System.out.println(E.CalculerDeterminant()); 2 Leschaînes 2.1 Élémentsthéoriques Les chaînes de caractères sont représentées par différentes classes. La plus utilisée est la classe String. Son comportement est particulier et doit être bien compris pour éviter de mauvaises surprises lors du développement de programme. Laclasse Stringestdéclarée finaldanslelangage.ilestdoncimpossiblede créer une classe fille. Construction de chaîne La construction des chaînes est simplifiée dans la langage. Il n est pas nécessaire d appeler directement le constructeur(c est le seul cas danslelangagejava!). String machaine; machaine = "Bonjour"; Dans la première ligne la référence est déclarée puis dans la deuxième ligne elle est assigné à l objet String contenant la chaîne Bonjour. Elle peut être écrite(c est normalement l usage) en une ligne: String machaine = "Bonjour"; 13

14 Les chaînes peuvent être mise bout-à-bout(concaténées) en utilisant l opérateur +. Il s agit en fait d une notation simplifiée évitant l appel de la méthode concat de la classe String. String un = "Un"; String deux = " Deux"; String trois = un + deux; Méthodes utiles de la classe String Pour obtenir le nombre d élément(caractères) dans la chaîne, on utilise la méthode length(). La méthode char charat(int index) renvoie le caractère situé à la position donnée par index, s il existe. int indexof(string str) permet de recherche la position (renvoyée par l entier) de la chaîne str dans la chaîne utilisée. Deux chaînes peuvent être comparées en utilisant la méthode equals: a.equals( Toto ). Il est aussi possible de les comparer en ignorant la casse(majuscule/minuscule) avec la méthode equalsignorecase. Les méthodes startswith et endswith permettent de vérifier si une chaîne contient une sous chaînes en début/fin de la chaîne considérée. L extrait ci-dessus présente l utilisation de deux de ces méthodes: src/exemplechaine.java Dans la document Java on trouve une méthode surchargée déclarée ainsi : static String valueof(...) Cette méthode permet de convertir un type primitif en chaîne de caractères (entier,flottant,...). Comportement particulier des String Les chaînes sont immuables. Toutes les fonctions qui renvoient une chaîne renvoient un nouvel objet. String c= Bonjour ; String b; b=c; // b et c designent le meme objet c=c.tolowercase(); // b et c ne designent plus le meme objet 2.2 Palindrome Écrivez un programme qui demande un mot à l utilisateur(la classe Scanner propose une méthode nextline() qui renvoie une chaine String) et vérifie si ce motestunpalindrome.unpalindromeestunmotquipeutêtreludemanière identiquededroiteàgaucheetdegaucheàdroite(comme,parexemple,lemot kayak). Correction: 14

15 import java.util.scanner; public class Palindrome { public static void main(string[] args) { Scanner scan = new Scanner(System.in); String texte; boolean pal; int i=0; System.out.println("Tapez un mot : "); texte = scan.nextline(); do{ if (texte.charat(i)!= texte.charat(texte.length()-i-1)){ pal = false; else{ pal = true; i++; while( (i<texte.length()) && pal); if (pal){ System.out.println(texte + " est un palindrome"); else{ System.out.println(texte + " n est pas un palindrome"); 15

Eléments de syntaxe du langage Java

Eléments de syntaxe du langage Java c jan. 2014, v3.0 Java Eléments de syntaxe du langage Java Sébastien Jean Le but de ce document est de présenter es éléments de syntaxe du langage Java : les types primitifs, les opérateurs arithmétiques

Plus en détail

Les références et la mémoire

Les références et la mémoire Chapitre 3 Les références et la mémoire 3.1 Introduction En Java, pour déclarer une variable, il faut donner son nom, précédé du type qu on souhaite lui attribuer. Ces types peuvent être des types primitifs

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

Définitions de classes permettant de gérer Étudiant en Enseignant CORRECTION

Définitions de classes permettant de gérer Étudiant en Enseignant CORRECTION EILCO ING 1 - POO Java Contrôle 2014/2015 Définitions de classes permettant de gérer Étudiant en Enseignant CORRECTION Dans ces exercices, nous allons définir une classe Personne qui permettra de gérer

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

HMIN111M Programmation en Java. Un aperçu des classes

HMIN111M Programmation en Java. Un aperçu des classes HMIN111M Programmation en Java Un aperçu des classes 1. Limites des types primitifs Programme de gestion des comptes bancaires 2 comptes par exemple (on ne connait pas les tableaux) Une classe Banque qui

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

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

TP1:Priseenmaind Eclipse,élémentsdebasede java

TP1:Priseenmaind Eclipse,élémentsdebasede java TP1:Priseenmaind Eclipse,élémentsdebasede java jean-baptiste.vioix@iut-dijon.u-bourgogne.fr R&T 2ème année Vousavezàvotredisposition(surlerépertoirecommun):lecours,lesTDs, et quelques documents provenant

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

Introduction à la Programmation 1

Introduction à la Programmation 1 Introduction à la Programmation 1 Séance de cours/td Université Paris-Diderot Objectifs: Découverte du type String. Comprendre qu il y a des types différents. Maîtriser les expressions booléennes dans

Plus en détail

Plan. Tableaux. Utilité. Définition. Exemples. Déclaration d un tableau

Plan. Tableaux. Utilité. Définition. Exemples. Déclaration d un tableau Plan Tableaux Université de Nice - Sophia Antipolis Richard Grin Version 1.0.4 25/11/10 Définition Déclaration d un tableau Création d un tableau Utilisation d un dun tableau Tableau des paramètres de

Plus en détail

Listes et arbres binaires

Listes et arbres binaires Des structures de données dynamiques Listes, Listes ordonnées Arbres binaires, arbre binaires de recherche Listes chaînées Utile si le nombre d éléments n est pas connu à l avance et évolue beaucoup. Permet

Plus en détail

Cours 1. Contenu du cours : " Premières applications. " Compilation, Exécution, Chemin. " Affichage et saisie. " Types de données. " Flux de contrôle

Cours 1. Contenu du cours :  Premières applications.  Compilation, Exécution, Chemin.  Affichage et saisie.  Types de données.  Flux de contrôle Cours 1 1 Contenu du cours : " Premières applications " Compilation, Exécution, Chemin " Affichage et saisie " Types de données " Flux de contrôle " Applets " Arrays " OO de base Edition Le fichier texte

Plus en détail

Programmation - Java - Fiches du Langage. Marie Beurton-Aimar

Programmation - Java - Fiches du Langage. Marie Beurton-Aimar Programmation - Java - Fiches du Langage Marie Beurton-Aimar Fiche Numéro 1 1.1 Structure d un programme Java Toutes les instructions se terminent par un ; Le nom du fichier qui contient une classe doit

Plus en détail

Algorithmique et initiation à la programmation java

Algorithmique et initiation à la programmation java L3 Monnaie - Finance Algorithmique et initiation à la programmation java Première partie O. Auzende 2012-2013 1 Modalités Cours en amphithéâtre : les lundis de 12 h à 13 h 30 (amphi 3) o Deux fascicules

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

Cours 1 : Introduction Générale + Objet I

Cours 1 : Introduction Générale + Objet I Organisation du cours Équipe pédagogique DUT Informatique S3 - Programmation Java Jean-Claude MARTIN MARTIN@LIMSI.FR Cours 1 : Introduction Générale + Objet I Jean-Claude MARTIN (Responsable, Cours, TD

Plus en détail

Cours 1 : Introduction Générale + Objet

Cours 1 : Introduction Générale + Objet Organisation du cours Équipe pédagogique L2 S4 2009 : 2010 Programmation Objet Jean-Claude MARTIN MARTIN@LIMSI.FR Cours 1 : Introduction Générale + Objet 10 cours de 1h30 o Jean-Claude MARTIN (MARTIN@LIMSI.FR)

Plus en détail

Éléments de base en Java (suite et fin)

Éléments de base en Java (suite et fin) Éléments de base en Java (suite et fin) P.O.O. LMI 2 Semestre 4 Option Info Année 2008-09 1/33 Éléments de base en Java (suite et fin) Année 2008-09 Plan du cours Les chaînes de caractères Retour vers

Plus en détail

ENSTA IN204 Introduction à JAVA

ENSTA IN204 Introduction à JAVA Ecole Nationale Supérieure de Techniques Avancées (ENSTA) -http://www.ensta.fr ENSTA IN204 Introduction à JAVA Olivier Sigaud LIP6/AnimatLab olivier.sigaud@lip6.fr 01.44.27.88.53 Ce document est mis à

Plus en détail

Université Mohammed Premier Année universitaire 2011-2012. Complément d exercices avec correction

Université Mohammed Premier Année universitaire 2011-2012. Complément d exercices avec correction Université Mohammed Premier Année universitaire 2011-2012 Faculté des Sciences Filière SMI Département de Mathématiques et d Informatique Module : POO Java Semestre : S5 Complément d exercices avec correction

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

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

Bases de la programmation orientée objet en Java

Bases de la programmation orientée objet en Java Bases de la programmation orientée objet en Java Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-33 Avant propos Difficultés...

Plus en détail

} 7 Variables (composantes)

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

Plus en détail

Programmation en Java - TD4 M1 ISIFAR 2008 2009 Révisions et héritage

Programmation en Java - TD4 M1 ISIFAR 2008 2009 Révisions et héritage Programmation en Java - TD4 M1 ISIFAR 2008 2009 Révisions et héritage Exercice 1. Toute réponse doit être justifiée. Vous proposerez une correction lorsque le code n est pas correct. 1. Le code suivant

Plus en détail

1 Le Parking revisité

1 Le Parking revisité Module I6 - Manipulation de threads II 13 décembre 2012 1 Le Parking revisité Une société de gestion de parkings de voitures souhaite mettre en place un système automatique d affichage en temps réel de

Plus en détail

Correction langage Java

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

Plus en détail

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 5. Tableaux

Info0101 Intro. à l'algorithmique et à la programmation. Cours 5. Tableaux Info0101 Intro. à l'algorithmique et à la programmation Cours 5 Tableaux Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Résumé Introduction Programmation Java

Résumé Introduction Programmation Java Résumé Introduction Programmation Java Concepts Un programme : séquence, test conditionnel, boucles. Objets : Les objets Java modélisent les objets d un problème donné Classe : Les objets sont crées à

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

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

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

Plus en détail

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

Les tableaux ne sont pas ni des objets ni des types simples.

Les tableaux ne sont pas ni des objets ni des types simples. Cours 5 Tableaux Tableaux à 2 dimensions Tableaux d objets POO 1 Les tableaux ne sont pas ni des objets ni des types simples. Un tableau se rapproche d un objet Il est manipulé par référence (adresse)

Plus en détail

Résumé du cours de Programmation Java

Résumé du cours de Programmation Java Résumé du cours de Programmation Java Carole Frindel et Céline Robardet TABLE DES MATIÈRES 1 Notions élémentaires 1 1.1 Qu est-ce qu un programme?......................................... 1 1.2 Les variables...................................................

Plus en détail

PROJET INFORMATIQUE RECHERCHE DE SOUS-CHAÎNE DE CARACTERES

PROJET INFORMATIQUE RECHERCHE DE SOUS-CHAÎNE DE CARACTERES PROJET INFORMATIQUE RECHERCHE DE SOUS-CHAÎNE DE CARACTERES I-Présentation Un algorithme de recherche de sous-chaine est un type d'algorithme de recherche qui a pour objectif de trouver une chaîne de caractères

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

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

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

INF421-a Bases de la programmation et de l algorithmique. (Bloc 1 / 9) Philippe Baptiste. CNRS LIX, École Polytechnique

INF421-a Bases de la programmation et de l algorithmique. (Bloc 1 / 9) Philippe Baptiste. CNRS LIX, École Polytechnique INF421-a Bases de la programmation et de l algorithmique (Bloc 1 / 9) Philippe Baptiste 26 août Philippe Baptiste: INF421-a, Bloc 1, 1/ 54 Organisation du cours 9 blocs, soit 9 vendredis : Amphi de 10h30

Plus en détail

DS Java 1. 19 novembre 2005

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

Plus en détail

Plan. Arbres équilibrés Arbres AVL Arbres a-b Quelques compléments de Java. Amphi 9 1

Plan. Arbres équilibrés Arbres AVL Arbres a-b Quelques compléments de Java. Amphi 9 1 Plan Arbres équilibrés Arbres AVL Arbres a-b Quelques compléments de Java Amphi 9 1 Structures d'arbre Les structures d'arbre permettent de réaliser des opérations dynamiques, telles que recherche, prédécesseur,

Plus en détail

1 Le jeu «Puissance 4»

1 Le jeu «Puissance 4» Université de Nice-Sophia Antipolis Deug MIAS-MI 1 Algorithmique & Programmation 2002 2003 TP N 3 Procédures et fonctions Buts : Manipuler des objets complexes Tableaux à deux dimensions Usage des sentinelles

Plus en détail

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

CONTRÔLE HORS-CLASSEMENT ÉCOLE POLYTECHNIQUE INFORMATIQUE COURS INF 431

CONTRÔLE HORS-CLASSEMENT ÉCOLE POLYTECHNIQUE INFORMATIQUE COURS INF 431 CONTRÔLE HORS-CLASSEMENT ÉCOLE POLYTECHNIQUE INFORMATIQUE COURS INF 431 GUILLAUME HANROT ET JEAN-JACQUES LÉVY On se propose de résoudre le problème de l affectation de k tâches à n employés (k > 0, n >

Plus en détail

Listes de personnes et calculatrice polonaise inverse en Java

Listes de personnes et calculatrice polonaise inverse en Java Listes de personnes et calculatrice polonaise inverse en Java Université Paris Sud Motivation Le but de cet exercice est de manipuler les listes chaînées et les piles et de voir leur application en analyse

Plus en détail

TD : Compilation d exercices et d extraits d examens

TD : Compilation d exercices et d extraits d examens TD : Compilation d exercices et d extraits d examens 1. Classes et visibilité a. Parmi les appels suivant indiquez ceux qui sont corrects et ceux qui ne le sont pas public class A { public int i ; private

Plus en détail

Corrigé des exercices sur les fonctions (suite)

Corrigé des exercices sur les fonctions (suite) Corrigé des exercices sur les fonctions (suite) Exercice 5.2.1 somme des carrés Ecrire une fonction qui calcule la somme des n premiers carrés 1 2 +2 2 +...+n 2. class Exo9_1{ static int npremierscarres(int

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

Introduction à la programmation en Java. Java sans Bluej. Ligne de commande entrées/sorties fichiers. Où en sommes-nous? Hello, world!

Introduction à la programmation en Java. Java sans Bluej. Ligne de commande entrées/sorties fichiers. Où en sommes-nous? Hello, world! Introduction à la programmation en Java Frédéric MALLET Jean-Paul ROY U.F.R. Sciences de Nice Licence Math-Info 2006-2007 Module L1I1 12-1 Où en sommes-nous? Nous savons rédiger le texte d une classe d

Plus en détail

Université Mohammed Premier Année universitaire 2011-2012. Correction de l examen écrit de la session ordinaire 18 Février 2012

Université Mohammed Premier Année universitaire 2011-2012. Correction de l examen écrit de la session ordinaire 18 Février 2012 Université Mohammed Premier Année universitaire 2011-2012 Faculté des Sciences Filière SMI Département de Mathématiques Module : POO Java et d Informatique Semestre : S5 Correction de l examen écrit de

Plus en détail

Programmation orientée objet en langage JAVA

Programmation orientée objet en langage JAVA Programmation orientée objet en langage JAVA Connexion à une base de données avec JDBC Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX

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é 29 octobre 2015 Bertrand Estellon (DII AMU) Programmation Orientée Objet Java 29 octobre

Plus en détail

Java - Historique. Une introduction à Java. Premier exemple. Aperçu de Java. Processus d obtention d un exécutable. Compilation/interprétation

Java - Historique. Une introduction à Java. Premier exemple. Aperçu de Java. Processus d obtention d un exécutable. Compilation/interprétation Java - Historique Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)

Plus en détail

Programmation Orientée Objet

Programmation Orientée Objet Programmation Orientée Objet Initiation à Java Saber HENI saber.heni02@univ-paris8.fr http://handiman.univ-paris8.fr/~saber/ Plan du cours Chapitre 1 : Introduction au langage Java Chapitre 2 : Classes

Plus en détail

Le Langage. JavaScript

Le Langage. JavaScript Chapitre 2 : Le Langage JavaScript Le Langage JavaScript Rémy Courdier 1996-2002 - Le langage Java - Version du cours 2.6.2 1 Les types primitifs de JavaScript Types de bases Boolean (Booléen) : peut prendre

Plus en détail

Les tableaux. Programmation Orientée Objet Java. Références et Garbage Collector. Les tableaux

Les tableaux. Programmation Orientée Objet Java. Références et Garbage Collector. Les tableaux Les tableaux Déclaration d une variable de type référence vers un tableau : Programmation Orientée Objet Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 29 octobre 2015

Plus en détail

Cours 1 Tri et recherche en table

Cours 1 Tri et recherche en table Cours 1 Tri et recherche en table Jean-Jacques.Levy@inria.fr http://jeanjacqueslevy.net tel: 01 39 63 56 89 secrétariat de l enseignement: Catherine Bensoussan cb@lix.polytechnique.fr Aile 00, LIX tel:

Plus en détail

Cours1 +Cours 2. Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1

Cours1 +Cours 2. Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Cours1 +Cours 2 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

Plus en détail

Commentaires Sur une ligne // Comme en C++, après un slash-slash int i; // commentaire jusqu à la fin de la ligne

Commentaires Sur une ligne // Comme en C++, après un slash-slash int i; // commentaire jusqu à la fin de la ligne 1 - Types et instructions de base Java 2 - Tableaux de types primitifs 3 - Méthodes statiques 1 2 Identificateurs Nommer les classes, les variables, les méthodes, Un identificateur Java est de longueur

Plus en détail

FMIN110- GMIN327. Tableaux (suite) et ArrayList 2014

FMIN110- GMIN327. Tableaux (suite) et ArrayList 2014 FMIN110- GMIN327 Tableaux (suite) et ArrayList 2014 Rappels Tableau : colleccon de valeurs d un même type ordonnées et indexées Type : primicf (int, char,..) ou Classe (String, Appt,..) DéclaraCon d un

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 +Cours 2 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

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

Types de données et objets

Types de données et objets Types de données et objets VL A D Y RA V E L O M A N A N A Licence 1 S2 Université Denis Diderot (P7). vlad@liafa.jussieu.fr LIAFA Bureau 6A13. 175, rue Chevaleret Ravelomanana Vlady Types de données et

Plus en détail

Contrôle sur papier. INF441 Modex Programmation efficace juin 2010. 1. Photo de dés

Contrôle sur papier. INF441 Modex Programmation efficace juin 2010. 1. Photo de dés Contrôle sur papier INF441 Modex Programmation efficace juin 2010 1. Photo de dés Plusieurs dés ont été lancés sur une table, et une photo a été pris de haut. Cette photo est représentée par une matrice.

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

Plan. Conseils de Programmation. Types et Classes. Exemple: fraction. Méthodes. Variables locales:

Plan. Conseils de Programmation. Types et Classes. Exemple: fraction. Méthodes. Variables locales: Plan Conseils de Programmation Joël Quinqueton Dépt MIAp, UFR IV UPV Université Montpellier III Types et classes Un exemple de classe Les erreurs en Java L héritage en Java Types primitifs Tableaux Classes:

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

Licence Informatique Année 2005-2006

Licence Informatique Année 2005-2006 Université Paris 7 Java Licence Informatique Année 2005-2006 TD n 6 - Correction Héritage Exercice 1 On modélise une application devant servir à l inventaire d une bibliothèque. Elle devra traiter des

Plus en détail

Algorithmique et programmation avec Java (NFA002)

Algorithmique et programmation avec Java (NFA002) Algorithmique et programmation avec Java (NFA002) Deuxième session 13 septembre 2012 Aucun document n est autorisé. Le barème est donné à titre indicatif. Exercice 1 : listes (4 points) Etudiez le programme

Plus en détail

Université de Bourgogne - UFR Sciences et Technique - Programmation objet et Internet - LPSIL

Université de Bourgogne - UFR Sciences et Technique - Programmation objet et Internet - LPSIL Nom : Prénom : Contrôle continu Programmation objet Vous devez répondre dans les cadres aux questions posées. Documents de cours et notes personnelles autorisés. Téléphones portables, ordinateurs et calculatrices

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

Programmation Orientée Objets en JAVA

Programmation Orientée Objets en JAVA DI GALLO Frédéric Programmation Orientée Objets en JAVA Cours du Cycle d Approfondissement class { public private Cours dispensé par B. Chaulet CNAM ANGOULEME 2000-2001 DI GALLO Frédéric Page 1 09/03/01

Plus en détail

Ch. 1 : Bases de programmation en Visual Basic

Ch. 1 : Bases de programmation en Visual Basic Ch. 1 : Bases de programmation en Visual Basic 1 1 Variables 1.1 Définition Les variables permettent de stocker en mémoire des données. Elles sont représentées par des lettres ou des groupements de lettres

Plus en détail

Algorithmique et Programmation (1/3)

Algorithmique et Programmation (1/3) Algorithmique et Programmation (1/3) Objectifs : Approfondir l'algorithmique abordée au premier semestre : nouveaux types de données (énumérations, types composés), algorithmes de recherche, algorithmes

Plus en détail

Cours Bases de données 2ème année IUT

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours 6 : JDBC : ou comment lier ORACLE avec Java 1ère partie Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Introduction 2 les étapes de la connexion

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

Programmation orientée objet en langage JAVA

Programmation orientée objet en langage JAVA Connexion à une base de données avec JDBC Programmation orientée objet en langage JAVA Connexion à une base de données avec JDBC Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe

Plus en détail

Cours 8 : Exceptions, un peu de graphique

Cours 8 : Exceptions, un peu de graphique 1 Cours 8 : Exceptions, un peu de graphique 1. Traiter les exceptions usuelles 2. Créer ses propres exceptions 3. Exemples: les files. 4. Quelques éléments sur les graphiques 2 Exceptions Une exception

Plus en détail

APPLICATION. Définition des classes : On va définir - une classe carte - une classe piledecartes - une classe joueur

APPLICATION. Définition des classes : On va définir - une classe carte - une classe piledecartes - une classe joueur APPLICATION On souhaite écrire un programme qui permet à l utilisateur de jouer au jeu de cartes 21. Principe : L utilisateur reçoit une carte à la fois et après chaque carte il décide s il continue ou

Plus en détail

Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005

Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005 Licence d'informatique 2004-2005 Examen Programmation orientée objet Juin 2005 Durée de l'épreuve : 2 heures TRÈS IMPORTANT : respectez l'ordre des questions. La lisibilité sera un critère important pour

Plus en détail

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis Anne Tasso Un best-seller qui a déjà conquis des milliers d'étudiants! Java Le livre Java Le livrede de premier premier langage langage Avec 80 exercices corrigés Avec 80 exercices corrigés 5 e édition

Plus en détail

TP1 - Introduction au langage C

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

Plus en détail

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

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 82

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 82 Java et Objet Amélie Lambert 2014-2015 Amélie Lambert 2014-2015 1 / 82 Chapitre 5 Programmation orientée objet Amélie Lambert 2014-2015 2 / 82 Plan du cours Analyse, conception et programmation Orientée

Plus en détail

Programmation avancée en Java

Programmation avancée en Java Chapitre 3 Programmation avancée en Java Nous avons vu, dans le chapitre précédent, la mise en place de la programmation fondamentale (c est-à-dire de la programmation structurée) en Java. Nous continuons

Plus en détail

Université Paris 7 Denis Diderot Introduction à l informatique et à la programmation (IF1) Corrigé de l examen du 6 janvier 2009

Université Paris 7 Denis Diderot Introduction à l informatique et à la programmation (IF1) Corrigé de l examen du 6 janvier 2009 Exercice 1. Université Paris 7 Denis Diderot Introduction à l informatique et à la programmation (IF1) Corrigé de l examen du 6 janvier 2009 1.1. Pour répondre à la question, nous avons regroupé dans une

Plus en détail

IUP Miage Master MIAGE, spécialité SIMI Module T1/D226 Activité n 1 2012-1

IUP Miage Master MIAGE, spécialité SIMI Module T1/D226 Activité n 1 2012-1 IUP Miage Master MIAGE, spécialité SIMI Module T1/D226 Activité n 1 2012-1 NB : Le travail demandé est un travail personnel. L'étudiant s'engage donc, par le rendu de ce travail, à garantir sur son honneur

Plus en détail

Mise à niveau en Java

Mise à niveau en Java Mise à niveau en Java Cours 1 Stéphane Airiau Université Paris-Dauphine Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 1 Aujourd hui Eléments de base Variables, opérateurs, type d une expression

Plus en détail

JAVA. Illustration d UML et Introduction à la programmation «objet» Juillet 2004 Thierry Leydier Virtualité Réelle thierry.leydier@gmail.

JAVA. Illustration d UML et Introduction à la programmation «objet» Juillet 2004 Thierry Leydier Virtualité Réelle thierry.leydier@gmail. JAVA Illustration d UML et Introduction à la programmation «objet» Juillet 2004 Thierry Leydier Virtualité Réelle thierry.leydier@gmail.com Historique JAVA est issu d'un projet de recherche chez SUN (fin

Plus en détail

PARADIGME ORIENTÉ-OBJET

PARADIGME ORIENTÉ-OBJET PARADIGME ORIENTÉ-OBJET A programming paradigm that uses objects to design systems. Sébastien Adam Une introduction des concepts de base 2 Principes fondamentaux Modularité : vise à répartir les opérations

Plus en détail

420KEL Petite révision v. 1,65. Petite révision

420KEL Petite révision v. 1,65. Petite révision Petite révision Quelques petits exercices pour vous rafraîchir la mémoire et vous remettre en forme. Dans les exercices pour lesquels on vous demande de programmer, cherchez à produire un résultat à la

Plus en détail

Analyse lexicale 2014-2015

Analyse lexicale 2014-2015 Analyse (lexicale, syntaxique) L3 MIAGE Analyse lexicale Université de Lille, France 2014-2015 1 Rappels Rôle de l analyse lexicale Outils 2 Mise en oeuvre Lexème Vers l analyseur syntaxique Codage d un

Plus en détail

Objectifs du cours d aujourd hui. Informatique I : Cours d introduction à l informatique et à la programmation Types avancés (1)

Objectifs du cours d aujourd hui. Informatique I : Cours d introduction à l informatique et à la programmation Types avancés (1) Objectifs du cours d aujourd hui Informatique I : Cours d introduction à l informatique et à la programmation Types avancés (1) Jamila Sam Haroud Présenter des structures de données plus avancées (que

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

// Le fichier : MainExemple.java. import java.util.scanner;

// Le fichier : MainExemple.java. import java.util.scanner; Exemple 01 : Penser Objet Dans ce premier exemple, on va réaliser un simple programme java qui permet de résoudre l'équation ax+b = 0. On proposera deux solutions : La première en utilisant la programmation

Plus en détail

Université Paris Diderot ISIFAR Année 2008-2009. Exceptions et Classes Abstraites

Université Paris Diderot ISIFAR Année 2008-2009. Exceptions et Classes Abstraites Université Paris Diderot JAVA ISIFAR Année 2008-2009 TP n 7 - Correction Exceptions et Classes Abstraites Exercice 1 [Utilisation des Exceptions] La méthode parseint est spécifiée ainsi : public static

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