Vous êtes sur la page 1sur 18

Cours d’Informatique Scientifique

Programmation en Python

Cours 8/8

Laurent Pointal
laurent.pointal @ limsi.fr
@ laposte.net

Source des illustrations: OpenClipArt.org et créations personnelles.


Programme de la séance

● Modèles de programmation
● Séquentiel

● Événementiel

● Multitâche

● Interruption

● Ce qu'il faut retenir


Programmation séquentielle
3
18
Début La programmation que l’on fait en cours/TP.
initialisations
Cours d’Informatique Scientifique
Département Mesures Physiques

● Types de données
● Variables, affectation

● Tests
● Boucles for / while
● Ruptures de séquences break / continue
8/8
● Fonctions
v2.2 ● Modules
● Gestion d’erreurs par exceptions
Laurent Pointal

nettoyages
Fin
Programmation événementielle
4
18
Début Typiquement: les interfaces graphiques
initialisations
Cours d’Informatique Scientifique
Département Mesures Physiques

Évènements:
● utilisateur (clavier, souris…)

● interface graphique (fenêtre à redessiner…)

● système (mise en veille…)

● autres (mesures prêtes…)

Suivant l'évènement

8/8 boucle
v2.2 événementielle
Laurent Pointal

nettoyages
Fin
Programmation multitâche
5
18
Début Compliqué à appréhender, complexe.
initialisations
Cours d’Informatique Scientifique
Département Mesures Physiques

8/8
v2.2
Laurent Pointal

nettoyages
Les différents “fils d’exécution”
Fin (threads) sont exécutés simultanément.
Programmation sur interruption
6
18
Début Typiquement: les systèmes d’exploitation
initialisations
Cours d’Informatique Scientifique

Évènements:
Département Mesures Physiques

● fin d’une opération par l’électronique,

● défaut d’accès à une zone mémoire,

● évènement extérieur (réseau…)

● autres (horloge périodique…)

programme
séquentiel,
évènementiel,
multitache
8/8
v2.2
Laurent Pointal

A tout moment:
nettoyages ● pause dans le programme en cours

Fin ● exécution d’un traitement d’interruption


CQFR - Ce qu’il faut retenir
7
18 ● Types de données de base
● Nombres, booléens, chaînes ; opérations liées
Cours d’Informatique Scientifique
Département Mesures Physiques

● Types de données conteneurs


● Listes & tuples, dictionnaires, ensembles ; opérations liées
● Variables
● Portée globale et locale, incrémentation,
● Séquences d’instructions, tests et boucles
● Conditions, ruptures de séquences
● Fonctions
● Définition, paramètres, appel et arguments, retour
8/8
v2.2 ● Modules
● Création, utilisation, test
Laurent Pointal

● Fichiers et entrées/sorties
● Écriture, lecture, input/print
Types de base
8
18
True expressions booléennes
int bool < > <= >= == !=
Cours d’Informatique Scientifique

False
Département Mesures Physiques

or and not

float

complex opérations
str + *
opérations s[index]
+ - * / // % ** s[début:fin:pas]
(expression) len(s)
8/8 existence module math existence de méthodes
v2.2 "{}".format(v)
...
transtypage
Laurent Pointal

str(12)
int(s)
...
Types conteneurs
9
18 tuple
set
list
Cours d’Informatique Scientifique
Département Mesures Physiques

opérations
+ * dict
l[index]
opérations
l[début:fin:pas]
in not in
len(l)
d[clé]
existence de méthodes
existence de méthodes
l.append(12)
d.keys()
l.sort()
d.values()
...
...

opérations
8/8 max(l)
v2.2 min(l)
sum(l)
Laurent Pointal

Conteneurs ... collections de données à parcourir ... boucles


Variables
10
18
Association
Cours d’Informatique Scientifique
Département Mesures Physiques

nom valeur

● Peut changer durant l’exécution.


● Définie dans le module: globale
● Définie dans une fonction: locale par défaut

8/8
v2.2
Incrémentation x = x+1
Laurent Pointal

Ne pas confondre variable x et chaîne "x" !


Séquences d'instructions
11
18
Début ● Exécution instruction par instruction
initialisations
Cours d’Informatique Scientifique

Dans l’ordre
Département Mesures Physiques

● Changements d'états (des variables)

● Blocs d'instructions (indentation)


● Exécution conditionnelle if
8/8
v2.2
● Boucles for / while
● Ruptures de boucle break / continue
Laurent Pointal

nettoyages
Fin
Fonctions
12
18
définition appels
def Fonction(paramètres): res = Fonction(arguments)
Cours d’Informatique Scientifique
Département Mesures Physiques

...
return résultat
arguments

paramètres

Fonction
8/8
v2.2

return ...
Laurent Pointal

valeur de retour res


(résultat)
Fonctions... vu de la définition
13
18
définition
def Fonction(paramètres):
Cours d’Informatique Scientifique
Département Mesures Physiques

...
return résultat

paramètres

Fonction
8/8
v2.2

return ...
Laurent Pointal
Fonctions... vu de l'appel
14
18
appels
res = Fonction(arguments)
Cours d’Informatique Scientifique
Département Mesures Physiques

arguments

8/8
v2.2
Laurent Pointal

valeur de retour res


(résultat)
Modules
15
18
● Organisation du code
Cours d’Informatique Scientifique

Réutilisation
Département Mesures Physiques

● Tests
● Petits scripts outils

définition utilisation

● En-tête ● Différentes possibilités d’import


8/8
v2.2
● Globales ● Accès qualifiés par le noms du module
● Fonctions / classes ● Accès direct
Auto-test ou code principal
Laurent Pointal


Fichiers
16
18
input("x=") retourne str !
Entrées/sorties clavier/console texte:
Cours d’Informatique Scientifique

print("texte")
Département Mesures Physiques

Entrées/sorties fichier sur disque:

f = open(nom,mode,encodage)

f.write("texte")
8/8
v2.2

s = f.read()
Laurent Pointal

f.close()
Construire... un algorithme
17
18

Moyen d'atteindre un but en répétant un


nombre fini de fois un nombre fini
Cours d’Informatique Scientifique
Département Mesures Physiques

d'instructions.
B.Cordeau

Problème

Outils
(concepts, langage, bibliothèques)
8/8
v2.2

Algorithme Solution
Laurent Pointal

Pour que l’on puisse y arriver:


● Nombre d’instructions fini

● Temps d’exécution fini


L’exam DS
18
18
Cours d’Informatique Scientifique
Département Mesures Physiques

● 2h
● Documentations autorisées:
➢ Abrégé Python 3
➢ Mémento Python 3
➢ Une feuille A4 recto/verso avec vos notes
● Pas de calculatrice, tél & Co.
8/8
v2.2
Laurent Pointal

Questions, compléments, retour sur des cours...

Vous aimerez peut-être aussi