1 / 39

Algorithmes en 2 nde

Algorithmes en 2 nde. Claude Poulin Stage RETOUR DE L’ALGORITHMIQUE AU LYCEE Rémire Montjoly 2011. Algorithmique:. L’algorithmique est une branche complexe des mathématiques - comparaison de performances - convergence des algorithmes - preuves de programmes…

erasmus
Download Presentation

Algorithmes en 2 nde

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algorithmes en 2nde Claude Poulin Stage RETOUR DE L’ALGORITHMIQUE AU LYCEE Rémire Montjoly 2011

  2. Algorithmique: • L’algorithmique est une branche complexe des mathématiques- comparaison de performances- convergence des algorithmes- preuves de programmes… • En 2nde, on abordera seulement- l’initiation à la pensée algorithmique- l’analyse d’algorithmes existants- des modifications d’algorithmes - la réalisation d’algorithmes- quelques bases de programmation

  3. Des algorithmes, quand? • En relation avec toutes les parties du programme: fonctions, statistiques, géométrie, logique et langue (si .. alors, et...). • Il ne s’agit pas seulement d’utiliser des algorithmes existants.

  4. Des algorithmes, pourquoi? • La résolution de certains problèmes montre la nécessité d’organiser une suite de traitements, de calculs; de mettre au point des solutions algorithmiques.

  5. Officiellement…

  6. Des algorithmes partout …. • La notion d’algorithme reste proche de « recette », « méthode systématique», « procédure »… • Des algorithmes plus ou moins complexes sont utilisés dans la vie courante (recherche d’informations -comment marche Google? -, traitement et compression des données, tris, codage, simulation, imagerie médicale, automate de banque…. ). pour un ambulancier..

  7. Des algorithmes déjà rencontrés en mathématiques: • division à la main • résolution d’une équation du premier degré • Euclide • Eratosthène • constructions en géométrie

  8. L’expression des algorithmes: • En langage ordinaire. • En pseudo langage, pas aussi formalisé que dans un programme. • Parfois sous forme de schéma: organigramme …

  9. Un exemple… • "Faites prendre la moitié du nombre pair pensé, puis ajouter 1 et multiplier le résultat par 6; demandez le quotient par 3 du résultat obtenu. Ce quotient diminué de 2 est le nombre pensé." (Emile Fourrey, Récréations mathématiques, 1905) • Algorithme en plusieurs étapes, où l’on retrouve une entrée, un traitement de données et une sortie d’un résultat.

  10. Et la programmation ? • C’est la réalisation de l’algorithme (la phase « intelligente ») qui a un réel intérêt. • Programmer, c’est finalement traduire un algorithme afin qu’il soit exécuté (ordinateur, machine outil, ..). • Cela reste un travail « subalterne », un simple codage dans un langage particulier.

  11. Apprendre à programmer? • En 2nde ce n’est pas vraiment prévu. • Il s’agit simplement quand la nécessité se fait (ou l’envie, car il est assez stimulant de « voir tourner » un algorithme en espérant obtenir le résultat attendu) de traduire l’algorithme dans un langage adéquat (mais le langage n’est pas l’essentiel – vaut mieux avoir …. quelque chose à dire !).

  12. Les supports de programmation. • Principalement les outils déjà communément utilisés (tableurs, calculatrices). • Il est possible de compléter avec des logiciels de programmation: Scratch, Python, Algobox, Visual Basic, Html&Javaou des logiciels de calculs scientifiques (Scilab, Derive…) • Et même des logiciels de calcul formel (Xcas, Mupad…).

  13. Attention ! • Faire tourner un programme permet de montrer qu’il contient des erreurs, pas qu’il est juste. • Utiliser l’outil informatique pour émettre des conjectures, oui ; mais gare aux preuves « sommaires » apportées par l’exécution d’un programme.

  14. Traitements de l’exemple. • A la main ou en effectuant les calculs sur une simple calculatrice. • Par exemple, si le partenaire a choisi 10 • 10/2= • +1= • X6= • /3= • -2= • et on annonce le résultat affiché. • S’il faut recommencer avec un autre nombre, cela devient vite fastidieux.

  15. Il vaut mieux automatiser ce calcul à l’aide d’un tableur. On retrouve l’affectation en B1, les formules et la sortie en B6.

  16. Ou utiliser la calculatrice programmable  …

  17. avec Scratch* * Scratch, logiciel libre et ludique, possède une tortue comme LOGO; il a le gros avantage de bien visualiser les structures; on peut exécuter plusieurs algorithmes en parallèle.

  18. avec Scilab • x=10 • x = • 10. • r=((x/2)+1)*6/3-2 • r = • 10.

  19. Avec un logiciel de calcul formel (Xcas) • Là il y a une différence de taille: on aura la preuve formelle, par simplification.

  20. Comment aborder le sujet en seconde. • Une recette de cuisine. • Faire exécuter l’algorithme de construction de l’œuf . • Le rangement d’un cartable. • Jouer au robot (un élève écrit des consignes – calculs, figure – et un autre exécute). • Donner des petits algorithmes et deviner ce qu’ils doivent donner ; les modifier …

  21. Et … • Essayer de faire le lien avec les collègues de français et la logique (si .. alors, ou, et, non …). • La notion de variable est une notion majeure utilisée avec un tableur (une cellule est avant tout une variable) • La notion de variable est très utilisée aussi sur la calculatrice (pour stocker temporairement une valeur). • « Rédiger » un problème de construction en géométrie consiste déjà à proposer un algorithme de construction. Les ordres dans ce cas sont usuellement des droites à tracer avec la règle ou des cercles avec le compas.

  22. Y a-t-il des difficultés? • Un algorithme apporte une solution à un problème. • Il doit être juste par construction, jamais par essai. • Il doit être rédigé clairement, lisiblement dans un souci de communication (et de maintenance!) • Les étapes que l’on retrouve quasi systématiquement (préparation du traitement, traitement, édition des résultats) doivent être clairement identifiées. • Les éléments de base restent néanmoins limités…

  23. L’affectation:

  24. Le calcul de la surface d’un rectangle quand on entrera les deux dimensions (Python*): Un exercice d’initiation, un exemple à commenter ou un exemple à modifier … * Python, logiciel libre possède un interpréteur et un compilateur, une tortue; mais peut présenter des inconvénients pour des débutants (pas de déclaration de variable; blocs par indentation; = pour affectation…)

  25. Le test (structure alternative): ALGORITHME Equation    VAR A, B, C, DELTA : REEL    DEBUT        LIRE ( A, B, C)        Delta := B*B - 4*A*C    SI Delta > 0 :        Ecrire ( 'Première racine : ', (-B + Racine(Delta)) / (2* A)        Ecrire ( 'Deuxième racine : ', (-B - Racine(Delta)) / (2 *A)    SINON        SI Delta = 0            Ecrire('Une racine double :', -B / ( 2*A)        SINON            Ecrire('Pas de racine réelle')        FSI    FSIFIN

  26. Le test (structure alternative ; Algobox*): *Algobox, logiciel libre est un excellent outil de rédaction d’algorithme, avec des commandes prêtes à l’emploi et possibilité d’exécution immédiate.

  27. Le test (structure alternative): • Ranger deux nombres (Scratch)

  28. Et les boucles ? • Affectation, entrée, sortie ne doivent pas présenter de grandes difficultés. • La structure conditionnelle demandera plus de temps. • Élaborer une boucle reste la véritable difficulté en algorithmique.

  29. La répétition:

  30. La construction d’une étoile (avec la tortue de Scratch) :

  31. La répétition, version 2:

  32. En seconde – fonctions. • Calculer l’indice de masse corporelle I= masse/taille² Si I>25 afficher « en surpoids »… • Tableau de valeurs avec un tableur. • Maximiser le volume d’une boîte.

  33. En seconde – expressions. • Résolution d’une équation du 1er degré. • Transformations formelles avec Xcas. • Méthode de Hörner. • Encadrement de solutions de f(x)=0 (dichotomie). • existence d’un triangle pour trois nombres donnés • sortir le plus grand de trois nombres

  34. Algorithme permettant d'obtenir la valeur approchée de la solution positive de l'équation (ALGOBOX).

  35. En seconde – statistiques, probas. • Fluctuation d’échantillonnage: simulations d’un lancer de deux dés. • Intervalles de confiance. • Déterminations de Q1, Me, Q3 (les valeurs obtenues à la machine ne sont pas satisfaisantes).

  36. En seconde – géométrie. • Calcul des coordonnées d’un milieu. • Programme de construction dans le plan. • Vérifier la colinéarité de deux vecteurs. • Construction d’un cube avec Géospace.

  37. Et après ? Il est évident que cette initiation aux algorithmes sera poursuivie par la suite… Des documents sont déjà à consulter sur: http://webtice.ac-guyane.fr/Maths (Tice, Ressources, Algorithmique) (prise en main des calculatrices programmables, de Xcas, de Maple, de Mupad…) Des stages de différents niveaux seront proposés.

  38. L’algorithmique au service de problèmes.  • Procédures de tris et comparaison de leurs performances. • recherche d’un maximum d’une fonction par trisection. • Approximation de • Approximation de Pi • Algorithme récursif d’Euclide • Algorithmes sur les graphes • Algorithmes sur le méthodes de calculs d’intégrales

  39. Des algorithmes qui gagnent à être connus…. • Équations différentielles : méthode d’Euler, accélération de Runge … • Équations non linéaires : point fixe, méthode de la sécante, Newton, Delta d’Aitken, Steffesen et Romberg… • Systèmes linéaires : Gauss, Souriau.. • Algorithme CORDIC. Et quelques bases en analyse numérique et en calcul formel.

More Related