|
TRIPLETS de PYTHAGORE Illustration
Il est tentant de visualiser les triplets sur un
système d'axes.
Sont-ils nombreux?
Comment remplissent-ils le plan?
Ce peut être aussi l'occasion d'excellents travaux
pratiques avec un tableur. |
|
|
25 24 25 26 30 23 22 21 29 20 25 29 19 18 30 17 16 20 15 17 25 14 13 12 13 15 20 11 10 26 9 15 8 10 17 7 25 6 10 5 13 4 5 3 5 2 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
Exemple: 12²
(abscisse)
+ 5² (ordonnée) = 13² (valeur indiquée à l'intersection). On
retrouve, bien sûr, chaque triplet et son symétrique. On observe la ligne
oblique 5, 10, 15 … des triplets
multiples du premier (et la ligne
symétrique par rapport à la diagonale). |
Axes Tapez 1 puis 2 sur
une ligne. Même chose en
colonne. Marquez les
cellules 1 et 2 (cliquez dessus). Pointez sur l'ancre
en bas à droite. En restant appuyé sur
le bouton gauche de la souris tirez vers la droite jusqu'à obtenir 25, les
valeurs suivantes jusqu'à 25 s'affichent automatiquement. Même chose pour les
colonnes en tirant l'ancre vers le haut. |
|
||||||||||||||||||||||||||||||
Formule
Calcul.
Condition. |
Valeur
de la ligne(L) au carré plus valeur de la colonne (C) donne le carré de
l'hypoténuse (H) L² + C² = H² H = RACINE (L² + C²) Inscrire
H que si sa valeur est entière |
||||||||||||||||||||||||||||||
Cellule de départ Supposons que nous
commencions comme indiqué.
La première cellule à calculer est B100. Calcul de H
Nous utilisons notre formule.
Cependant, si nous voulons une expression applicable
aux autres cellules, il faut indiquer que la ligne à utiliser est la 101 et
la colonne est la A.
Pour cela, les tableurs disposent de la fonction
adresse absolue symbolisée par le signe dollar. H entier ?
Le moyen consiste à vérifier si H est égal à sa valeur sans
décimales (tronquée). |
H = RACINE(A100*A100+B101*B101) H = RACINE($A100*$A100+B$101*B$101) RACINE($A100*$A100+B$101*B$101)
- TRONQUE (RACINE($A100*$A100+B$101*B$101)
) = 0 ? |
Programmation
Attention, il faut procéder avec méthode.
Voici la formule en clair, puis en programmation.
Tapez
"espace" entre les deux guillemets Soit l'expression à
recopier dans la cellule: SI(RACINE($A100*$A100+B$101*B$101) - TRONQUE
(RACINE($A100*$A100+B$101*B$101)) = 0;RACINE($A100*$A100+B$101*B$101); "
") Pour étendre la
formule à toutes les autres: Marquez la cellule B100
et tirez l'ancre en bas à droite vers la droite pour toute la ligne Marquez toutes les
cellules de la ligne et tirez l'ancre vers le haut pour toutes les lignes C'est fini! |
Primitifs sur cette
colonne |
Tous sur cette
colonne |
Quantité de points:
2 x 6 |
2 x 11 |
2 x 18 |
2 x 63 |
2 x 179 |
2 x 1034 |
Il n'est pas
étonnant de voir une tendance à former des cercles
(ellipses) dont l'équation est x² + y² = R. |
Il n'est pas
étonnant de voir apparaître des droites Ce sont les
multiples des triplets primitifs. |
Principe On reprend le
calcul ci-dessus en langage Mapple. La fonction
"dessin de points" (poinplot) est utilisée. Toute la séquence
des points à dessiner sont à lui fournir en une seule fois. Nous allons
calculer tous les points et les mémoriser. Nous définissons
deux séquences: une séquence pour les X et une pour les Y Le rang k
dans la séquence donne les coordonnées d'un point-triplet. |
|
||||||||||
Programme Initialisation # permet d'introduire
un commentaire (ici le titre du programme).
kt est un compteur de triplets.
mx est la valeur maximum de l'exploration. X est la mémoire de
la séquence des x des triplets. Y est la mémoire de
la séquence des y des triplets. array est l'instruction
qui réserve mx cases de mémoire. Mise à zéro des mémoires Boucle en i
pour mettre toutes les cases mémoire de X à zéro. Idem en j
pour Y. Recherche des triplets Pointeur de triplet
k placé à 1 pour commencer. Double boucle
d'exploration en i et j jusqu'à la valeur maximale
d'exploration. Test si i et
j sont premiers entre eux.
Leur plus grand commun diviseur
(greatest common divisor - gcd) doit être égal à 1. Calcul de h. Test si h
est entier. Si c'est le cas,
les valeurs de i et j sont placés dans X et Y en
position k (k vaut 1 pour le premier triplet). Le pointeur k est
positionné pour le prochain triplet. Le compteur de
triplets kt enregistre qu'un nouveau triplet a été trouvé. fi (c'est if à
l'envers) et od (c'est do à l'envers) indiquent la fin des tests et
des boucles. Dessin La séquence des
points est placée dans une mémoire nommée "points". L'instruction
"dessin de point" est appelée avec:
la séquence des points à dessiner en points,
les axes façon entourée (boxed),
la couleur rouge (red), et
le symbole carré (box). Décompte kt; permet
l'impression de la valeur finale du compteur de triplets. Le ";"
permet l'impression alors que ":" bloque l'impression des
données en cours de calcul. |
#triplets primitifs kt:= 0: mx:= 100: X:= array(1..mx): Y:= array(1..mx): for i from 1 to mx do X[i]:=0: od: for j from 1 to mx do Y[i]:=0: od: k:=1: for i from 1 to mx do for j from 1 to mx do if gcd(i,j)=1 then
h:=sqrt(i*i+j*j):
if h - trunc(h) = 0 then
X[k]:= i:
Y[k]:= j:
k:=k+1:
kt:=kt+1:
fi: fi:od:od: points:= { seq([X[i],Y[i]],i=1..k) }: pointplot(points, axes=BOXED,
color=red, symbol=box): kt; |
Voir |
Addition - Glossaire Pythagore – Biographie |
Site |
Pythagorean Triple de Eric Weisstein Some Unique
Pythagorean Triples And Some Ways To Work With Them by William V. Thayer |
Cette page |
http://villemin.gerard.free.fr/Wwwgvmm/Addition/TripIllu.htm |