organisation des exercices
This commit is contained in:
parent
15fd0fa136
commit
12b1a888c6
|
@ -1,34 +1,4 @@
|
||||||
Première journée : Le langage Python
|
manips sur les structures de données de base
|
||||||
-------------------------------------
|
|
||||||
|
|
||||||
+------------------------------------------------------+------------------------------------------------------------------------+
|
|
||||||
| Contenus | Précisions et commentaires |
|
|
||||||
+======================================================+========================================================================+
|
|
||||||
| Recherche dans une liste, recherche du maximum dans | |
|
|
||||||
| une liste de nombres, calcul de la moyenne et de la | |
|
|
||||||
| variance. | |
|
|
||||||
+------------------------------------------------------+------------------------------------------------------------------------+
|
|
||||||
| Recherche d’un mot dans une chaîne de caractères. | On se limite ici à l’algorithme "naïf", en estimant sa complexité. |
|
|
||||||
+------------------------------------------------------+------------------------------------------------------------------------+
|
|
||||||
|
|
||||||
.. ifconfig:: correction
|
|
||||||
|
|
||||||
bla bla bla
|
|
||||||
|
|
||||||
|
|
||||||
Séance 1 : Un apercu des possibles utilisations de Python
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
+ Objectif de la formation
|
|
||||||
|
|
||||||
+ les outils de travail avec Python
|
|
||||||
+ éditeur de texte + IPython (commandes intéractives + `%run`)
|
|
||||||
+ environnement de développement intégré (ex. Spyder)
|
|
||||||
+ Notebook IPython (proche de Maple/Mathematica)
|
|
||||||
|
|
||||||
|
|
||||||
Séance 2 : Éléments de base du langage
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
- structures de données
|
- structures de données
|
||||||
+ (),[],{}
|
+ (),[],{}
|
||||||
|
@ -37,62 +7,6 @@ Séance 2 : Éléments de base du langage
|
||||||
- éléments du langage
|
- éléments du langage
|
||||||
boucles, conditions, fonctions, itérateur, map , enumerate
|
boucles, conditions, fonctions, itérateur, map , enumerate
|
||||||
|
|
||||||
- Exemple en algorithmique de base
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
In [1]: def tri1():
|
|
||||||
|
|
||||||
%timeit l1.sort()
|
|
||||||
|
|
||||||
Séance 3 : Chaînes et fichiers
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
+ traitement des chaines de caractères
|
|
||||||
+ s.replace()
|
|
||||||
+ s1 + s2
|
|
||||||
+ un exemple de regexp simple
|
|
||||||
+ type de fichiers
|
|
||||||
+ mode d'accès
|
|
||||||
+ glob.glob
|
|
||||||
+ Sans doute ces points peuvent être intégrés dans la séance 2.
|
|
||||||
|
|
||||||
Séance 8 : Cas pratique de mise en oeuvre
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
+ écrire des instructions conditionnelles avec alternatives,
|
|
||||||
+ démontrer qu’une boucle se termine effectivement.
|
|
||||||
+ organisation modulaire des programmes
|
|
||||||
+ programmation structurée.
|
|
||||||
|
|
||||||
1. Récupérer des données physiques ouvertes sur le réseau (T°, ...)
|
|
||||||
|
|
||||||
|
|
||||||
+ **Variables** : notion de type et de valeur d’une variable, types simples.
|
|
||||||
Les types simples présentés sont les entiers, flottants, booléens et chaînes de caractères.
|
|
||||||
|
|
||||||
+ **Expressions et instructions simples** :
|
|
||||||
affectation, opérateurs usuels, distinction entre expression et instruction
|
|
||||||
Les expressions considérées sont à valeurs numériques, booléennes ou de type chaîne de caractères.
|
|
||||||
|
|
||||||
+ **Instructions conditionnelles**:
|
|
||||||
expressions booléennes et opérateurs logiques simples, structurer et comprendre plusieurs
|
|
||||||
instruction if. Variantes avec alternative (else).
|
|
||||||
|
|
||||||
Les étudiants devront être capables de niveaux d’alternatives implantées par des instructions conditionnelles imbriquées.
|
|
||||||
|
|
||||||
+ **Instructions itératives** :
|
|
||||||
boucles for, boucles conditionnelles while.
|
|
||||||
Les sorties de boucle (instruction break) peuvent être présentées et se
|
|
||||||
justifient uniquement lorsqu’elles contribuent à simplifier notablement la
|
|
||||||
programmation sans réelle perte de lisibilité des conditions d’arrêt.
|
|
||||||
|
|
||||||
+ **Fonctions** :
|
|
||||||
notion de fonction (au sens informatique), définition dans le langage utilisé, paramètres (ou arguments) et résultats, portée des variables.
|
|
||||||
On distingue les variables locales des variables globales et on décourage l’utilisation des variables globales autant que possible.
|
|
||||||
|
|
||||||
La récursivité sera présentée plus tard.
|
|
||||||
|
|
||||||
+ **Manipulation de quelques structures de données**:
|
+ **Manipulation de quelques structures de données**:
|
||||||
chaînes de caractères (création, accès à un caractère, concaténation), listes (création, ajout
|
chaînes de caractères (création, accès à un caractère, concaténation), listes (création, ajout
|
||||||
d’un élément, suppression d’un élément, accès à un élément, extraction d’une partie de liste), tableaux à une ou plusieurs dimensions.
|
d’un élément, suppression d’un élément, accès à un élément, extraction d’une partie de liste), tableaux à une ou plusieurs dimensions.
|
||||||
|
@ -108,19 +22,26 @@ Les étudiants devront être capables de niveaux d’alternatives implantées pa
|
||||||
|
|
||||||
On encourage l’utilisation de fichiers en tant que supports de données ou de résultats avant divers traitements, par exemple graphiques.
|
On encourage l’utilisation de fichiers en tant que supports de données ou de résultats avant divers traitements, par exemple graphiques.
|
||||||
|
|
||||||
|
|
||||||
+ **Piles**
|
+ **Piles**
|
||||||
Algorithmes de manipulation : fonctions 'push' et 'pop'. On utilise des listes
|
Algorithmes de manipulation : fonctions 'push' et 'pop'. On utilise des listes
|
||||||
(ou tableaux à 1 dimension) pour leur implantation.
|
(ou tableaux à 1 dimension) pour leur implantation.
|
||||||
|
|
||||||
+ **Récursivité**
|
Chaînes et fichiers
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
On en présente les avantages et les inconvénients.
|
+ traitement des chaines de caractères
|
||||||
|
+ s.replace()
|
||||||
|
+ s1 + s2
|
||||||
|
+ un exemple de regexp simple
|
||||||
|
+ type de fichiers
|
||||||
|
+ mode d'accès
|
||||||
|
+ glob.glob
|
||||||
|
+ Sans doute ces points peuvent être intégrés dans la séance 2.
|
||||||
|
|
||||||
+ **Tris** d’un tableau à une dimension de valeurs
|
|
||||||
numériques : tri par insertion, tri rapide (ou 'quicksort'),
|
|
||||||
tri par fusion. Application à la
|
|
||||||
recherche de la médiane d’une liste de nombres.
|
|
||||||
|
|
||||||
On étudie et on compare ces algorithmes de tri du point de vue des complexités temporelles dans le meilleur et dans le
|
manips sur les structures de contrôle de base
|
||||||
pire cas.
|
|
||||||
|
+ écrire des instructions conditionnelles avec alternatives,
|
||||||
|
+ démontrer qu’une boucle se termine effectivement.
|
||||||
|
+ organisation modulaire des programmes
|
||||||
|
+ programmation structurée.
|
||||||
|
|
|
@ -16,5 +16,5 @@ En informatique
|
||||||
|
|
||||||
Exemple : les algorithmes de tri, de recherche dans un arbre, un graphe...
|
Exemple : les algorithmes de tri, de recherche dans un arbre, un graphe...
|
||||||
|
|
||||||
- les algorithmes de cryptage
|
- la cryptologie
|
||||||
- les algorithmes de calculs de dates
|
- les stratégies de jeux
|
||||||
|
|
|
@ -1,14 +1,45 @@
|
||||||
Structures de données simples
|
Structures de données simples
|
||||||
=============================
|
=============================
|
||||||
|
|
||||||
|
Algorithmes sur les structures de données simples
|
||||||
|
|
||||||
|
.. FIXME
|
||||||
|
|
||||||
- tableaux
|
- tableaux
|
||||||
- listes
|
- listes (les tris)
|
||||||
- piles
|
- piles
|
||||||
- files
|
- files
|
||||||
|
|
||||||
|
+------------------------------------------------------+------------------------------------------------------------------------+
|
||||||
|
| Contenus | Précisions et commentaires |
|
||||||
|
+======================================================+========================================================================+
|
||||||
|
| Recherche dans une liste, recherche du maximum dans | |
|
||||||
|
| une liste de nombres, calcul de la moyenne et de la | |
|
||||||
|
| variance. | |
|
||||||
|
+------------------------------------------------------+------------------------------------------------------------------------+
|
||||||
|
| Recherche d’un mot dans une chaîne de caractères. | On se limite ici à l’algorithme "naïf", en estimant sa complexité. |
|
||||||
|
+------------------------------------------------------+------------------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
Structures de données complexes
|
Structures de données complexes
|
||||||
================================
|
================================
|
||||||
|
|
||||||
- graphes
|
- graphes
|
||||||
- arbres
|
- arbres
|
||||||
- hachages
|
- hachages
|
||||||
|
- le parcours de graphes
|
||||||
|
- les calculs de dates
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
+ **Récursivité**
|
||||||
|
|
||||||
|
On en présente les avantages et les inconvénients.
|
||||||
|
|
||||||
|
+ **Tris** d’un tableau à une dimension de valeurs
|
||||||
|
numériques : tri par insertion, tri rapide (ou 'quicksort'),
|
||||||
|
tri par fusion. Application à la
|
||||||
|
recherche de la médiane d’une liste de nombres.
|
||||||
|
|
||||||
|
On étudie et on compare ces algorithmes de tri du point de vue des complexités temporelles dans le meilleur et dans le
|
||||||
|
pire cas.
|
||||||
|
|
|
@ -69,7 +69,7 @@ Appel d'une procédure
|
||||||
.. raw:: latex
|
.. raw:: latex
|
||||||
|
|
||||||
\begin{algorithm}
|
\begin{algorithm}
|
||||||
\caption{Procédure de permutation de deux entiers}\label{permutation}
|
\caption{Procédure de permutation de deux entiers}\label{appelpermutation}
|
||||||
\begin{algorithmic}[1]
|
\begin{algorithmic}[1]
|
||||||
\Procedure{permuter}{$a,b$}{}
|
\Procedure{permuter}{$a,b$}{}
|
||||||
\BState \emph{parametres}:
|
\BState \emph{parametres}:
|
||||||
|
|
Loading…
Reference in New Issue