From c8ab39a19e55e61ee1d34cf693ed4961a8b7ac99 Mon Sep 17 00:00:00 2001 From: gwen Date: Thu, 27 Apr 2017 14:15:18 +0200 Subject: [PATCH] =?UTF-8?q?exercices=20sur=20les=20structures=20de=20donn?= =?UTF-8?q?=C3=A9es=20de=20base?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- algorithmique/cours/donnees.txt | 8 +++- algorithmique/cours/fonctions.txt | 62 +++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+), 2 deletions(-) diff --git a/algorithmique/cours/donnees.txt b/algorithmique/cours/donnees.txt index a10b583..2a7593c 100644 --- a/algorithmique/cours/donnees.txt +++ b/algorithmique/cours/donnees.txt @@ -11,8 +11,12 @@ FIXME - Recherche dans une liste, recherche du maximum dans une liste - Recherche d’un mot dans une chaîne de caractères. -Liste ------- +Les listes +----------- + +Un ensemble de valeurs portant le même nom de variable et repérées par un nombre, s’appelle un tableau, ou encore une liste, ou une variable indicée. +Le nombre qui, au sein d’un tableau, sert à repérer chaque valeur s’appelle l’indice. +Chaque fois que l’on doit désigner un élément du tableau, on fait figurer le nom du tableau, suivi de l’indice de l’élément. .. code-block:: python diff --git a/algorithmique/cours/fonctions.txt b/algorithmique/cours/fonctions.txt index 763c996..39fcb39 100644 --- a/algorithmique/cours/fonctions.txt +++ b/algorithmique/cours/fonctions.txt @@ -302,6 +302,46 @@ un résultat est l'application d’une fonction à une structure de données eff \end{algorithmic} \end{algorithm} +.. ifconfig:: exercice + + **Exercice** : factoriser le code suivant + :: + + Ecrire "Etes-vous marié ?" + Rep1 <- "" + TantQue Rep1 <> "Oui" et Rep1 <> "Non" + Ecrire "Tapez Oui ou Non" + Lire Rep1 + FinTantQue + ... + Ecrire "Avez-vous des enfants ?" + Rep2 <- "" + TantQue Rep2 <> "Oui" et Rep2 <> "Non" + Ecrire "Tapez Oui ou Non" + Lire Rep2 + FinTantQue + +.. ifconfig:: correction + + **Correction** : + + :: + Fonction RepOuiNon() en caractère + Truc <- "" + TantQue Truc <> "Oui" et Truc <> "Non" + Ecrire "Tapez Oui ou Non" + Lire Truc + FinTantQue + Renvoyer Truc + Fin + + Ecrire "Etes-vous marié ?" + Rep1 <- RepOuiNon() + ... + Ecrire "Avez-vous des enfants ?" + Rep2 <- RepOuiNon() + + Définition mathématique ~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -315,6 +355,28 @@ fonction - F est appelé codomaine - la **signature** de la fonction : `E → F (int -> int = )` + +Exemple de signature d'une fonction + +:: + + Fonction RepOuiNon(Msg en Caractère) en Caractère + Ecrire Msg + Truc <- "" + TantQue Truc <> "Oui" et Truc <> "Non" + Ecrire "Tapez Oui ou Non" + Lire Truc + FinTantQue + Renvoyer Truc + Fin Fonction + + ... + Rep1 <- RepOuiNon("Etes-vous marié ?") + ... + Rep2 <- RepOuiNon("Avez-vous des enfants ?") + ... + + curryfication évaluation de l'application d'une fonction