Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/07183.jsonl.gz/1187

Les élèves devraient être capables de concevoir, programmer et évaluer des algorithmes structurés pour des problèmes nécessitant une approche descendante.
Après un premier contact avec la conception d'algorithmes simples et leur programmation à travers l'unité Pr1 "Introduction à la programmation", les élèves devraient apprendre à pratiquer l'approche descendante, en utilisant les mêmes instruments de conception et le même environnement de programmation. Au fur et à mesure que les problèmes deviennent plus complexes, le besoin de l'approche descendante se fait davantage sentir. La programmation descendante est la méthode habituelle de conception et de production des logiciels commerciaux.
Cette unité comporte essentiellement trois activités: la conception descendante d'algorithmes, la traduction des algorithmes ainsi conçus en programmes et la mise en oeuvre de ces programmes. Comme avec l'unité Pr1 "Introduction à la programmation", ces trois activités se feront successivement et seront intimement liées. Bien que les descriptions suivantes envisagent chaque activité séparément, l'ordre de présentation ne doit pas nécessairement être l'ordre dans lequel ces activités seront enseignées.
1. Conception descendante (Top-Down) des algorithmes
Les élèves devraient être capables de:
Au départ, l'enseignant propose la résolution de quelques problèmes complexes, mais pour lesquels des procédures correspondant à des parties ou à des sous-problèmes du problème original sont disponibles et peuvent donc être intégrées à la solution. Dans un deuxième temps, les élèves analyseront ces procédures et en construiront aussi eux-mêmes.
Certains problèmes concerneront le traitement de chaînes de caractères, en utilisant les outils offerts par le langage de programmation disponible. Ce type d'algorithmes est important car il souligne le fait que l'on ne peut attendre que des traitements formels de la part de l'ordinateur. Voici quelques exemples de problèmes concernés: concaténation, comptabilisation du nombre de mots dans un texte, écriture d'un texte à l'envers, changement de toutes les voyelles d'un texte, recherche d'un mot dans un texte.
Il est important de pointer des problèmes débordant ces possibilités formelles, comme : la traduction d'un texte, sa correction ou son résumé.
2. Traduction de l'algorithme en un programme
Les élèves devraient être capables de:
Il est important de transformer les algorithmes conçus de manière descendante en programmes utilisant des procédures et des fonctions, afin que les élèves prennent conscience de la nécessité de ces outils conceptuels.
Avant que le programme ne soit vraiment écrit, les élèves devraient évaluer et déboguer, pas à pas, un algorithme donné morcelé en blocs; ils devraient créer leurs propres jeux de données et tester les différentes parties de l'algorithme, mais également l'algorithme dans son ensemble.
Les élèves devraient utiliser les outils de programmation suivants: procédure, fonction, variables globales et locales, paramètres. Il faudrait leur proposer des procédures et des fonctions de manipulation de chaînes de caractères qu'ils utiliseront pour résoudre des problèmes de traitements de textes.
3. Mise en oeuvre du programme réalisé (Implémentation)
Les élèves devraient être capables:
Les élèves devraient stocker des programmes sur disque et les récupérer, pour des utilisations et des modifications ultérieures. Ils devraient apprendre à faire la différence entre des erreurs de syntaxe et des erreurs d'exécution; et identifier les causes potentielles de chaque type d'erreur.
Les élèves devraient tester leurs programmes avec des jeux de données imposés ou imaginés par eux, afin d'en déterminer la correction et les limites; ils devraient apprendre à obtenir à la fois des sorties imprimées de leurs programmes et l'impression des textes de ces derniers.
Les enseignants devraient s'assurer qu'une documentation claire et adéquate accompagne chaque programme afin que d'autres utilisateurs puissent en comprendre le fonctionnement et y apporter d'éventuelles modifications.
Ressources minimales indispensables:
Ressources supplémentaires optionnelles:
Cette unité constitue une préparation essentielle aux modules général et optionnel destinés à l'enseignement de degré supérieur.
Retour Annexe 1
Retour Sommaire