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


INF 321 : mémento de la syntaxe de Java

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

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Introduction à l algorithmique et à la programmation M1102 CM n 3

Plan du cours. Historique du langage Nouveautés de Java 7

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

Rappels Entrées -Sorties

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

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

Solutions du chapitre 4

Notions fondamentales du langage C# Version 1.0

Algorithmique et Programmation, IMA

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Recherche dans un tableau

Programme Compte bancaire (code)

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

SUPPORT DE COURS. Langage C

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

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

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

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

Programmation Structurée en Langage C

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Programmation en langage C

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

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

length : A N add : Z Z Z (n 1, n 2 ) n 1 + n 2

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Programmer en JAVA. par Tama

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

ALGORITHMIQUE ET PROGRAMMATION En C

Informatique / Programmation

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

Les bases de l informatique et de la programmation. École polytechnique

Les opérations binaires

1. Langage de programmation Java

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

Une introduction à Java

STAGE IREM 0- Premiers pas en Python

Chapitre 10 Arithmétique réelle

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Introduction au Langage de Programmation C

Représentation des Nombres

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE UNIVERSITE M HAMED BOGARA DE BOUMERDES

Bases de programmation. Cours 5. Structurer les données

BTS IRIS Cours et Travaux Pratiques. Programmation C. A. Lebret, TSIRIS, Lycée Diderot, 1995/06. en conformité avec le référentiel du BTS IRIS

Langage C. Patrick Corde. 22 juin Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin / 289

Claude Delannoy. 3 e édition C++

Les chaînes de caractères

Programmation Orientée Objet Java

PROGRAMMATION PAR OBJETS

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Programmation Orientée Objets Le Langage JAVA

Informatique Générale

Rappels d architecture

Programmation Classique en langage C

Le langage C. Introduction, guide de reference

Programmation en Java IUT GEII (MC-II1) 1

Le Langage C Licence Professionnelle Qualité Logiciel Pr. Mouad BEN MAMOUN ben_mamoun@fsr.ac.ma Année universitaire 2011/2012

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

Architecture de l ordinateur

PROJET ALGORITHMIQUE ET PROGRAMMATION II

Chapitre 10. Les interfaces Comparable et Comparator 1

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

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Algorithmique et programmation : les bases (VBA) Corrigé

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

Chapitre 1 : La gestion dynamique de la mémoire

Conventions d écriture et outils de mise au point

Chap III : Les tableaux

Programmation en C. École Nationale Supérieure de Techniques Avancées. Pierre-Alain Fouque et David Pointcheval

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

INITIATION A LA PROGRAMMATION

Algorithmique & Langage C IUT GEII S1. Notes de cours (première partie) cours_algo_lgc1.17.odp. Licence

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

as Architecture des Systèmes d Information

Programmation en langage C Eléments de syntaxe

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

Cours 1: Java et les objets

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

TP 1 : 1 Calculs en binaire, octal et hexadécimal

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

Logiciel de Base. I. Représentation des nombres

Présentation du langage et premières fonctions

IV- Comment fonctionne un ordinateur?

Le chiffre est le signe, le nombre est la valeur.

Introduction à la Programmation Parallèle: MPI

Anis ASSÈS Mejdi BLAGHGI Mohamed Hédi ElHajjej Mohamed Salah Karouia

I. Introduction aux fonctions : les fonctions standards

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel)

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

Langage Java. Classe de première SI

Cours d Informatique

Programmation avec des objets : Cours 7. Menu du jour

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

TP, première séquence d exercices.

V- Manipulations de nombres en binaire

Transcription:

Sujets abordés et exemples semaine 3 Structure d'un programme simple en Java Pourquoi main? / Premier programme Java. public class PremierProgramme / Programme principal String nom; System.out.print("Tapez votre nom ici:"); nom = Clavier.lireString(); System.out.print( Bonjour ); System.out.println(nom); Conventions d'écriture du code Java Indentation (tabulation 4 ou 8) Espaces (parenthèses, opérateurs) Lignes blanches Nom du programme Noms des variables commentaires http://cyberzoide.developpez.com/java/javastyle/javastyle.pdf Notion de variables, de types simples et de constantes Qu est-ce qu une variable? Qu est-ce qu un type? Types entiers byte (1 octet) : -128..127 short (2 octets) : -32768..32767 int (4 octets) : -2 147 483 648.. 2 147 483 647 long (8 octets) : -9 223 372 036 854 775 808..-9 223 372 036 854 775 807 Types réels float (4 octets, 7 décimales) : -1,40239846x10-45..3,40282347x10 38 double (8 octets, 15 décimales) : 4,9406564584124654x10-324..1,797693134862316x10 308 Type char

un seul caractère ('A') caractères spéciaux : o \n : nouvelle ligne o \t : tabulation o \\ : caractère \ o \" : caractère " Type String Chaîne de caractères ("Bonjour") Pas un type de base, mais possède certaines caractéristiques des types. Type boolean Deux valeurs : true et false Utilisé pour les conditions logiques dans les sélections et les répétitions. Affectation de valeurs Opérateur = N a pas la même signification que == / Exemple d'utilisation de variables. public class ProgrammeVariables int entier1; int entier2 = 0; float reel; boolean booleen1 = true; boolean booleen2 = false; char caractere; String chaine; // Lecture et affichage d'un entier System.out.print("Tapez un entier:"); entier1 = Clavier.lireInt(); System.out.print("l'entier lu est: "); // Lecture et affichage d'un réel System.out.print("Tapez un réel:"); reel = Clavier.lireFloat(); System.out.print("le réel lu est: "); System.out.println(reel); // Lecture et affichage d'un caractère System.out.print("Tapez un caractère:"); caractere = Clavier.lireChar(); Clavier.lireFinLigne(); System.out.print("le caractère lu est: "); System.out.println(caractere);

// Lecture et affichage d'une chaine de caractères System.out.print("Tapez une chaine:"); chaine = Clavier.lireString(); System.out.print("la chaine lue est: "); System.out.println(chaine); // affichage de booléens System.out.print("booleen 1 vaut: "); System.out.println(booleen1); System.out.print("booleen 2 vaut: "); System.out.println(booleen2); // affectation d'entiers System.out.print("l'entier 2 est: "); entier2 = entier1; System.out.print("l'entier 1 est: "); System.out.print("l'entier 2 est: "); Exemple d exécution : Tapez un entier:3 l'entier lu est: 3 Tapez un réel:1.1 le réel lu est: 1.1 Tapez un caractère:r le caractère lu est: R Tapez une chaine:allo la chaine lue est: allo booleen 1 vaut: true booleen 2 vaut: false l'entier 2 est: 0 l'entier 1 est: 3 l'entier 2 est: 3 Opérateurs Opérateurs sur les valeurs numériques (int, long, float et double) Opérations de base : + - / Modulo : % (donne le reste de la division.) La priorité des opérations s applique ( ), / %, + -, + - unaires / Exemple d'utilisation d'opérateurs arithmétiques. public class ProgrammeOperateurs

int entier1 = 5; int entier2 = 10; float reel1 = 2; float reel2 = 3; // opérations sur les entiers System.out.print("entier 1 vaut: "); System.out.print("entier 2 vaut: "); // addition System.out.print("entier 1 + entier 2: "); System.out.println(entier1 + entier2); // soustraction System.out.print("entier 1 - entier 2: "); System.out.println(entier1 - entier2); // multiplication System.out.print("entier 1 entier 2: "); System.out.println(entier1 entier2); // division System.out.print("entier 1 / entier 2: "); System.out.println(entier1 / entier2); // modulo System.out.print("entier 1 % entier 2: "); System.out.println(entier1 % entier2); // affichage des variables (elles sont inchangées) System.out.print("entier 1 vaut: "); System.out.print("entier 2 vaut: "); // opérations sur les réels System.out.print("reel 1 vaut: "); System.out.println(reel1); System.out.print("reel 2 vaut: "); System.out.println(reel2); // addition System.out.print("reel 1 + reel 2: "); System.out.println(reel1 + reel2); // soustraction System.out.print("reel 1 - reel 2: "); System.out.println(reel1 - reel2); // multiplication System.out.print("reel 1 reel 2: "); System.out.println(reel1 reel2); // division System.out.print("reel 1 / reel 2: "); System.out.println(reel1 / reel2); // modulo System.out.print("reel 1 % reel 2: "); System.out.println(reel1 % reel2); // affichage des variables (elles sont inchangées) System.out.print("entier 1 vaut: "); System.out.println(reel1); System.out.print("entier 2 vaut: "); System.out.println(reel2);

Exécution : System.out.println(1.0/0); // réel / 0 => Infinity System.out.println(1/0); // entier / 0 => Erreur entier 1 + entier 2: 15 entier 1 - entier 2: -5 entier 1 entier 2: 50 entier 1 / entier 2: 0 entier 1 % entier 2: 5 reel 1 vaut: 2.0 reel 2 vaut: 3.0 reel 1 + reel 2: 5.0 reel 1 - reel 2: -1.0 reel 1 reel 2: 6.0 reel 1 / reel 2: 0.6666667 reel 1 % reel 2: 2.0 entier 1 vaut: 2.0 entier 2 vaut: 3.0 entier 1 + entier 2: 15 entier 1 - entier 2: -5 entier 1 entier 2: 50 entier 1 / entier 2: 0 entier 1 % entier 2: 5 reel 1 vaut: 2.0 reel 2 vaut: 3.0 reel 1 + reel 2: 5.0 reel 1 - reel 2: -1.0 reel 1 reel 2: 6.0 reel 1 / reel 2: 0.6666667 reel 1 % reel 2: 2.0 entier 1 vaut: 2.0 entier 2 vaut: 3.0 Infinity java.lang.arithmeticexception: / by zero at ProgrammeOperateurs.main(ProgrammeOperateurs.java:68) Conversions de types Une opération mixte engendre des conversions automatiques de types jusqu à ce que les deux opérandes soient de même type. int => long => float => double

/ Exemple d'utilisation d'opérateurs arithmétiques. public class ProgrammeConversionsImplicites int entier = 5; float reel = 2; // opérations sur les entiers System.out.print("entier vaut: "); System.out.println(entier); System.out.print("reel vaut: "); System.out.println(reel); // addition System.out.print("entier + reel: "); System.out.println(entier + reel); // soustraction System.out.print("entier - reel: "); System.out.println(entier - reel); // multiplication System.out.print("entier reel: "); System.out.println(entier reel); // division System.out.print("entier / reel: "); System.out.println(entier / reel); // modulo System.out.print("entier % reel: "); System.out.println(entier % reel); // débordement entier = 300000; System.out.print("entier entier: "); System.out.println(entier entier); Exécution : entier vaut: 5 reel vaut: 2.0 entier + reel: 7.0 entier - reel: 3.0 entier reel: 10.0 entier / reel: 2.5 entier % reel: 1.0 entier entier: -194313216 l entier est d abord converti en long, puis en float.

Possibilité de débordement lorsque les deux opérandes sont de même type mais que le résultat dépasse les limites. (int int donne un int, même si le résultat est trop grand ou trop petit pour un int. Il ne sera pas converti en long.) La conversion automatique fonctionne aussi pour l affectation (par exemple, on peut affecter un int dans une variable float). Cependant, ça n évite pas les débordements.