ALGORITHMIQUE en classe de seconde
OBJECTIFS Développer la capacité d’expérimenter Former à la démarche scientifique Prendre en compte les progrès des sciences et techniques informatiques
QUELQUES GÉNÉRALITÉS Présence universelle des algorithmes : dans la vie courante (traitement de données, compression de données, statistique, codage, simulation numérique, ...) dans la scolarité (opérations posées, algorithme des différences, algorithme d’Euclide, constructions en géométrie...)
QUELQUES GÉNÉRALITÉS Étude de certaines notions sous un angle différent : organiser la recherche du maximum d’une fonction réaliser le tri de données en statistiques représenter une droite sur écran n’affichant que des pixels ...
QUELQUES GÉNÉRALITÉS Algorithmique et démarche algorithmique : comprendre et analyser un algorithme préexistant modifier un algorithme pour obtenir un résultat particulier analyser une situation (données d’entrée, de sortie, traitement...) écrire un algorithme en langage courant (identifier les boucles, les tests...) valider un algorithme (traces d’exécution, jeux d’essais simples...) adapter un algorithme aux contraintes d’un langage de programmation valider un programme simple
PRATIQUE ACTIVE DE L’ÉLÈVE Organisation des enseignements : pas de cours spécifique ! introduction de chaque nouvel élément (variable, boucle, itération...) lors de la résolution de problèmes
PRATIQUE ACTIVE DE L’ÉLÈVE Organisation des enseignements : découverte tout au long de l’année, à travers les différents champs du programme : fonctions : étude numérique et asymptotique géométrie : affichage, positionnement, déplacement d’objets simples (points, segments, cercles...) statistiques : tris, détermination d’indicateurs (médiane, quartiles...) probabilités : modélisation de phénomènes à partir de fréquences observées numérique : traitement des nombres (problèmes de comparaisons et de taille des nombres...)
PRATIQUE ACTIVE DE L’ÉLÈVE Pratiques de l’élève : dans des situations et organisations pédagogiques variées dans la durée, activités individuelles, collectives exemples : relecture d’un algorithme donné transpositions d’algorithmes utilisant différents types de langage complexifications progressives progressivité dans le choix et l’utilisation des outils de programmation repérage et correction d’erreurs dans un algorithme donné travail en équipe (sur des projets modestes)
SUPPORTS DE PROGRAMMATION pas de logiciel ou de langage imposé travail avec papier-crayon en langage courant, avec calculatrice, avec ordinateur progressivité des apprentissages à travers le choix des supports et logiciels progressivité dans les outils utilisés
ÉVALUATION de COMPÉTENCES Dans les trois modalités de l’activité en algorithmique : analyser le fonctionnement ou le but d’un algorithme modifier un algorithme pour obtenir un résultat précis créer un algorithme pour répondre à un problème donné
ÉVALUATION de COMPÉTENCES Dans la résolution de problèmes : modéliser, s’engager dans une activité de recherche faire une analyse critique pratiquer une lecture active de l’information, avec changement de registres (graphique, numérique, algébrique, géométrique) communiquer à l’écrit et à l’oral
ÉLÉMENTS DE BASE D’UN ALGORITHME SIMPLE Les trois étapes : la préparation du traitement le traitement la sortie des résultats Voir détail page 6 du document d’accompagnement
ÉLÉMENTS DE BASE D’UN ALGORITHME SIMPLE Les instructions pour les données : lecture (entrée) des données affectation des données dans des variables écriture (sortie) des données
ÉLÉMENTS DE BASE D’UN ALGORITHME SIMPLE Les structures de contrôles : structure alternative Si condition alors │ Traitement 1 Sinon ∟ Traitement 2 structure répétitive Pour I de 1 jusqu’à N faire ∟ Traitement 1
Ressources pour la classe de seconde DOCUMENT RESSOURCE •eduscol.education.fr/ D0015 Mathématiques Lycée Ressources pour la classe de seconde - Algorithmique - Ce document peut être utilisé librement dans le cadre des enseignements et de la formation des enseignants. Toute reproduction, même partielle, à d'autres fins ou dans une nouvelle publication, est soumise à l'autorisation du directeur général de l'Enseignement scolaire. Juin 2009
Algorithme ? Poser un problème Existe-t-il une solution ? (écrire des programmes qui terminent est très compliqué) Si on pense qu’on a une solution, on écrit un algorithme dans un pseudo-code. (distinction algorithme-programme) Correction de l’algorithme (preuve) (prouver la correction d’un algorithme n’a pas de réponse universelle) Combien cela coûte-t-il ? complexité ordre de grandeur (avec borne de complexité, savoir si elle est atteinte) analyse de complexité en moyenne (distributions de probabilités) optimalité Claude Jard, professeur à l’ENS Cachan, département informatique
Algorithmique et progression Programme de calcul : choisir un nombre lui ajouter 4 multiplier la somme obtenue par le nombre choisi ajouter 4 à ce produit écrire le résultat
Algorithmique et progression Programme de calcul : choisir un nombre ajouter 3 au nombre choisi multiplier le nombre obtenu par le nombre choisi soustraire au nombre obtenu le carré du nombre choisi au départ écrire le résultat
Algorithmique et progression Programme de calcul : choisir un nombre ajouter 3 au nombre choisi multiplier le nombre obtenu par le nombre choisi soustraire au nombre obtenu le carré du nombre choisi au départ écrire le résultat Début : Entrée : saisir un nombre entier naturel Traitement : lui ajouter 3 multiplier le nombre obtenu par le nombre choisi soustraire au nombre obtenu le carré du nombre choisi au départ Sortie : afficher le nombre obtenu
Algorithmique et progression Programme de calcul : choisir un nombre ajouter 3 au nombre choisi multiplier le nombre obtenu par le nombre choisi soustraire au nombre obtenu le carré du nombre choisi au départ écrire le résultat Début : Variable : n entier naturel (nombre choisi) p entier naturel (nombre calculé) Début saisir le nombre choisi p n+3 p p n p p n² afficher le nombre obtenu Fin
Algorithmique et évaluation Interpréter un algorithme
Algorithmique et évaluation Interpréter un algorithme
Algorithmique et simulation Une puce se déplace sur un axe gradué : à chaque saut elle se déplace d'une unité, de manière aléatoire et équiprobable vers la droite ou vers la gauche. Elle part de l’origine et effectue une marche de 30 sauts. Proposer un algorithme donnant la position d’arrivée de la puce, c'est-à-dire la position du trentième saut. Enrichir l’algorithme précédent pour donner la liste des positions d’arrivée de N marches aléatoires.
Algorithmique et simulation Marche aléatoire Variables x, i entiers Initialisation x prend la valeur 0 Traitement Pour i variant de 1 à 30 Si alea < 0,5 alors x prend la valeur x + 1 sinon x prend la valeur x – 1 Fin du Si Fin du Pour Sorties Afficher x