Calculs, calculs...

Algorithmes et histoire des mathématiques
jeudi 11 novembre 2010
par  Nathalie CARRIÉ

Un travail d’algorithmique et d’histoire des mathématiques a été donné en début d’année (3 septembre 2010). Le point de départ était un TP de l’IREM de Strasbourg, Première S, collection ISTRA : PNG - 716.1 ko

Le sujet du travail à faire 20100910 AlgorithmesTravailDeGroupe1 600px
20100910 AlgorithmesTravailDeGroupe2 600px
20100910 AlgorithmesTravailDeGroupe3 600px

Calculs, calculs

A/ Calcul de E

L’expression à calculer : 9*10864^4-18817^4+2*18817^2

- Calcul avec bc CalculAvecBc

- Calcul avec un javascript dans CarMetal CalculAvecCarMetal1 600px

- Calcul avec gp CalculAvecGp

- Calcul avec MagicNumber CalculAvecMagicNumber

- Calcul avec Maxima CalculAvecMaxima

- Calcul avec Open Office Calc CalculAvecOpenOffice
CalculAvecOpenOffice2 600px

- Calcul avec Processing CalculAvecProcessing

- Calcul avec Google Calcul sur Google

- Calcul avec Python (contribution Alain Busser) Calcul avec Python

B/ Vocabulaire mathématique

Voir la séance d’exemples en classe.

C/ Calcul exact de E

On pourra voir les calculs faits par les élèves dans les deux exemples fournis dans la conclusion.

D/ Autour des entiers naturels tels que y^2-3*x^2=1 R

Remarquons avec les élèves que si (x,y) est un couple de réels vérifiant (R) avec y positif, alors (x,y) se trouve sur cette courbe, et les couples d’entiers (x,y) s’éloignent de plus en plus. Cela peut se voir dans CarMetal avec un simple roulement de molette pour zoomer.

PNG - 20.9 ko
3x2Plus1
PNG - 88.5 ko
3x2Plus1b Rendu QtiPlot

E/ Point d’histoire  [1]

- Equation Diophantienne
- Qui est Diophante ?
- Equation de Pell-Fermat
- Théorème de Fermat, son histoire
- Qui est Fermat ?
- Qu’est-ce qu’un triplet pythagoricien ?
Ce sont les triplets d’entiers naturels de la forme (x,y,z) avec z^2=y^2+x^2.
- Il n’existe qu’un unique triplet pythagoricien d’entiers naturels consécutifs :
Posons y=x+1 et z=x+2
On a alors (x+2)^2=(x+1)^2+x^2, équation qui conduit à une équation du second degré dont l’unique solution positive est x=3.
Le seul triplet pythagoricien d’entiers naturels consécutifs est donc : (3,4,5).

F/ Algorithmique

- Script du calcul de l’expression avec CarMetal ScriptCalculExpression

- Calcul des couples (x’, y’) de nombres de plus en plus grands vérifiant (R) xyx y 1

x et y de plus en plus grands avec CarMetal

for (x=1; x<10000; x=x+1){
                y=Math.sqrt(1+3*x*x);
                if (y-Math.round(y)==0){
                        x1=2*x*y; y1=3*x*x+y*y;
                        Println("x= "+x+" y= "+y+" x'= "+x1+" y'= "+y1);
                }

}

Cela donne avec la coloration syntaxique d’un bon éditeur de textes :

xEtyDePlusEnPlusGrandsAvecCarMetal1

Avec Processing

int x=0; float y=0; int yy;
int x1=0, y1=0;

for(x=1; x < 10000; x++) {

 y=1+3*x*x;
 y=sqrt(y);
 
 if (y - round(y) == 0) {
   yy=int(y);
   x1=2*x*yy;  y1=3*x*x+yy*yy;
   println("x = "+x+" y= "+ yy +"     "+ " x' = 2xy = "+ x1 + " y'= 3x^2+y^2 = "+y1);
 }

}

Cela donne avec la coloration syntaxique d’un bon éditeur de textes :

PNG - 12.3 ko

Avec la calculatrice TI82

:For(X,1,100)
1+3*X^2→X
√(Y)→Y
If (Y-int(Y)=0)
Then
2*X*Y→Z
3*X^2+Y^2→T
Disp "X = ",X," Y= ",Y," Z =",Z," T =",T
End
End

xEtyDePlusEnPlusGrandsAvecLaTI82


- Les triplets pythagoriciens (rendu QtiPlot (logiciel d’analyse et de visualisation de données)).

TripletsPythagoriciens800px

Avec CarMetal

Triplets Pythagoriciens avec boucle for simple :

for (x=1; x<100; x=x+1){
        for (y=x; y100; y=y+1){
                z=Math.sqrt(x*x+y*y);
                if (z-Math.round(z)==0){
                        Println("x= "+x+" y= "+y+" z= "+Math.round(z));
                } else {

                }       
        }
}

Triplets Pythagoriciens avec départ de boucle aléatoire en y :

for (x=1; x<100; x=x+1){
        x=Math.round(Math.random()*100)+1;
        for (y=x; y<x+100; y=y+1){
                z=Math.sqrt(x*x+y*y);
                if (z-Math.round(z)==0){
                        Println("x= "+x+" y= "+y+" z= "+Math.round(z));
                } else {

                }       
        }
}

Cela donne avec la coloration syntaxique d’un bon éditeur de textes :

PNG - 18.6 ko
TripletsPythagoriciens
PNG - 15.7 ko
TripletsPythagoriciensAvecBoucleForSimple

On obtient par exemple :

x= 95 y= 168 z= 193
x= 65 y= 72 z= 97
x= 65 y= 156 z= 169
x= 5 y= 12 z= 13
x= 48 y= 55 z= 73
x= 48 y= 64 z= 80
x= 48 y= 90 z= 102
x= 48 y= 140 z= 148
x= 36 y= 48 z= 60
x= 36 y= 77 z= 85
x= 36 y= 105 z= 111
x= 40 y= 42 z= 58
x= 40 y= 75 z= 85
x= 40 y= 96 z= 104
x= 40 y= 42 z= 58
x= 40 y= 75 z= 85
x= 40 y= 96 z= 104
x= 96 y= 110 z= 146
x= 96 y= 128 z= 160
x= 96 y= 180 z= 204
x= 50 y= 120 z= 130
x= 42 y= 56 z= 70
x= 87 y= 116 z= 145
x= 96 y= 110 z= 146
x= 96 y= 128 z= 160
x= 96 y= 180 z= 204
x= 78 y= 104 z= 130
x= 78 y= 160 z= 178
x= 13 y= 84 z= 85
x= 8 y= 15 z= 17
x= 25 y= 60 z= 65
x= 69 y= 92 z= 115
x= 39 y= 52 z= 65
x= 39 y= 80 z= 89
x= 40 y= 42 z= 58
x= 40 y= 75 z= 85
x= 40 y= 96 z= 104
x= 5 y= 12 z= 13
x= 66 y= 88 z= 110
x= 66 y= 112 z= 130
x= 40 y= 42 z= 58
x= 40 y= 75 z= 85
x= 40 y= 96 z= 104
x= 16 y= 30 z= 34
x= 16 y= 63 z= 65
x= 28 y= 45 z= 53
x= 28 y= 96 z= 100
x= 93 y= 124 z= 155
x= 69 y= 92 z= 115
x= 16 y= 30 z= 34
x= 16 y= 63 z= 65
x= 69 y= 92 z= 115
x= 7 y= 24 z= 25
x= 8 y= 15 z= 17
x= 22 y= 120 z= 122
x= 99 y= 132 z= 165
x= 99 y= 168 z= 195

Avec Processing

float z=0;

for(int x=1; x < 100; x++) {
 for(int y=x; y < 100; y++) {
 z=x*x+y*y;
 z=sqrt(z);
 if (z - round(z) == 0) {
   println("x = "+x+" y= "+ y + " z = "+int(z));
 }
}
}
 

Triplets Pythagoriciens avec départ de boucle aléatoire en y :

int x=0, y=0;
float z=0;


for(int i=0; i < 100; i++) {
 x=int(random(1,1000));
 for(y=x; y < x+100; y++) {
 z=x*x+y*y;
 z=sqrt(z);
 
 if (z - round(z) == 0) {
   println("x = "+x+" y= "+ y + " z = "+int(z));
 }
}
}
PNG - 10 ko
Triplets PythagoriciensAvecBoucleFor
PNG - 10.9 ko
Triplets PythagoriciensAvecChoixAleatoireDex

Avec Scratch

GIF - 16.4 ko
TripletsPythagoriciens
GIF - 22.1 ko
TripletsPythagoriciens2

On peut voir le programme tourner sur le site de Scratch.

Avec la calculatrice TI82

:For(X,1,100)
For(Y,X,100)
X*X+Y*Y→Z
√(Z)→Z
If (Z-int(Z)=0)
Then
Disp "X = ",X," Y= ",Y," Z =",Z
End
End
PNG - 108.6 ko
TripletsPythagoriciensCodeTI82
PNG - 88 ko
TripletsPythagoriciensxAleatoireCodeTI82

Conclusion

Le TP était riche et a permis d’aborder beaucoup de sujets passionnants. Les élèves ont largement répondu aux attentes de ce travail de groupe, pour lequel ils ont eu presque deux mois de délai (ils l’ont rendu le 25 octobre, le sujet ayant été distribué le 3 septembre). Un groupe d’élèves (Rachelle, Amandine et Sarah) a fourni un travail remarquable que l’on peut télécharger ici. Un autre groupe (Khaira, Julie, Alexandre et Soumayyah) a réalisé un travail tout aussi riche et appronfondi, à lire ici.

Le barême était sur 24. Ces deux groupes ont eu 20.

Les élèves dans l’ensemble m’ont surprise par la diversité des calculs effectués.


[1] Pour répondre à ces questions, il suffit de se rendre sur Wikipédia


Documents joints

Erreurs d'arrondi
Erreurs d'arrondi
Christian Vassar IUFM de Rouen
Triplets pythagoriciens
Triplets pythagoriciens
avec z comme étiquette sur le graphe
Triplets pythagoriciens
Triplets pythagoriciens
sans étiquette sur le graphe
Fichier Triplets de Pythagore pour QtiPlot
Fichier Triplets de Pythagore pour QtiPlot
Fichiers binaires TI82
Fichiers binaires TI82
Triplets pythagoriciens code Scratch
Triplets pythagoriciens code Scratch
Triplets pythagoriciens avec affichage code (...)
Triplets pythagoriciens avec affichage code (...)
Triplets pythagoriciens : les sources (...)
Triplets pythagoriciens : les sources (...)

Commentaires

Logo de debimax
samedi 5 février 2011 à 11h55, par  debimax

Regarde l’aide mémoire que je me suis fait http://megamaths.free.fr/pdf/aideme... (pour le tex http://megamaths.free.fr/pdf/aideme...)

J’aime bien R-cran voici une de mes activités pour le cours en tes ou ts sur les test à l’équation à une loi équirépartie http://megamaths.free.fr/pdf/adequa...
Tu pourras voir la difféerence entre R-cran et xcas(je débutais avec xcas)

Sinon, pour revenir à cette page je trouve cela intéressant.

Logo de Alain BUSSER
vendredi 19 novembre 2010 à 07h16, par  Alain BUSSER

« il me semble qu’il pourrait rendre d’intéressants services pour la mise en œuvre des algorithmes » :

Question : Est-ce R-Cran possède des boucles à condition d’arrêt ? Parce que si oui, c’est effectivement un outil très intéressant pour l’algorithmique...

Logo de Hubert Raymondaud
mercredi 17 novembre 2010 à 12h53, par  Hubert Raymondaud

Très intéressant... Un bon éventail d’outils informatiques sont présentés. J’utilise aussi et de plus en plus R (voir l’IREM de Lyon), pour les statistiques, mais il me semble qu’il pourrait rendre d’intéressants services pour la mise en œuvre des algorithmes...

Plus pratiquement le document « http://www.reunion.iufm.fr/recherch... » a certaines images qui sont décentrées et dont il manque une partie .... Est-il possible d’y remédier ?

Je n’ai rien trouvé dans les archives « TripletsPythagoriciens.sb.zip » et « TripletsPythagoriciensAvecAffichage.sb.zip » ???

Bien cordialement
Hubert Raymondaud (de la CII proba-stat)

Brèves

Hyper-vidéos pour l’algorithmique au lycée

dimanche 19 août 2012

Olivier Roizès, à la demande de l’ADIREM, a réalisé une collection d’hyper-vidéos de présentation de logiciels et environnements de programmation. Ces hyper-vidéos, c’est-à-dire des vidéos contenant des éléments clicables, devraient être utiles aux enseignants désireux de se familiariser avec Python, CaRMetal, R, Rurple, Scilab ou Xcas.

Ouverture du SILO

mardi 1er novembre 2011

Le SILO (Science Informatique au Lycée : Oui !) est un espace collaboratif documentaire de partage et de formation collégiale, à destination des professeurs appelés à enseigner l’informatique au lycée.

Une initiative du CNDP, de l’INRIA et de Pasc@line, à laquelle se sont associés SPECIF, fuscia, EPI et ePrep.

Sur le Web : Site du SILO

Introduction à la science informatique

lundi 12 septembre 2011

Le CRDP de Paris publie le premier ouvrage destiné aux professeurs chargés d’enseigner la nouvelle spécialité « Informatique et sciences du numérique » en Terminale S à la rentrée 2012. Cet ouvrage a été coordonné par Gilles Dowek, directeur de recherche à l’INRIA.

Sur la création de la spécialité ISN, on pourra également consulter l’interview donnée au Café pédagogique par l’inspecteur général Robert Cabanne.

Sur le Web : CRDP de Paris