Mathématice, intégration des Tice dans l'enseignement des mathématiques  
Sommaire > N°39 - mars 2014 > Utilisation des listes sur les calculatrices (...)

Utilisation des listes sur les calculatrices en Seconde
Applications à la géométrie, algorithmes et programmation sur calculatrice
Moteur de recherche

Auteur : Nordine Bernard Toumache

toumachebernart@yahoo.fr

Ce travail se veut être « une fiche professeur » pour animer une ou des séances avec des élèves de seconde muni d’une calculatrice TEXAS TI82, 83, 84, 89 ou d’une CASIO équivalente. Quand la calculatrice propose le choix des langages, le français sera choisi pour ne pas accumuler les difficultés.

Il s’inscrit dans le cadre du programme de seconde puisqu’il aborde des « configurations du plan », « les coordonnées de points » et certains calculs qui en découlent, « longueurs, milieux…. » ; intitulés qui figurent textuellement dans le programme de seconde.


Il y a deux thèmes principaux qui sont :

  1. Une première approche de la notion de liste en algorithmique et en programmation. Cette notion sera abondamment utilisée par la suite lors des simulations d’expériences aléatoires. Les listes, qui d’un point de vue mathématique ne sont rien d’autre que des matrices ligne, constituent une structure de données fondamentale en algorithmique sans lesquelles les programmes qui suivent auraient été beaucoup moins commodes à réaliser.
  2. L’algorithmique : les propriétés du cours abordées ici sont vues sous l’aspect d’un algorithme traduit ensuite en un programme. C’est le thème majeur de cette « fiche » qui a été testée avec une classe de seconde en « MPS ». Dans la majorité des cas, les élèves ont travaillé avec leur propre calculatrice, et pour quelques-uns, avec une calculatrice fournie par le lycée.


La séance débute par les mises au point suivantes :

  • Un point est assimilé à une liste à 2 éléments L1= $\{x,y\}$ , ses coordonnées. Pour extraire x ou y de la liste il faudra écrire : x=L1(1) ou y=L1(2) avec la syntaxe des TI82,83,84 et x=List1[1]ou y=List1[2] avec la syntaxe des CASIO.
  • Il est possible de faire des opérations sur les listes, sur la calculatrice, et de leurs appliquer des fonctions. Cela permet de calculer des longueurs, des milieux, des coefficients directeurs mais aussi, d’extraire le maximum, le minimum, de les ordonner dans l’ordre croissant ou décroissant ; cette énumération n’étant pas exhaustive. Ainsi, si les listes L1 et L2 ont le même nombre d’éléments, Dim(L1)=Dim(L2) selon la syntaxe des TI, la liste L3=L1+L2 est la liste dont le terme de rang n est égal à la somme des termes de rang n des listes L1 et L2, L3(n)=L1(n)+L2(n) selon la syntaxe des TI.

Dans les écrans 1, 2 et 3 ci-dessous, les coordonnées du point A sont stockées dans la liste L1, celles de B dans L2, le milieu I de [AB] aura pour coordonnées L3=(L1+L2)/2 et la distance sera calculée comme AB=$\sqrt((L2(1)-L1(1))²+ (L2(2)-L1(2))²)$.

Pour définir une liste dans la machine, il faut écrire dans l’écran de calcul : $\{-1,4\} $ sto L1, par exemple, ou bien écrire un à un ses éléments dans l’écran statistique ; il est aussi possible de générer une "liste" dans l’écran de calcul en utilisant la fonction « suite » intégrée à la calculatrice ou en utilisant un programme.

Remarque : Il semble que la TI 84 de TI Smart View que j’utilise ici ne propose rien d’autre, comme langage, que l’anglais.

GIF - 978 octets
écran 1 : utilisation des listes
GIF - 958 octets
écran 2 : listes de stockage des coordonnées


GIF - 941 octets
écran 3 : calcul de la distance AB


Le coefficient directeur de (AB) est a=(L2(2)-L1(2)) /(L2(1)-L1(1)). (Voir écran 4.)

GIF - 750 octets
écran 4 : calcul d’un coefficient directeur


Ces précisions étant données le travail proposé est alors d’écrire plusieurs algorithmes traitant de problèmes classiques de géométrie de seconde :

  1. Les points A, B, C sont-ils alignés ?
  2. Le triangle ABC est-il rectangle ?
  3. Le quadrilatère ABCD est-il un parallélogramme ?
  4. Le quadrilatère ABCD est-il un rectangle ?

Les élèves ont ensuite à traduire ces algorithmes, écrits en français, en des programmes sur la calculatrice et à tester ces programmes.

Les points A,B, C sont-ils alignés ?

* Saisir 3 points A, B, C qui sont assimilés à leurs coordonnées ;

* Calculer les coefficients directeurs des droites (AB) et (AC) ;

* S’ils sont égaux, répondre « ils sont alignés », sinon répondre qu’ils ne le sont pas.

PROGRAMME : Voici un montage de deux écrans de la calculatrice permettant de visualiser entièrement le programme nommé « ALIGNES ».

GIF - 2.8 ko
Programme "ALIGNES"


Les écrans qui suivent testent ce programme :

GIF - 996 octets
Premier test du programme : coordonnées des points
GIF - 1009 octets
Réponse du programme : points alignés !








GIF - 999 octets
Second test du programme : coordonnées des points
GIF - 1.1 ko
Réponse du programme : points non alignés !










Proposer aux élèves de modifier ce programme de sorte que le nouveau programme traite tous les cas est un bon exercice.

Le triangle ABC est-il rectangle ?

* Saisir trois points A, B, C ;

* Calculer les longueurs AB, AC, BC ;

* Ranger ces 3 longueurs dans l’ordre croissant en utilisant le tri croissant des listes qui est « SortA » en anglais ou « tri croissant » en français ;

* Tester si le carré de la 3eme valeur est égal à la somme des carrés des 2 autres ;

* Si la réponse est oui répondre « oui », sinon répondre « non ».

PROGRAMME : Voici un montage des quatre écrans nécessaires pour visualiser tout le programme.

GIF - 4.5 ko
Programme "TRIRECT"


Les écrans qui suivent testent le programme :

GIF - 1008 octets
Premier test du programme : coordonnées des points
GIF - 1.1 ko
Réponse du programme : triangle non rectangle !








GIF - 1023 octets
Second test du programme : coordonnées des points
GIF - 1 ko
Réponse du programme : triangle rectangle !










Le quadrilatère ABCD est-il un parallélogramme ?

* Saisir quatre points A,B,C,D qui représentent un quadrilatère ;

* I est le milieu de [AC] et J celui de [BD] ;

* Si I=J répondre « c’est un parallélogramme », sinon répondre « ce n’est pas un parallélogramme ».

PROGRAMME :

On ne peut pas tester si 2 listes L1 et L2 de même dimension sont égales en faisant : si L1=L2 ……., on est contraint de faire : si L1(1)=L2(1) et L1(2)=L2(2) et……

Voici un montage de deux écrans de la calculatrice qui permet de visualiser tout le programme.

GIF - 2.9 ko
Programme"PARALLEL"

Les écrans qui suivent testent le programme :

GIF - 1 ko
Premier test du programme : coordonnées des 3 premiers points
GIF - 1006 octets
suite : coordonnées du quatrième point








GIF - 1.1 ko
Réponse du programme : parallélogramme !








GIF - 1006 octets
Second test du programme : modification des coordonnées du quatrième point
GIF - 1.1 ko
Réponse du programme : pas parallélogramme !










Le quadrilatère ABCD est-il un rectangle ?

* Saisir quatre points distincts A, B, C, D ;

* I est le milieu de [AC] et J est celui de [BD] ;

* Calculer les longueurs a=AC et b=BD ;

*Si a=b alors, si I=J répondre « c’est un rectangle » sinon répondre « ce n’est pas un rectangle » fin d’ordre « si » sinon répondre « ce n’est pas un rectangle » fin d’ordre « si ».

PROGRAMME : Voici un montage des quatre écrans nécessaires pour visualiser tout le programme.

GIF - 4.5 ko
Programme "RECTANGL"

Les écrans qui suivent testent le programme :

GIF - 1003 octets
Premier test du programme : coordonnées des 3 premiers points
GIF - 1017 octets
suite : coordonnées du quatrième point








GIF - 1012 octets
Réponse du programme : rectangle !








GIF - 1 ko
Second test du programme : modification des coordonnées du quatrième point
GIF - 1 ko
Réponse du programme : pas rectangle !










Il est également possible d’utiliser les programmes précédents : ABCD est-il un parallélogramme ? Si oui, ABC est-il un triangle rectangle ? Conclure. Cette façon peut être une introduction d’une programmation « fonctionnelle ».

Buts recherchés :

J’en vois au moins deux :
- Les élèves font connaissance avec leur machine, ses fonctions, les instructions de programmation, c’est une prise en main à la fois de l’algorithmique et de la programmation qui peut permettre de donner envie d’aller plus loin.

- J’espère qu’ils ont compris, au moins en ce qui concerne les instructions utilisées, la logique de la programmation ; j’envisage de tester ce point en leur demandant, par exemple ce qu’il faut modifier dans le programme (3) pour que le nouveau programme exécute la même tâche mais en utilisant le critère des côtés parallèles ? Appliquer ce nouveau programme à deux cas, l’un où la réponse est positive l’autre où elle est négative.

Comment se sont comportés les élèves :

Je souligne d’abord le contexte : les élèves sont Mahorais, ceci pour dire que le français n’est pas leur langue maternelle et qu’ils ont beaucoup de mal avec le vocabulaire, surtout celui employé en mathématique, par exemple : au moins, au plus, autant.

Ce sont des élèves de seconde d’une classe avec de bons élèves mais aussi avec quelques élèves en difficulté, élèves qui sont donc à la découverte des possibilités de la calculatrice qu’ils viennent d’acquérir.

Le travail qui précède a donc été laborieux mais je constate avec plaisir qu’on peut maintenant traiter un « petit » problème à l’aide d’un algorithme puis d’un programme ; par exemple s’est présentée la question : peut-on trouver deux entiers consécutifs dont la différence des carrés est égale à 2009 ? Même question avec 2010. Nous avons pu mettre en place l’algorithme suivant :

- Saisir n (ici n=2009 ou 2010)
- L’entier p débute à 0
- Tant que (p+1)²-p²≠n
- p augmente de 1
- Fin d’ordre « Tant que »
- Afficher p


Je leur ai signalé où se trouvaient les instructions dans l’application programme de leur machine (Texas ou Casio) et ils ont, en général, réussi à faire le programme correspondant. Ils ont constatés que pour n=2010 le programme « tournait » sans s’arrêter, ce qui était le but. Une élève a même modifié, de son propre chef, certainement en constatant qu’une fois dépassé la valeur de n le programme tournait inutilement, le test ≠ par ≤, je l’ai félicité mais je m’aperçois que j’ai oublié de lui demander comment elle interprétait la réponse du programme dans le cas n=2010 ?

Toujours en « MPS » nous sommes entrain de simuler des « lancés de pièce ou de dés », des « tirages de boules dans une boite » et nous allons aborder à ce propos des programmes qui vont calculer des fréquences pour des valeurs de n « grandes » afin de parler de probabilités. Dans ces programmes, nous aborderons l’instruction « For » et nous utiliserons les « listes » de la calculatrice, je leur ferais constater leur intérêt dans cette programmation mais aussi les limites de leur utilisation car leur « dimension » ne peut excéder 1000 et elles sont grandes consommatrices de mémoire. Je leur ferais constater qu’il est souvent préférable d’utiliser « un compteur ».



En conclusion  :

je peux aborder, maintenant, ce genre de travail, en phase avec mes élèves.

Proposer un algorithme de tri à ce stade me semble beaucoup trop compliqué mais pour une « fiche » ultérieure je pourrais alors proposer aux élèves un algorithme qui réponde à la question : « les éléments de la liste sont-ils tous distincts ? » ou bien « dans la liste combien y a-t-il d’éléments distincts ? », algorithmes qui, traduits en programmes auraient comme applications, par exemple, ces deux exercices proposés par Arthur ENGEL dans « les certitudes du hasard » :

  1. Le problème des canards : 10 chasseurs tirent au hasard et sans échec sur 10 canards sauvages, plusieurs chasseurs pouvant toucher le même canard, combien de canards survivent en moyenne ?
    Il s’agit ici de faire uniquement des simulations et de voir ensuite si les simulations (qui calculent des fréquences) donnent des résultats qui « collent » aux calculs des probabilités.
    Une simulation consiste à générer une liste de 10 entiers aléatoires entre 1 et 10, les entiers manquants étant les canards survivants.
  2. Le problème des anniversaires : dans un groupe de 30 personnes, par exemple une classe de lycée, quelle est la probabilité qu’il y en ait au moins deux ayant la même date d’anniversaire ?
    Une simulation consiste alors à générer une liste de 30 entiers aléatoires entre 1 et 365 qui représentent 30 jours dans l’année. S’ils sont tous distincts, il n’y a pas deux élèves qui ont la même date d’anniversaire, sinon il y en a deux qui ont la même date d’anniversaire.

Annexe

A la suite d’un échange avec le comité de rédaction de MathémaTICE, l’auteur de l’article propose un complément :

"Vous avez éveillé ma curiosité en me proposant, via « la programmation fonctionnelle », de faire une variante au programme « rectangl » de mon article en utilisant les deux programmes « parallel » et « trirect ».

Je me suis demandé si la calculatrice pouvait le faire et je m’y suis donc essayé.

J’ai fait un nouveau programme nommé « rect2 » qui « appelle » les 2 programmes « parallel » et « trirect » légèrement modifiés comme suit :
dans « parallel » j’ai rajouté une variable p qui vaut 1 si la réponse est positive et 0 sinon et dans le programme « trirect » une variable q qui fait la même chose Les copies d’écran ci-dessous présentent le programme « rect2 » et les modifications des programmes "parallel" et "trirect".

Je constate que ça fonctionne."

GIF - 2.1 ko
Programme "RECT2"
GIF - 1.5 ko
Modification du programme "Parallel" avec ajout de la variable p
GIF - 1.4 ko
Modification du programme "Trirect" avec ajout de la variable q

Réagir à cet article
Vous souhaitez compléter cet article pour un numéro futur, réagir à son contenu, demander des précisions à l'auteur ou au comité de rédaction...
À lire aussi ici
MathémaTICE est un projet
en collaboration avec
Suivre la vie du site Flux RSS 2.0  |  Espace de rédaction  |  Nous contacter  |  Site réalisé avec: SPIP  |  N° ISSN 2109-9197