• Aucun résultat trouvé

Programmation en Python Cours 8/8

N/A
N/A
Protected

Academic year: 2022

Partager "Programmation en Python Cours 8/8"

Copied!
18
0
0

Texte intégral

(1)

Cours d’Informatique Scientifique

Programmation en Python Cours 8/8

Laurent Pointal

laurent.pointal @ limsi.fr

@ laposte.net

(2)

Programme de la séance

● Modèles de programmation

● Séquentiel

● Événementiel

● Multitâche

● Interruption

● Ce qu'il faut retenir

(3)

urent PointalDépartement Mesures Physiques Cours d’Informatique Scientifique 8/8 3 18

v2.2

Programmation séquentielle

Début

Fin

Types de données

Variables, affectation

Tests

Boucles for / while

Ruptures de séquences break / continue

Fonctions

Modules

Gestion d’erreurs par exceptions

La programmation que l’on fait en cours/TP.

initialisations

nettoyages

(4)

urent PointalDépartement Mesures Physiques Cours d’Informatique Scientifique 8/8 4 18

v2.2

Programmation événementielle

Début

Fin

boucle

événementielle

nettoyages

Typiquement: les interfaces graphiques

initialisations

Évènements:

utilisateur (clavier, souris…)

interface graphique (fenêtre à redessiner…)

système (mise en veille…)

autres (mesures prêtes…)

Suivant l'évènement

(5)

urent PointalDépartement Mesures Physiques Cours d’Informatique Scientifique 8/8 5 18

v2.2

Programmation multitâche

Début

Fin

Compliqué à appréhender, complexe.

initialisations

nettoyages Les différents “fils d’exécution”

(threads) sont exécutés simultanément.

(6)

urent PointalDépartement Mesures Physiques Cours d’Informatique Scientifique 8/8 6 18

v2.2

Programmation sur interruption

Début

Fin

nettoyages

Typiquement: les systèmes d’exploitation

initialisations

Évènements:

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

A tout moment:

pause dans le programme en cours

exécution d’un traitement d’interruption

(7)

urent PointalDépartement Mesures Physiques Cours d’Informatique Scientifique 8/8 7 18

v2.2

CQFR - Ce qu’il faut retenir

Types de données de base

Nombres, booléens, chaînes ; opérations liées

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

Modules

Création, utilisation, test

Fichiers et entrées/sorties

Écriture, lecture, input/print

(8)

urent PointalDépartement Mesures Physiques Cours d’Informatique Scientifique 8/8 8 18

v2.2

Types de base

int

float

bool

str

True False

complex

opérations + - * / // % **

(expression)

existence module math

opérations + * s[index]

s[début:fin:pas]

len(s)

existence de méthodes

"{}".format(v) ...

expressions booléennes

< > <= >= == !=

or and not

transtypage str(12)

int(s)

...

(9)

urent PointalDépartement Mesures Physiques Cours d’Informatique Scientifique 8/8 9 18

v2.2

Types conteneurs

opérations + * l[index]

l[début:fin:pas]

len(l)

existence de méthodes l.append(12)

l.sort() ...

list

tuple

dict

opérations in not in

d[clé]

existence de méthodes d.keys()

d.values() ...

set

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

max(l)

min(l)

sum(l)

(10)

urent PointalDépartement Mesures Physiques Cours d’Informatique Scientifique 8/8 10 18

v2.2

Variables

Association

nom valeur

Peut changer durant l’exécution.

Définie dans le module: globale

Définie dans une fonction: locale par défaut

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

Incrémentation x = x+1

(11)

urent PointalDépartement Mesures Physiques Cours d’Informatique Scientifique 8/8 11 18

v2.2

Séquences d'instructions

Exécution instruction par instruction

Dans l’ordre

Changements d'états (des variables)

Blocs d'instructions (indentation)

Exécution conditionnelle if

Boucles for / while

Ruptures de boucle break / continue

Début

Fin

nettoyages

initialisations

(12)

urent PointalDépartement Mesures Physiques Cours d’Informatique Scientifique 8/8 12 18

v2.2

Fonctions

définition appels

arguments

Fonction

paramètres

return ...

valeur de retour (résultat) def Fonction(paramètres):

...

return résultat

res = Fonction(arguments)

res

(13)

urent PointalDépartement Mesures Physiques Cours d’Informatique Scientifique 8/8 13 18

v2.2

Fonctions... vu de la définition

définition

Fonction

paramètres

return ...

def Fonction(paramètres):

...

return résultat

(14)

urent PointalDépartement Mesures Physiques Cours d’Informatique Scientifique 8/8 14 18

v2.2

Fonctions... vu de l'appel

appels

arguments

valeur de retour (résultat)

res = Fonction(arguments)

res

(15)

urent PointalDépartement Mesures Physiques Cours d’Informatique Scientifique 8/8 15 18

v2.2

Modules

Organisation du code

Réutilisation

Tests

Petits scripts outils

définition utilisation

En-tête

Globales

Fonctions / classes

Auto-test ou code principal

Différentes possibilités d’import

Accès qualifiés par le noms du module

Accès direct

(16)

urent PointalDépartement Mesures Physiques Cours d’Informatique Scientifique 8/8 16 18

v2.2

Fichiers

print("texte") input("x=")

Entrées/sorties clavier/console texte:

retourne str !

f = open(nom,mode,encodage) f.write("texte")

s = f.read() f.close()

Entrées/sorties fichier sur disque:

(17)

urent PointalDépartement Mesures Physiques Cours d’Informatique Scientifique 8/8 17 18

v2.2

Construire... un algorithme

Outils

(concepts, langage, bibliothèques)

Moyen d'atteindre un but en répétant un nombre fini de fois un nombre fini d'instructions.

B.Cordeau Problème

Algorithme Solution

Pour que l’on puisse y arriver:

Nombre d’instructions fini

Temps d’exécution fini

(18)

urent PointalDépartement Mesures Physiques Cours d’Informatique Scientifique 8/8 18 18

v2.2

L’exam DS

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.

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

Références

Documents relatifs

Laurent PointalDépartement Mesures Physiques Cours d’Informatique Scientifique 7/8 3

• le point C se situe au point d’intersection entre les deux arcs de cercle... • on trace un arc de cercle de centre A et de rayon AC ;. • on trace un arc de cercle de centre B et

Copyright © Cours de Physique et de Chimie

- 4ème - Matière (Archives) - ARCHIVES - Cours n°8 : La combustion du méthane et du butane -. Date de mise en ligne : mercredi 7

L’information qui va nous intéresser avec UPX, c’est l’OEP, en effet, UPX modifie l’OEP d’origine pour le remplacer par celui de son Loader, et comme maintenant nous avons

[r]

Compl´eter les identit´es

[r]