• Aucun résultat trouvé

Variables et expressions

N/A
N/A
Protected

Academic year: 2022

Partager "Variables et expressions"

Copied!
59
0
0

Texte intégral

(1)

Variables et expressions

Alexandre Benoit

BCPST

(2)

2 / 17

I Types simples

(3)

Entiers

Précision arbitraire ;

6 opérateurs :

L’addition ; La soustraction ; La multiplication : * ;

Le quotient ( // ) et le reste (%) d’une division euclidienne (exemple : 17//5

donne3et 17% 5 donne2) ;

L’exponentiation (exemple 2**3

donne8).

(4)

3 / 17

Entiers

Précision arbitraire ; 6 opérateurs :

L’addition ; La soustraction ; La multiplication : * ;

Le quotient ( // ) et le reste (%) d’une division euclidienne (exemple : 17//5

donne3et 17% 5 donne2) ;

L’exponentiation (exemple 2**3

donne8).

(5)

Entiers

Précision arbitraire ; 6 opérateurs :

L’addition ;

La soustraction ; La multiplication : * ;

Le quotient ( // ) et le reste (%) d’une division euclidienne (exemple : 17//5

donne3et 17% 5 donne2) ;

L’exponentiation (exemple 2**3

donne8).

(6)

3 / 17

Entiers

Précision arbitraire ; 6 opérateurs :

L’addition ; La soustraction ;

La multiplication : * ;

Le quotient ( // ) et le reste (%) d’une division euclidienne (exemple : 17//5

donne3et 17% 5 donne2) ;

L’exponentiation (exemple 2**3

donne8).

(7)

Entiers

Précision arbitraire ; 6 opérateurs :

L’addition ; La soustraction ; La multiplication : * ;

Le quotient ( // ) et le reste (%) d’une division euclidienne (exemple : 17//5

donne3et 17% 5 donne2) ;

L’exponentiation (exemple 2**3

donne8).

(8)

3 / 17

Entiers

Précision arbitraire ; 6 opérateurs :

L’addition ; La soustraction ; La multiplication : * ;

Le quotient ( // ) et le reste (%) d’une division euclidienne (exemple : 17//5

donne3et 17% 5 donne2) ;

L’exponentiation (exemple 2**3

donne8).

(9)

Entiers

Précision arbitraire ; 6 opérateurs :

L’addition ; La soustraction ; La multiplication : * ;

Le quotient ( // ) et le reste (%) d’une division euclidienne (exemple : 17//5

donne3et 17% 5 donne2) ;

L’exponentiation (exemple 2**3

donne8).

(10)

4 / 17

Les nombres à virgules flottants

Écriture scientifique d’un nombre à virgule (en informatique, on met des .) ;

Nombre du type : 3.2 ou 3.0;

Les opérateurs +, -, *, ** sont également définis avec quelques différences : exemple

2.0**100.0 et

2** 100 ;

Opérateur de division entre flottants : / (différent de l’opérateur sur les entiers).

Changement possible d’un entier en flottant : float(7)donne7.0. ou d’un flottant en entierint(3.9)donne 3 etint(-3.9) donne −3 On peut aussi avoir des conversions automatiques : 3*2.0 donne 6.0

(11)

Les nombres à virgules flottants

Écriture scientifique d’un nombre à virgule (en informatique, on met des .) ;

Nombre du type : 3.2 ou 3.0;

Les opérateurs +, -, *, ** sont également définis avec quelques différences : exemple

2.0**100.0 et

2** 100 ;

Opérateur de division entre flottants : / (différent de l’opérateur sur les entiers).

Changement possible d’un entier en flottant : float(7)donne7.0. ou d’un flottant en entierint(3.9)donne 3 etint(-3.9) donne −3 On peut aussi avoir des conversions automatiques : 3*2.0 donne 6.0

(12)

4 / 17

Les nombres à virgules flottants

Écriture scientifique d’un nombre à virgule (en informatique, on met des .) ;

Nombre du type : 3.2 ou 3.0;

Les opérateurs +, -, *, ** sont également définis avec quelques différences : exemple

2.0**100.0 et

2** 100 ;

Opérateur de division entre flottants : / (différent de l’opérateur sur les entiers).

Changement possible d’un entier en flottant : float(7)donne7.0. ou d’un flottant en entierint(3.9)donne 3 etint(-3.9) donne −3 On peut aussi avoir des conversions automatiques : 3*2.0 donne 6.0

(13)

Les nombres à virgules flottants

Écriture scientifique d’un nombre à virgule (en informatique, on met des .) ;

Nombre du type : 3.2 ou 3.0;

Les opérateurs +, -, *, ** sont également définis avec quelques différences : exemple

2.0**100.0 et

2** 100 ;

Opérateur de division entre flottants : / (différent de l’opérateur sur les entiers).

Changement possible d’un entier en flottant : float(7)donne7.0. ou d’un flottant en entierint(3.9)donne 3 etint(-3.9) donne −3 On peut aussi avoir des conversions automatiques : 3*2.0 donne 6.0

(14)

4 / 17

Les nombres à virgules flottants

Écriture scientifique d’un nombre à virgule (en informatique, on met des .) ;

Nombre du type : 3.2 ou 3.0;

Les opérateurs +, -, *, ** sont également définis avec quelques différences : exemple

2.0**100.0 et

2** 100 ;

Opérateur de division entre flottants : / (différent de l’opérateur sur les entiers).

Changement possible d’un entier en flottant :float(7) donne7.0.

ou d’un flottant en entierint(3.9)donne 3 etint(-3.9) donne −3 On peut aussi avoir des conversions automatiques : 3*2.0 donne 6.0

(15)

Les nombres à virgules flottants

Écriture scientifique d’un nombre à virgule (en informatique, on met des .) ;

Nombre du type : 3.2 ou 3.0;

Les opérateurs +, -, *, ** sont également définis avec quelques différences : exemple

2.0**100.0 et

2** 100 ;

Opérateur de division entre flottants : / (différent de l’opérateur sur les entiers).

Changement possible d’un entier en flottant :float(7) donne7.0.

ou d’un flottant en entierint(3.9)donne 3 etint(-3.9) donne −3

On peut aussi avoir des conversions automatiques : 3*2.0 donne 6.0

(16)

4 / 17

Les nombres à virgules flottants

Écriture scientifique d’un nombre à virgule (en informatique, on met des .) ;

Nombre du type : 3.2 ou 3.0;

Les opérateurs +, -, *, ** sont également définis avec quelques différences : exemple

2.0**100.0 et

2** 100 ;

Opérateur de division entre flottants : / (différent de l’opérateur sur les entiers).

Changement possible d’un entier en flottant :float(7) donne7.0.

ou d’un flottant en entierint(3.9)donne 3 etint(-3.9) donne −3 On peut aussi avoir des conversions automatiques : 3*2.0 donne 6.0

(17)

Les Booléens

Seulement 2 booléens : True et False

3 Opérateurs :

La négation :not; La conjonction :and; La disjonction :or.

Opérateurs paresseux. Exemple False and 1/0;

Opérateurs de comparaisons

Test d’égalité :==; Test de non égalité :!=;

Test d’inégalité :<; >;<=;>=.

(18)

5 / 17

Les Booléens

Seulement 2 booléens : True et False 3 Opérateurs :

La négation :not; La conjonction :and; La disjonction :or.

Opérateurs paresseux. Exemple False and 1/0;

Opérateurs de comparaisons

Test d’égalité :==; Test de non égalité :!=;

Test d’inégalité :<; >;<=;>=.

(19)

Les Booléens

Seulement 2 booléens : True et False 3 Opérateurs :

La négation :not;

La conjonction :and; La disjonction :or.

Opérateurs paresseux. Exemple False and 1/0;

Opérateurs de comparaisons

Test d’égalité :==; Test de non égalité :!=;

Test d’inégalité :<; >;<=;>=.

(20)

5 / 17

Les Booléens

Seulement 2 booléens : True et False 3 Opérateurs :

La négation :not; La conjonction :and;

La disjonction :or.

Opérateurs paresseux. Exemple False and 1/0;

Opérateurs de comparaisons

Test d’égalité :==; Test de non égalité :!=;

Test d’inégalité :<; >;<=;>=.

(21)

Les Booléens

Seulement 2 booléens : True et False 3 Opérateurs :

La négation :not; La conjonction :and; La disjonction :or.

Opérateurs paresseux. Exemple False and 1/0;

Opérateurs de comparaisons

Test d’égalité :==; Test de non égalité :!=;

Test d’inégalité :<; >;<=;>=.

(22)

5 / 17

Les Booléens

Seulement 2 booléens : True et False 3 Opérateurs :

La négation :not; La conjonction :and; La disjonction :or.

Opérateurs paresseux. Exemple False and 1/0;

Opérateurs de comparaisons

Test d’égalité :==; Test de non égalité :!=;

Test d’inégalité :<; >;<=;>=.

(23)

Les Booléens

Seulement 2 booléens : True et False 3 Opérateurs :

La négation :not; La conjonction :and; La disjonction :or.

Opérateurs paresseux. Exemple False and 1/0;

Opérateurs de comparaisons

Test d’égalité :==; Test de non égalité :!=;

Test d’inégalité :<; >;<=;>=.

(24)

5 / 17

Les Booléens

Seulement 2 booléens : True et False 3 Opérateurs :

La négation :not; La conjonction :and; La disjonction :or.

Opérateurs paresseux. Exemple False and 1/0;

Opérateurs de comparaisons Test d’égalité :==;

Test de non égalité :!=;

Test d’inégalité :<; >;<=;>=.

(25)

Les Booléens

Seulement 2 booléens : True et False 3 Opérateurs :

La négation :not; La conjonction :and; La disjonction :or.

Opérateurs paresseux. Exemple False and 1/0;

Opérateurs de comparaisons Test d’égalité :==; Test de non égalité :!=;

Test d’inégalité :<; >;<=;>=.

(26)

5 / 17

Les Booléens

Seulement 2 booléens : True et False 3 Opérateurs :

La négation :not; La conjonction :and; La disjonction :or.

Opérateurs paresseux. Exemple False and 1/0;

Opérateurs de comparaisons Test d’égalité :==; Test de non égalité :!=;

Test d’inégalité :<; >;<=;>=.

(27)

II Variables

(28)

7 / 17

Notions de variables

Dans un programme, unevariable sert à designer une zone mémoire de l’ordinateur. On peut y stocker une valeur, accéder à cette dernière et la changer.

Pour faire référence à une zone mémoire on utilise un nom de variable.

(29)

Notions de variables

Dans un programme, unevariable sert à designer une zone mémoire de l’ordinateur. On peut y stocker une valeur, accéder à cette dernière et la changer.

Pour faire référence à une zone mémoire on utilise un nom de variable.

(30)

8 / 17

Déclaration et affectation

En Python, on déclare une variable avec la commande nom_de_variable = expression

Par exemple ; on déclarex comme x=2

On peut afficher ou effectuer des calculs avec ces variables : x

x+1

(31)

Déclaration et affectation

En Python, on déclare une variable avec la commande nom_de_variable = expression

Par exemple ; on déclarex comme x=2

On peut afficher ou effectuer des calculs avec ces variables : x

x+1

(32)

8 / 17

Déclaration et affectation

En Python, on déclare une variable avec la commande nom_de_variable = expression

Par exemple ; on déclarex comme x=2

On peut afficher ou effectuer des calculs avec ces variables : x

x+1

(33)

Affectation

Pour changer la valeur d’une variable, on utilise la même instruction que pour la déclaration.

x=3 x x=x+1 x

Il existe aussi une expression particulière, input(), qui attend qu’on tape quelque chose au clavier :

a=input()

Si on tape3.5, la sortie est ’3.5’:Ce qui n’est ni un entier ni un flottant.

Pour obtenir un entier, on tape : a=int(input())

Pour un flottant, on tape : a=float(input())

(34)

9 / 17

Affectation

Pour changer la valeur d’une variable, on utilise la même instruction que pour la déclaration.

x=3 x x=x+1 x

Il existe aussi une expression particulière, input(), qui attend qu’on tape quelque chose au clavier :

a=input()

Si on tape3.5, la sortie est ’3.5’:Ce qui n’est ni un entier ni un flottant.

Pour obtenir un entier, on tape : a=int(input())

Pour un flottant, on tape : a=float(input())

(35)

Affectation

Pour changer la valeur d’une variable, on utilise la même instruction que pour la déclaration.

x=3 x x=x+1 x

Il existe aussi une expression particulière, input(), qui attend qu’on tape quelque chose au clavier :

a=input()

Si on tape3.5, la sortie est ’3.5’:Ce qui n’est ni un entier ni un flottant.

Pour obtenir un entier, on tape : a=int(input())

Pour un flottant, on tape : a=float(input())

(36)

9 / 17

Affectation

Pour changer la valeur d’une variable, on utilise la même instruction que pour la déclaration.

x=3 x x=x+1 x

Il existe aussi une expression particulière, input(), qui attend qu’on tape quelque chose au clavier :

a=input()

Si on tape3.5, la sortie est ’3.5’:Ce qui n’est ni un entier ni un flottant.

Pour obtenir un entier, on tape : a=int(input())

Pour un flottant, on tape : a=float(input())

(37)

III Types composés

(38)

11 / 17

Les n-uplets

Un n-uplet,tupleen anglais, est une généralisation du concept de couple ou de triplet.

Voici un couple composé d’un entier et d’un flottant : (1,2.2)

On peut stocker unn-uplet dans une variable t=(1, 2.2, 3, 4)

t[0] permet d’évaluer la première composante.

On peut aussi affecter simultanément différentes variables à partir d’un n-uplet :

x,y = (1,2)

(39)

Les n-uplets

Un n-uplet,tupleen anglais, est une généralisation du concept de couple ou de triplet.

Voici un couple composé d’un entier et d’un flottant : (1,2.2)

On peut stocker unn-uplet dans une variable t=(1, 2.2, 3, 4)

t[0] permet d’évaluer la première composante.

On peut aussi affecter simultanément différentes variables à partir d’un n-uplet :

x,y = (1,2)

(40)

11 / 17

Les n-uplets

Un n-uplet,tupleen anglais, est une généralisation du concept de couple ou de triplet.

Voici un couple composé d’un entier et d’un flottant : (1,2.2)

On peut stocker unn-uplet dans une variable t=(1, 2.2, 3, 4)

t[0] permet d’évaluer la première composante.

On peut aussi affecter simultanément différentes variables à partir d’un n-uplet :

x,y = (1,2)

(41)

Les n-uplets

Un n-uplet,tupleen anglais, est une généralisation du concept de couple ou de triplet.

Voici un couple composé d’un entier et d’un flottant : (1,2.2)

On peut stocker unn-uplet dans une variable t=(1, 2.2, 3, 4)

t[0] permet d’évaluer la première composante.

On peut aussi affecter simultanément différentes variables à partir d’un n-uplet :

x,y = (1,2)

(42)

12 / 17

Opération sur les n-uplets

Il est possible de coller un n-uplet et unp-uplet pour obtenir un (n+p)-uplet :

(1+2)+(3,4,5)

Il est possible de tester si une valeur appartient à un n-uplet : 3 in (1,2,3)

Il est possible de connaitre la longueur d’un n-uplet : len( (1,2,3) )

Il n’est pas possible de modifier un élément directement : t = (1,2)

t[0]=2

(43)

Opération sur les n-uplets

Il est possible de coller un n-uplet et unp-uplet pour obtenir un (n+p)-uplet :

(1+2)+(3,4,5)

Il est possible de tester si une valeur appartient à un n-uplet : 3 in (1,2,3)

Il est possible de connaitre la longueur d’un n-uplet : len( (1,2,3) )

Il n’est pas possible de modifier un élément directement : t = (1,2)

t[0]=2

(44)

12 / 17

Opération sur les n-uplets

Il est possible de coller un n-uplet et unp-uplet pour obtenir un (n+p)-uplet :

(1+2)+(3,4,5)

Il est possible de tester si une valeur appartient à un n-uplet : 3 in (1,2,3)

Il est possible de connaitre la longueur d’un n-uplet : len( (1,2,3) )

Il n’est pas possible de modifier un élément directement : t = (1,2)

t[0]=2

(45)

Opération sur les n-uplets

Il est possible de coller un n-uplet et unp-uplet pour obtenir un (n+p)-uplet :

(1+2)+(3,4,5)

Il est possible de tester si une valeur appartient à un n-uplet : 3 in (1,2,3)

Il est possible de connaitre la longueur d’un n-uplet : len( (1,2,3) )

Il n’est pas possible de modifier un élément directement : t = (1,2)

t[0]=2

(46)

13 / 17

Chaîne de caractères : strings

Une chaîne caractères est une suite finie de caractères consécutifs, qu’on note entre apostrophe ou guillemets :

’Ceci est une phrase’

"Ceci est une phrase"

Comme pour les n-uplets, on peut accéder directement à un caractère s = ’bonjour’

s[2]

On peut aussi concaténer, calculer la longueur, ou effectuer un test d’appartenance.

(47)

Chaîne de caractères : strings

Une chaîne caractères est une suite finie de caractères consécutifs, qu’on note entre apostrophe ou guillemets :

’Ceci est une phrase’

"Ceci est une phrase"

Comme pour les n-uplets, on peut accéder directement à un caractère s = ’bonjour’

s[2]

On peut aussi concaténer, calculer la longueur, ou effectuer un test d’appartenance.

(48)

13 / 17

Chaîne de caractères : strings

Une chaîne caractères est une suite finie de caractères consécutifs, qu’on note entre apostrophe ou guillemets :

’Ceci est une phrase’

"Ceci est une phrase"

Comme pour les n-uplets, on peut accéder directement à un caractère s = ’bonjour’

s[2]

On peut aussi concaténer, calculer la longueur, ou effectuer un test d’appartenance.

(49)

Conversion vers des types simples

On peut convertir une valeur d’un type simple vers une chaîne de caractère :

str(1.2)

Ou effectuer l’opération inverse int(’123’)

float(’1.2’) bool(’true’)

(50)

14 / 17

Conversion vers des types simples

On peut convertir une valeur d’un type simple vers une chaîne de caractère :

str(1.2)

Ou effectuer l’opération inverse int(’123’)

float(’1.2’) bool(’true’)

(51)

Listes

Une liste est un n-uplet dont on peut changer la valeur des composantes.

On remplace les parenthèses par des crochets : [1,2,3]

Toutes les opérations vues pour les n-uplets sont définies (Concaténation, longueur, test d’appartenance)

On peut changer directement la valeur d’un élément : L = [1,2,3]

L[1]=4

On peut convertir les n-uplets en listes : list( (1,2,3) )

tuple( [4,5,6] ) list(’bonjour’)

(52)

15 / 17

Listes

Une liste est un n-uplet dont on peut changer la valeur des composantes.

On remplace les parenthèses par des crochets : [1,2,3]

Toutes les opérations vues pour les n-uplets sont définies (Concaténation, longueur, test d’appartenance)

On peut changer directement la valeur d’un élément : L = [1,2,3]

L[1]=4

On peut convertir les n-uplets en listes : list( (1,2,3) )

tuple( [4,5,6] ) list(’bonjour’)

(53)

Listes

Une liste est un n-uplet dont on peut changer la valeur des composantes.

On remplace les parenthèses par des crochets : [1,2,3]

Toutes les opérations vues pour les n-uplets sont définies (Concaténation, longueur, test d’appartenance)

On peut changer directement la valeur d’un élément : L = [1,2,3]

L[1]=4

On peut convertir les n-uplets en listes : list( (1,2,3) )

tuple( [4,5,6] ) list(’bonjour’)

(54)

15 / 17

Listes

Une liste est un n-uplet dont on peut changer la valeur des composantes.

On remplace les parenthèses par des crochets : [1,2,3]

Toutes les opérations vues pour les n-uplets sont définies (Concaténation, longueur, test d’appartenance)

On peut changer directement la valeur d’un élément : L = [1,2,3]

L[1]=4

On peut convertir les n-uplets en listes : list( (1,2,3) )

tuple( [4,5,6] ) list(’bonjour’)

(55)

Dictionnaires

Un dictionnaire est un objet pouvant en contenir d’autres. Un dictionnaire associe chaque objet à une clé.

On déclare le dictionnaire comme :

P a u l = { ’ age ’ : 1 8 , ’ L y c e e ’ : ’ Hoche ’ ,

’ c l a s s e ’ : ’BCPST1A ’ } Pour avoir l’âge de Paul, on écrit :

P a u l [ ’ age ’ ]

Pour ajouter sa moyenne en maths, on écrit : P a u l [ ’ maths ’ ] = 14

(56)

16 / 17

Dictionnaires

Un dictionnaire est un objet pouvant en contenir d’autres. Un dictionnaire associe chaque objet à une clé.

On déclare le dictionnaire comme :

P a u l = { ’ age ’ : 1 8 , ’ L y c e e ’ : ’ Hoche ’ ,

’ c l a s s e ’ : ’BCPST1A ’ }

Pour avoir l’âge de Paul, on écrit : P a u l [ ’ age ’ ]

Pour ajouter sa moyenne en maths, on écrit : P a u l [ ’ maths ’ ] = 14

(57)

Dictionnaires

Un dictionnaire est un objet pouvant en contenir d’autres. Un dictionnaire associe chaque objet à une clé.

On déclare le dictionnaire comme :

P a u l = { ’ age ’ : 1 8 , ’ L y c e e ’ : ’ Hoche ’ ,

’ c l a s s e ’ : ’BCPST1A ’ } Pour avoir l’âge de Paul, on écrit :

P a u l [ ’ age ’ ]

Pour ajouter sa moyenne en maths, on écrit : P a u l [ ’ maths ’ ] = 14

(58)

16 / 17

Dictionnaires

Un dictionnaire est un objet pouvant en contenir d’autres. Un dictionnaire associe chaque objet à une clé.

On déclare le dictionnaire comme :

P a u l = { ’ age ’ : 1 8 , ’ L y c e e ’ : ’ Hoche ’ ,

’ c l a s s e ’ : ’BCPST1A ’ } Pour avoir l’âge de Paul, on écrit :

P a u l [ ’ age ’ ]

Pour ajouter sa moyenne en maths, on écrit : P a u l [ ’ maths ’ ] = 14

(59)

Références

Ce cours est issu en grande partie du livre Informatique pour tousde Wack et autres aux éditionsEyrolles

Références

Documents relatifs

A vant d'aepter la partie, vous essayez de simuler e jeu, pour voir si vous. avez des hanes de

-1- Règles importantes pour effectuer correctement un enchaînement d'opérations (expression numérique) R1 Pour expliquer les différentes étapes d'un calcul il faut en

[r]

Pour changer la valeur d’une variable, on utilise la même instruction que pour la déclaration. x=3 x

Pour changer la valeur d’une variable, on utilise la même instruction que pour la déclaration. x=3 x

La répartition d’un collège en fonction de la couleur de leurs tenues d’EPS a donné le tableau suivant :.. Couleur VERT ROUGE

Dans le but de protéger la confidentialité de ses échanges, une agence de renseignement a contacté un informaticien pour mettre sur pied un procède de codage et voudrait que

Écris, en fonction de x , le prix en euros de deux croissants et d'une