Вы находитесь на странице: 1из 7

Université Aix Marseille - Portail Descartes Mise en œuvre informatique

TD1 : CONSTANTES, VARIABLES, EXPRESSIONS ET TYPES

Ouvrir un terminal (menu Applications → Outils système → Terminal), puis lancez l’interpréteur
en tapant python3 puis entrée.
Une fois activé, l’interpréteur Python répète inlassablement le cycle suivant :
— Python affiche une invite (le signe >>>),
— l’utilisateur compose au clavier une expression Python correcte,
— Python évalue l’expression et affiche la valeur.
Une grande partie du travail attendu consiste à taper les expressions proposées ci-après, constater
que les valeurs affichées par Python sont bien celles qui étaient attendues, ou bien découvrir quelles
sont ces valeurs, en comprendre la raison et, le cas échéant, répondre aux questions posées par le
sujet (signalées par →).
Interpréteur et versions du langage. Quand vous tapez la commande python, vous exécutez
un programme appelé interpréteur. Celui-ci vous indique la version du langage qu’il comprend.
utilisateur@ordinateur:~$ python3
Python 3.7.0 (default, Jun 28 2018, 13:15:42)
[GCC 7.2.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
Pour la partie pratique, nous utiliserons la version 3 du langage, pensez donc bien à lancer python3.

Exercice 1. Valeurs et expressions


(1) Manipulation des nombres entiers :
>>> 2 + 3
5
>>> 2 + 3 * 100
?
→ Pourquoi n’obtient-on pas 500 ? Comment aurait-il fallu écrire l’expression précé-
dente pour obtenir 500 ?
(2) Manipulation de texte : les chaînes de caractères (en anglais : strings)
>>> 'aaa'
'aaa'
>>> len('aaa')
3
→ Expliquez.
>>> len('aaa') + len('ttttt')
?
>>> 'aaa' + 'ttttt'
?
→ Expliquez.
>>> 'aaa' + 3
?
→ Lisez attentivement le message obtenu. Où se trouve l’information la plus utile pour
vous ?
>>> type('aaa')
?
>>> type(3)
?
1
2 TD1 : CONSTANTES, VARIABLES, EXPRESSIONS ET TYPES

→ Connaissez-vous d’autres types ?

>>> type(1.5)
?
>>> 1 == 1
?
>>> 1 == 2
?
>>> not 1 == 2
?
>>> 1 == 1 and 2 > 3
?
>>> 1 == 1 or 2 > 3
?
>>> False or True
?
>>> False and True
?
>>> type(1 == 1)
?

Un booléen (cf George Boole) ne peut prendre que deux valeurs : soit vrai, soit faux.
En python c’est True ou False. Opérations « mixtes » entre nombres :

>>> 1 / 3
?
>>> 1.0 / 3
?
>>> 1 / 3.0
?
>>> 1 // 3
?
>>> 1.0 // 3
?
>>> 1 // 3.0
?
>>> 10 % 3
?

/ est l’opérateur de division décimale. Pour obtenir le quotient d’une division entière,
utilisez //. Pour obtenir le reste de la division entière, utilisez %. Un nombre flottant
permet de représenter une valeur approchée d’un nombre réel. Il est souvent impossible
de représenter exactement les nombres rationnels :

>>> 1 / 3
?

Exercice 2. Variables
On peut associer un nom à une valeur :

>>> a = 3
>>> a
3

L’interpréteur affiche 3 au lieu de a. On dit que a est une variable ayant la valeur 3.
Cette valeur peut changer :
TD1 : CONSTANTES, VARIABLES, EXPRESSIONS ET TYPES 3

>>> a = 2
>>> a
?
>>> a * 5
?
>>> b = a * 5
>>> b
?
>>> a = 1
>>> b
?
→ Pourquoi b est-il resté inchangé ?
La valeur d’une variable change au cours du temps :
>>> combien = 0
>>> combien
?
>>> combien = combien + 1
>>> combien
?
>>> combien = combien + 1
>>> combien
?
→ Expliquez le fonctionnement de l’expression « combien = combien + 1 ».
Un nom de variable n’est pas la même chose qu’une chaîne de caractères :
>>> 'onze'
?
>>> onze
?
>>> onze = 11
>>> onze
?
>>> 'onze'
?
→ Expliquez.
D’autres jeux avec des variables
>>> type(123)
?
>>> a = 123
>>> type(a)
?
>>> a + a
?
>>> a = '123'
>>> type(a)
?
>>> a + a
?
>>> a = 13579 % 3 == 0
?
>>> type(a)
?
4 TD1 : CONSTANTES, VARIABLES, EXPRESSIONS ET TYPES

→ Vous semble-t’il correct de parler du « type de la variable a » ?


→ Tapez dans l’interpréteur python une expression résultant en l’affichage suivant :
<class 'float'>

Exercice 3. Syntaxe et erreurs


→ Quelles sont les erreurs produites par les entrées suivantes et comment les expliquez
vous ?
→ Que peut-on utiliser pour corriger une erreur ?
>>> 2.1.2
?
>>> 2.1
?
>>> 2 1
?
>>> 21
?
>>> "a
?
>>> "a"
?
>>> +
?
>>> a
?
>>> a +
?
>>> a + 1
?
>>> a = 2
?
>>> 2 = a
?
>>> a = 0
>>> 10 / a
?

Exercice 4. Affichage générique


à faire dans l’interpréteur. à noter, pour afficher un entier, on peut soit l’afficher di-
rectement avec print (print("x =", x)), soit le transformer en chaîne de caractères et
le concaténer à une autre chaîne de caractères (print("x = " + str(x)).
Afficher le texte "a vaut 3 et b vaut 5 donc a + b vaut 8". On souhaite modifier ce
programme pour qu’il utilise deux variables ’a’ et ’b’ et effectue un affichage qui dépende
de la valeur de ’a’ et ’b’ :
(a) Définir deux variables ’a’ et ’b’ avec comme valeur 3 et 5.
(b) Afficher le texte précédent en fonction des valeurs de ’a’ et ’b’.
(c) Changer la valeur de ’a’ en 7 et rappeler la ligne précédente pour afficher le nouveau
résultat

Exercice 5. Premier programme


Vous pouvez quitter l’interpréteur python avec la combinaison de touches Ctrl-D.
Utilisez un éditeur de texte (par exemple gedit) pour créer un fichier python. Tapez y
le code suivant :
TD1 : CONSTANTES, VARIABLES, EXPRESSIONS ET TYPES 5

x = input('Entrez un nombre : ')


print('Résultat : ', 3 * x)
Sauvegardez ce programme dans un fichier nommé exo.py dans votre répertoire per-
sonnel. Dans le terminal, tapez la commande suivante :
utilisateur@ordinateur:~$ python3 exo.py
→ Que se passe-t-il ? Expliquez le résultat.
→ Étant donné que y = int(x) met dans une variable ’y’ la valeur de type entier
représentée dans ’x’, modifiez votre programme pour qu’il affiche le résultat entier de
3 × x.

Exercice 6. Interlude : le système de fichiers


Dans un ordinateur, les fichiers sont stockés sous une arborescence de dossiers (aussi
appelés répertoires). On appelle chemin la liste de sous-dossiers (branches) qu’il faut em-
prunter pour accéder à un fichier. Sous linux, les noms de dossiers dans un chemin sont
séparés par le caractère slash (/). S’il commence par /, la racine de l’arborescence, un che-
min est dit absolu, sinon il est relatif au dossier courant. Dans chaque dossier, il existe deux
dossiers spéciaux : . (point) et .. (point point). Le premier représente le dossier courant,
le second représente son parent dans l’arborescence. Le dossier personnel de l’utilisateur
est noté ~ (tilde).

Chemin Type Nature


/ absolu racine
/home absolu dossier home dans la racine.
/home/me absolu dossier me dans home.
/home/me/exo.py absolu fichier exo.py dans me.
/home/me/exo2.py absolu fichier exo2.py dans me.
/home/me/examen absolu dossier examen dans me.
/home/me/examen/exo.py absolu fichier exo.py dans examen.
~ absolu dossier personnel, ici /home/me.
~/exo.py absolu fichier exo.py dans me.

Si maintenant le dossier courant est /home/me/examen :

Chemin Type Nature


. relatif dossier courant, examen
.. relatif dossier parent, me
exo.py relatif fichier exo.py dans le dossier examen
./exo.py relatif fichier exo.py dans le dossier examen
../exo.py relatif fichier exo.py dans le dossier me
../exo2.py relatif fichier exo2.py dans le dossier me
../examen/exo.py relatif fichier exo.py dans le dossier examen
../../me/exo.py relatif fichier exo.py dans le dossier me

→ Si le dossier courant est /home/me, écrire un chemin relatif pour accéder au fichier
exo.py qui est dans le sous-dossier examen.

Exercice 7. Règle de 3
Si 15 étudiants utilisent 5 ordinateurs, combien d’ordinateurs utiliseront 90 étudiants ?
Écrire un programme contenant des variables bien nommées avec les données du problème,
puis calculant le résultat dans une variable et l’affichant. Cette exercice ne demande pas
l’utilisation de input.
6 TD1 : CONSTANTES, VARIABLES, EXPRESSIONS ET TYPES

Exercice 8. Chute libre


En Physique, l’acceleration d’un objet laché en chute libre sans frottement est donné
par l’équation : a = g, où g = 9.81m.s−2 . Après un temps t, la vitesse est v = g · t, et la
1
distance parcourue est d = g · t2 . Ecrire un programme qui demande à l’utilisateur un
2
temps t, puis calcule la vitesse v et la distance parcourue d du corps après le temps t. Par
exemple :

t (en secondes) ? 1
En 1 seconde(s), l'objet a une vitesse de 9.81 m/s et a parcouru 4.905 m.

Exercice 9. Discriminant
On souhaite calculer le discriminant d’une équation du second degré avec un programme
python. Une telle équation a la forme ax2 + bx + c, la formule pour calculer le discriminant
est ∆ = b2 − 4ac. Le programme devra tout d’abord utiliser input pour demander à
l’utilisateur la valeur de a, b et c qu’il faudra ranger dans des variables du même nom.
Puis le programme devra calculer la valeur d’une variable nommée delta à partir de a, b
et c, et afficher le résultat. Par exemple :
a ? 4
b ? 2
c ? 1
Calcul du discriminant :
delta = -12

Exercice 10. Interlude : le terminal


Comme l’interpréteur Python, le terminal alterne entre laisser l’utilisateur taper une
commande et afficher le résultat. L’interpréteur de terminal par défaut sous Linux 1 s’ap-
pelle bash, il permet entre autres de lancer les programmes installés sur l’ordinateur.
Son invite de commande a la forme utilisateur@ordinateur:répertoire-courant$.
Une commande prend généralement la forme du nom du programme à exécuter suivi de
plusieurs paramètres séparés par des espaces. Certains programmes ne prennent pas de pa-
ramètres. Voici quelques programmes utiles (les paramètres à indiquer sont sous la forme
<paramètre>) :

Commande Nature
pwd afficher le dossier courant
cd <chemin> changer le dossier courant
ls lister les fichiers dans le dossier courant
python3 <chemin> lancer un programme python
exit fermer le terminal
man <commande> obtenir de l’aide sur une commande

→ Si le dossier courant est /home/utilisateur, écrire la commande permettant de


lancer avec python exo.py qui est dans le sous-dossier examen. Utilisez cd pour changer
le dossier courant en examen et exécutez maintenant exo.py dans ce sous-dossier.
→ Que font les commandes mkdir et rm ?
Notez que l’on peut interrompre une commande avec la combinaison de touches Ctrl-C
et quitter le terminal avec Ctrl-D. On peut aussi rappeler des commmandes précédentes
à l’aide de la flèche vers le haut et compléter les noms de fichiers non ambigus avec la
touche tabulation.

1. Sous Mac, l’applcation Terminal permet de lancer un terminal bash. Sous Windows 10, on peut installer WSL
(https://docs.microsoft.com/en-us/windows/wsl/install-win10) ou Cygwin.
TD1 : CONSTANTES, VARIABLES, EXPRESSIONS ET TYPES 7

Exercice 11. Affichage générique (2)


Refaire l’exercice 4 sous la forme d’un programme qui demande à l’utilisateur deux
nombres et affiche leur somme.

Exercice 12. Calculez votre moyenne


Écrire un programme qui demande à l’utilisateur 10 notes et affiche leur moyenne.
→ Optionnel : modifier ce programme pour qu’il demande à l’utilisateur 100 notes.