• Aucun résultat trouvé

CHAPITRE 5 : LES ENTRÉES/SORTIES

N/A
N/A
Protected

Academic year: 2022

Partager "CHAPITRE 5 : LES ENTRÉES/SORTIES"

Copied!
42
0
0

Texte intégral

(1)

CHAPITRE 5 :

LES

ENTRÉES/SORTIES

2019 - 2020 Informatique1  M. SID AHMED BERRABAH

(2)

Introduction

Pour faire fonctionner un programme il faut lui fournir des données et prévoir la possibilité de récupérer les résultats.

Ces deux opérations portent le nom générique d’opérations d’entrée/sortie. Donc il s’agit de deux opérations distinctes:

Entrée de données (Lecture des données par la machine)

Sortie de données (Ecriture de données par la machine)

2

(3)

LES ENTRÉES/SORTIES

En python, les opérations d’entrée/sortie sont réalisées par deux fonctions :

input() : fonction de lecture

print() : fonction d’écriture

3

(4)

LES ENTRÉES

Les instructions de lecture permettent à l’utilisateur de saisir des valeurs au clavier pour qu’elles soient utilisées par le programme.

En python, dès que le programme rencontre la fonction input() l’exécution s’interrompt, affiche une éventuelle invité à l’écran et attend que l’utilisateur entre une donnée au clavier et valide par <entrée>, ensuite l'exécution reprend.

4

(5)

LES ENTRÉES

On peut invoquer la fonction input() en laissant les parenthèses vides. On peut aussi y placer en argument un message explicatif destiné à l’utilisateur.

Le type de la variable créée par la fonction input() renvoie toujours une chaine de caractères. Si vous souhaitez que l’utilisateur entre une valeur numérique, vous devrez donc convertir la valeur entrée (qui sera donc de toute façon de type string) en une valeur numérique du type qui vous convient, par l’intermédiaire des fonctions intégrées int() (si vous attendez un entier) ou float() (si vous attendez un réel).

5

(6)

LES ENTRÉES

Exemple 1 :

>>> input() 5

’5’

>>>input(’entrez un entier:’) entrez un entier : 10

’10’

6

(7)

LES ENTRÉES

Exemple 2 :

>>> f1 = input(‘entrez un reel : ‘) entrez un reel : 3.14159

>>> f2 = f1 * 2

>>> f3 = f1 / 3

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

TypeError: unsupported operand type(s) for /: 'str' and 'int‘

>>> type (f1) (class ‘str’)

7

(8)

LES ENTRÉES

Exemple 2 (suite) :

>>> print(f2)

3.141593.14159

>>> f1 = float(f1)

>>> type(f1) <class 'float'>

>>> f2, f3 = f1 * 2, f1 / 3

>>> print(f2, f3)

6.28318 1.0471966666666666

8

(9)

LES SORTIES

Les instructions d’écriture permettent au programme de communiquer des valeurs ou messages à l’utilisateur en les affichant à l’écran.

En Python l'affichage se fait de deux manières :

La première consiste a entrer au clavier le nom de la variable, puis <Enter>. Python répond en affichant la valeur correspondante

9

Exemple

>>> age = 18

>>> age 18

(10)

LES SORTIES

La deuxième façon se fait avec la fonction print suivi de parenthèses, qui s'utilise à l’intérieur d’un programme ou en mode interactif.

10

Exemple

>>> print (’Bonjour tout le monde’) Bonjour tout le monde

>>> print(3) 3

(11)

LES SORTIES : AFFICHAGE DE VARIABLES

Si on affiche une variable, sa valeur est affichée.

11

Exemple

>>> age=18

>>> print (age) 18

>>> nom = ’Omar’

>>> print (nom) Omar

>>> print (nom,age) Omar 18

(12)

LES SORTIES : AFFICHAGE DE VARIABLES

La fonction print permet d’afficher n’importe quel nombre de valeurs fournies en arguments (c’est-a-dire entre les parenthèses). Par défaut, ces valeurs seront séparées les unes des autres par un espace, et le tout se terminera par un saut a la ligne.

On peut remplacer le séparateur par défaut (l’espace) par un autre caractère quelconque (ou même par aucun caractère), grâce a l’argument ≪ sep ≫.

De même, on peut remplacer le saut à la ligne terminal avec l’argument ≪ end ≫ .

12

(13)

LES SORTIES : AFFICHAGE DE VARIABLES

Exemple

>>> print("Bonjour", "a", "tous", sep ="*") Bonjour*a*tous

>>> print("Bonjour", "a", "tous", sep ="") Bonjouratous

>>>a,b,c=2,3,4

>>> print (a,b,c,sep=’’) 234

>>>i=5

>>> print (i,end=’ ’) 5 >>>

13

(14)

LES SORTIES : AFFICHAGE MIXTE

Pour afficher des messages comportant du texte et des valeurs numériques, il y a plusieurs méthodes.

Méthode 1

Exemple 1 :

Ici dans l'exemple 1, la fonction print est appelée avec un seul argument qui est le résultat de la

concaténation de 3 chaînes de caractères.

14

>>> age=3

>>> print (‘Omar a ’ + str(age) + ‘ ans’) Omar a 3 ans

>>>

(15)

LES SORTIES : AFFICHAGE MIXTE

Méthode 2 :

Exemple 2 :

Dans l'exemple 2, la fonction print est appelée avec 3 paramètres (séparés par des virgules). Elle sépare automatiquement l'affichage de ces arguments par un espace

L’affichage de print est terminé par un retour à la ligne.

15

>>> age=3

>>> print (‘Omar a ’, age, ‘ans’) Omar a 3 ans

>>>

(16)

LES SORTIES : AFFICHAGE MIXTE

Affichage par chaîne de formatage

Le message remplace toutes les valeurs par l'indication de leur format. Les valeurs sont données a part dans une liste.

La liste est séparée du message par le caractère %.

La liste des principaux formats possibles :

%d : entier

%f : flottant

%s : chaîne de caractères

%r : booléen

16

(17)

LES SORTIES : AFFICHAGE MIXTE

Exemple :

>>> age=3

>>> message=‘Omar a %d ans’ %age

>>> print (message) Omar a 3 ans

>>>print(" l’année prochaine il aura %d ans " %(age+1) ) L’année prochaine il aura 4 ans

>>> nom= ’ Omar ’

>>> message=‘%s a %d ans’ %(nom,age)

>>>print(message) Omar a 3 ans

17

(18)

LES SORTIES : LES SÉQUENCES D’ÉCHAPPEMENT

À l’intérieur d’une chaîne, le caractère antislash (\) permet de donner une signification spéciale à certaines séquences de caractères :

18

(19)

LES SORTIES : LES SÉQUENCES D’ÉCHAPPEMENT

Exemple 1 :

>>>print(" Ali a dit : "bonjour" " ) File "<stdin>", line 1

print(" Ali a dit : "bonjour" " ) ^ SyntaxError : invalid syntax

>>> print(" Ali a dit : \"bonjour\" " ) Ali a dit : "bonjour"

19

(20)

LES SORTIES : LES SÉQUENCES D’ÉCHAPPEMENT

Exemple 2 :

>>>print(’Ali a dit c’est bien ’ ) File "<stdin>", line 1

print(’ Ali a dit c’est bien ’ ) ^

SyntaxError : invalid syntax

>>> print(’ Ali a dit c\’est bien ’ ) Ali a dit c’est bien

20

(21)

LES COMMENTAIRES

Comme tout langage évolué, Python permet la présence de commentaires dans un programme.

Les commentaires sont des textes explicatifs destinés aux lecteurs du programme et ne seront pas lu par la machine.

Il faut les utiliser pour :

Annoter le code

Séparer les différentes parties du code

Indiquer le rôle de chaque variable (indispensable dés qu'on a beaucoup de variables)

21

(22)

LES COMMENTAIRES

En Python les commentaires commencent toujours par le caractère # jusqu'à la fin de la ligne.

22

Exemple :

# le programme commence ici

age=20 # affecter la valeur 20 à la variable age

print (age) # pour afficher la variable age on utilise la fonction print

(23)

IMPORTER UN MODULE DE FONCTIONS

Vous avez déjà rencontré des fonctions intégrées au langage lui-même, comme la fonction abs() par exemple, qui permet de connaître la valeur absolue d’un nombre.

Cependant il n’est pas possible d’intégrer toutes les fonctions dans le corps standard de Python, car il en existe une infinité.

Les fonctions intégrées au langage sont relativement peu nombreuses : ce sont seulement celles qui sont susceptibles d’être utilisées très fréquemment.

Les autres sont regroupées dans des fichiers séparés que l’on appelle des modules .

23

(24)

IMPORTER UN MODULE DE FONCTIONS

Les modules sont des fichiers qui regroupent des ensembles de fonctions.

Il existe un grand nombre de modules qui sont fournis d’office avec Python. Souvent on essaie de regrouper dans un même module des ensembles de fonctions apparentées, que l’on appelle des bibliothèques.

Le module math, par exemple, contient les définitions de nombreuses fonctions mathématiques telles que sinus, cosinus, tangente, racine carrée, etc.

24

(25)

IMPORTER UN MODULE DE FONCTIONS

Pour pouvoir utiliser ces fonctions, il vous suffit d’incorporer la ligne suivante au début de votre programme :

from math import *

Cette ligne indique a Python qu’il lui faut inclure dans le programme courant toutes les fonctions (c’est la signification du symbole * ) du module math, lequel contient une bibliothèque de fonctions mathématiques pré-programmées.

25

(26)

IMPORTER UN MODULE DE FONCTIONS

Exemple :

>>> sqrt(4)

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

NameError: name 'sqrt' is not defined

>>> from math import*

>>> sqrt(4) 2.0

26

(27)

EXERCICES ET APPLICATIONS

27

(28)

EXERCICE 1

28

(29)

EXERCICE 1: SOLUTION

29

(30)

EXERCICE 2

30

- Améliorez l’affichage en imposant un chiffre après le point décimal - Améliorez l’affichage en imposant un chiffre après le point décimal

(31)

EXERCICE 2: SOLUTION

31

- Amélioration de l’affichage en imposant un chiffre après le point décimal: Amélioration de l’affichage en imposant un chiffre après le point décimal:

Print (‘vitesse=%.1f’%vitesse) Print (‘vitesse=%.1f’%vitesse)

(32)

EXERCICE 3

32

(33)

EXERCICE 3: SOLUTION

33

(34)

EXERCICE 4

34

(35)

EXERCICE 4: SOLUTION

35

(36)

EXERCICE 5

36

(37)

EXERCICE 5: SOLUTION

37

(38)

EXERCICE 6

Écrire un programme qui demande à l'utilisateur les coordonnées de deux points dans le plan et qui calcule puis affiche la distance entre ces deux points selon la formule :

38

(39)

EXERCICE 6: SOLUTION

from math import sqrt x1=float(input('x1=')) x2=float(input('x2=')) y1=float(input('y1=')) y2=float(input('y2='))

d=sqrt((x2**2-x1**2)+(y2**2-y1**2))

print('distance entre les deux points est:%.2f'%d)

39

(40)

EXERCICE 7

Écrire un programme qui convertisse un nombre entier de secondes fourni au départ en un nombre d’années, de mois, de jours, d’heures, de minutes et de secondes.

On utilisera les opérateurs // (division entière) et % (modulo).

40

(41)

EXERCICE 7: SOLUTION

41

(42)

LES ENTRÉES

Les instructions de lecture permettent à l’utilisateur de saisir des valeurs au clavier pour qu’elles soient utilisées par le programme.

En python, dés que le programme rencontre la fonction input() l’exécution s’interrompt, affiche une éventuelle invite à l’écran et attend que l’utilisateur entre une donnée au clavier et valide par <entrée>, ensuite l'exécution reprend.

42

Références

Documents relatifs

● Retourne le nombre de caractères lus et placés dans le CharBuffer cb, ou -1 si le Readable n'a plus rien à

– Le dernier appel à encode(), avec endOfInput à true, a renvoyé un CoderResult tel que isUnderflow() soit true (plus rien à lire). – Il faut faire flush() pour terminer le

Etienne Duris © Université de Marne la Vallée - Février 2007 Page 1.. Les nouvelles entrées-sorties

 Il envoie un signal sur la ligne d'occupation pour préciser que le bus est

– mode ne doit contenir que des droits d’accès – on ne peut détruire qu’un répertoire vide.

Test d’une seule entrée : la technique consiste à effectuer un « masquage » (ET logique bit par bit) du registre d’entrée (pour neutraliser l’état des autres entrées), puis à

Les entrées sont les données envoyées par un périphérique (disque, réseau, clavier…) à destination de l'unité centrale ;.. • Les sorties sont les données émises par

7 Un process impose les contraintes temps réel suivantes : temps de latence &lt;1000µs et temps séparant 2 événements consécutifs &gt;2ms.. On choisira le mode d'