organisation des exercices

This commit is contained in:
gwen 2017-04-13 16:08:30 +02:00
parent 15fd0fa136
commit 12b1a888c6
4 changed files with 52 additions and 100 deletions

View File

@ -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 dun mot dans une chaîne de caractères. | On se limite ici à lalgorithme "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 quune 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 dune 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 dalternatives 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 lorsquelles contribuent à simplifier notablement la
programmation sans réelle perte de lisibilité des conditions darrê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 lutilisation 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
dun élément, suppression dun élément, accès à un élément, extraction dune partie de liste), tableaux à une ou plusieurs dimensions. dun élément, suppression dun élément, accès à un élément, extraction dune partie de liste), tableaux à une ou plusieurs dimensions.
@ -108,19 +22,26 @@ Les étudiants devront être capables de niveaux dalternatives implantées pa
On encourage lutilisation de fichiers en tant que supports de données ou de résultats avant divers traitements, par exemple graphiques. On encourage lutilisation 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** dun tableau à une dimension de valeurs
numériques : tri par insertion, tri rapide (ou 'quicksort'),
tri par fusion. Application à la
recherche de la médiane dune 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 quune boucle se termine effectivement.
+ organisation modulaire des programmes
+ programmation structurée.

View File

@ -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

View File

@ -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 dun mot dans une chaîne de caractères. | On se limite ici à lalgorithme "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** dun tableau à une dimension de valeurs
numériques : tri par insertion, tri rapide (ou 'quicksort'),
tri par fusion. Application à la
recherche de la médiane dune 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.

View File

@ -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}: