Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Guide 01

Télécharger au format doc, pdf ou txt
Télécharger au format doc, pdf ou txt
Vous êtes sur la page 1sur 15

IFT 1870 : Initiation :programmation avec Java

C est un langage populaire (IFT 1810, IFT 1160). C++


(IFT 1166)
est une extension du langage C qui est plus populaire que C. Ses
nouveautés rendent plus agréable le C et permettent aussi de faire
la programmation orientée objet (POO)qui est une notion assez
avancée en programmation. Ainsi, dans les cours de C, C++, les
étudiants doivent attendre jusqu'au troisième cours pour étudier
la POO. Ce n'est pas le cas de notre cours IFT 1870 avec Java.

JAVA (IFT 1870, IFT 1170, IFT 1176) utilise surtout la syntaxe
du C++. De plus, Java est un langage purement orienté objet.

Dans le cours IFT 1870, on présente les concepts de base de la


programmation, une partie du langage JAVA, un peu de la
programmation orientée objet. Il n'y a aucun préalable pour le
cours IFT 1870. Les exemples sont universels.

Pour mieux présenter les concepts de base, avec Java, on vous


invite à être patient, accepter d'utiliser certaines terminologies
et de les apprendre plus tard.

Les enseignants vont trouver des moyens différents pour que votre
apprentissage de la programmation et du Java soit un succès à
votre attente.

Ce texte n'est pas encore au niveau des notes de cours. Mon but
est de vous permettre de saisir des explications en classe au lieu
de copier toujours des programmes écrits au tableau.

Bonne chance et bon succès!


Le Van Nguyen
Pour les sections A et B du IFT 1870
Hiver 2002, Campus Université de Montréal
levan@iro.umontreal.ca

IFT 1870, hiver 2002, campus Université de Montréal 1


Introduction au Java (par Le Van N.)
Premier exemple d'introduction:
Faire les étapes nécessaires pour écrire finalement un programme en langage Java
qui permet :

- de déclarer et d'initialiser (donner sa valeur initiale, sa valeur de départ)


la taille d'une personne en nombre de pieds (5 pieds) et de pouces (6 pouces)

- de convertir la taille en mètre


( 1 pied = 12 pouces
1 pied = 0.3048 mètre )

- d'afficher la taille dans le système impérial et aussi en mètre (système


métrique)

Exécution :
L'exécution d'un tel programme sur un micro-ordinateur donne, par exemple,
ce qui suit à l'écran :

La taille de la personne :
- dans le systeme imperial : 5 pied(s) et 6 pouce(s)
- dans le systeme metrique : 1.6764000000000001 metre

Comprendre le problème, faire un cheminement :

Quelles sont les données ? :


- le nombre de pieds et de pouces
- le facteur de conversion (1 pied vaut 0.3048 mètre).

Quels sont les résultats ? :


- un seul! c'est la taille en mètre

Si une personne mesure 5 pieds et 6 pouces, comment calculer


sa taille en mètre ?

6 pouces = 6 / 12.0 pied (car 1 pied = 12 pouces)

5 pieds et 6 pouces = (5 + 6 / 12.0) pieds


= (5 + 6 / 12.0) x 0.3048 mètre = ... mètre

Cheminement :

Convertir la taille en mètre selon la formule :

taille <---- ( Nombre de pieds + Nombre de pouces / 12.0 ) x 0.3048

Afficher la taille dans deux systèmes.

IFT 1870, hiver 2002, campus Université de Montréal 2


Introduction au Java (par Le Van N.)
Faire un tableau d'analyse des informations :

INFORMATION TYPE NATURE VALEUR IDENTIFICATEUR


----------------------------------------------------------------------------
Données :

Le nb. de pieds Entier Variable À initialiser nbPieds


Le nb. de pouces Entier Variable À initialiser nbPouces
Facteur de conversion Réel Constante 0.3048 FACTEUR

Résultats :

La taille en mètre Réel Variable À calculer taille

Pour ce tableau :

- une variable est une information dont la valeur peut varier :

le nombre de pieds, le nombre de pouces et la taille varient d'une


personne à une autre;

- une constante est une information dont la valeur est inchangée, sa valeur
est finale

on applique le même facteur de conversion (1 pied = 0.3048 mètre)


peu importe la taille de la personne;

- un identificateur est un seul mot permettant d'identifier l'information


(on donne un nom à l'information). La syntaxe du langage commence ici.

Faire un algorithme (un cheminement plus détaillé) :

Convertir la taille en mètre selon la formule :

taille <---- ( nbPieds + nbPouces / 12.0 ) x 0.3048

Afficher la taille :

Écrire à l'écran taille dans les 2 systèmes

Dans cet algorithme, on utilise souvent des identificateurs décrits dans le


tableau d'analyse de l'information.

Avant de programmer, on vérifie l'exactitude de l'algorithme.

IFT 1870, hiver 2002, campus Université de Montréal 3


Introduction au Java (par Le Van N.)
Traduire l'algorithme en langage de programmation :

On traduit l'algorithme en utilisant le vocabulaire du langage (ici, le


Java) et sa syntaxe.

Le tableau d'analyse des informations est utile pour comprendre le


problème et pour faire les déclarations.

Cette étape, qui est expliquée en détail au premier cours théorique,


nous amène à un programme écrit en langage JAVA comme suit suivi des
explications :

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Auteurs : LACHANCE Lise Section A et AUDETTE Yves Section B +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Date : 08 janvier 2002 pour le cours IFT 1870, hiver 2002 +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ But : Ce programme permet de déclarer, d'initialiser la taille +
+ d'une personne en nombre de pieds et de pouces, de convertir et +
+ d'afficher la taille +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*/

public class Taille // explication plus tard


{
public static void main (String[] args) // plus tard
{

final double FACTEUR = 0.3048 ; /* Facteur de conversion :


1 pied = 0.3048 mètre */

// déclarer et initialiser le nombre de pieds, le nombre de pouces


int nbPieds = 5, nbPouces = 6 ;

double taille ;

// Conversion en mètre :
taille = (nbPieds + nbPouces / 12.0) * FACTEUR ;

// Affichage :
System.out.println("La taille de la personne :");
System.out.println(" - dans le systeme imperial : " + nbPieds
+ " pied(s) et " + nbPouces + " pouce(s)");
System.out.println(" - dans le systeme metrique : " + taille +
" metre");

}
}

IFT 1870, hiver 2002, campus Université de Montréal 4


Introduction au Java (par Le Van N.)
Explications sommaires du programme :

Ce programme comporte :

1) d'une classe dont le contenu est une fonction principale (void main):

public class Taille


{
public static void main (String[] args)
{
...
}
}

L'allure des premiers exemples est assez semblable à cet exemple.


On va apprendre en détails, plus tard dans le cours, les notions de
classes, méthodes, méthode principale, les chaînes de caractères
(classe String), ...

2) d'un bloc d'énoncés délimités entre { (début d'un bloc) et }


(fin d'un bloc)

3) de la déclaration :

a) d'une constante de type réel dont la valeur vaut 0.3048 :

final double FACTEUR = 0.3048 ;


"final" est la clause qui signale que la valeur de FACTEUR est
finale (on n'a pas le droit de modifier cette valeur). FACTEUR
est alors une constante qui vaut 0.3048

"double" désigne le type réel (une valeur numérique avec la


partie décimale).

FACTEUR (de conversion) est le nom de cette constante.

La valeur d'une constante est inchangée durant l'exécution du


programme (le facteur de conversion est le même, peu importe
la taille de la personne).

b) de trois variables :

"int" est l'abrégé du mot anglais "integer" qui signifie


le type entier (-23, 456, 32100, etc...)

IFT 1870, hiver 2002, campus Université de Montréal 5


Introduction au Java (par Le Van N.)
nbPieds et nbPouces sont les noms (les identificateurs)
de deux variables de type entier.

"double" désigne le type réel (valeur numérique avec la partie


décimale).

taille est le nom d'une variable de type réel (double).

La valeur d'une variable peut varier durant l'exécution du


programme (la taille varie d'une personne à une autre personne).

4) de l'affectation à la variable taille le résultat d'un calcul :


taille = (nbPieds + nbPouces / 12.0) * FACTEUR ;

L'opérateur = indique qu'on affecte (on dépose) la


valeur de l'expression à droite du symbole "=" à la
variable taille.

L'opérateur "*" représente la multiplication entre deux


valeurs numériques.

5) de l'affichage un message à l'écran :

System.out.println("La taille de la personne :");

"print" est le nom d'un verbe en anglais qui signifie "imprimer".


En pratique, le sens plus fréquent de print est d'afficher.
Le suffixe ln (du mot println) est l'abrégé de new line (nouvelle
ligne) qui signale un changement de ligne après l'affichage.

"out" représente la sortie et "System.out" représente la sortie du


système qui est l'écran.

En résumant :
System.out.println("La taille de la personne :");
permet d'afficher à l'écran le message La taille de la personne :
et changer de ligne après cet affichage.

6) de la conversion numérique en chaîne de caractères et de l'opérateur


de concaténation entre deux chaînes de caractères :

En Java :

"Bonsoir" + " tout le monde!" donne "Bonsoir tout le monde!"

Avec int age = 23 ;


"Age vaut " + age + " ans" donne : Age vaut 23 ans
la valeur 23 est convertie en "23" et
"Age vaut " + age donne : Age vaut 23
puis : "Age vaut " + age + " ans" donne Age vaut 23 ans

IFT 1870, hiver 2002, campus Université de Montréal 6


Introduction au Java (par Le Van N.)
Éléments de base du langage Java

Dans ce programme, on utilise des mots de vocabulaire ainsi que les


symboles suivants du langage Java :

public : l'accès est public (plus libre) : plus tard dans le


cours
class : une notion de base de la POO (Programmation orientée
objet) : plus tard dans le cours
void main(…) : méthode (fonction) principale

String : classe des chaînes de caractères (à venir)


final : (valeur) finale qui désigne une constante
double : type réel (exemple -23.7, 1.78, 67.9435, ...)
int : type entier (exemple -34, 0, 678, ...)

{ : début d'un bloc d'instructions


} : fin d'un bloc d'instructions
System.out.println : afficher à l'écran puis changer de ligne
= : affectation (dépôt de valeur)
* : multiplication
/ : division

Ces mots et ces symboles reviennent exemple par exemple, semaine par
semaine. On parviendra à les comprendre et à les retenir. Il reste une
trentaine d'autres mots à découvrir durant toute la session.

Syntaxe :

Dans ce programme :

- on termine souvent une "phrase Java" (une instruction en Java) par le


point virgule ";" :

int nbPieds = 5, nbPouces = 6 ;


- on délimite un message entre les guillemets :

System.out.println("La taille de la personne :");

- on affecte (dépose) une valeur à une variable avec le symbole =


taille = (nbPieds + nbPouces / 12.0) * FACTEUR;

- on utilise le symbole * pour la multiplication

etc ....

Une erreur de syntaxe est souvent facile à localiser et à corriger.

IFT 1870, hiver 2002, campus Université de Montréal 7


Introduction au Java (par Le Van N.)
Après quelques semaines de pratique on sera habitué avec les règles
de syntaxe du langage.

Traitement de l'information en JAVA :


Catégorie d'information :

Du point de vue de la programmation, on distingue trois catégories


d'information :

- les données : les informations à traiter


- les résultats : les informations attendues
- informations intermédiaires : celles qui permettent d'obtenir
des résultats à partir des données

Exemple : Calculer le prix à payer à partir du prix d'un article


taxable.

* Données : le prix de l'article avant taxes,


les taux des taxes : TPS (7.00 %) et TVQ
(7.5 %)

* Résultats : le prix (avec taxes) à payer à la caisse

* Information(s) intermédiaire(s) :
la taxe tps
la taxe tvq
le total de ces deux taxes

Une information de base (sans orientée objet) en Java est


caractérisée par :

1. son nom (identificateur pour l'identifier)


2. son type (entier, réel, caractère, etc.)
3. sa valeur ( 23, 1.76, 'F', etc.)
4. sa nature (constante ou variable)
5. sa taille (en nombre d'octets (bytes): ce nombre
varie d'un type à un autre, un environnement
à un autre)
6. son adresse (l'emplacement en mémoire comme madame X
qui demeure à l'adresse 2346 sur une rue)
Les points 5. et 6. ne sont pas importants pour le traitement des
informations de base en Java.

IFT 1870, hiver 2002, campus Université de Montréal 8


Introduction au Java (par Le Van N.)
Identificateur Type Valeur Nature

annee int (entier) 2001 variable


population long (grand entier) 1234567890 variable
age byte (petit entier) 89 variable
poids double (réel) 62.8 variable
TAUX_TPS double (réel) 0.07 constante
sexe char (caractère) 'F' variable
BAR_INTRA double (réel) 0.20 constante
nbPersonnes int (entier) 89 variable
estCelibat boolean (booléen) false (faux) variable
etc … etc … etc …

Pour IFT 1870, on utilise fréquemment les types de base : int,


double, char, boolean.

Identification d'une information :

Dans notre vie quotidienne, nos noms et prénoms nous permettent de


nous identifier, de nous différencier d'une autre personne. C'est
la même chose en programmation : un identificateur est un nom qui
permet d'identifier une information.

Un identificateur est une suite de caractères formés par des


lettres et/ou des chiffres et qui commence par une lettre. La
plupart des compilateurs acceptent aussi le caractère souligné
pour donner plus de lisibilité à un identificateur.

Exemples : tp1, intra, tauxTps, tauxTvq, prixTotal, TAUX_TPS,...

Il n'est pas recommandé d'utiliser des caractères accentués pour


décrire un identificateur : int âge ; est permis en Java.

Les identificateurs suivants sont invalides:

tp#1, tp 1 (les caractères # et espace ne sont pas permis)

1erTP (le premier caractère n'est pas une lettre)

IFT 1870, hiver 2002, campus Université de Montréal 9


Introduction au Java (par Le Van N.)
Conseils pratiques :

a) Un identificateur sert à nommer une information (une donnée,


un résultat, un nom d'une classe, d'une tâche à réaliser,
...).
Il est préférable d'utiliser des identificateurs
significatifs :
taille plutôt que t, racine plutôt que r,
prix plutôt que p, etc...

b) Longueur maximale d'un identificateur :

Cette longueur change d'un langage à un autre, d'un


compilateur à un autre et, ce, dans le même langage.
On vous conseille d'utiliser des identificateurs
significatifs de longueur raisonnable:
l'identificateur taille est plus simple et plus court à taper
que : laTailleDeLaPersonneATraiter

c) Le Java fait la différence entre les identificateurs


écrits en majuscules ou en minuscules:

Exemple : TP1, tp1, Tp1, tP1 représentent les identificateurs


différents.

d) Convention du JAVA :

Pour le cours IFT 1870, on suggère :

. utiliser les majuscules pour identifier les constantes :

final int MAX_ETUD = 100 ; /* au maximum : 100 étudiants */


final double TAUX_TPS = 0.07; /* 7.0% pour le taux de
TPS */

. utiliser le premier mot en minuscule et le début d'un


nouveau mot en majuscule (cas de classes : à venir):

int age, nbPieds, nbPouces ;


double tailleEnMetre , poidsEnKgs ;

IFT 1870, hiver 2002, campus Université de Montréal 10


Introduction au Java (par Le Van N.)
Nature de l'information :

Les constantes:

On distingue deux catégories de constantes :

- les constantes éternelles : 2, 17.3, 3.14159 (PI), ...

- les valeurs inchangées d'un problème à traiter :


Quand doit-on déclarer les constantes ? :

. pour généraliser le programme : les barèmes, les taux de


taxes, les bonus, les barèmes, les bornes, …
S'il y a des changements dans les taux de taxes, par
exemple, la TPS qui passe de 7% à 7.5 % et la TVQ qui
passe de 6.5 % à …, il suffira alors de modifier les
valeurs des constantes déclarées plutôt que d'aller
fouiller dans tout le programme pour les trouver et les
modifier.

. pour éviter des erreurs de frappe ou pour donner plus de


précision dans les calculs (valeur de PI par exemple).

Comment peut-on déclarer les constantes ? :


À part de l'accessibilité qu'on va mentionner plus tard, une
constante est déclarée avec la clause final :

final int MAX_PERS = 120;


final double FACTEUR = 0.3048,
TAUX_TPS = 0.07 ;

Les variables:

Une variable est une information dont la valeur peut


changer (varier) au cours de l'exécution du programme.

type liste de variables(s) ;

Exemple :
int age ;
double taille, poids, salHebdo ;

IFT 1870, hiver 2002, campus Université de Montréal 11


Introduction au Java (par Le Van N.)
char sexe, poste ;

Affectation :

Un des moyens pour donner une valeur à une variable est d'affecter
(déposer) à cette variable une constante, le résultat d'un calcul,
la valeur d'une autre variable, etc ....

L'opérateur d'affectation est le symbole "=" en langage JAVA :

variable = expression ;
Exemples:

int age ;
float taille1, taille2 ;

age = 18 ;

age = 3 * 12 - 5 ;

taille1 = (5 + 7 / 12.0 ) * 0.3048 ;

taille2 = taille1 + 0.17 ;

Commentaires:

On utilise des commentaires pour décrire le but d'un programme,


pour expliquer certaines déclarations ou quelques parties d'un
programme.

Les lignes de commentaires sont placés :


1. entre les symboles /* et */ sur une ou plusieurs lignes
OU 2. à partir de // jusqu'à la fin d'une ligne

Exemples :

/* Ce programme permet de :
- convertir la taille en mètre
- afficher la taille
*/

int nbFem ; /* le nombre de femmes traitées */

double tailleMax ; // la taille maximale des personnes traitées

IFT 1870, hiver 2002, campus Université de Montréal 12


Introduction au Java (par Le Van N.)
/* calculer la surface d'un rectangle : */
surface = longueur * largeur ;

Exercice 1 :

Faire les étapes nécessaires pour écrire finalement un programme


en langage Java qui permet :
- de déclarer et d'initialiser les informations de la personne
suivante :
Beaulieu Jacques 21 ans mesure 1.72 mètre, pèse 67.8 kgs
- d'afficher les informations de la personne

Pour cet exercice, seulement le nom et prénom est un objet de la


classe prédéfinie String. Les notions de classe, objet seront
abordées au prochain chapitre.

Solution :

public class Personne


{
public static void main (String[] args)
{
int age = 21 ;
double taille = 1.72, poids = 67.8 ;
char sexe = 'M'; // sexe masculin de type caractère (char)

// String est le nom de la classe prédéfinie: chaîne de caractères


String nomPre = "Beaulieu Jacques";

System.out.println("Informations de la personne :");


System.out.println(" – Nom et prnom : " + nomPre);
System.out.println(" – age : " + age + " an(s)");
System.out.println(" – taille : " + taille
+ " metre");
System.out.println(" – poids : " + poids
+ " kgs");
}
}

Exécution :
Informations de la personne :
nom et prenom : Beaulieu Jacques

IFT 1870, hiver 2002, campus Université de Montréal 13


Introduction au Java (par Le Van N.)
age : 21 an(s)
taille : 1.72 metre
poids : 67.8 kgs

Exercice 2:

Faire les étapes nécessaires pour écrire finalement un programme


en langage JAVA qui permet :

- de déclarer et d'initialiser une température en degrés


Farenheit à Paris: 76.8 degrés F

- de convertir cette température en degrés Celcius sachant que :

5
degrés Celcius = ----- x ( degrés Farenheit - 32 )
9

- d'afficher la température en degrés Farenheit et degrés


Celcius.

Exercice 3 :

Faire les étapes nécessaires pour écrire finalement un programme


en langage JAVA qui permet :

- de déclarer et d'initialiser la longueur (10) et la largeur (8)


d'un rectangle
- de calculer et d'afficher le périmètre du rectangle
- de calculer et d'afficher la surface du rectangle

Exercice 4 :

Faire les étapes nécessaires pour écrire finalement un programme


en langage JAVA qui permet :

- de déclarer et d'initialiser le prix d'un article taxable


(exemple 10.00$)
- de calculer les deux taxes tps et tvq
- de calculer et d'afficher le prix total à payer
- de déclarer et d'initialiser le montant donné par le client
(billet de vingt)
- de calculer et d'afficher le change à remettre au client.

IFT 1870, hiver 2002, campus Université de Montréal 14


Introduction au Java (par Le Van N.)
IFT 1870, hiver 2002, campus Université de Montréal 15
Introduction au Java (par Le Van N.)

Vous aimerez peut-être aussi