From 12b1a888c691b2d102ac716835a1a6d88375e81c Mon Sep 17 00:00:00 2001 From: gwen Date: Thu, 13 Apr 2017 16:08:30 +0200 Subject: [PATCH] organisation des exercices --- algorithmique/cours/annexes/exercices.txt | 113 ++++------------------ algorithmique/cours/apercu.txt | 4 +- algorithmique/cours/donnees.txt | 33 ++++++- algorithmique/cours/fonctions.txt | 2 +- 4 files changed, 52 insertions(+), 100 deletions(-) diff --git a/algorithmique/cours/annexes/exercices.txt b/algorithmique/cours/annexes/exercices.txt index 45296fe..8a910f8 100644 --- a/algorithmique/cours/annexes/exercices.txt +++ b/algorithmique/cours/annexes/exercices.txt @@ -1,34 +1,4 @@ -Première journée : Le langage Python -------------------------------------- - -+------------------------------------------------------+------------------------------------------------------------------------+ -| 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 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +manips sur les structures de données de base - structures de données + (),[],{} @@ -37,62 +7,6 @@ Séance 2 : Éléments de base du langage - éléments du langage 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**: 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. @@ -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. - + **Piles** Algorithmes de manipulation : fonctions 'push' et 'pop'. On utilise des listes (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 - pire cas. +manips sur les structures de contrôle de base + ++ écrire des instructions conditionnelles avec alternatives, ++ démontrer qu’une boucle se termine effectivement. ++ organisation modulaire des programmes ++ programmation structurée. diff --git a/algorithmique/cours/apercu.txt b/algorithmique/cours/apercu.txt index 35987f0..8d28bfa 100644 --- a/algorithmique/cours/apercu.txt +++ b/algorithmique/cours/apercu.txt @@ -16,5 +16,5 @@ En informatique Exemple : les algorithmes de tri, de recherche dans un arbre, un graphe... -- les algorithmes de cryptage -- les algorithmes de calculs de dates +- la cryptologie +- les stratégies de jeux diff --git a/algorithmique/cours/donnees.txt b/algorithmique/cours/donnees.txt index 57a78ff..b22f61d 100644 --- a/algorithmique/cours/donnees.txt +++ b/algorithmique/cours/donnees.txt @@ -1,14 +1,45 @@ Structures de données simples ============================= +Algorithmes sur les structures de données simples + +.. FIXME + - tableaux -- listes +- listes (les tris) - piles - 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 ================================ - graphes - arbres - 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. diff --git a/algorithmique/cours/fonctions.txt b/algorithmique/cours/fonctions.txt index 1462727..d804d36 100644 --- a/algorithmique/cours/fonctions.txt +++ b/algorithmique/cours/fonctions.txt @@ -69,7 +69,7 @@ Appel d'une procédure .. raw:: latex \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] \Procedure{permuter}{$a,b$}{} \BState \emph{parametres}: