• Aucun résultat trouvé

IFT 1015 - Variables

N/A
N/A
Protected

Academic year: 2022

Partager "IFT 1015 - Variables"

Copied!
24
0
0

Texte intégral

(1)

IFT 1015 - Variables

Professeur:

Stefan Monnier

B. K ´egl, S. Roy, F. Duranleau, S. Monnier

D ´epartement d’informatique et de recherche op ´erationnelle Universit ´e de Montr ´eal

hiver 2006

(2)

Au programme

Qu’est-ce qu’une variable?

Valeurs

Types

Nommer des variables

D ´eclaration

(3)

R ´ef ´erences

[Tasso: Chapitre 1]

[Ni ˜no: 2.1, 2.2, 5.1.2, Chapitre 3]

(4)

Exemple

public class Cercle {

public static void main(String [] args) {

// rayon: le rayon lu; perim: le perimetre du cercle double rayon, perim;

// Lecture du rayon

rayon = Double.parseDouble(args[0]);

// Calcul du perimetre

perim = 2 * Math.PI * rayon;

// Afficher le resultat

System.out.println("Le cercle de rayon " + rayon + " a le p´erim`etre " + perim);

(5)

Conception

Apr `es l’analyse du probl `eme `a r ´esoudre, la premi `ere

´etape est d’identifier les ´el ´ements manipul ´es

Exemple

– Pour le calcul du p ´erim `etre du cercle, les ´el ´ements manipul ´es sont le rayon et le p ´erim `etre

Dans un programme, il faut pr ´evoir de l’espace en m ´emoire pour stocker ces ´el ´ements

(6)

D ´efinitions

Variable

“Symbole ou terme auquel on peut attribuer plusieurs valeurs distinctes, `a l’int ´erieur d’un domaine d ´efini.”

— Le Robert

Programmation: une variable est un emplacement m ´emoire o `u une valeur est stock ´ee

– “Nom du tiroir”

(7)

D ´efinitions

Valeur

“Une information fondamentale simple ou compos ´ee qui peut ˆetre manipul ´ee par un programme.”

Exemples

13 , ’a’ , -5 , 12.456 , "abc"

– une adresse m ´emoire

(8)

D ´efinitions

Type

“Un ensemble de valeurs apparent ´ees avec les op ´erations qui peuvent ˆetre effectu ´ees avec elles.”

Exemples

– nombre entier, nombre `a virgule flottante (“r ´eel”), caract `ere – adresse m ´emoire

– strings, comptes bancaires, objets g ´eom ´etriques

(9)

D ´eclaration d’une variable

Syntaxe:

<type> <nom>; (ou <type>

<nom1>,...,<nomN>;)

– ll faut d ´eclarer une variable avant de l’utiliser

Nom

Etiquette´ servant `a rep ´erer l’emplacement en m ´emoire

Type

– Sert `a d ´eterminer la dimension de l’espace m ´emoire et la fac¸on dont est traduit le code binaire de la valeur qui y est stock ´ee

(10)

Exemple

Probl `eme de la circonf ´erence du cercle

Le rayon

Nom

rayon

Type

double

(nombre “r ´eel”)

Le p ´erim `etre

Nom

perim

Type

double

(nombre “r ´eel”)

(11)

Nom d’une variable

Choisir un nom significatif:

– facilement identifier le r ˆole ou le contenu d’une variable

Restrictions

– sensible `a la casse (aux majuscules/minuscules) – commence par une lettre, ou $

– chaque caract `ere suivant est soit une lettre, un chiffre, ou $

– ne doit pas ˆetre un mot-cl ´e du langage

(12)

Mots-cl ´e de Java

abstract default goto null synchronized

boolean do if package this

break double implements private throw

byte else import protected throws

case extends instanceof public transient

catch false int return true

char final interface short try

class finally long static void

const float native super volatile

continue for new switch while

(13)

Nom d’une variable

noms valides noms non valides

compte Compte#un

r 2001espace

super$Inner une-variable

variable double

UNE CONSTANTE UNE CONSTANTE

(14)

Directives pour choisir un bon nom

Choisir un nom qui d ´ecrit la variable

rayon plut ˆot que x1

Eviter´ des noms trop longs

rayon plut ˆot que leRayonDuCercle

Eviter´ les abr ´eviations, ou ˆetre consistant dans leurs usages

employeeRecord et masterRecord ou

employeeRec et masterRec mais pas employeeRec

(15)

Directives pour choisir un bon nom

Etre le plusˆ sp ´ecifique possible

perimetre plut ˆot que resultat

Etreˆ descriptif pour distinguer des variables reli ´ees

ancienRayon et nouveauRayon plut ˆot que rayon1 et

rayon2

Ne pas incorporer le type de la variable dans son nom

rayon plut ˆot que rayonNombreR´eel

Convention “formelle”:

nomDeParametre

(16)

(Type d’une variable)

D ´efinit la quantit ´e de m ´emoire que prend une variable

– limite sur le nombre de valeurs diff ´erentes

La plus petite unit ´e adressable est l’octet (byte): une suite de 8 bits

– l’espace m ´emoire sera toujours un multiple de 8 bits

L’espace octroy ´e `a chaque type d ´epend du langage et/ou de l’architecture de la machine

(17)

Types simples et compos ´es

Types simples (built-in types)

– ne contiennent qu’une valeur pr ´ed ´efinis dans le langage – nombres, caract `eres

Types compos ´es/structur ´es

– contiennent plusieurs valeurs – d ´efinis par le programmeur – chaˆınes, comptes bancaires

(18)

Types simples de Java

type Mot-cl ´e Java Taille (bits)

octet byte 8

entier “court” short 16

entier int 32

entier “long” long 64

nombre virgule flottante float 32

nombre virgule flottante “long” double 64

caract `ere char 16

(19)

Nombres entiers ( int )

Repr ´esentation

n bits: [0,2n − 1]

– un bit pour le signe: [−2n−1,2n−1 − 1]

– 32 bits: [−2 147 483 648, 2 147 483 647]

Valeurs litt ´erales

– suite de chiffres sans espace, avec ou sans - avant le nombre

– exemples valides: 25 0 10191 1234567 -45

– exemples invalides: 10,191 1 234 567 3.14

– attention: 0123 = 1238 = 83

(20)

Nombres “r ´eels” `a virgule flottante ( double )

Repr ´esentation

– par le standard IEEE-754: stocker la base et l’exposant

– 8 octets (double): ∼ [−10300, 10300], pr ´ecision de 15 chiffres

Valeurs litt ´erales

– nombres en point flottant, notation scientifique

– exemples: 3.14 250.0 -0.00333 3.56E-13

(21)

Caract `eres ( char )

Repr ´esentation

– 16 bits, Unicode (une extension d’ASCII)

Valeurs litt ´erales

– un seul caract `ere entre guillemets simples: ’a’

– caract `eres sp ´eciaux (escape sequences): ’\n’ (fin de ligne),

’\t’ (tab), ’\\’ (backslash)

(22)

Chaˆınes de caract `eres ( String , en bref)

• String

est une classe (type compos ´e)

– n’est pas un type simple

Valeurs litt ´erales

s ´equence de caract `eres d ´elimit ´ee par " "

"Hello, World!"

"a"

Plus de d ´etails sur ceci et les types compos ´es plus tard . . .

(23)

Bool ´eens ( boolean )

Repr ´esente une valeur de v ´erit ´e (vrai ou fausse)

Valeurs litt ´erales:

true

et

false

Plus sur ceci quand on parlera des conditions . . .

(24)

D ´eclaration

Syntaxe:

<type> <nom>;

<type> <nom1>, ..., <nomN>;

– ll faut d ´eclarer une variable avant de l’utiliser

Exemples:

double rayon, perimetre;

String greeting;

boolean soupeCuite;

Références

Documents relatifs

[r]

Jean a reçu une somme d’argent de son grand-père. Il en dépense d'abord le quart pour s'acheter un livre, puis la moitié du reste pour acheter un disque. Quelle fraction de la

Dans un plan horizontal, ils se réfléchissent le long de ce mur en laissant une marque rouge à chaque point de contact et reviennent au point P au bout d’un nombre fini

Ajouter le deuxi `eme nombre de la m ´emoire au nombre qui se trouve dans l’accumulateur, et placer le r ´esultat dans l’accumulateur. Stocker le nombre qui se trouve

– valeurDeConst doit ˆetre ´evaluable pendant la compilation – valeur litt ´erale, une autre constante, une expression contenant.

si elle est ´egale `a n’importe quelle &lt;constante&gt; , l’ex ´ecution se poursuit `a partir de l’ ´etiquette &lt;constant&gt;:. sinon, l’ex ´ecution se poursuit `a partir

Objectif: r ´ep ´eter un groupe d’instructions tant qu’une condition est satisfaite, mais au moins une

Une classe repr ´esente un ensemble d’objets qui partagent les m ˆeme propri ´et ´es, r ´epondent aux m ˆeme requ ˆetes et commandes.. Chaque objet est une instance