Hilfe zur Konstruktion von Aufgaben zu rechtwinkligen Dreiecken mit "glatten" Zahlen (Mathematik - Realschule - 9. Klasse - pythagoräische Zahlentripel)
Bei der Konstruktion von Mathematikaufgaben für Klassenarbeiten in Klasse 9 stellt sich beim Thema "Satz des Pythagoras" oft das Problem, glatte Zahlen zu finden.
Die Zahlen 3, 4, 5 oder Vielfache davon sind in diesem Zusammenhang wohl allen bekannt, auch vielen Schülern. Auch 5,12,13 kennen viele. Der Bekanntheitsgrad von 7, 24, 25 ist schon wesentlich geringer. Es gibt aber noch eine ganze Anzahl weiterer pythagoräischer Zahlentripel(ohne Vielfache) mit höchstens 2-stelligen Zahlen:
3 4 5
5 12 13
7 24 25
8 15 17
9 40 41
11 60 61
12 35 37
13 84 85
16 63 65
20 21 29
28 45 53
33 56 65
36 77 85
39 80 89
48 55 73
65 72 97
Für den Beweis, ob das alle pythagoräischen Zahlentripel sind, die den oben genannten Bedingungen genügen, fehlt mir leider die Zeit.
Es folgt ein schnell geschriebenes, kleines Programm in der Programmiersprache Comal, mit dem sich auch weitere pythagoräische Zahlentripel finden lassen. Eine Übertragung in andere Programmiersprachen sollte leicht möglich sein.
0010 // pythagoräische Zahlentripel(nur gekürzte) Bennöhr 15.2.05
0020 n:=200 // maximale Anzahl
0030 e1:=n/2; e2:=n*n/2 // für e1 fehlt mir eine passende Funktion
0040 DIM a(n), b(n), c(n) // Zahlentripel
0050 z:=0 // aktuelle Anzahl von gefundenen Tripeln
0060 FOR i:=3 TO e1 DO
0070 FOR j:=4 TO e2 DO
0080 w:=SQR(i*i+j*j)
0090 IF ABS(w-INT(w))<1.0E-8 THEN prüfe(i,j,w)
0100 ENDFOR j
0110 ENDFOR i
0120 END "Programmende"
0130
0140 PROC prüfe(i,j,w)
0150 // ordne Tripel
0160 IF i<j THEN e:=i; f:=j ELSE e:=j; f:=i
0170 IF w<e THEN
0180 g:=f; f:=e; e:=w
0190 ELIF w<f THEN
0200 g:=f; f:=w
0210 ELSE
0220 g:=w
0230 ENDIF
0240 // prüfe, ob schon da
0250 neu:=1
0260 FOR k:=1 TO z DO
0270 q:=e/a(k)
0280 IF ABS(q-f/b(k))<1.0E-8 AND ABS(q-g/c(k))<1.0E-8 THEN neu:=0
0290 ENDFOR k
0300 IF neu THEN // merken und ausgeben
0310 z:+1; a(z):=e; b(z):=f; c(z):=g
0320 IF z MOD 20=0 THEN PAUSE
0330 PRINT e;f;g
0340 // IF g<99 THEN PRINT e;f;g // Zahlen höchstens 2-stellig
0350 ENDIF
0360 ENDPROC prüfe