Algorithmique et initiation à la programmation java

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

Download "Algorithmique et initiation à la programmation java"

Transcription

1 L3 Monnaie - Finance Algorithmique et initiation à la programmation java Première partie O. Auzende

2 Modalités Cours en amphithéâtre : les lundis de 12 h à 13 h 30 (amphi 3) o Deux fascicules de cours (polycopiés à trous) sont distribués en cours Travaux dirigés (12 séances, les TD commençant dès la première semaine du semestre) o Un fascicule de TD est distribué lors du premier TD. Huit groupes de TD : Horaire Salle Enseignant Mardi 18 h O. Auzende Mardi 20 h O. Auzende Mercredi 14 h N. Thibault Mercredi 15 h N. Thibault Vendredi 9 h F. Jézéquel Vendredi 10 h F. Jézéquel Vendredi 12 h N. Thibault Vendredi 14 h O. Auzende Pour les TD : o avoir toujours les fascicules de cours et de TD avec soi o disposer dès le premier TD d une clé USB standard Evaluation : contrôle continu et projet o 1 contrôle sur 20 points au TD 5 (C1) o 1 contrôle sur 20 points au TD 8 (C2) o 1 contrôle sur 30 points au TD 11 (C3) Programme : cours et TD précédents o Un projet sur 30 points (P) Rendu progressif, de la 6 ème à la 11 ème semaine Soutenance lors du TD de la 12 ème semaine Note finale sur 10 : (C1 + C2 + C3 + P)/10 En cas d absence en TD o Prévenir l enseignant o Venir en TD dans un autre groupe de la même semaine o Tout contrôle non passé est sanctionné par un 0 2

3 MODALITES 2 INTRODUCTION 5 Qu est-ce que l algorithmique? 5 Qu est-ce qu un programme? 5 Comment écrire un programme? 5 Le langage machine 6 Les langages de programmation 6 Java, compilé et interprété 7 Applications, applets et servlets 7 ELEMENTS DE PROGRAMMATION JAVA 8 Notion de variable 8 Affectation 8 Egalité, inégalité 8 Conjonction, disjonction 9 Types de données 9 Notion d application 10 Les tests 11 Tableaux 12 Les boucles 12 Les sauts 14 JAVA, LANGAGE A OBJETS 15 Classes et instances 15 Attributs et méthodes d instances 18 Attributs et méthodes de classes 18 ALGORITHMIQUE 19 Permuter le contenu de deux variables 19 Pour les algorithmes sur tableaux suivants, 19 3

4 Insérer un élément x dans un tableau à la suite des éléments existants 20 Déterminer les éléments maximum et minimum d un tableau 20 Déterminer l indice du maximum ou du minimum d un tableau 20 Somme des éléments d un tableau 21 Comptages divers 21 Insérer un élément à sa place, le tableau étant déjà rangé 22 Les tris sur tableaux 23 LES PAQUETAGES JAVA 25 Qu est-ce qu un paquetage? 25 La notion d héritage 25 Protection des attributs et méthodes 25 Les interfaces 26 Les classes d exceptions 26 Le paquetage java.lang 27 Le paquetage java.util 28 Le paquetage java.text 31 4

5 Introduction Qu est-ce que l algorithmique? L algorithmique est une branche des mathématiques dont le but est de trouver de trouver comment réaliser des tâches dont le résultat s obtenir par une formule, mais par une succession de effectués en fonction du résultat de tests. Quelques exemples o Nombre de jours écoulés depuis o Maximum d un tableau de nombres (il n y a pas de donnant la solution) o Somme d un tableau de nombres (il existe une notation mathématique, mais elle n est pas o pour le calcul effectif) o Tri d un tableau de nombres La solution s appelle un algorithme : c est un ensemble Exemple : il existe différents algorithmes permettant de trier un tableau de nombres, mais Qu est-ce qu un programme? Un programme est un (appelées couramment des ) permettant à un ordinateur d exécuter une tâche plus ou moins complexe, en interaction ou non avec l utilisateur. Exemples de programmes élémentaires Calculer : o le nombre de jours écoulés o le maximum, le minimum, la somme des éléments d un o le montant o un seuil Trier : o un tableau o un tableau Exemples de programmes complexes, appelés logiciels, destinés : o traitement o o programme de gestion de o programme de o programme de conception assistée o programme de publication assistée Comment écrire un programme? Il faut d abord Il faut ensuite trouver un (ou des) Il faut enfin traduire les instructions qui composent ces algorithmes dans un compréhensible par un ordinateur 5

6 Le langage machine Le processeur d un ordinateur ne comprend que du langage machine ( ) composé Toute instruction élaborée : o o répéter une même faire des choses différentes en fonction de se décompose ainsi en des milliers Les langages de programmation o Intermédiaires entre o Permettent de décrire les instructions élaborées de manière plus pour former le du programme o Le code source doit ensuite être en langage machine pour pouvoir être exécuté par le o Il y a deux modes de traduction du code source : * la (langage dit ) * l (langage dit ) Les langages compilés Le compilateur o est dédié à et au o vérifie la du code source ; si c est correct, génère un fichier en langage machine, exécutable sur toute machine Exemples de langages compilés : Cobol ( ), C, C++ ( ) Avantage des langages compilés : o Le code objet s exécute Inconvénient des langages compilés : o Le code objet est dédié à un seul Les langages interprétés L interpréteur o lit le fichier source ligne à ligne, la syntaxe de chaque instruction et ne l exécute que si Exemples de langages interprétés : HTML, javascript, PHP ( ), SQL Avantage des langages interprétés o On peut interpréter le fichier sur tout type d ordinateur, à condition de disposer de l adapté à cet ordinateur Inconvénient des langages interprétés o La vérification ligne à ligne cause une certaine à l exécution 6

7 Java, compilé et interprété Langage développé par SUN depuis Universellement Sur l ordinateur sur lequel on écrit un programme Java, le fichier source est transformé par le compilateur javac en un non exécutable, qui est quel que soit le type de machine sur lequel on travaille. Transféré sur un autre type d ordinateur, le pseudo-code est interprété par un appelé L interpréteur : o ne vérifie plus la syntaxe des instructions (gain de temps) o exécute directement Le pseudo-code est donc indépendant du type d ordinateur sur lequel et de celui sur lequel Pour écrire un programme java sur un ordinateur, il suffit donc de disposer Pour exécuter un programme java compilé, il suffit donc de disposer Le pseudo-code est de, donc java est donc devenu le langage idéal Applications, applets et servlets Java permet d écrire : o Des applications : programmes o Des applets : petits programmes appelés dans une page HTML par la balise et interprétés par o Des servlets : programmes java stockés permettant de générer dynamiquement des pages html en réponse à 7

8 Eléments de programmation Java Notion de variable La notion de variable en informatique est assez proche En mathématiques, x = 5 veut dire En informatique, x est un dont la taille (nombre de qui composent cet emplacement) dépend de ce qu on veut y stocker : un entier, un réel Le contenu de cet emplacement-mémoire peut constamment être On écrit donc (syntaxe java) : int x ; (réservation de place ) x = 2 ; (on y met la valeur 2) x = 5 ; (on change, on y met ) float y ; (réservation de place ) y = 3.5 ; (on y met la valeur 3.5) ou bien directement : int x = 8; (les deux opérations ) float y = 3.5 ; Affectation Toute instruction complète se termine par Les deux instructions x = 5 ; x = 7 ; y = 3.5 ; donnent des valeurs ( ) aux emplacements-mémoire x et y. Elles sont appelées des On dit qu on une valeur à une variable occupant une certaine place-mémoire. Il serait plus naturel d écrire : x 5 (x reçoit la valeur 5), y 3.5 (y reçoit la valeur 3.5), mais tous les langages de programmation actuels (C, C++, JavaScript, Java, PHP ) utilisent la notation a = b au lieu de a b. L écriture a = b correspond donc en fait à a b et doit se lire «a la valeur de b». A gauche : A droite : On peut affecter à une variable : o une x = 3; y = 5 ; z = 4 ; o la d une autre variable x = y; (x reçoit la VALEUR de y, donc 5) o le résultat du d une x = y + z; (x reçoit la VALEUR de y + z) o le résultat du calcul d une t = max(x, y, z) ; Egalité, inégalité Egalité Le symbole = étant réservé à l affectation, on teste l égalité de deux variables a et b autrement. On écrit : if qui se lit si (a = b)... Inégalité On teste l inégalité de deux variables a et b en écrivant : if qui se lit si (a b)... 8

9 Exemples o si x = 4 alors y = 7 : o si annee = 2012 alors nb_jours_fevrier = 29 : o si x 10 alors y = 8 : o si mois 2 alors nb_jours > 29 : Conjonction, disjonction Conjonction La conjonction ET s écrit && si (a=b) et (c=d) s écrit donc : Disjonction La disjonction OU s écrit si (a=b) ou (c=d) s écrit donc : Exemples o si x = 4 et y = 5 alors z = 7 : o si annee=2012 et mois=2 alors nb_jours=29 : o si mois =1 ou mois=3 alors nb_jours =31 : Types de données Java est un langage typé Toute variable utilisée doit nécessairement être et son doit être Un nom de variable doit : o être constitué o ne PAS comporter ni de o ne pas être un du langage (liste fournie en TD) Exemples : float revenu; int mois_annee; Les types élémentaires sont appelés des Toute variable d un type primitif est une variable simple, non composée (int, float ) Les types autres que primitifs sont des (on verra plus tard) Types de données primitifs en Java Il y a 8 types de données primitifs (les plus utilisés sont soulignés) : o boolean : o char : o byte : o short : o int : o long : o float : o double : L instruction : boolean fini = false; définit une variable fini de type et de valeur false. L instruction : int i = ; définit une variable i de type, stockée sur 32 bits et de valeur L instruction : float f = ; définit une variable f de type, stockée sur 32 bits et de valeur

10 Opérateurs de cast Pour créer une variable d un type à partir d une variable d un autre type semblable (nombre et nombre, par exemple), on utilise un Il est noté entre Exemples float f= ; int j=(int)f; j est alors un entier valant 156 double t= ; float d=(float)t; d est un flottant stocké sur 32 bits au lieu de 64 bits. On a donc perdu Notion d application Fichier Programme.java : public class Programme { public static void main(string[] args) { int a = 25 ; int b = 76 ; System.out.println("a = " + a); System.out.println("b = " + b); Un programme java est contenu dans une La description d une classe est faite entre une { et une S il n y a qu une seule classe, elle est déclarée afin d être accessible à tout utilisateur Le programme proprement dit figure dans une méthode appelée déclarée sous la forme : public static void main(string[] args) Toute méthode a un compris entre { et Tout programme contenant une méthode appelée est appelé o public signale que tout le monde peut exécuter o static indique que la méthode main est une méthode (on verra plus tard) o void dit que la méthode main o String[] args permet de passer à la méthode main (ce qu on ne fera pas) o System.out.println(chaîne) fait afficher à l écran une Pour construire une chaîne à partir de plusieurs morceaux, on utilise qui réalise leur Compilation javac Programme.java o javac est o Il compile le fichier Programme.java et crée le fichier Programme.class qui n est pas exécutable Exécution java Programme o java est o Il charge le fichier et Résultat à l écran a vaut : 5 b vaut : 7 10

11 Les tests Les tests permettent de faire des traitements Le test simple : if else Il s écrit : if (test) { instructions; else { instructions; La clause else est On peut avoir simplement : if (test) { instructions ; Exemple : fichier Programme1.java public class Programme1 { public static void main(string[] args) { int a = 25 ; int b = 76 ; System.out.println("a = " + a); System.out.println("b = " + b); int min ; if (a < b) { min = a; else { min = b; System.out.println("le minimum de a et b est " + min); Le test multiple : switch Il s écrit : switch (variable) { case 1: instructions; case 2: instructions;... default : instructions; La variable testée doit être de type Le cas sert si l on veut prévoir un traitement par défaut.... dans les instructions signale que le cas est traité et que l on saute Exemple : fichier Programme1b.java public class Programme1b { public static void main(string[] args) { int num = 11 ; String mois = "" ; // type chaîne de caractères switch(num) { case 1 : mois="janvier"; break ; case 2 : mois="fevrier"; break ; case 3 : mois="mars"; break ; case 4 : mois="avril"; break ; case 5 : mois="mai"; break ; case 6 : mois="juin"; break ; case 7 : mois="juillet"; break ; case 8 : mois="aout"; break ; case 9 : mois="septembre"; break ; default : mois="au dernier trimestre"; System.out.println("le mois est " + mois); 11

12 Tableaux Les tableaux sont des collections de variables, en. On doit d abord les, puis faire. Une fois qu un tableau est créé, sa taille On accède à l élément d indice i de t par t[i], les indices Exemples int[] t ; // ou int t[]; // déclaration d un tableau d entiers t=new int[20]; // création de t en mémoire String[] t1 ; // ou String t1[]; // déclaration d un tableau de chaînes t1 = new String[10] ; // création de t1 en mémoire Utilisation : fichier Tableau.java public class Tableau { public static void main(string[] args) { String[] t = new String[12] ; t[0]="janvier"; t[1]="fevrier"; t[2]="mars"; t[3]="avril"; t[4]="mai"; t[5]="juin";t[6]="juillet"; t[7]="aout"; t[8]="septembre"; t[9]="octobre"; t[10]="novembre"; t[11]="decembre"; System.out.println("Les mois de l'annee sont : "); System.out.println(t[0]); System.out.println(t[1]); System.out.println(t[2]); System.out.println(t[3]); System.out.println(t[4]); System.out.println(t[5]); System.out.println(t[6]); System.out.println(t[7]); System.out.println(t[8]); System.out.println(t[9]); System.out.println(t[10]); System.out.println(t[11]); Les boucles La boucle for La boucle for permet de un certain nombre de fois des instructions. Elle s écrit : for (initialisation; test_continuation; incrémentation) {instructions; Exemple : répéter 10 fois des instructions for (int i = 0 ; i < 10 ; i++) { instructions; o L initialisation précise qui contrôle la boucle et int i=0 o Le test est un ( test qui doit être vérifié pour que la boucle ) i < 10 o L incrémentation précise comment Généralement on écrit i++ qui veut dire i=i+1 (on passe de i à i+1, donc ) 12

13 Fichier Tableau1.java : une seule instruction public class Tableau1 { public static void main(string[] args) { String[] t = new String[12] ; t[0]="janvier"; t[1]="fevrier"; t[2]="mars"; t[3]="avril"; t[4]="mai"; t[5]="juin"; t[6]="juillet"; t[7]="aout"; t[8]="septembre";t[9]="octobre";t[10]="novembre"; t[11]="decembre"; System.out.println("Les mois de l'annee sont : "); for (int i = 0 ; i < 12; i++) { System.out.println(t[i]); Fichier Tableau2.java : on utilise deux boucles for : une pour, l autre pour faire public class Tableau2 { public static void main(string[] args) { double[] t = new double[20] ; for (int i = 0 ; i < 20 ; i++) { t[i] = i ; for (int i = 0; i < 20 ; i++) { System.out.print(t[i] + " * "); o La variable i est déclarée o Entre les deux boucles, i o On dit que la se limite à la en cours Fichier Tableau2b.java : la variable i est o La portée de i est alors toute entière (i est connu dans ). public class Tableau2b { public static void main(string[] args) { double[] t = new double[20] ; int i ; for (i = 0 ; i < 20 ; i++) { t[i] = i ; for (i = 0; i < 20 ; i++) { System.out.print(t[i] + " * "); System.out.println("\n ---> i vaut maintenant " + i) ; La boucle while Elle permet de des instructions tant Elle s écrit : while (test) { instructions ; Les instructions doivent modifier une variable intervenant dans le test, pour que la boucle while ne boucle 13

14 Exemple : afficher les éléments d un tableau de nombres t tant qu ils sont inférieurs à 20. int i = 0 ; while (t[i] < 20) { System.out.print(t[i] + " ") ; i++ ; i est modifié dans les instructions, donc t[i] correspond à chaque passage à du tableau t. Attention cependant à ne pas dépasser! Si le tableau est de taille n, il faut écrire : int i = 0 ; while ((i < n) && (t[i] < 20)) { // && est la notation pour ET System.out.print(t[i] + " ") ; i++ ; La boucle do while Elle permet de faire exécuter des instructions puis de ces instructions tant qu un test est vérifié. Elle s écrit : do { instructions ; while (test); Les instructions doivent modifier une variable du test, pour que le do while ne boucle pas Exemple : afficher le premier élément du tableau t, puis les éléments suivants tant qu ils sont inférieurs au premier : int i = 0 ; do { System.out.print(t[i]+ " "); i++ ; while ((i<n)&&(t[i]<t[0])); Les sauts Le break break permet en reprenant l exécution directement le test ou la boucle (on saute donc les cas suivants). Exemple : afficher les éléments du tableau t tant qu ils sont inférieurs à 20. On arrête donc dès qu on rencontre un élément supérieur ou égal à 20. for (int i = 0 ; i < n ; i++) { if (t[i]<20) { System.out.print(t[i]+" * "); else { break ; C est équivalent à la boucle while ci-dessous : int i = 0 ; while ((i<n) && (t[i] < 20)) { System.out.print(t[i]+" * ") ; i++ ; 14

15 Le continue continue permet de sortir en reprenant l exécution à l itération suivante. On arrête donc les instructions de l itération en cours pour passer Exemple : afficher les éléments du tableau t qui sont différents de 20. Deux versions, selon que l on teste si t[i] est égal à 20 ou est différent de 20 : Si on teste si t[i] est égal à 20, on écrit : Si on teste si t[i] est différent de 20, on écrit : for (int i = 0 ; i < n ; i++) { if (t[i] == 20) { continue ; else { System.out.print(t[i]+" * "); Le return for (int i = 0 ; i < n ; i++) { if (t[i]!= 20) { System.out.print(t[i]+ " * "); else { continue ; L instruction return permet sans nécessairement attendre la fin de celle-ci. Cette instruction ne peut donc pas figurer directement mais sera très largement utilisée par la suite. Java, langage à objets Classes et instances Un programme java peut ne contenir qu une seule, comme on l a vu jusqu à présent Cette classe, qui contient, constitue à elle toute seule toute l application Mais java est avant tout un «langage», ce qui veut dire qu une classe peut aussi être un à partir duquel on peut fabriquer des objets qu on appelle des On souhaite créer des «objets» comportant : o un entier n qui représente la d un tableau o un tableau t de n entiers comportant les entiers 1, 2, 3, n-1 Exemple de deux tels objets : La classe (encore embryonnaire) correspondant à ces objets est la suivante : class ObjetTableau { // début de la classe int n ; // deux attributs :... int[] t ; // et t... // fin de la classe 15

16 Cette description signifie que tout objet de la classe ObjetTableau, dès qu il sera créé, comportera automatiquement deux variables (qu on appellera des ) n et t. Une classe correspond donc à la description d un ensemble d objets ayant Les objets créés selon ce modèle sont appelés des de la classe. Pour donner des valeurs aux attributs, donc remplir n et t, on doit ajouter dans la classe une méthode spécifique appelée Le est permettant de construire des objets class ObjetTableau { int n ; int[] t ; // début de la classe // deux attributs : n et t ObjetTableau(int a) { // le... n = a ; // n prend la valeur... t = new int[n] ; // on réserve la place pour... for (int i=0 ; i < n ; i++) { t[i] = i+1 ; // remplissage de... // fin du... // fin de... Créer des objets de la classe ObjetTableau se fait, dans une autre classe qui sert de programme principal : public class ProgObjet { // début de classe public static void main (String args[ ]) { // le main ObjetTableau obj1 = new ObjetTableau(6); ObjetTableau obj2 = new ObjetTableau(3); // fin... // fin... Ce programme crée bien les deux objets, mais pour le moment n affiche On ajoute donc à la classe ObjetTableau une méthode void affiche() permettant à un objet (c est-à-dire de s afficher ) : class ObjetTableau { int n ; int[] t ; // début de la classe // deux attributs : n et t ObjetTableau(int a) { // le constructeur n = a; // n prend la valeur a t = new int[n] ; // on réserve la place pour le tableau t for (int i=0;i<n;i++) { // remplissage du tableau t[i] = i+1 ; // fin du constructeur void affiche() { System.out.println("affichage des elements"); for (int i = 0; i < n; i++){ System.out.print(t[i]+" * "); System.out.println(""); // fin de la classe 16

17 On ajoute ensuite à la même classe une méthode int inferieurs(int p) permettant à un objet de calculer le nombre d éléments de son tableau qui sont class ObjetTableau { int n ; int[] t ; // début de la classe // deux attributs : n et t ObjetTableau(int a) { // le constructeur n = a; // n prend la valeur a t = new int[n] ; // on réserve la place pour le tableau t for (int i=0;i<n;i++) { // remplissage du tableau t[i] = i+1 ; // fin du constructeur void affiche() { System.out.println("affichage des elements"); for (int i = 0; i < n; i++){ System.out.print(t[i]+" * "); System.out.println(""); int inferieurs(int p) { int compteur = 0 ; for (int i = 0; i < n; i++){ if (t[i]<p) compteur++ ; return compteur ; // fin de la classe On ajoute enfin à les instructions demandant aux objets créés d exécuter ces méthodes : public class ProgObjet { // classe principale public static void main (String args[ ]) { // main ObjetTableau obj1 = new ObjetTableau(6); obj1.affiche(); // affichage de obj1 // nb elements < 3 System.out.println(obj1.inferieurs(3)) ; ObjetTableau obj2 = new ObjetTableau(3); obj2.affiche(); // affichage de obj2 // nb elements < 4 System.out.println(obj2.inferieurs(4)) ; // fin du main // fin de classe Les deux méthodes void affiche() et int inferieurs(int p) ne peuvent être exécutées que par o On les appelle des void affiche() affiche les éléments à l écran, mais ne calcule rien, d où son type de valeur de retour : int inferieurs(int p)calcule le nombre d éléments de t qui sont strictement inférieurs à p o int (valeur de retour) indique que le résultat (valeur du compteur) o int p est le de la méthode o return permet de la valeur du compteur Le fichier comporte finalement deux classes : ObjetTableau et ProgObjet. Il y aura donc fichiers compilés. 17

18 Il s agit d une, car il y a dans une des classes une méthode appelée La classe principale est celle qui comporte le main ; elle o On l appelle aussi l application Le fichier doit porter le nom, suivi de l extension.java o Ce sera donc ici Attributs et méthodes d instances Une classe est un permettant de construire des objets. Un objet est nécessairement créé à partir d une classe, à l aide On dit que l objet est une de la classe et qu il est Mais une classe n oblige pas forcément à créer des objets Un objet comporte des et dispose de, définis dans sa classe. Ainsi, dans la classe ObjetTableau, o n et t sont des o les méthodes void affiche() et int inferieurs(int p) sont des Attributs et méthodes de classes Une classe peut aussi comporter des et des. Ils sont signalés par le mot-clé et existent dès le début de l application Seule exception : le est une méthode de classe, alors qu il n est jamais précédé de Exemple d utilisation d un attribut de classe et d une méthode de classe pour compter les objets créés : fichier ProgObjet1.java class ObjetTableau { static int nbobjets = 0; // int n ; // attribut d instance int[] t ; // attribut d instance ObjetTableau(int a) { // constructeur n = a; t = new int[n] ; for (int i=0;i<n;i++) { t[i] = i+1 ; nbobjets++ ; // incrémentation du compteur 18

19 void affiche() { System.out.print("affichage d'un objet :"); for (int i = 0; i < n; i++){ System.out.print(t[i]+" * "); System.out.println(""); static void nombreobjets() { // méthode de classe System.out.println("Nombre d'objets : " + nbobjets) ; public class ProgObjet1 { // début de classe public static void main (String args[ ]) { // le main ObjetTableau.nombreObjets() ; // appel à la méthode de classe ObjetTableau obj1 = new ObjetTableau(6); obj1.affiche(); // affichage de obj1 ObjetTableau.nombreObjets() ; // appel à la méthode de classe ObjetTableau obj2 = new ObjetTableau(10); obj2.affiche(); // affichage de obj2 ObjetTableau.nombreObjets() ; // appel à la méthode de classe // fin du main // fin de classe static int nbobjets : attribut de classe initialisé, modifié dans static void nombreobjets() : méthode de classe affichant le nombre d objets, appelée dans le programme principal sur par : ObjetTableau.nombreObjets(); Exécution Nombre d'objets : 0 affichage d'un objet : 1 * 2 * 3 * 4 * 5 * 6 * Nombre d'objets : 1 affichage d'un objet : 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * Nombre d'objets : 2 Algorithmique Permuter le contenu de deux variables On veut permuter le contenu de deux variables a et b. Exemple : o Avant la permutation, a contient 38 et b contient 56. o Après la permutation, a doit contenir 56 et b doit contenir 38. Si on écrit a b (a reçoit la valeur de b), a prend la valeur de b mais Il faut donc où l on puisse stocker. On écrit donc : temp... ; ;... temp ; Pour permuter deux variables, on a donc impérativement besoin Pour les algorithmes sur tableaux suivants, On suppose qu un tableau t, de taille nb, contient n nombres, n nb. Les cases t[0], t[1],, t[n-1] du tableau sont donc Les cases t[n], t[n+1], t[nb-1] sont 19

20 Insérer un élément x dans un tableau à la suite des éléments existants Exemple Le tableau t dispose de 15 places (nb = 15) mais contient 7 nombres (n = 7), et on veut y insérer le nombre 10. Algorithme si (n = nb) alors... sinon faire fin si Résultat Déterminer les éléments maximum et minimum d un tableau Le tableau t est donné, ainsi que son nombre d éléments n. On recherche le plus grand ou le plus petit élément du tableau. Algorithme de recherche du maximum max... pour i allant de 1 à n faire si (... ) alors faire fin si fin pour A la fin de l algorithme, max contient le plus grand élément du tableau. Algorithme de recherche du minimum min... pour i allant de 1 à n faire si (... ) alors faire fin si fin pour A la fin de l algorithme, min contient le plus petit élément du tableau. Déterminer l indice du maximum ou du minimum d un tableau C est le même algorithme, mais où on mémorise en même temps : o la plus grande (ou petite) valeur o son 20

21 Algorithme pour l indice du plus grand max... indice... pour i allant de 1 à n faire si (... ) alors faire max... indice... fin si fin pour A la fin de l algorithme, max contient le plus grand élément du tableau et indice contient son indice dans le tableau Algorithme pour l indice du plus petit min... indice... pour i allant de 1 à n faire si (... ) alors faire min... indice... fin si fin pour A la fin de l algorithme, min contient le plus petit élément du tableau et indice contient son indice dans le tableau Somme des éléments d un tableau Il s agit de au fur et à mesure les valeurs des éléments du tableau. Il est donc nécessaire d avoir une variable contenant Algorithme : som... pour i allant de 0 à n faire som... fin pour A la fin, la somme des éléments du tableau est Comptages divers On a besoin de variable supplémentaire. Exemple : compter le nombre d éléments égaux à p. Algorithme : cpt... pour i allant de 0 à n faire si (... ) alors faire fin si fin pour A la fin, le nombre d éléments égaux à p est 21

22 Insérer un élément à sa place, le tableau étant déjà rangé Un tableau de nb places contient n nombres déjà rangés dans l ordre croissant. On veut y insérer un nouveau nombre. Exemple : Principe o o si le tableau est déjà plein, si le tableau est vide, o sinon, c est que le tableau est partiellement rempli : - on cherche alors le premier indice i tel que - on décale vers la fin du tableau les éléments d indice allant de - on place x en - on augmente d une unité Algorithme si (... )... sinon si (... ) faire t[n]... n... sinon faire i... tant que (... ) faire i... pour j... fin si Résultat faire... t[i]... n... fin si... 22

23 Les tris sur tableaux Algorithme du tri tournoi Principe A partir d un rang i, on considère l élément du tableau et on le compare à tous les éléments t[j] suivants. A chaque fois que t[i] est à t[j], on permute et On effectue cela pour i allant du indice à indice. Exemple i = 0. On compare t[0] à t[1], t[2],, t[n-1] et à chaque fois que t[0] > t[j], on permute A la fin de ce premier parcours, le plus petit élément est arrivé On recommence avec i = 1 : on compare t[1] à t[2],, t[n-1] et lorsque t[1] > t[j], on permute A la fin du deuxième parcours, les deux plus petits éléments sont On recommence ensuite avec i = 2, 3, n-2. Algorithme : pour i... pour j... si (... ) faire temp... t[i]... t[j]... fin si fin pour fin pour 23

24 Algorithme du tri à bulles Principe On compare chaque élément à son suivant. S il lui est supérieur, on les permute ; sinon, on passe à l élément suivant. Lorsqu on a parcouru tout le tableau, on recommence un nouveau parcours s il y a eu au moins une permutation. Exemple du premier parcours : ci-contre A la fin de ce premier parcours, le plus grand élément est arrivé Au parcours suivant, on obtient le résultat ci-contre. Les deux plus grands éléments sont position et position. Le tableau est trié dès qu un parcours est fait sans Pour contrôler l arrêt des permutations, on utilise une variable initialisée à 0 au début de chaque parcours, et que l on passe à 1 dès que Il suffit alors de boucler alors tant que cette variable, à la fin d un parcours, est égale Algorithme permut... tant que (... ) faire permut... pour i 0 à... si (... ) faire permut... temp... t[i]... t[i+1]... fin si fin pour fin tant que 24

25 Les paquetages Java Qu est-ce qu un paquetage? Les paquetages ( ) sont des librairies de, de et regroupées selon leur fonction. Elles sont fournies en même temps que le compilateur javac et l interpréteur java. La documentation concernant chaque paquetage est stockée sous forme de pages HTML dans un dossier spécifique o A l université, C:\sun\appserver\docs\doc\docs\ o Chez vous, Choisir la page index.html puis cliquer sur le lien intitulé : Java 2 Platform API Specification La notion d héritage Toutes les classes sont liées par la notion On déclare qu une classe dérive d une autre classe par : class Fille extends Mere {... La classe fille hérite de tous et de la classe mère. Un objet de la classe fille est donc un objet de la classe (éventuellement complété par des champs et des méthodes supplémentaires), mais la réciproque est Toutes les classes héritent d une classe spécifique appelée. Si on ne précise pas de clause d héritage dans la définition d une classe, par défaut cette classe hérite de Protection des attributs et méthodes Déclarations de protection Les attributs et méthodes d une classe peuvent être déclarés private, public, protected ou ne pas être précédés de déclaration de protection. Exemple class Truc { private int a ; protected int b ; public int c ; int d ; Déclaration private Les attributs et méthodes déclarés private ne sont accessibles qu à l intérieur de leur propre classe a ne sera donc accessible Déclaration protected Les attributs et méthodes déclarés protected ne sont accessibles qu aux sous-classes (qu elles soient dans le même paquetage ou pas) et aux classes du même paquetage b sera donc accessible 25

26 Déclaration public Les attributs et méthodes déclarés public sont toujours accessibles c sera Sans déclaration Les attributs et méthodes sans aucune déclaration de protection (mode dit ) sont accessibles par toutes les classes du même paquetage. C est le mode de protection par défaut d sera donc accessible Les interfaces Une interface est une sorte de classe spéciale, dont toutes les méthodes sont déclarées et (sans code). En fait, une interface, mais sans donner le code permettant d exécuter ces services. Une classe qui souhaite utiliser une interface le signale par le mot implements : class B implements C {... ; On dit alors qu elle l interface. Dans la classe B, on doit alors donner le code de les méthodes de l interface. Une classe B peut hériter d une classe A et implémenter une ou plusieurs interfaces : class B extends A implements C, D {... ; class A extends interface C, D implements class B Les méthodes des interfaces C et D doivent alors obligatoirement On utilisera quelques interfaces par la suite. Les classes d exceptions Lever une exception Lorsqu une méthode est exécutée, il peut se produire des erreurs. On dit alors qu une est o Une exception est un objet, instance d une des nombreuses sous-classes de la classe Exception. Chaque méthode qui risque de provoquer une ou des erreur(s) le par le mot suivi de la nature des erreurs susceptibles de se produire. o Les différentes classes d erreurs possibles sont spécifiées dans Exemple : dans la classe FilterInputStream, une méthode de lecture d un fichier est déclarée sous la forme : public int read() throws IOException Cela signale que cette lecture peut provoquer une erreur d entrée-sortie ( ). Utiliser une méthode à clause throws Lorsqu on a besoin d utiliser une méthode risquant de provoquer des erreurs : o on englobe l appel à cette méthode dans un bloc (pour l erreur) o on précise ce qu on fera en cas d erreur dans une clause (pour l erreur). 26

27 Exemple : try { fichier.read() ; catch (IOException) { System.out.println(" erreur de lecture ") ; return ; Le paquetage java.lang java.lang = java.language Le paquetage java.lang est le seul paquetage dont... Il comprend notamment la classe Object,, la classe System, les classes enveloppantes, la classe Math et la classe String (classe des ). La classe System La classe System contient des et des du système. Quand on écrit System.out.println(...), on fait appel à out de la classe System. System.out : System.in : Les classes enveloppantes Les variables des types de données primitifs (int, char, double, etc) sont les seuls éléments qui ne sont objets dans Java. des Mais on peut à partir de ces types primitifs à l aide des type nature classe enveloppante boolean true ou false Boolean char caractère 16 bits Character byte entier 8 bits signé (petit entier) Byte short entier 16 bits signé (entier court) Short int entier 32 bits signé (entier) Integer long entier 64 bits signé (entier long) Long float virgule flottante 32 bits (réel simple) Float double virgule flottante 64 bits (réel double) Double int n = 5 ; // n n est pas un objet Integer obj1 = new Integer(n) ; // obj1 est... double f = ; // f n est pas un objet Double obj2 = new Double(f) ; // obj2 est... La classe Math La classe Math contient toutes les nécessaires pour effectuer tous les calculs mathématiques. On effectue donc l appel à une méthode par l instruction : 27

28 Exemples double j = ; double k = Math.abs(j) ; // k... double l = Math.pow(j,k) ; // l... double m = Math.sqrt(p) ; // m... La classe String La classe String contient de très nombreuses pour le traitement des chaînes de caractères Il est indispensable de consulter la documentation pour trouver la méthode dont on a besoin Le paquetage java.util java.util = utilitaires de java Il contient toutes les classes utilitaires, notamment : o Scanner : pour les o Random : pour la Importation de paquetage Pour utiliser une partie d un paquetage autre que java.lang, on utilise le mot-clé : o import java.util.scanner ; on se donne le droit d utiliser la classe Scanner o import java.util.random ; on se donne le droit d utiliser la classe Random o import java.util.* ; on se donne le droit d utiliser Utilisation de la classe Scanner Fichier UtilScanner.java : import java.util.scanner ; public class UtilScanner { static Scanner sc ; public static void main(string args[]) { sc = new Scanner(System.in); System.out.println("Veuillez saisir une phrase :"); String str = sc.nextline(); System.out.println("Vous avez saisi : " + str); System.out.println("Veuillez saisir un entier :"); int n = sc.nextint(); System.out.println("Vous avez saisi le nombre : " + n); System.out.println("Veuillez saisir un float :"); float f = sc.nextfloat(); System.out.println("Vous avez saisi le nombre : " + f); System.out.println("Veuillez saisir un double :"); double d = sc.nextdouble(); System.out.println("Vous avez saisi le nombre : " + d); 28

29 Le programme UtilScanner.java crée un objet sc de la classe Scanner par un constructeur relié au clavier : sc = new Scanner(System.in); puis d entrer au clavier : o une phrase : o un entier : o un float : o un double : Attention : sous Windows, les float et double doivent être entrés sous la forme du système, comme pour Excel). Utilisation de la classe Random Le programme UtilObjet.java suivant demande la création d un objet o qui comporte (liée à la configuration Le Objet() : o crée par l instruction t = new float[40] ; o appelle le constructeur de la classe Random par Random r = new Random(); l objet construit est appelé un o demande à ce de remplir le tableau par l instruction t[i]=r.nextfloat(); La méthode nextfloat() de la classe Random génère un... compris entre et Fichier UtilObjet.java import java.util.random ; class Objet { float[] t ; Objet() { t = new float[20] ; Random r = new Random(); for (int i = 0 ; i < 20 ; i++) { t[i]=r.nextfloat(); void affiche() { for (int i = 0 ; i < 20 ; i++) { System.out.println(t[i]); public class UtilObjet { public static void main(string[] args) { Objet o = new Objet(); o.affiche(); Un exemple de résultat : Si on veut obtenir des entiers, on modifie le programme en conséquence et on fait appel à la méthode nextint() qui génère un dans des entiers possibles. 29

30 Fichier UtilObjet2.java import java.util.random ; class Objet { int[] t ; Objet() { t = new int[20] ; Random r = new Random(); for (int i = 0 ; i < 20 ; i++) { t[i]=r.nextint(); void affiche() { for (int i = 0 ; i < 20 ; i++) { System.out.println(t[i]); public class UtilObjet2 { public static void main(string[] args) { Objet o = new Objet(); o.affiche(); Un exemple de résultat : Si on veut obtenir des entiers compris entre 0 et m (0, m ), on fait appel à la méthode nextint(m). Exemple ci-dessous avec des entiers entre 0 (compris) et 50 (exclu) : UtilObjet3.java Fichier UtilObjet3.java import java.util.random ; class Objet { int[] t ; Objet() { t = new int[20] ; Random r = new Random(); for (int i = 0 ; i < 20 ; i++) { t[i]=r.nextint(50); void affiche() { for (int i = 0 ; i < 20 ; i++) { System.out.println(t[i]); public class UtilObjet3 { public static void main(string[] args) { Objet o = new Objet(); o.affiche(); Un exemple de résultat : On peut obtenir un entier de n importe quel intervalle [a, b[ par t[i]=... 30

31 Le paquetage java.text Fournit des classes pour le traitement des Il contient notamment les classes DecimalFormat, DecimalFormatSymbol permettant d afficher de manière variée des Exemple : programme UtilFormat.java import java.text.* ; public class UtilFormat { public static void main(string args[]) { double d = ; System.out.println("0 : " + d) ; DecimalFormat df = new DecimalFormat() ; DecimalFormatSymbols dfs = df.getdecimalformatsymbols(); dfs.setgroupingseparator(' ') ; df.setdecimalformatsymbols(dfs); System.out.println("1 : " + df.format(d)) ; df.applypattern("#,###,##0.00 ") ; System.out.println("2 : "+df.format(d)) ; Exécution : 0 : E7 1 : ,459 2 : ,46 3 : ,46 Analyse du programme : System.out.println("0 : " + d) ; affichage DecimalFormat df = new DecimalFormat() ; on crée... DecimalFormatSymbols dfs = df.getdecimalformatsymbols(); on récupère dfs.setgroupingseparator(' ') ; dans dfs, on choisit... df.setdecimalformatsymbols(dfs); on réassocie System.out.println("1 : "+df.format(d)); résultat df.applypattern("#,###,##0.00 ") ; on ajoute System.out.println("2 : "+df.format(d)); résultat 31

Langage à objets : JAVA (1)

Langage à objets : JAVA (1) DEUST Systèmes d information et Réseaux, Gestion et réalisation 1 ère année Langage à objets : JAVA (1) 2013-2014 1 INTRODUCTION... 3 Langages compilés et interprétés... 3 Java, compilé et interprété...

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

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

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

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

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

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

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

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

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

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

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

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

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40 Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

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

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

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

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

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

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2 Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD

Plus en détail

Java Licence Professionnelle CISII, 2009-2010

Java Licence Professionnelle CISII, 2009-2010 Licence Professionnelle CISII, 2009-2010 Cours 1 : Introduction à Java A. Belaïd abelaid@loria.fr Cours disponible sur le site : http://www.loria.fr/~abelaid puis Teaching 1 Fonctionnement 12 séances :

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

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

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

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

Plus en détail

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

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

Introduction au langage C

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

Plus en détail

INITIATION AU LANGAGE JAVA

INITIATION AU LANGAGE JAVA INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal

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

COMPARAISONDESLANGAGESC, C++, JAVA ET

COMPARAISONDESLANGAGESC, C++, JAVA ET REPUBLIQUE DU BENIN *******@******* MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE(MESRS) *******@******* UNIVERSITE D ABOMEY CALAVI(UAC) *******@******* ECOLE POLYTECHNIQUE D ABPOMEY

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

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

1. Langage de programmation Java

1. Langage de programmation Java 1. Langage de programmation Java 1.1. Définitions Langage de 3e génération le plus utilisé actuellement Portabilité : exécutable sur tout types d'ordinateurs quel que soit le système d'exploitation (Windows,

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

Java Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets

Java Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets Licence Professionnelle CISII, 2009-2010 Cours 2 : Classes et Objets 1 Classes et Objets Objectifs des LOO : - Manipuler des objets - Découper les programmes suivant les types des objets manipulés - Regrouper

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

Package Java.util Classe générique

Package Java.util Classe générique Package Java.util Classe générique 1 Classe Vector La taille est dynamique: dès qu un tableau vectoriel est plein, sa taille est doublée, triplée, etc. automatiquement Les cases sont de type Object add(object

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

Auto-évaluation Programmation en Java

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

Plus en détail

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

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

Prendre le marteau, le tableau, le mètre, le crayon, la ficelle, le clou, la pointe ;

Prendre le marteau, le tableau, le mètre, le crayon, la ficelle, le clou, la pointe ; s Introduction Naissance d'un programme Exercice I-1: Apprendre à décomposer une tâche en sous-tâches distinctes a. Objets nécessaires : 1 tableau, 1 clou, 2 pointes, 1 ficelle, 1 marteau, 1 crayon, 1

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

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

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

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

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

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres

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

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

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

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

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

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

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

Corrigés des premiers exercices sur les classes

Corrigés des premiers exercices sur les classes Corrigés des premiers exercices sur les classes Exercice 2.1.1 utilisation d une classe Voici le texte d une classe représentant de façon sommaire un compte bancaire et les opérations bancaires courantes.

Plus en détail

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

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

Plus en détail

Généralités sur le Langage Java et éléments syntaxiques.

Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...

Plus en détail

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr Aide mémoire UML & Java 1ère partie : Introduction marc.lemaire@u-cergy.fr 9 septembre 2014 1 2014 v1.11 Table des matières 1 Généralités 6 1.1 Notations utilisées.....................................

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

TD/TP PAC - Programmation n 3

TD/TP PAC - Programmation n 3 Université Paris Sud Licence d informatique/iup-miage2 Année 2004-2005 Auteur : Frédéric Vernier Semaine : 11-16 octobre 2004 Conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html

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

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

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

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

Plus en détail

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

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe

Plus en détail

Structurer ses données : les tableaux. Introduction à la programmation

Structurer ses données : les tableaux. Introduction à la programmation Structurer ses données : les tableaux Introduction à la programmation Plan du document Introduction Introduire la notion de type Types primitifs Types composés Tableaux de type primitif Page 2 Notion de

Plus en détail

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

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

Plus en détail

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

TP1. Outils Java Eléments de correction

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

Plus en détail

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

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

Plus en détail

Héritage presque multiple en Java (1/2)

Héritage presque multiple en Java (1/2) Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen

Plus en détail

RMI le langage Java XII-1 JMF

RMI le langage Java XII-1 JMF Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine

Plus en détail

Introduction au langage Java

Introduction au langage Java Introduction au langage Java 1 Introduction : Langage développé par Sun et purement orienté objet. N a pas de rapport direct avec Javascript développé par Netscape. Les applications java peuvent être des

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

Programmation Objet Java Correction

Programmation Objet Java Correction INSA - 4 AE 2007 2008 Durée : 1H00 Contrôle Programmation Objet Java Correction Consignes Tous les documents sont autorisés, mais ils seront peu utiles. Indiquez vos nom et prénom sur chaque feuille. Le

Plus en détail

Cours d Algorithmique et de Langage C 2005 - v 3.0

Cours d Algorithmique et de Langage C 2005 - v 3.0 Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris

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

Un ordonnanceur stupide

Un ordonnanceur stupide Un ordonnanceur simple Université Paris Sud L objet des exercices qui suivent est de créer un ordonanceur implantant l algorithme du tourniquet ( round-robin scheduler ). La technique utilisée pour élire

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

Programmation Par Objets

Programmation Par Objets Programmation Par Objets Structures de données package java.util B. Carré Polytech Lille 1 Tableaux et structures de données Tableaux «Objets» taille fixe type des éléments : primitif (homogène) ou objets

Plus en détail

Notions fondamentales du langage C# Version 1.0

Notions fondamentales du langage C# Version 1.0 Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage

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

4. Groupement d objets

4. Groupement d objets Conception objet en Java avec BlueJ une approche interactive 4. Groupement d objets Collections et itérateurs David J. Barnes, Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Principaux

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

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

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

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

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

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

Threads. Threads. USTL http://www.lifl.fr/ routier 1

Threads. Threads. USTL http://www.lifl.fr/ routier 1 Threads USTL http://www.lifl.fr/ routier 1 Rappels - Définitions un Process est un programme qui tourne et dispose de ses propres ressources mémoire. OS multi-tâche plusieurs process en concurrence un

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

Programmation Orientée Objets Le Langage JAVA

Programmation Orientée Objets Le Langage JAVA Module IP1 Programmation Orientée Objets Le Langage JAVA Amaury Habrard Université de Saint-Etienne amaury.habrard@univ-st-etienne.fr Mis à jour par François-Xavier Dupé Université d Aix-Marseille francois-xavier.dupe@lif.univ-mrs.fr

Plus en détail

Cours 1 : Qu est-ce que la programmation?

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

Plus en détail

Génie Logiciel avec Ada. 4 février 2013

Génie Logiciel avec Ada. 4 février 2013 Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

Synchro et Threads Java TM

Synchro et Threads Java TM Synchro et Threads Java TM NICOD JEAN-MARC Master 2 Informatique Université de Franche-Comté UFR des Sciences et Techniques septembre 2008 NICOD JEAN-MARC Synchro et Threads avec Java TM 1 / 32 Sommaire

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

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail