Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le...

42
Isabelle ABOU Isabelle ABOU 1 ALGORITHMIQUE ET ALGORITHMIQUE ET PROGRAMMATION PROGRAMMATION REFLEXIONS ET REFLEXIONS ET EXPERIMENTATIONS EXPERIMENTATIONS IREM DE LA REUNION IREM DE LA REUNION Le 28 Octobre 2009 Le 28 Octobre 2009

Transcript of Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le...

Page 1: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 11

ALGORITHMIQUE ET ALGORITHMIQUE ET PROGRAMMATIONPROGRAMMATION

REFLEXIONS ET REFLEXIONS ET EXPERIMENTATIONSEXPERIMENTATIONS

IREM DE LA REUNIONIREM DE LA REUNIONLe 28 Octobre 2009Le 28 Octobre 2009

Page 2: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 22

POURQUOI POURQUOI L’ALGORITHMIQUE?L’ALGORITHMIQUE?

- Nécessité pour l’École de s’inscrire dans la société civile - Nécessité pour l’École de s’inscrire dans la société civile où les média sont omniprésents.où les média sont omniprésents.

- L’utilisation des TIC devient une pratique incontournable - L’utilisation des TIC devient une pratique incontournable de l’enseignant et de l’élève.de l’enseignant et de l’élève.

- La recherche en informatique fait partie des - La recherche en informatique fait partie des « mathématiques appliquées et applications des « mathématiques appliquées et applications des mathématiques ».mathématiques ».

- Faire prendre conscience à l’élève que la technologie est - Faire prendre conscience à l’élève que la technologie est le fruit d’un travail logique et rigoureux de l’Homme sous le fruit d’un travail logique et rigoureux de l’Homme sous tendu par les mathématiques, et par voie de conséquence tendu par les mathématiques, et par voie de conséquence par l’informatique.par l’informatique.

Page 3: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 33

RECHERCHES ACTUELLES EN RECHERCHES ACTUELLES EN ALGORITHMIQUEALGORITHMIQUE

• De nombreuses recherches et problèmes mathématiques De nombreuses recherches et problèmes mathématiques sont en inter-relation avec les recherches en algorithmique.sont en inter-relation avec les recherches en algorithmique.

• Celles-ci concernent Celles-ci concernent • - la complexité en moyenne et - la complexité en moyenne et • - de nombreuses applications en ingénierie comme: - de nombreuses applications en ingénierie comme: • la téléphonie mobile, la téléphonie mobile, • le cryptage, le cryptage, • la compression d’image et de son, la compression d’image et de son, • les codes correcteurs, les codes correcteurs, • Internet, Internet, • la recherche en bio-informatique sur l’identification et la recherche en bio-informatique sur l’identification et

l’étude de codes dans les génomes et leur modélisation l’étude de codes dans les génomes et leur modélisation évolutive stochastique.évolutive stochastique.

• Beaucoup de colloques concernent les recherches de pointe Beaucoup de colloques concernent les recherches de pointe en algorithmique.en algorithmique.

Page 4: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 44

APPORTS DE APPORTS DE L’ALGORITHMIQUE L’ALGORITHMIQUE

- Faire appréhender à l’élève de façon différente certaines notions comme - Faire appréhender à l’élève de façon différente certaines notions comme la logique, et par voie de conséquence développer l’esprit scientifique.la logique, et par voie de conséquence développer l’esprit scientifique.

- Promouvoir l’égalité des chances pour tous les élèves puisqu’ils - Promouvoir l’égalité des chances pour tous les élèves puisqu’ils commencent l’algorithmique au même niveau sans le poids des lacunes commencent l’algorithmique au même niveau sans le poids des lacunes antérieures.antérieures.

- Donner un renouveau à la perception qu’ont les élèves de l’objet - Donner un renouveau à la perception qu’ont les élèves de l’objet mathématique, l’aspect calculatoire n’étant pas au premier plan.mathématique, l’aspect calculatoire n’étant pas au premier plan.

Dans l’esprit du paradigme du ‘‘diviser pour régner’’ utilisé pour l’écriture Dans l’esprit du paradigme du ‘‘diviser pour régner’’ utilisé pour l’écriture d’un algorithme ou d’un programme, privilégier le travail de groupe.d’un algorithme ou d’un programme, privilégier le travail de groupe.

- Faire de la pédagogie différenciée en demandant à certains élèves - Faire de la pédagogie différenciée en demandant à certains élèves d’analyser un algorithme, d'en écrire de simples, et à d'autres, de faire ce d’analyser un algorithme, d'en écrire de simples, et à d'autres, de faire ce même travail en demandant, en plus, de modifier l'algorithme de départ même travail en demandant, en plus, de modifier l'algorithme de départ pour le rendre plus performant ou pour y ajouter des fonctionnalités.pour le rendre plus performant ou pour y ajouter des fonctionnalités.

Page 5: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 55

POURQUOI LA POURQUOI LA PROGRAMMATION?PROGRAMMATION?

Nombre d’élèves ont des difficultés car les mathématiques demandent des Nombre d’élèves ont des difficultés car les mathématiques demandent des capacités d’abstraction non seulement au niveau des notions abordées capacités d’abstraction non seulement au niveau des notions abordées mais aussi au niveau du de l’analyse du résultat obtenu, de sa mais aussi au niveau du de l’analyse du résultat obtenu, de sa signification.signification.

Pour écrire un algorithme, il faut d’abord décomposer toutes les étapes Pour écrire un algorithme, il faut d’abord décomposer toutes les étapes nécessaires à la résolution d’un problème, il faut ensuite rédiger nécessaires à la résolution d’un problème, il faut ensuite rédiger rigoureusement sa résolution.rigoureusement sa résolution.

Écrire un programme permet de vérifier concrètement que l’algorithme Écrire un programme permet de vérifier concrètement que l’algorithme fonctionne.fonctionne.

Si le programme ne tourne pas, son concepteur est confronté à lui-même, Si le programme ne tourne pas, son concepteur est confronté à lui-même, il cherche son erreur, il fait des tentatives successives de corrections il cherche son erreur, il fait des tentatives successives de corrections jusqu’à ce que le programme donne le résultat attendu.jusqu’à ce que le programme donne le résultat attendu.

Cela peut donc donner une place encore plus intéressante à Cela peut donc donner une place encore plus intéressante à l’expérimentation, et redonner aux élèves le goût de l’effort; la satisfaction l’expérimentation, et redonner aux élèves le goût de l’effort; la satisfaction et la récompense étant bien concrètes.et la récompense étant bien concrètes.

On est donc dans une réelle démarche de recherche.On est donc dans une réelle démarche de recherche.

Page 6: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 66

QUEL CHOIX DE LOGICIEL?QUEL CHOIX DE LOGICIEL? Extrait du document ressources:Extrait du document ressources: Les calculatrices graphiques programmables peuvent être Les calculatrices graphiques programmables peuvent être

exploitées grâce à leur commodité d’usage en classe exploitées grâce à leur commodité d’usage en classe entière. Cependant, leurs limites dues à leur petite taille et entière. Cependant, leurs limites dues à leur petite taille et leur capacité mémoire incitent à proposer aux élèves des leur capacité mémoire incitent à proposer aux élèves des activités s’appuyant sur des logiciels utilisables sur activités s’appuyant sur des logiciels utilisables sur ordinateur.ordinateur.

Ceux utilisés dans ce document de l’Inspection Générale Ceux utilisés dans ce document de l’Inspection Générale sont les logiciels des calculatrices TI et Casio, les logiciels sont les logiciels des calculatrices TI et Casio, les logiciels Scratch, Scilab, Xcas, Python et Execalgo.Scratch, Scilab, Xcas, Python et Execalgo.

Seuls Execalgo, Scratch, Scilab, et AlgoBox sur lesquels j’ai Seuls Execalgo, Scratch, Scilab, et AlgoBox sur lesquels j’ai travaillé, seronttravaillé, seront présentés iciprésentés ici..

Page 7: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 77

EXECALGOEXECALGO C'est un logiciel gratuit, mais qui n'est pas libre ni multi-C'est un logiciel gratuit, mais qui n'est pas libre ni multi-

plateforme.plateforme.

Dans un premier temps, je l’ai choisi car il est dédié à Dans un premier temps, je l’ai choisi car il est dédié à l’apprentissage de l’algorithmique puisqu’il a été crée par un l’apprentissage de l’algorithmique puisqu’il a été crée par un groupe d’experts pour les élèves de 1L et TL qui suivent l'option groupe d’experts pour les élèves de 1L et TL qui suivent l'option mathématiques.mathématiques.

Très pédagogique, les instructions sont écrites en langage naturel, Très pédagogique, les instructions sont écrites en langage naturel, elles sont pré-écrites sur la fenêtre du programme, et il suffit de elles sont pré-écrites sur la fenêtre du programme, et il suffit de remplir avec des instructions chaque élément de la structure du remplir avec des instructions chaque élément de la structure du programme, entrée: déclaration de variables et initialisation, programme, entrée: déclaration de variables et initialisation, traitement, et sortie.traitement, et sortie.

Cependant, il a certains défauts qui paraissent rédhibitoires: il ne Cependant, il a certains défauts qui paraissent rédhibitoires: il ne possède pas d’instruction « input », il gère mal les instructions possède pas d’instruction « input », il gère mal les instructions conditionnelles (il faut pour cela utiliser des points de conditionnelles (il faut pour cela utiliser des points de branchements), et il n’a pas de fenêtre graphique.branchements), et il n’a pas de fenêtre graphique.

Il a été abandonné, en général, au profit d’AlgoBox. Il a été abandonné, en général, au profit d’AlgoBox.

Page 8: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 88

SCRATCHSCRATCH C'est un logiciel libre, gratuit, et multi-plateforme.C'est un logiciel libre, gratuit, et multi-plateforme.

Il a été crée au départ, aux États Unis, pour enseigner l'algorithmique et la Il a été crée au départ, aux États Unis, pour enseigner l'algorithmique et la programmation à des enfants de 7ans.programmation à des enfants de 7ans.

Il a un côté très ludique puisqu'il y a un petit personnage sur la fenêtre, qui Il a un côté très ludique puisqu'il y a un petit personnage sur la fenêtre, qui peut faire des mouvements grâce aux programmes que l'on écrit.peut faire des mouvements grâce aux programmes que l'on écrit.

Il donne la possibilité d’exporter les algorithmes Il donne la possibilité d’exporter les algorithmes sur un site mutualisé. .

Il permet de créer des animations, de petites vidéos auxquelles on peut Il permet de créer des animations, de petites vidéos auxquelles on peut également ajouter des sons.également ajouter des sons.

Pour programmer avec Scratch, il faut déplacer de petites briques où les Pour programmer avec Scratch, il faut déplacer de petites briques où les instructions sont pré-écrites, il n’y a pas à apprendre de syntaxe.instructions sont pré-écrites, il n’y a pas à apprendre de syntaxe.

Les couleurs très vives de l’écriture du code peuvent en rebuter certains.Les couleurs très vives de l’écriture du code peuvent en rebuter certains.

Ce n'est pas un logiciel de calcul scientifique, il ne connaît donc pas les Ce n'est pas un logiciel de calcul scientifique, il ne connaît donc pas les règles de priorité, il faut donc décomposer toutes les opérations.règles de priorité, il faut donc décomposer toutes les opérations.

Page 9: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 99

SCILAB LYCEESCILAB LYCEE C'est aussi un logiciel libre, gratuit, et multi-plateforme qui a été reformaté C'est aussi un logiciel libre, gratuit, et multi-plateforme qui a été reformaté

pour le lycée à partir du logiciel Scilab.pour le lycée à partir du logiciel Scilab.

Il est considéré comme une "super" calculatrice avec des possibilités de Il est considéré comme une "super" calculatrice avec des possibilités de programmation assez importantes, création de fonctions comme sous-programmation assez importantes, création de fonctions comme sous-procédures d’un programme principal, affichages de graphiques, tirages procédures d’un programme principal, affichages de graphiques, tirages aléatoires, suites…aléatoires, suites…

Il est utilisé dans les classes préparatoires aux grandes écoles mais la Il est utilisé dans les classes préparatoires aux grandes écoles mais la syntaxe reste assez simple, plutôt synthétique.syntaxe reste assez simple, plutôt synthétique.

La majorité des instructions sont en anglais, certaines comme La majorité des instructions sont en anglais, certaines comme afficher sontafficher sont en français.en français.

Ce n'est pas un logiciel de calcul formel, toute variable qui est entrée doit Ce n'est pas un logiciel de calcul formel, toute variable qui est entrée doit avoir une valeur numérique.avoir une valeur numérique.

Les calculs sont des calculs matriciels, un nombre réel est considéré Les calculs sont des calculs matriciels, un nombre réel est considéré comme une matrice 1x1.comme une matrice 1x1.

Page 10: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 1010

ALGOBOXALGOBOX C’est un logiciel libre, multi-plateforme et gratuit.C’est un logiciel libre, multi-plateforme et gratuit.

Il a été crée pour aider à l'élaboration et à l'exécution d'algorithmes dans Il a été crée pour aider à l'élaboration et à l'exécution d'algorithmes dans l'esprit du nouveau programme de seconde. l'esprit du nouveau programme de seconde.

Le code de l'algorithme se construit pas à pas grâce à des instructions de Le code de l'algorithme se construit pas à pas grâce à des instructions de base pré-écrites que l'on insère.base pré-écrites que l'on insère.

Tous les algorithmes peuvent être exécutés et testés en mode classique, Tous les algorithmes peuvent être exécutés et testés en mode classique, ainsi qu’en mode ainsi qu’en mode pas à pas.pas à pas.

Des exemples d'algorithme sont fournis avec le programme.Des exemples d'algorithme sont fournis avec le programme.

En plus d'une sauvegarde classique, le code l'algorithme peut être imprimé En plus d'une sauvegarde classique, le code l'algorithme peut être imprimé et exporté sous forme de fichier texte, d'un document LaTeX, d'une page et exporté sous forme de fichier texte, d'un document LaTeX, d'une page web dans laquelle il est possible de l'exécuter. web dans laquelle il est possible de l'exécuter.

AlgoBox n'est pas un environnement complet de programmation, ses AlgoBox n'est pas un environnement complet de programmation, ses capacités en "programmation pure" sont donc limitées. capacités en "programmation pure" sont donc limitées.

Démo Tutoriel

Page 11: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 1111

CHOIX D’ALGOBOXCHOIX D’ALGOBOX Extrait du document ressources:Extrait du document ressources: Il faut avant tout éviter de confronter les élèves à des difficultés trop Il faut avant tout éviter de confronter les élèves à des difficultés trop

importantes; en effet la classe de seconde est une classe de détermination importantes; en effet la classe de seconde est une classe de détermination et il ne s’agit pas d’y former des programmeurs mais de faire en sorte que et il ne s’agit pas d’y former des programmeurs mais de faire en sorte que les mathématiques et l’algorithmique soient au service d’activités de les mathématiques et l’algorithmique soient au service d’activités de résolution de problèmes pour les sciences.résolution de problèmes pour les sciences.

Au niveau de la syntaxe, la programmation avec AlgoBox est très proche Au niveau de la syntaxe, la programmation avec AlgoBox est très proche de l’écriture d’un algorithme sur papier, en pseudo-code.de l’écriture d’un algorithme sur papier, en pseudo-code.

AlgoBox permet de ne pas ajouter à la difficulté d’apprentissage de AlgoBox permet de ne pas ajouter à la difficulté d’apprentissage de l’algorithmique, la difficulté d’apprentissage de la syntaxe d’un langage de l’algorithmique, la difficulté d’apprentissage de la syntaxe d’un langage de programmation.programmation.

Le déroulement Le déroulement pas à paspas à pas est très intéressant au niveau pédagogique car est très intéressant au niveau pédagogique car cela est équivalent à faire tourner l’algorithme ‘‘à la main’’, la valeur de cela est équivalent à faire tourner l’algorithme ‘‘à la main’’, la valeur de chaque variable étant affichée au fur et à mesure du déroulement de chaque variable étant affichée au fur et à mesure du déroulement de l’algorithme. l’algorithme.

AlgoBox permet donc d’être en conformité avec les objectifs et les AlgoBox permet donc d’être en conformité avec les objectifs et les exigences du programme de seconde sans rebuter la majorité des élèves exigences du programme de seconde sans rebuter la majorité des élèves qui ne passeront pas en section scientifique, et sans pénaliser ceux qui y qui ne passeront pas en section scientifique, et sans pénaliser ceux qui y passeront.passeront.

Page 12: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 1212

COMPETENCESCOMPETENCES Extrait du document ressources:Extrait du document ressources: Les compétences suivantes pourront être identifiées et travaillées:

– comprendre et analyser un algorithme préexistant ;

– modifier un algorithme pour obtenir un résultat particulier ;

– analyser la situation : identifier les données d’entrée, de sortie, le traitement...;

– mettre au point une solution algorithmique : comment écrire un algorithme en langage courant en respectant un code, identifier les boucles, les tests, des opérations d’écriture, d’affichage... ;

– valider la solution algorithmique par des traces d’exécution et des jeux d’essais simples ;

– adapter l’algorithme aux contraintes du langage de programmation : identifier si nécessaire la nature des variables...;

– valider un programme simple.

Page 13: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 1313

ORGANISATION DES ORGANISATION DES ENSEIGNEMENTSENSEIGNEMENTS

Extrait du document ressources:Extrait du document ressources: Il serait souhaitable d’intégrer l’écriture d’algorithmes dans tous

les domaines du programme :

– fonctions : étude numérique et asymptotique; – géométrie : les questions d’affichage, de positionnement et de

déplacement d’objets géométriques simples (points, segments, cercles) peuvent être un champ d’investigation très riche ; – statistique : questions de tris, détermination de certains

indicateurs (médiane, quartiles) ; – probabilités : la modélisation de certains phénomènes à partir de

fréquences observées : méthode dite de Monte-Carlo,etc. ; – numérique : le traitement des nombres permet d’aborder des

problèmes de comparaisons et de taille des nombres, d’exactitude dans les calculs, etc.

Page 14: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 1414

EXPERIENCE PERSONNELLEEXPERIENCE PERSONNELLE Introduction à l’algorithmique grâce à une recette de Introduction à l’algorithmique grâce à une recette de

cuisine.cuisine.

Premiers algorithmes en géométrie repérée, coordonnées Premiers algorithmes en géométrie repérée, coordonnées du milieu d’un segment, distance entre deux points, le du milieu d’un segment, distance entre deux points, le triangle est-il équilatéral, isocèle, rectangle, quatrième triangle est-il équilatéral, isocèle, rectangle, quatrième point d’un parallélogramme…point d’un parallélogramme…

Algorithmes suivants sur les fonctions: valeurs d’une Algorithmes suivants sur les fonctions: valeurs d’une fonction, tracé de la courbe représentative d’une fonction…fonction, tracé de la courbe représentative d’une fonction…

A venir: algorithmes sur les fonctions affines par morceaux, A venir: algorithmes sur les fonctions affines par morceaux, sur les droites, en statistique avec la simulation, sur les droites, en statistique avec la simulation, l’échantillonnage, en probabilités, avec les fonctions de l’échantillonnage, en probabilités, avec les fonctions de référence, les vecteurs, etc…référence, les vecteurs, etc…

Page 15: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 1515

QUELLES ACTIVITES ALGORITHMIQUES?QUELLES ACTIVITES ALGORITHMIQUES?

COMMENT LES RELIER AU PROGRAMME? COMMENT LES RELIER AU PROGRAMME? Je présenterai: Je présenterai: * une introduction, très simple, à l’algorithmique * une introduction, très simple, à l’algorithmique

avec une recette de cuisine,avec une recette de cuisine, * des activités algorithmiques:* des activités algorithmiques: - en géométrie repérée avec des travaux - en géométrie repérée avec des travaux

d’élèves,d’élèves, - sur les fonctions avec le programme donnant les - sur les fonctions avec le programme donnant les

valeurs et le tracé d’une fonction affine par valeurs et le tracé d’une fonction affine par morceaux,morceaux,

- en statistiques dans le domaine de la - en statistiques dans le domaine de la simulation.simulation.

Avec une analyse pédagogique de chaque Avec une analyse pédagogique de chaque activitéactivité. .

Page 16: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 1616

INTRODUCTION INTRODUCTION RECETTE DE CUISINE RECETTE DE CUISINE

Ingrédients de la pâte à crêpes:Ingrédients de la pâte à crêpes: 200g de farine200g de farine 1 pincée de sel1 pincée de sel ½ sachet de levure½ sachet de levure 3 cuillerées à soupe d'huile3 cuillerées à soupe d'huile 15cl d'eau 15cl d'eau 15 cl de lait15 cl de lait 4 oeufs4 oeufs 4 cuillerées à soupe de rhum4 cuillerées à soupe de rhum 2 cuillerées à soupe de sucre + vanille2 cuillerées à soupe de sucre + vanille

Préparation de la pâte dans le désordre:Préparation de la pâte dans le désordre: ajouter le sucre + vanilleajouter le sucre + vanille si la pâte est trop épaisse, ajouter un peu de si la pâte est trop épaisse, ajouter un peu de

laitlait mélanger les ingrédientsmélanger les ingrédients battre les œufsbattre les œufs laisser reposer la pâtelaisser reposer la pâte casser les oeufscasser les oeufs délayer le tout avec l'eau + lait + rhum + délayer le tout avec l'eau + lait + rhum +

huile huile ajouter la farine + levure + selajouter la farine + levure + sel

Exercice:Exercice: Remettre dans l'ordre les Remettre dans l'ordre les

instructions de la recette de la instructions de la recette de la pâte à crêpes.pâte à crêpes.

Identifier les étapes de la recette Identifier les étapes de la recette avec les étapes d’un algorithme.avec les étapes d’un algorithme.

ENTREE:ENTREE: Déclaration: Liste des ingrédientsDéclaration: Liste des ingrédients Initialisation: Dosage de chaque ingrédientInitialisation: Dosage de chaque ingrédient TRAITEMENT:TRAITEMENT: I1: casser les oeufsI1: casser les oeufs I2: battre les oeufsI2: battre les oeufs I3: ajouter le sucre + vanilleI3: ajouter le sucre + vanille I4: ajouter la farine + levure + I4: ajouter la farine + levure +

selsel I5: mélanger les ingrédientsI5: mélanger les ingrédients I6: délayer le tout avec l'eau + I6: délayer le tout avec l'eau +

lait + rhum + huilelait + rhum + huile I7: si la pâte est trop épaisse, I7: si la pâte est trop épaisse,

ajouter un peu de laitajouter un peu de lait SORTIE:SORTIE: I8: laisser reposer la pâteI8: laisser reposer la pâte

Page 17: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 1717

ANALYSE PEDAGOGIQUEANALYSE PEDAGOGIQUE Ce premier exemple avec la recette de cuisine Ce premier exemple avec la recette de cuisine

peut être intéressant car il est très simple pour peut être intéressant car il est très simple pour commencer, et permet de:commencer, et permet de:

- faire une petite recherche opérationnelle et - faire une petite recherche opérationnelle et d’introduire l’importance de l’ordre des d’introduire l’importance de l’ordre des instructions,instructions,

- mettre en évidence les trois étapes d’un - mettre en évidence les trois étapes d’un algorithme: entrée, traitement, sortie, algorithme: entrée, traitement, sortie,

- introduire une instruction conditionnelle.- introduire une instruction conditionnelle.

Page 18: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 1818

PREMIERE RECHERCHE PAR PREMIERE RECHERCHE PAR LES ELEVESLES ELEVES

L’algorithme qui parait être le plus simple est « calcul des L’algorithme qui parait être le plus simple est « calcul des coordonnées du milieu d’un segment ». coordonnées du milieu d’un segment ».

Il permet d’introduire les notions fondamentales de lecture/ Il permet d’introduire les notions fondamentales de lecture/ écriture, de mettre l’accent sur la différence entre « Afficher un écriture, de mettre l’accent sur la différence entre « Afficher un message » et « Afficher la valeur d’une variable », qui sont deux message » et « Afficher la valeur d’une variable », qui sont deux instructions différenciées dans AlgoBox, ainsi que sur l’instruction  instructions différenciées dans AlgoBox, ainsi que sur l’instruction  « Lire la valeur d’une variable ».« Lire la valeur d’une variable ».

Dans un premier temps l’algorithme a été cherché sur papier, puis Dans un premier temps l’algorithme a été cherché sur papier, puis le programme écrit sans le tracé du graphique, et à une autre le programme écrit sans le tracé du graphique, et à une autre séance, nous avons rajouté le tracé du graphique.séance, nous avons rajouté le tracé du graphique.

La prise en main du logiciel avec ses différentes fonctionnalités a La prise en main du logiciel avec ses différentes fonctionnalités a duré environ 1 heure, l’écriture de l’algorithme, 1 heure, les duré environ 1 heure, l’écriture de l’algorithme, 1 heure, les rectifications éventuelles et pour certains l’écriture d’un autre rectifications éventuelles et pour certains l’écriture d’un autre algorithme, encore 1 heure. algorithme, encore 1 heure.

Page 19: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 1919

COMMENTAIRESCOMMENTAIRES Je donnerai d’abord l’algorithme et le programme corrects, Je donnerai d’abord l’algorithme et le programme corrects,

puis des programmes comportant des erreurs commises puis des programmes comportant des erreurs commises par mes élèves de seconde.par mes élèves de seconde.

Ceux-ci sont intéressants car ils permettent de mettre en Ceux-ci sont intéressants car ils permettent de mettre en évidence les difficultés rencontrées.évidence les difficultés rencontrées.

On notera toutefois que certains élèves ont eu le temps On notera toutefois que certains élèves ont eu le temps d’écrire le programme correct sans le tracé du graphique, d’écrire le programme correct sans le tracé du graphique, certains avec le tracé du graphique, et d’autres d’écrire certains avec le tracé du graphique, et d’autres d’écrire également l’algorithme  « calcul de la distance entre deux également l’algorithme  « calcul de la distance entre deux points ».points ».

Ces séances pourrons donner l’occasion de faire de la Ces séances pourrons donner l’occasion de faire de la pédagogie différenciée, puisque les élèves n’en ont pas été pédagogie différenciée, puisque les élèves n’en ont pas été au même stade d’apprentissage ni de compréhension.au même stade d’apprentissage ni de compréhension.

Page 20: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 2020

ALGORITHME: COORDONNEES ALGORITHME: COORDONNEES DU MILIEU D’UN SEGMENTDU MILIEU D’UN SEGMENT

ENTREE:ENTREE: Déclaration: xA, yA, xB, yB, xI, yI, nombres entiers (ou réels)Déclaration: xA, yA, xB, yB, xI, yI, nombres entiers (ou réels) Affectation: Afficher "Entrer l'abscisse du point A"Affectation: Afficher "Entrer l'abscisse du point A" Lire xALire xA Afficher "Entrer l'ordonnée du point A"Afficher "Entrer l'ordonnée du point A" Lire yALire yA Afficher "Entrer l'abscisse du point B"Afficher "Entrer l'abscisse du point B" Lire xBLire xB Afficher "Entrer l'ordonnée du point B"Afficher "Entrer l'ordonnée du point B" Lire yBLire yB

TRAITEMENTTRAITEMENT Donner à xI la valeur (xA+xB)/2Donner à xI la valeur (xA+xB)/2 Donner à yI la valeur (yA+yB)/2Donner à yI la valeur (yA+yB)/2

SORTIESORTIE Afficher "L'abscisse du milieu I de [AB] est:" , xIAfficher "L'abscisse du milieu I de [AB] est:" , xI Afficher "L'ordonnée du milieu I de [AB] est:" , yIAfficher "L'ordonnée du milieu I de [AB] est:" , yI

RemarqueRemarque: Dans les programmes qui suivent écrits avec AlgoBox, l’indentation : Dans les programmes qui suivent écrits avec AlgoBox, l’indentation n’apparaît pas à l’impression mais est automatique lors de l’écriture du code.n’apparaît pas à l’impression mais est automatique lors de l’écriture du code.

Page 21: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 2121

PROGRAMME ALGOBOXPROGRAMME ALGOBOXCOORDONNEES DU MILIEUCOORDONNEES DU MILIEU

1 1 VARIABLESVARIABLES 2 xA EST_DU_TYPE NOMBRE2 xA EST_DU_TYPE NOMBRE 3 yA EST_DU_TYPE NOMBRE3 yA EST_DU_TYPE NOMBRE 4 xB EST_DU_TYPE NOMBRE4 xB EST_DU_TYPE NOMBRE 5 yB EST_DU_TYPE NOMBRE5 yB EST_DU_TYPE NOMBRE 6 xI EST_DU_TYPE NOMBRE6 xI EST_DU_TYPE NOMBRE 7 yI EST_DU_TYPE NOMBRE7 yI EST_DU_TYPE NOMBRE 8 8 DEBUT_ALGORITHMEDEBUT_ALGORITHME 9 AFFICHER "Donner une valeur à 9 AFFICHER "Donner une valeur à

xA"xA" 10 LIRE xA10 LIRE xA 11 AFFICHER "Donner une valeur à 11 AFFICHER "Donner une valeur à

yA"yA" 12 LIRE yA12 LIRE yA 13 AFFICHER "Donner une valeur à 13 AFFICHER "Donner une valeur à

xB"xB" 14 LIRE xB14 LIRE xB 15 AFFICHER "Donner une valeur à 15 AFFICHER "Donner une valeur à

yB"yB" 16 LIRE yB16 LIRE yB

17 xI PREND_LA_VALEUR (xA+xB)/217 xI PREND_LA_VALEUR (xA+xB)/2 18 yI PREND_LA_VALEUR (yA+yB)/218 yI PREND_LA_VALEUR (yA+yB)/2 19 AFFICHER "L'abscisse du milieu I 19 AFFICHER "L'abscisse du milieu I

de [AB] est xI="de [AB] est xI=" 20 AFFICHER xI20 AFFICHER xI 21 AFFICHER "L'ordonnée du milieu I 21 AFFICHER "L'ordonnée du milieu I

de [AB] est yI="de [AB] est yI=" 22 AFFICHER yI22 AFFICHER yI 23 TRACER_POINT (xA,yA)23 TRACER_POINT (xA,yA) 24 TRACER_POINT (xB,yB)24 TRACER_POINT (xB,yB) 25 TRACER_POINT (xI,yI)25 TRACER_POINT (xI,yI) 26 TRACER_SEGMENT (xA,yA)-26 TRACER_SEGMENT (xA,yA)-

>(xB,yB)>(xB,yB) 27 27 FIN_ALGORITHMEFIN_ALGORITHME

Page 22: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 2222

2 PROGRAMMES D’ELEVES 2 PROGRAMMES D’ELEVES AVEC DES ERREURSAVEC DES ERREURS

1 1 VARIABLESVARIABLES 2 xa EST_DU_TYPE NOMBRE2 xa EST_DU_TYPE NOMBRE 3 ya EST_DU_TYPE NOMBRE3 ya EST_DU_TYPE NOMBRE 4 xb EST_DU_TYPE NOMBRE4 xb EST_DU_TYPE NOMBRE 5 yb EST_DU_TYPE NOMBRE5 yb EST_DU_TYPE NOMBRE 6 xi EST_DU_TYPE NOMBRE6 xi EST_DU_TYPE NOMBRE 7 yi EST_DU_TYPE NOMBRE7 yi EST_DU_TYPE NOMBRE 88 DEBUT_ALGORITHMEDEBUT_ALGORITHME 9 AFFICHER "donner une valeur à xa"9 AFFICHER "donner une valeur à xa" 10 AFFICHER "donner une à ya"10 AFFICHER "donner une à ya" 11 AFFICHER "donner une valeur à xb"11 AFFICHER "donner une valeur à xb" 12 AFFICHER "donner une valeur à yb"12 AFFICHER "donner une valeur à yb" 13 AFFICHER "donner une valeur à xi"13 AFFICHER "donner une valeur à xi" 14 AFFICHER "donner une valeur à yi"14 AFFICHER "donner une valeur à yi" 1515 FIN_ALGORITHMEFIN_ALGORITHME

11 VARIABLESVARIABLES 2 xA EST_DU_TYPE NOMBRE2 xA EST_DU_TYPE NOMBRE 3 yA EST_DU_TYPE NOMBRE3 yA EST_DU_TYPE NOMBRE 4 xB EST_DU_TYPE NOMBRE4 xB EST_DU_TYPE NOMBRE 5 yB EST_DU_TYPE NOMBRE5 yB EST_DU_TYPE NOMBRE 6 xI EST_DU_TYPE NOMBRE6 xI EST_DU_TYPE NOMBRE 7 yI EST_DU_TYPE NOMBRE7 yI EST_DU_TYPE NOMBRE 88 DEBUT_ALGORITHMEDEBUT_ALGORITHME 9 LIRE xA9 LIRE xA 10 LIRE yA10 LIRE yA 11 LIRE xB11 LIRE xB 12 LIRE yB12 LIRE yB 13 LIRE xI13 LIRE xI 14 LIRE yI14 LIRE yI 1515 FIN_ALGORITHMEFIN_ALGORITHME

Page 23: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 2323

2 PROGRAMMES D’ELEVES 2 PROGRAMMES D’ELEVES AVEC DES ERREURSAVEC DES ERREURS

1 1 VARIABLESVARIABLES 2 xA EST_DU_TYPE NOMBRE2 xA EST_DU_TYPE NOMBRE 3 xB EST_DU_TYPE NOMBRE3 xB EST_DU_TYPE NOMBRE 4 yA EST_DU_TYPE NOMBRE4 yA EST_DU_TYPE NOMBRE 5 yB EST_DU_TYPE NOMBRE5 yB EST_DU_TYPE NOMBRE 6 xI EST_DU_TYPE NOMBRE6 xI EST_DU_TYPE NOMBRE 7 yI EST_DU_TYPE NOMBRE7 yI EST_DU_TYPE NOMBRE 8 8 DEBUT_ALGORITHMEDEBUT_ALGORITHME 9 AFFICHER "donner une valeur à xA"9 AFFICHER "donner une valeur à xA" 10 LIRE xA10 LIRE xA 11 AFFICHER "donner une valeur à yA"11 AFFICHER "donner une valeur à yA" 12 LIRE yA12 LIRE yA 13 AFFICHER "donner une une valeur à xB"13 AFFICHER "donner une une valeur à xB" 14 LIRE xB14 LIRE xB 15 AFFICHER "donner la valeur à yB"15 AFFICHER "donner la valeur à yB" 16 LIRE yB16 LIRE yB 17 xI PREND_LA_VALEUR (xA+xB)/217 xI PREND_LA_VALEUR (xA+xB)/2 18 xA PREND_LA_VALEUR (yA+yB)/218 xA PREND_LA_VALEUR (yA+yB)/2 19 19 FIN_ALGORITHMEFIN_ALGORITHME

1 1 VARIABLESVARIABLES 2 xA EST_DU_TYPE NOMBRE2 xA EST_DU_TYPE NOMBRE 3 yA EST_DU_TYPE NOMBRE3 yA EST_DU_TYPE NOMBRE 4 xB EST_DU_TYPE NOMBRE4 xB EST_DU_TYPE NOMBRE 5 yB EST_DU_TYPE NOMBRE5 yB EST_DU_TYPE NOMBRE 6 xI EST_DU_TYPE NOMBRE6 xI EST_DU_TYPE NOMBRE 7 yI EST_DU_TYPE NOMBRE7 yI EST_DU_TYPE NOMBRE 8 8 DEBUT_ALGORITHMEDEBUT_ALGORITHME 9 AFFICHER "donner une valeur à xA"9 AFFICHER "donner une valeur à xA" 10 AFFICHER "LIRE xA"10 AFFICHER "LIRE xA" 11 AFFICHER "donner une valeur à yA"11 AFFICHER "donner une valeur à yA" 12 AFFICHER "LIRE yA"12 AFFICHER "LIRE yA" 13 AFFICHER "donner une valeur à xB"13 AFFICHER "donner une valeur à xB" 14 AFFICHER "LIRE xB"14 AFFICHER "LIRE xB" 15 AFFICHER "donner une valeur à yB"15 AFFICHER "donner une valeur à yB" 16 AFFICHER "LIRE yB"16 AFFICHER "LIRE yB" 17 xI PREND_LA_VALEUR (xA+xB)/217 xI PREND_LA_VALEUR (xA+xB)/2 18 yI PREND_LA_VALEUR (yA+yB)/218 yI PREND_LA_VALEUR (yA+yB)/2 19 AFFICHER "l'abscisse du milileu I de [AB] est:xI="19 AFFICHER "l'abscisse du milileu I de [AB] est:xI=" 20 AFFICHER "LIRE xI"20 AFFICHER "LIRE xI" 21 AFFICHER "l'ordonnée du milieu I de[AB] est: 21 AFFICHER "l'ordonnée du milieu I de[AB] est:

yI="yI=" 22 AFFICHER "LIRE yI"22 AFFICHER "LIRE yI" 23 23 FIN_ALGORITHMEFIN_ALGORITHME

Page 24: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 2424

PROGRAMME D’ELEVE AVEC PROGRAMME D’ELEVE AVEC DES ERREURSDES ERREURS

1 1 VARIABLESVARIABLES 2 xa EST_DU_TYPE NOMBRE2 xa EST_DU_TYPE NOMBRE 3 ya EST_DU_TYPE NOMBRE3 ya EST_DU_TYPE NOMBRE 4 xb EST_DU_TYPE NOMBRE4 xb EST_DU_TYPE NOMBRE 5 yb EST_DU_TYPE NOMBRE5 yb EST_DU_TYPE NOMBRE 6 xi EST_DU_TYPE NOMBRE6 xi EST_DU_TYPE NOMBRE 7 yi EST_DU_TYPE NOMBRE7 yi EST_DU_TYPE NOMBRE 8 8 DEBUT_ALGORITHMEDEBUT_ALGORITHME 9 AFFICHER "donnée une valeur à xa"9 AFFICHER "donnée une valeur à xa" 10 LIRE xa10 LIRE xa 11 AFFICHER "donnée une valeur à ya"11 AFFICHER "donnée une valeur à ya" 12 LIRE ya12 LIRE ya 13 AFFICHER "donnée une valeur à xb"13 AFFICHER "donnée une valeur à xb" 14 LIRE xb14 LIRE xb 15 AFFICHER "donnée une valeur à yb"15 AFFICHER "donnée une valeur à yb" 16 LIRE yb16 LIRE yb 17 xi PREND_LA_VALEUR (xa+xb)/217 xi PREND_LA_VALEUR (xa+xb)/2 18 yi PREND_LA_VALEUR (ya+yb)/218 yi PREND_LA_VALEUR (ya+yb)/2 19 LIRE xi19 LIRE xi 20 LIRE yi20 LIRE yi 21 AFFICHER "l'abscisse du milieu I de [AB] est:=xI"21 AFFICHER "l'abscisse du milieu I de [AB] est:=xI" 22 22 FIN_ALGORITHMEFIN_ALGORITHME

Page 25: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 2525

COMMENTAIRESCOMMENTAIRES Au travers de ces divers exemples de programmes d’élèves Au travers de ces divers exemples de programmes d’élèves

comportant des erreurs, on s’aperçoit que les notions comportant des erreurs, on s’aperçoit que les notions d’Entrée/Sortie qui se traduisent par les instructions Lire/Afficher d’Entrée/Sortie qui se traduisent par les instructions Lire/Afficher ne sont pas aisées à comprendre.ne sont pas aisées à comprendre.

Pour les élèves qui écrivent ‘‘donner une valeur à xA’’ sans écrire Pour les élèves qui écrivent ‘‘donner une valeur à xA’’ sans écrire ensuite ‘‘lire xA’’, on peut supposer qu’ils imaginent que la valeur ensuite ‘‘lire xA’’, on peut supposer qu’ils imaginent que la valeur est donnée dès le moment où ils écrivent ‘‘donner une valeur à…’’ est donnée dès le moment où ils écrivent ‘‘donner une valeur à…’’ alors qu’il s’agit d’un message adressé à l’utilisateur du alors qu’il s’agit d’un message adressé à l’utilisateur du programme.programme.

Cela permet de travailler sur la notion de variable, bien Cela permet de travailler sur la notion de variable, bien différencier la variable de la valeur qu’elle peut prendre, donc différencier la variable de la valeur qu’elle peut prendre, donc d’insister aussi sur la notion d’affectation.d’insister aussi sur la notion d’affectation.

AlgoBox différencie les instructions: ‘‘Afficher message’’ et AlgoBox différencie les instructions: ‘‘Afficher message’’ et ‘‘Afficher variable’’, ce qui est également très intéressant au ‘‘Afficher variable’’, ce qui est également très intéressant au niveau pédagogique.niveau pédagogique.

On peut faire remarquer que, quand un message s’affiche, les On peut faire remarquer que, quand un message s’affiche, les guillemets sont mis automatiquement, alors que ça n’est pas le guillemets sont mis automatiquement, alors que ça n’est pas le cas pour l’affichage d’une variable. cas pour l’affichage d’une variable.

Page 26: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 2626

EXEMPLE D’ENONCEEXEMPLE D’ENONCE Considérons les points A(-1;1) , B(1;2) et C(3;-2).Considérons les points A(-1;1) , B(1;2) et C(3;-2). Utiliser un logiciel de géométrie pour faire le graphique.Utiliser un logiciel de géométrie pour faire le graphique.

1/ Placer ces points dans un repère orthonormé.1/ Placer ces points dans un repère orthonormé. 2/ Dessiner le triangle ABC.2/ Dessiner le triangle ABC. 3/ Que peut-on conjecturer sur ce triangle?3/ Que peut-on conjecturer sur ce triangle? 4/ Calculer les mesures des longueurs des côtés [AB], [BC], et 4/ Calculer les mesures des longueurs des côtés [AB], [BC], et

[AC].[AC]. 5/ - Le triangle ABC est-il équilatéral?5/ - Le triangle ABC est-il équilatéral? - Le triangle ABC est-il isocèle?- Le triangle ABC est-il isocèle? - Le triangle ABC est-il rectangle?- Le triangle ABC est-il rectangle? 6/ En déduire la position du centre I du cercle circonscrit au 6/ En déduire la position du centre I du cercle circonscrit au

triangle ABC.triangle ABC. 7/ Calculer les coordonnées de I, et donner la valeur du rayon de 7/ Calculer les coordonnées de I, et donner la valeur du rayon de

ce cercle.ce cercle. Tracer ce cercle.Tracer ce cercle. 8/ Soit E(3;1). Montrer que E est un point de ce cercle.8/ Soit E(3;1). Montrer que E est un point de ce cercle.

Page 27: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 2727

COMMENTAIRES COMMENTAIRES PEDAGOGIQUESPEDAGOGIQUES

Cet énoncé permet de montrer la nécessité de l’algorithme de Cet énoncé permet de montrer la nécessité de l’algorithme de calcul de la distance entre deux points qui intervient à plusieurs calcul de la distance entre deux points qui intervient à plusieurs reprises dans l’exercice.reprises dans l’exercice.

On introduit les algorithmes permettant de tester si un triangle est On introduit les algorithmes permettant de tester si un triangle est équilatéral, isocèle, rectangle.équilatéral, isocèle, rectangle.

Il y a une progressivité dans la difficulté de ces algorithmes car Il y a une progressivité dans la difficulté de ces algorithmes car les les tests logiques sont de difficultés croissantestests logiques sont de difficultés croissantes..

- Le test du triangle équilatéral utilise le connecteur logique ET - Le test du triangle équilatéral utilise le connecteur logique ET avec deux conditions, dans une structure SI...ALORS…SINON.avec deux conditions, dans une structure SI...ALORS…SINON.

- Le test du triangle isocèle utilise le connecteur logique OU avec - Le test du triangle isocèle utilise le connecteur logique OU avec trois conditions, dans une structure SI…ALORS…SINON.trois conditions, dans une structure SI…ALORS…SINON.

- Le test du triangle rectangle utilise plusieurs tests imbriqués SI…- Le test du triangle rectangle utilise plusieurs tests imbriqués SI…ALORS…SINON.ALORS…SINON.

On peut réinvestir tous ces algorithmes dans d’autres exercices.On peut réinvestir tous ces algorithmes dans d’autres exercices.

Page 28: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 2828

COMMENTAIRES PEDAGOGIQUESCOMMENTAIRES PEDAGOGIQUESAlgorithme ‘‘triangle équilatéral’’Algorithme ‘‘triangle équilatéral’’

Tout d’abord, au niveau de la conception de l’algorithme, certains Tout d’abord, au niveau de la conception de l’algorithme, certains élèves ont beaucoup de mal à expliciter leur démarche.élèves ont beaucoup de mal à expliciter leur démarche.

Même s’ils savent résoudre le problème mathématique posé, ils Même s’ils savent résoudre le problème mathématique posé, ils ne parviennent pas forcément à écrire l’algorithme correctement.ne parviennent pas forcément à écrire l’algorithme correctement.

Dans tous les programmes où interviennent des calculs de Dans tous les programmes où interviennent des calculs de distances, j’ai préféré demander aux élèves de calculer et de faire distances, j’ai préféré demander aux élèves de calculer et de faire afficher la distance au carré, et ensuite la distance, pour bien afficher la distance au carré, et ensuite la distance, pour bien différencier valeur exacte et valeur approchée, et éviter ainsi différencier valeur exacte et valeur approchée, et éviter ainsi certains problèmes lors de comparaisons.certains problèmes lors de comparaisons.

Une remarque à propos de l’algorithme ‘‘triangle équilatéral’’: il Une remarque à propos de l’algorithme ‘‘triangle équilatéral’’: il est d’autant plus intéressant au niveau du travail sur la logique est d’autant plus intéressant au niveau du travail sur la logique que l’on constate que le test (AB²=AC²) ET (AB²=BC²) est souvent que l’on constate que le test (AB²=AC²) ET (AB²=BC²) est souvent écrit au début par élèves: (AB²=AC²) ET (AB²=BC²) ET (AC²=BC²).écrit au début par élèves: (AB²=AC²) ET (AB²=BC²) ET (AC²=BC²).

Page 29: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 2929

PROGRAMME ALGOBOX PROGRAMME ALGOBOX TRIANGLE EQUILATERALTRIANGLE EQUILATERAL

1 1 VARIABLESVARIABLES 2 xA EST_DU_TYPE NOMBRE2 xA EST_DU_TYPE NOMBRE 3 yA EST_DU_TYPE NOMBRE3 yA EST_DU_TYPE NOMBRE 4 xB EST_DU_TYPE NOMBRE4 xB EST_DU_TYPE NOMBRE 5 yB EST_DU_TYPE NOMBRE5 yB EST_DU_TYPE NOMBRE 6 xC EST_DU_TYPE NOMBRE6 xC EST_DU_TYPE NOMBRE 7 yC EST_DU_TYPE NOMBRE7 yC EST_DU_TYPE NOMBRE 8 D1 EST_DU_TYPE NOMBRE8 D1 EST_DU_TYPE NOMBRE 9 D2 EST_DU_TYPE NOMBRE9 D2 EST_DU_TYPE NOMBRE 10 D3 EST_DU_TYPE NOMBRE10 D3 EST_DU_TYPE NOMBRE 11 11 DEBUT_ALGORITHMEDEBUT_ALGORITHME 12 AFFICHER "donner une valeur à xA"12 AFFICHER "donner une valeur à xA" 13 LIRE xA13 LIRE xA 14 AFFICHER "donner une valeur à yA"14 AFFICHER "donner une valeur à yA" 15 LIRE yA15 LIRE yA 16 AFFICHER "donner une valeur à xB"16 AFFICHER "donner une valeur à xB" 17 LIRE xB17 LIRE xB 18 AFFICHER "donner une valeur à yB"18 AFFICHER "donner une valeur à yB" 19 LIRE yB19 LIRE yB 20 AFFICHER "donner une valeur à xC"20 AFFICHER "donner une valeur à xC" 21 LIRE xC21 LIRE xC 22 AFFICHER "donner une valeur à yC"22 AFFICHER "donner une valeur à yC" 23 LIRE yC23 LIRE yC

24 TRACER_POINT (xA,yA)24 TRACER_POINT (xA,yA)25 TRACER_POINT (xB,yB)25 TRACER_POINT (xB,yB)

26 TRACER_POINT (xC,yC)26 TRACER_POINT (xC,yC) 27 TRACER_SEGMENT (xA,yA)->(xB,yB)27 TRACER_SEGMENT (xA,yA)->(xB,yB) 28 TRACER_SEGMENT (xA,yA)->(xC,yC)28 TRACER_SEGMENT (xA,yA)->(xC,yC) 29 TRACER_SEGMENT (xB,yB)->(xC,yC)29 TRACER_SEGMENT (xB,yB)->(xC,yC) 30 D1 PREND_LA_VALEUR pow((xB-xA),2)+pow((yB-yA),2)30 D1 PREND_LA_VALEUR pow((xB-xA),2)+pow((yB-yA),2) 31 D2 PREND_LA_VALEUR pow((xC-xA),2)+pow((yC-yA),2)31 D2 PREND_LA_VALEUR pow((xC-xA),2)+pow((yC-yA),2) 32 D3 PREND_LA_VALEUR pow((xC-xB),2)+pow((yC-yB),2)32 D3 PREND_LA_VALEUR pow((xC-xB),2)+pow((yC-yB),2) 33 AFFICHER "la distance AB^2 vaut "33 AFFICHER "la distance AB^2 vaut " 34 AFFICHER D134 AFFICHER D1 35 AFFICHER "la distance AC^2 vaut "35 AFFICHER "la distance AC^2 vaut " 36 AFFICHER D236 AFFICHER D2 37 AFFICHER "la distance BC^2 vaut "37 AFFICHER "la distance BC^2 vaut " 38 AFFICHER D338 AFFICHER D3 39 39 SI ((D1==D2) ET (D2==D3) ) ALORSSI ((D1==D2) ET (D2==D3) ) ALORS 40 DEBUT_SI40 DEBUT_SI 41 AFFICHER "le triangle est équilatéral"41 AFFICHER "le triangle est équilatéral" 42 FIN_SI42 FIN_SI 43 SINON43 SINON 44 DEBUT_SINON44 DEBUT_SINON 45 AFFICHER "le triangle n'est pas équilatéral"45 AFFICHER "le triangle n'est pas équilatéral" 46 FIN_SINON46 FIN_SINON 47 47 FIN_ALGORITHMEFIN_ALGORITHME

Page 30: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 3030

PROGRAMME ALGOBOX PROGRAMME ALGOBOX TRIANGLE ISOCELETRIANGLE ISOCELE

Tout le début de Tout le début de l’algorithme jusqu’à la l’algorithme jusqu’à la ligne 38, est identique à ligne 38, est identique à l’algorithme « triangle l’algorithme « triangle équilatéral ».équilatéral ».

Ils ne diffèrent qu’à partir Ils ne diffèrent qu’à partir des tests (ligne 39).des tests (ligne 39).

39 39 SI ((D1==D2) OU (D2==D3) OU SI ((D1==D2) OU (D2==D3) OU (D1==D3)) ALORS(D1==D3)) ALORS

40 DEBUT_SI40 DEBUT_SI 41 AFFICHER "le triangle est isocèle"41 AFFICHER "le triangle est isocèle" 42 FIN_SI42 FIN_SI 43 SINON43 SINON 44 DEBUT_SINON44 DEBUT_SINON 45 AFFICHER "le triangle n'est pas 45 AFFICHER "le triangle n'est pas

isocèle"isocèle" 46 FIN_SINON46 FIN_SINON 4747 FIN_ALGORITHMEFIN_ALGORITHME

Page 31: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 3131

PROGRAMME ALGOBOX PROGRAMME ALGOBOX TRIANGLE RECTANGLETRIANGLE RECTANGLE

Tout le début de Tout le début de l’algorithme jusqu’à la l’algorithme jusqu’à la ligne 38, est identique à ligne 38, est identique à l’algorithme « triangle l’algorithme « triangle équilatéral » ou « triangle équilatéral » ou « triangle isocèle ».isocèle ».

Ils ne diffèrent qu’à partir Ils ne diffèrent qu’à partir des tests (ligne 39).des tests (ligne 39).

Nous avons fait le choix de Nous avons fait le choix de ne pas introduire de tri, ne pas introduire de tri, jugé trop difficile à ce jugé trop difficile à ce stade d’apprentissage.stade d’apprentissage.

39 39 SI (D3==D1+D2) ALORSSI (D3==D1+D2) ALORS 40 DEBUT_SI40 DEBUT_SI 41 AFFICHER "le triangle est rectangle en A"41 AFFICHER "le triangle est rectangle en A" 42 FIN_SI42 FIN_SI 43 43 SINONSINON 44 DEBUT_SINON44 DEBUT_SINON 45 45 SI (D2==D1+D3) ALORSSI (D2==D1+D3) ALORS 46 DEBUT_SI46 DEBUT_SI 47 AFFICHER "Le triangle est rectangle en B"47 AFFICHER "Le triangle est rectangle en B" 48 FIN_SI48 FIN_SI 49 49 SINONSINON 50 DEBUT_SINON50 DEBUT_SINON 51 51 SI (D1==D2+D3) ALORSSI (D1==D2+D3) ALORS 52 DEBUT_SI52 DEBUT_SI 53 AFFICHER "Le triangle est rectangle en C"53 AFFICHER "Le triangle est rectangle en C" 54 FIN_SI54 FIN_SI 55 55 SINONSINON 56 DEBUT_SINON56 DEBUT_SINON 57 AFFICHER "Le triangle n'est pas rectangle"57 AFFICHER "Le triangle n'est pas rectangle" 58 FIN_SINON58 FIN_SINON 59 FIN_SINON59 FIN_SINON 60 FIN_SINON60 FIN_SINON 61 61 FIN_ALGORITHMEFIN_ALGORITHME

Page 32: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 3232

ACTIVITE: CALCUL DUACTIVITE: CALCUL DUSALAIRE D’UN EMPLOYESALAIRE D’UN EMPLOYE

• On veut écrire une fonction permettant de On veut écrire une fonction permettant de calculer le salaire d'un employé payé à calculer le salaire d'un employé payé à l'heure à partir de son salaire horaire et du l'heure à partir de son salaire horaire et du nombre d'heures de travail. nombre d'heures de travail.

• Les règles de calcul sont les suivantes : Les règles de calcul sont les suivantes : • le taux horaire est majoré, pour les heures le taux horaire est majoré, pour les heures

supplémentaires, supplémentaires, • - de 25% au-delà de 160 heures, - de 25% au-delà de 160 heures, • - de 50% au-delà de 200 heures. - de 50% au-delà de 200 heures.

Page 33: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 3333

FICHE PEDAGOGIQUEFICHE PEDAGOGIQUE• Cet exercice permet de faire calculer une expression qui dépend de Cet exercice permet de faire calculer une expression qui dépend de

l’intervalle où l’on se place.l’intervalle où l’on se place.

• C’est un algorithme opératoire qui utilise des tests imbriqués.C’est un algorithme opératoire qui utilise des tests imbriqués.

• Cet exercice permet également de travailler sur les coefficients Cet exercice permet également de travailler sur les coefficients multiplicateurs.multiplicateurs.

• On écrira le programme « FONCTION SALAIRES », donnant les valeurs de On écrira le programme « FONCTION SALAIRES », donnant les valeurs de la fonction salaires, définie par morceaux sur [0;160[ , [160; 200[ ,la fonction salaires, définie par morceaux sur [0;160[ , [160; 200[ ,

[200; 240] , et qui est continue.[200; 240] , et qui est continue.

• La fonction renvoie le salaire La fonction renvoie le salaire S S en fonction du nombre d’heures en fonction du nombre d’heures effectuées effectuées nh nh (nh compris entre 0 et 240), avec un salaire horaire entré (nh compris entre 0 et 240), avec un salaire horaire entré au clavier au clavier shsh. .

• On fera également tracer la courbe de la fonction par le programme.On fera également tracer la courbe de la fonction par le programme.

Page 34: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 3434

PROGAMME ALGOBOXPROGAMME ALGOBOX FONCTION SALAIRE FONCTION SALAIRE  

11 VARIABLESVARIABLES 2 sh EST_DU_TYPE NOMBRE2 sh EST_DU_TYPE NOMBRE 3 nh EST_DU_TYPE NOMBRE3 nh EST_DU_TYPE NOMBRE 4 S EST_DU_TYPE NOMBRE4 S EST_DU_TYPE NOMBRE 5 5 DEBUT_ALGORITHMEDEBUT_ALGORITHME 6 AFFICHER "Entrer le salaire horaire "6 AFFICHER "Entrer le salaire horaire " 7 LIRE sh7 LIRE sh 8 AFFICHER "Le salaire horaire vaut: "8 AFFICHER "Le salaire horaire vaut: " 9 AFFICHER sh9 AFFICHER sh 10 SI ((nh<0) OU (nh>240)) ALORS10 SI ((nh<0) OU (nh>240)) ALORS 11 DEBUT_SI11 DEBUT_SI 12 AFFICHER "Le nombre d'heures est 12 AFFICHER "Le nombre d'heures est

incorrect"incorrect" 13 FIN_SI13 FIN_SI 14 SINON14 SINON 15 DEBUT_SINON15 DEBUT_SINON 16 TANT_QUE ((nh>=0) ET (nh<=240)) FAIRE16 TANT_QUE ((nh>=0) ET (nh<=240)) FAIRE 17 DEBUT_TANT_QUE17 DEBUT_TANT_QUE 18 SI ((nh>=0) ET (nh<160)) ALORS18 SI ((nh>=0) ET (nh<160)) ALORS 19 DEBUT_SI19 DEBUT_SI 20 S PREND_LA_VALEUR sh*nh20 S PREND_LA_VALEUR sh*nh 21 FIN_SI21 FIN_SI 22 SINON22 SINON 23 DEBUT_SINON23 DEBUT_SINON

24 SI ((nh>=160) ET (nh<200)) ALORS24 SI ((nh>=160) ET (nh<200)) ALORS 25 DEBUT_SI25 DEBUT_SI 26 S PREND_LA_VALEUR 160*sh + (nh-26 S PREND_LA_VALEUR 160*sh + (nh-

160)*1.25*sh160)*1.25*sh 27 FIN_SI27 FIN_SI 28 SINON28 SINON 29 DEBUT_SINON29 DEBUT_SINON 30 SI ((nh>=200) ET (nh<=240)) ALORS30 SI ((nh>=200) ET (nh<=240)) ALORS 31 DEBUT_SI31 DEBUT_SI 32 S PREND_LA_VALEUR 160*sh + 32 S PREND_LA_VALEUR 160*sh +

40*sh*1.25 + (nh-200)*sh*1.540*sh*1.25 + (nh-200)*sh*1.5 33 FIN_SI33 FIN_SI 33 FIN_SI33 FIN_SI 34 FIN_SINON34 FIN_SINON 35 FIN_SINON35 FIN_SINON 36 TRACER_POINT (nh,S)36 TRACER_POINT (nh,S) 37 AFFICHER "nh="37 AFFICHER "nh=" 38 AFFICHER nh38 AFFICHER nh 39 AFFICHER "S="39 AFFICHER "S=" 40 AFFICHER S40 AFFICHER S 41 nh PREND_LA_VALEUR nh+141 nh PREND_LA_VALEUR nh+1 42 FIN_TANT_QUE42 FIN_TANT_QUE 43 FIN_SINON43 FIN_SINON 4444 FIN_ALGORITHMEFIN_ALGORITHME

Page 35: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 3535

LE JEU DU LIEVRE ET DE LA LE JEU DU LIEVRE ET DE LA TORTUETORTUE

• Règle du jeu.Règle du jeu.• À chaque tour, on lance un dé. Si le 6 sort, alors À chaque tour, on lance un dé. Si le 6 sort, alors

le lièvre gagne la partie, sinon la tortue avance le lièvre gagne la partie, sinon la tortue avance d’une case. d’une case.

• La tortue gagne quand elle a avancé 6 fois.La tortue gagne quand elle a avancé 6 fois.

• Question : le jeu est-il à l’avantage du lièvre ou Question : le jeu est-il à l’avantage du lièvre ou de la tortue ?de la tortue ?

• Le document ressources fournit 3 algorithmes.Le document ressources fournit 3 algorithmes.• Je n’exposerai que le troisième qui contient une Je n’exposerai que le troisième qui contient une

boucle.boucle.

Page 36: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 3636

ALGORITHME 3ALGORITHME 3• Algorithme 3 : Avec une structure itérative conditionnelle.Algorithme 3 : Avec une structure itérative conditionnelle.

• Évidemment, plutôt que de répéter 6 fois les mêmes instructions, il est possible de simuler une Évidemment, plutôt que de répéter 6 fois les mêmes instructions, il est possible de simuler une partie à l’aide d’une boucle.partie à l’aide d’une boucle.

• • De cette façon, il sera facile d’expérimenter de nouveaux jeux en modifiant le nombre de cases que De cette façon, il sera facile d’expérimenter de nouveaux jeux en modifiant le nombre de cases que

doit parcourir la tortue.doit parcourir la tortue.

• VariablesVariables• dé : la face du dé tirée au hasarddé : la face du dé tirée au hasard• case case : le numéro de la case sur laquelle se trouve la tortue: le numéro de la case sur laquelle se trouve la tortue• N N : le nombre de cases que doit parcourir la tortue pour gagner.: le nombre de cases que doit parcourir la tortue pour gagner.• InitialisationInitialisation• N N prend la valeur prend la valeur 66• case case prend la valeur 0.prend la valeur 0.• TraitementTraitement• RépèteRépète• │ │ dé dé prend une valeur prend une valeur entière aléatoire entre 1 et 6 inclus.entière aléatoire entre 1 et 6 inclus.• │ │ Si Si dé < 6 dé < 6 alorsalors• │ │ │ │ case case prend la valeur prend la valeur case + 1case + 1• │ │ └└• └ └ jusqu’à [ jusqu’à [ dé = 6 ou case = N dé = 6 ou case = N ]]• SortieSortie• Si Si case = N case = N alorsalors• │ │ Affiche Affiche « La tortue gagne »« La tortue gagne »• SinonSinon• │ │ Affiche Affiche « Le lièvre gagne »« Le lièvre gagne »• └└

Page 37: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 3737

PROGRAMME SCILABPROGRAMME SCILABfourni par le document ressourcefourni par le document ressource

• N=6;N=6;• Ncase=0;Ncase=0;• de=0;de=0;• while (de<6 | Ncase<N) dowhile (de<6 | Ncase<N) do• de=floor(rand()*6+1);de=floor(rand()*6+1);• if (de<6)if (de<6)• Ncase=Ncase+1;Ncase=Ncase+1;• end;end;• end;end;• if (Ncase==6)if (Ncase==6)• disp("La tortue gagne");disp("La tortue gagne");• elseelse• disp("Le lièvre gagne");disp("Le lièvre gagne");• end;end;

• Remarques :Remarques :• - « - « case case » est un mot-clé du langage SCILAB ; la variable s’appelle donc « » est un mot-clé du langage SCILAB ; la variable s’appelle donc « Ncase Ncase ».».• - La structure - La structure repeat..until repeat..until n’existe pas dans SCILAB, le code est donc légèrement n’existe pas dans SCILAB, le code est donc légèrement

aménagé par rapport à l’algorithme. aménagé par rapport à l’algorithme. • - Pour entrer dans la boucle une première fois, la variable « - Pour entrer dans la boucle une première fois, la variable « de de » est initialisée avec la » est initialisée avec la

valeur arbitraire 0.valeur arbitraire 0.

Page 38: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 3838

COMMENTAIRESCOMMENTAIRES Ci-après le programme écrit avec AlgoBox.Ci-après le programme écrit avec AlgoBox.

Avec plusieurs exécutions, on obtient par exemple:Avec plusieurs exécutions, on obtient par exemple: Sur un essai avec 10 simulations, la tortue a gagné 4 fois et le Sur un essai avec 10 simulations, la tortue a gagné 4 fois et le

lièvre 6 fois.lièvre 6 fois.

Modifications possibles de cet algorithme:Modifications possibles de cet algorithme:

On peut ensuite réécrire le programme en lui faisant compter le On peut ensuite réécrire le programme en lui faisant compter le nombre de fois où la tortue gagne et le nombre de fois où le lièvre nombre de fois où la tortue gagne et le nombre de fois où le lièvre gagne, pour un nombre de simulations entré au clavier.gagne, pour un nombre de simulations entré au clavier.

On peut également décider de changer N, le nombre de cases On peut également décider de changer N, le nombre de cases nécessaires pour que la tortue gagne et, dans ce cas, ajouter une nécessaires pour que la tortue gagne et, dans ce cas, ajouter une lecture de N entré au clavier.lecture de N entré au clavier.

Page 39: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 3939

PROGRAMME ALGOBOXPROGRAMME ALGOBOX 1 1 VARIABLESVARIABLES 2 N EST_DU_TYPE NOMBRE2 N EST_DU_TYPE NOMBRE 3 de EST_DU_TYPE NOMBRE3 de EST_DU_TYPE NOMBRE 4 ca EST_DU_TYPE NOMBRE4 ca EST_DU_TYPE NOMBRE 5 5 DEBUT_ALGORITHMEDEBUT_ALGORITHME 6 ca PREND_LA_VALEUR 06 ca PREND_LA_VALEUR 0 7 N PREND_LA_VALEUR 67 N PREND_LA_VALEUR 6 8 de PREND_LA_VALEUR 08 de PREND_LA_VALEUR 0 9 TANT_QUE (de< 6 ET ca<N) 9 TANT_QUE (de< 6 ET ca<N)

FAIREFAIRE 10 DEBUT_TANT_QUE10 DEBUT_TANT_QUE 11 de PREND_LA_VALEUR 11 de PREND_LA_VALEUR

floor(random()*6 + 1)floor(random()*6 + 1)

12 SI (de<6) ALORS12 SI (de<6) ALORS 13 DEBUT_SI 13 DEBUT_SI 14 ca PREND_LA_VALEUR ca+114 ca PREND_LA_VALEUR ca+1 15 FIN_SI15 FIN_SI 16 FIN_TANT_QUE16 FIN_TANT_QUE 17 SI (ca==N) ALORS17 SI (ca==N) ALORS 18 DEBUT_SI18 DEBUT_SI 19 AFFICHER "La tortue gagne"19 AFFICHER "La tortue gagne" 20 FIN_SI20 FIN_SI 21 SINON21 SINON 22 DEBUT_SINON22 DEBUT_SINON 23 AFFICHER "Le lièvre gagne"23 AFFICHER "Le lièvre gagne" 24 FIN_SINON24 FIN_SINON 25 25 FIN_ALGORITHMEFIN_ALGORITHME

Page 40: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 4040

COMMENT EST TRAITEE LA QUESTION COMMENT EST TRAITEE LA QUESTION DANS LES AUTRES ACADEMIES?DANS LES AUTRES ACADEMIES?

A l’Université d’été de Saint Four dont l’intitulé était « des A l’Université d’été de Saint Four dont l’intitulé était « des problèmes de mathématiques venus d’ailleurs », les questions ont problèmes de mathématiques venus d’ailleurs », les questions ont été d’une part sur les applications de l’algorithmique dans des été d’une part sur les applications de l’algorithmique dans des domaines très variés comme la prise de décision, le domaines très variés comme la prise de décision, le fonctionnement d’Internet, l’étude de la leucémie, et d’autre part fonctionnement d’Internet, l’étude de la leucémie, et d’autre part d’ordre pédagogique sur l’enseignement de l’algorithmique.d’ordre pédagogique sur l’enseignement de l’algorithmique.

Des groupes de travail se sont formés pour mutualiser des Des groupes de travail se sont formés pour mutualiser des travaux, création d’activités algorithmiques, réflexions...travaux, création d’activités algorithmiques, réflexions...

La question également soulevée est celle de l’évaluation, en La question également soulevée est celle de l’évaluation, en particulier en algorithmique.particulier en algorithmique.

Des pistes ont été données dans les documents ressources et Des pistes ont été données dans les documents ressources et d’autres le seront sans doute au fur et à mesure des réflexions et d’autres le seront sans doute au fur et à mesure des réflexions et des expériences de chacun avec les élèves tout au long de des expériences de chacun avec les élèves tout au long de l’année, sachant également que les IREM et les sites académiques l’année, sachant également que les IREM et les sites académiques proposent de plus en plus de documents très intéressants.proposent de plus en plus de documents très intéressants.

Page 41: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 4141

CONCLUSIONCONCLUSION Je pense que l’introduction de l’algorithmique en Je pense que l’introduction de l’algorithmique en

seconde, et très certainement bientôt aux autres seconde, et très certainement bientôt aux autres classes du lycée toutes sections confondues, classes du lycée toutes sections confondues, donne un renouveau à l’enseignement des donne un renouveau à l’enseignement des mathématiques dans le secondaire.mathématiques dans le secondaire.

Outre les problèmes de tâtonnements du début, Outre les problèmes de tâtonnements du début, je crois que ce domaine transversal à toutes les je crois que ce domaine transversal à toutes les parties du programme est très motivant à la fois parties du programme est très motivant à la fois pour les élèves et les professeurs.pour les élèves et les professeurs.

Cela a permis de redynamiser notre réflexion, nos Cela a permis de redynamiser notre réflexion, nos questionnements, et nos travaux dans les questionnements, et nos travaux dans les différents champs de notre travail. différents champs de notre travail.

Page 42: Isabelle ABOU 1 ALGORITHMIQUE ET PROGRAMMATION REFLEXIONS ET EXPERIMENTATIONS IREM DE LA REUNION Le 28 Octobre 2009.

Isabelle ABOUIsabelle ABOU 4242

MERCI DE VOTRE MERCI DE VOTRE ATTENTIONATTENTION