home *** CD-ROM | disk | FTP | other *** search
- 10 rem geo-meister v1.0
- 20 rem (c) 1993 by oliver keineke
- 30 rem :
- 40 rem fuer magic disk 64
- 50 :
- 60 clr:dimm$(100):goto260
- 70 :
- 80 rem =================
- 90 rem = prozedur f1 =
- 100 rem =================
- 110 :
- 120 poke214,22:sys58640:printtab(12)"- [198]1 druecken -"
- 130 get a$:if a$="" then 110
- 140 if a$<>"[133]" then 110
- 150 return
- 160 :
- 170 rem =================
- 180 rem = systemmeldung =
- 190 rem =================
- 200 :
- 210 print"[147] *** [199]eo-[205]eister [214]1.0 *** "
- 220 print"[145] (c) 1993 by [207]liver [203]eineke[160] "
- 230 print"[145][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185]"
- 240 return
- 250 :
- 260 rem ============================
- 270 rem = definition d. funktionen =
- 280 rem ============================
- 290 :
- 300 def fnhg(x)=(x/2)*sqr(3)
- 310 def fnfg(x)=((x*x)/4)*sqr(3)
- 320 :
- 330 def fndq(x)=x*sqr(2)
- 340 def fnfq(x)=x*x
- 350 :
- 360 def fnuk(x)=2*(NULL)*x
- 370 def fnfk(x)=(NULL)*x*x
- 380 :
- 390 def fndw(x)=x*sqr(3)
- 400 def fnvw(x)=x*x*x
- 410 def fnow(x)=6*(x*x)
- 420 :
- 430 def fnvt(x)=((x*x*x)/12)*sqr(2)
- 440 def fnot(x)=x*x*sqr(3)
- 450 def fnht(x)=(x/3)*sqr(6)
- 460 :
- 470 def fnvk(x)=(4/3)*x*x*x*(NULL)
- 480 def fnok(x)=4*x*x*(NULL)
- 490 :
- 500 rem ==============
- 510 rem = hauptmenue =
- 520 rem ==============
- 530 :
- 540 printchr$(14):poke657,128:poke788,52:poke792,193
- 550 poke53280,2:poke53281,10:poke646,2
- 560 a=1:gosub 170
- 570 printtab(12)"[200]auptmenue"
- 580 printtab(11)"[183][183][183][183][183][183][183][183][183][183][183][183]"
- 590 for i=1 to 3
- 600 read m$(i)
- 610 print tab(10)m$(i):print
- 620 next i
- 630 gosub 670
- 640 on a goto 830,2480,4870
- 650 data"[198]laechenfiguren","[210]aumfiguren","[208]rogrammende"
- 660 :
- 670 rem ==================
- 680 rem = auswahlroutine =
- 690 rem ==================
- 700 :
- 710 poke214,2*a+5:poke211,10:sys58640:print""m$(a)
- 720 get x$:if x$="" then 720
- 730 if x$=chr$(13) then return
- 740 if x$="" then 790
- 750 if x$<>"[145]" then 720
- 760 poke214,2*a+5:poke211,10:sys58640:print m$(a)
- 770 a=a-1:if a<1 then a=1
- 780 goto 710
- 790 poke214,2*a+5:poke211,10:sys58640:print m$(a)
- 800 a=a+1:if a>3 then a=3
- 810 goto 710
- 820 :
- 830 rem ============================
- 840 rem = menue 1: flaechenfiguren =
- 850 rem ============================
- 860 :
- 870 a=1:gosub 170
- 880 :
- 890 printtab(8)"[205]enue 1: [198]laechenfiguren"
- 900 printtab(7)"[183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]"
- 910 for i=1 to 7
- 920 read m$(i)
- 930 print tab(8)m$(i)
- 940 next i
- 950 gosub 1000
- 960 on a goto 1160,1370,1550,1730,1940,2110,2310
- 970 data "gleichseitiges [196]reieck","allgemeines [196]reieck","[209]uadrat","[210]echteck"
- 980 data "[208]arallelogramm","[212]rapez","[203]reis"
- 990 :
- 1000 rem =====================
- 1010 rem = 2. auswahlroutine =
- 1020 rem =====================
- 1030 :
- 1040 poke214,a+6:poke211,8:sys58640:print""m$(a)
- 1050 get x$:if x$="" then 1050
- 1060 if x$=chr$(13) then return
- 1070 if x$="" then 1120
- 1080 if x$<>"[145]" then 1050
- 1090 poke214,a+6:poke211,8:sys58640:print m$(a)
- 1100 a=a-1:if a<1 then a=1
- 1110 goto 1000
- 1120 poke214,a+6:poke211,8:sys58640:print m$(a)
- 1130 a=a+1:if a>7 then a=7
- 1140 goto 1000
- 1150 :
- 1160 rem ====================
- 1170 rem = gleichs. dreieck =
- 1180 rem ====================
- 1190 :
- 1200 gosub 170
- 1210 :
- 1220 poke19,64
- 1230 input"[211]eitenlaenge a : ";sl
- 1240 poke19,0
- 1250 print:print
- 1260 print" 2"
- 1270 print" a [160] 1/2"
- 1280 print" [193] = [192] * 3 =";fnfg(sl)
- 1290 print" 4"
- 1300 print
- 1310 print" a [160][160]1/2"
- 1320 print" h = [192] *[160] 3 =";fnhg(sl)
- 1330 print" 2"
- 1340 :
- 1350 gosub 80:goto 10
- 1360 :
- 1370 rem ===================
- 1380 rem = allgem. dreieck =
- 1390 rem ===================
- 1400 :
- 1410 gosub 170
- 1420 :
- 1430 poke19,64
- 1440 input"[199]rundseite g : ";ga
- 1450 poke19,0:print:poke19,64
- 1460 input"[200]oehe h : ";ha
- 1470 poke19,0
- 1480 print:print
- 1490 aa=(1/2)*ga*ha
- 1500 print" 1"
- 1510 print" [193] = [192] * g * h = ";aa
- 1520 print" 2"
- 1530 gosub 80:goto 10
- 1540 :
- 1550 rem ===========
- 1560 rem = quadrat =
- 1570 rem ===========
- 1580 :
- 1590 gosub 170
- 1600 :
- 1610 poke19,64
- 1620 input"[211]eitenlaenge a : ";sq
- 1630 poke19,0
- 1640 print:print:print" d = [196]iagonale":print
- 1650 print" 1/2"
- 1660 print" d = a * 2 = ";fndq(sq)
- 1670 print:print
- 1680 print" 2"
- 1690 print" [193] = a = ";fnfq(sq)
- 1700 :
- 1710 gosub 80:goto 10
- 1720 :
- 1730 rem ============
- 1740 rem = rechteck =
- 1750 rem ============
- 1760 :
- 1770 gosub 170
- 1780 :
- 1790 poke19,64
- 1800 input"[211]eitenlaenge a : ";ar
- 1810 poke19,0:print:poke19,64
- 1820 input"[211]eitenlaenge b : ";br
- 1830 poke19,0
- 1840 print:print:print" d = [196]iagonale":print
- 1850 dr=sqr( (ar*ar)+(br*br) )
- 1860 fr=ar*br
- 1870 print" 1/2"
- 1880 print" [176] 2 2 [174]
- 1890 [153]" d = / a + b exp = ";dr
- 1900 [153]:[153]" atn = a * b = ";fr
- 1910 :
- 1920 [141] 80:[137] 10
- 1930 :
- 1940 [143] ==================
- 1950 [143] = parallelogramm =
- 1960 [143] ==================
- 1970 :
- 1980 [141] 170
- 1990 :
- 2000 [151]19,64
- 2010 [133]"chr$rundseite g : ";gp
- 2020 [151]19,0:[153]:[151]19,64
- 2030 [133]"left$oehe h : ";hp
- 2040 [151]19,0
- 2050 [153]:[153]
- 2060 fp[178]gp[172]hp
- 2070 [153]" atn = g * h = ";fp
- 2080 :
- 2090 [141] 80:[137] 10
- 2100 :
- 2110 [143] ==========
- 2120 [143] = trapez =
- 2130 [143] ==========
- 2140 :
- 2150 [141] 170
- 2160 :
- 2170 [151]19,64
- 2180 [133]"(NULL)eitenlaenge a : ";at
- 2190 [151]19,0:[153]:[151]19,64
- 2200 [133]"(NULL)eitenlaenge c : ";ct
- 2210 [151]19,0:[153]:[151]19,64
- 2220 [133]"left$oehe h : ";ht
- 2230 [151]19,0:[153]:[153]
- 2240 ft[178]((at[170]ct)[173]2)[172]ht
- 2250 [153]" a+c"
- 2260 [153]" atn = tantantan * h = ";ft
- 2270 [153]" 2"
- 2280 :
- 2290 [141] 80:[137] 10
- 2300 :
- 2310 [143] =========
- 2320 [143] = kreis =
- 2330 [143] =========
- 2340 :
- 2350 [141] 170
- 2360 :
- 2370 [151]19,64
- 2380 [133]"(NULL)adius r : ";rk
- 2390 [151]19,0
- 2400 [153]:[153]:[153]" (NULL) =close(NULL)mfang":[153]
- 2410 [153]" (NULL) = 2 *closepi * r = ";[165]uk(rk)
- 2420 [153]
- 2430 [153]" 2"
- 2440 [153]" atn = pi * r = ";[165]fk(rk)
- 2450 :
- 2460 [141] 80:[137] 10
- 2470 :
- 2480 [143] ========================
- 2490 [143] = menue 2: raumfiguren =
- 2500 [143] ========================
- 2510 :
- 2520 a[178]8:b[178]1:[141] 170
- 2530 :
- 2540 [153][163]10)"(NULL)enue 2: (NULL)aumfiguren"
- 2550 [153][163]7)"usrusrusrusrusrusrusrusrusrusrusrusrusrusrusrusrusrusrusrusrusrusrusrusrusrusr"
- 2560 [129] i[178]1 [164] 16
- 2570 [135] m$(i)
- 2580 [139] i[179]8 [167] [130] i
- 2590 [153] [163]9)m$(i)
- 2600 [130] i
- 2610 [141] 2670
- 2620 [145] b [137] 2850,3060,3320,3530,3710,3940,4150,4380,4690
- 2630 [131] "(NULL)uerfel","(NULL)uader","(NULL)risma","(NULL)yramide","regulaeres (NULL)etraeder"
- 2640 [131] "allgemeiner (NULL)ylinder","gerader (NULL)reiszylinder","gerader (NULL)reiskegel"
- 2650 [131] "(NULL)ugel"
- 2660 :
- 2670 [143] =====================
- 2680 [143] = 3. auswahlroutine =
- 2690 [143] =====================
- 2700 :
- 2710 [151]214,b[170]6:[151]211,9:[158]58640:[153]""m$(a)
- 2720 [161] x$:[139] x$[178]"" [167] 2720
- 2730 [139] x$[178][199](13) [167] [142]
- 2740 [139] x$[178]"" [167] 2800
- 2750 [139] x$[179][177]"on" [167] 2720
- 2760 [151]214,b[170]6:[151]211,9:[158]58640:[153] m$(a)
- 2770 a[178]a[171]1:[139] a[179]8 [167] a[178]8
- 2780 b[178]b[171]1:[139] b[179]1 [167] b[178]1
- 2790 [137] 2670
- 2800 [151]214,b[170]6:[151]211,9:[158]58640:[153] m$(a)
- 2810 a[178]a[170]1:[139] a[177]16 [167] a[178]16
- 2820 b[178]b[170]1:[139] b[177]9 [167] b[178]9
- 2830 [137] 2670
- 2840 :
- 2850 [143] ===========
- 2860 [143] = wuerfel =
- 2870 [143] ===========
- 2880 :
- 2890 [141] 170
- 2900 :
- 2910 [151]19,64
- 2920 [133]"(NULL)eitenlaenge a : ";aw
- 2930 [151]19,0
- 2940 [153]:[153]:[153]" d = (NULL)aumdiagonale; (NULL) = (NULL)berflaeche":[153]
- 2950 [153]" 1/2"
- 2960 [153]" d = a * 3 = ";[165]dw(aw)
- 2970 [153]:[153]
- 2980 [153]" 3"
- 2990 [153]" (NULL) = a = ";[165]vw(aw)
- 3000 [153]:[153]
- 3010 [153]" 2"
- 3020 [153]" (NULL) = 6 * a = ";[165]ow(aw)
- 3030 :
- 3040 [141] 80:[137] 10
- 3050 :
- 3060 [143] ==========
- 3070 [143] = quader =
- 3080 [143] ==========
- 3090 :
- 3100 [141] 170
- 3110 :
- 3120 [151]19,64
- 3130 [133]"(NULL)eitenlaenge a : ";aw
- 3140 [151]19,0:[153]:[151]19,64
- 3150 [133]"(NULL)eitenlaenge b : ";bw
- 3160 [151]19,0:[153]:[151]19,64
- 3170 [133]"(NULL)eitenlaenge c : ";cw
- 3180 [151]19,0:[153]:[153]:[153]" d = (NULL)aumdiagonale; (NULL) = (NULL)berflaeche":[153]
- 3190 dq[178][186]( (aw[172]aw)[170](bw[172]bw)[170](cw[172]cw) )
- 3200 vq[178]aw[172]bw[172]cw
- 3210 oq[178]2[172](aw[172]bw[170]bw[172]cw[170]cw[172]aw)
- 3220 [153]" 1/2"
- 3230 [153]" or 2 2 2 ^
- 3240 print" d = [173]a + b + c [189] = ";dq
- 3250 print:print
- 3260 print"[145] [214] = a * b * c = ";vq
- 3270 print:print
- 3280 print" [211] = 2 * (a*b + b*c + c*a) = ";oq
- 3290 :
- 3300 gosub 80:goto 10
- 3310 :
- 3320 rem ==========
- 3330 rem = prisma =
- 3340 rem ==========
- 3350 :
- 3360 gosub 170
- 3370 :
- 3380 poke19,64
- 3390 input"[199]rundflaeche [199] : ";gp
- 3400 poke19,0:print:poke19,64
- 3410 input"[205]antelflaeche [205] : ";mp
- 3420 poke19,0:print:poke19,64
- 3430 input"[200]oehe h : ";hp
- 3440 poke19,0:print:print:print" [211] = [207]berflaeche":print
- 3450 vp=gp*hp
- 3460 op=2*gp+mp
- 3470 print" [214] = [199] * h = ";vp
- 3480 print
- 3490 print" [211] = 2 * [199] + [205] = ";op
- 3500 :
- 3510 gosub 80:goto 10
- 3520 :
- 3530 rem ============
- 3540 rem = pyramide =
- 3550 rem ============
- 3560 :
- 3570 gosub 170
- 3580 :
- 3590 poke19,64
- 3600 input"[199]rundflaeche [199] : ";gp
- 3610 poke19,0:print:poke19,64
- 3620 input"[200]oehe h : ";hp
- 3630 poke19,0:print:print
- 3640 vp=(gp/3)*hp
- 3650 print" 1"
- 3660 print" [214] = [192] * [199] * h = ";vp
- 3670 print" 3"
- 3680 :
- 3690 gosub 80:goto 10
- 3700 :
- 3710 rem ====================
- 3720 rem = regul. tetraeder =
- 3730 rem ====================
- 3740 :
- 3750 gosub 170
- 3760 :
- 3770 poke19,64
- 3780 input"[211]eitenlaenge a : ";at
- 3790 poke19,0:print:print:print" [211] = [207]berflaeche":print
- 3800 print" 3"
- 3810 print" a 1/2"
- 3820 print" [214] = [192][192] * 2 = ";fnvt(at)
- 3830 print" 12"
- 3840 print
- 3850 print" 2 1/2"
- 3860 print" [211] = a * 3 = ";fnot(at)
- 3870 print
- 3880 print" a 1/2"
- 3890 print" h = [192] * 6 = ";fnht(at)
- 3900 print" 3"
- 3910 :
- 3920 gosub80:goto10
- 3930 :
- 3940 rem ====================
- 3950 rem = allgem. zylinder =
- 3960 rem ====================
- 3970 :
- 3980 gosub 170
- 3990 :
- 4000 poke19,64
- 4010 input"[199]rundflaeche[160] [199] : ";gz
- 4020 poke19,0:print:poke19,64
- 4030 input"[205]antelflaeche [205] : ";mz
- 4040 poke19,0:print:poke19,64
- 4050 input"[200]oehe h : ";hz
- 4060 poke19,0:print:print:print" [211] = [207]berflaeche":print
- 4070 oz=2*gz+mz
- 4080 vz=gz*hz
- 4090 print" [211] = 2 * [199] + [205] =[160]";oz
- 4100 print
- 4110 print" [214] = [199] * h = ";vz
- 4120 :
- 4130 gosub 80:goto 10
- 4140 :
- 4150 rem =========================
- 4160 rem = gerader kreiszylinder =
- 4170 rem =========================
- 4180 :
- 4190 gosub 170
- 4200 :
- 4210 poke19,64
- 4220 input"[210]adius r : ";rk
- 4230 poke19,0:print:poke19,64
- 4240 input"[200]oehe h : ";hk
- 4250 poke19,0:print:print:print" [211] = [207]berflaeche; [205] = [205]antelflaeche":print
- 4260 ok=2*rk*(NULL)*(rk+hk)
- 4270 vk=(rk*rk)*(NULL)*hk
- 4280 mk=2*(NULL)*rk*hk
- 4290 print" [211] = 2 * pi * r * (r + h) = ";ok
- 4300 print
- 4310 print" 2"
- 4320 print" [214] = r * pi * h = ";vk
- 4330 print
- 4340 print" [205] = 2 * pi * r * h = ";mk
- 4350 :
- 4360 gosub 80:goto 10
- 4370 :
- 4380 rem ======================
- 4390 rem = gerader kreiskegel =
- 4400 rem ======================
- 4410 :
- 4420 gosub 170
- 4430 :
- 4440 poke19,64
- 4450 input"[210]adius r : ";rk
- 4460 poke19,0:print:poke19,64
- 4470 input"[211]eitenkante s : ";sk
- 4480 poke19,0:print:poke19,64
- 4490 input"[200]oehe h : ";hk
- 4500 poke19,0:print:print:print" [211] = [207]berflaeche; [205] = [205]antelflaeche"
- 4510 print" [199] = [199]rundflaeche":print
- 4520 gk=(rk*rk)*(NULL)
- 4530 ok=(NULL)*rk*(rk+sk)
- 4540 mk=(NULL)*rk*sk
- 4550 vk=((1/3)*(rk*rk))*(NULL)*hk
- 4560 print" [211] = pi * r * (r + s) = ";ok
- 4570 print
- 4580 print" [205] = pi * r * s = ";mk
- 4590 print
- 4600 print" 1 2"
- 4610 print" [214] = [192] * pi * r * h = ";vk
- 4620 print" 3"
- 4630 print
- 4640 print" 2"
- 4650 print" [199] = r * pi = ";gk
- 4660 :
- 4670 gosub 80:goto 10
- 4680 :
- 4690 rem ======================
- 4700 rem = gerader kreiskegel =
- 4710 rem ======================
- 4720 :
- 4730 gosub 170
- 4740 :
- 4750 poke19,64
- 4760 input"[210]adius r : ";rk
- 4770 poke19,0:print:print:print" [211] = [207]berflaeche":print
- 4780 print" 4 3"
- 4790 print" [214] = [192] r * pi = ";fnvk(rk)
- 4800 print" 3"
- 4810 print
- 4820 print" 2"
- 4830 print" [211] = 4 * r * pi = ";fnok(rk)
- 4840 :
- 4850 gosub 80:goto 10
- 4860 :
- 4870 rem ================
- 4880 rem = programmende =
- 4890 rem ================
- 4900 :
- 4910 gosub 170
- 4920 :
- 4930 print"[145][145] "
- 4940 print"[145] [208]rogrammende "
- 4950 print"[145] "
- 4960 poke214,13:poke211,10:sys58640:print"[211]icher?";
- 4970 get y$:if y$="" then 4960
- 4980 if y$="j" then print" [202]a!":for pa=1 to 100:next pa:goto 5010
- 4990 if y$="n" then print" [206]ein!!":for pa=1 to 100:next pa:goto 10
- 5000 goto 4960
- 5010 print"[147]"
- 5020 poke214,12:poke211,9:sys58640
- 5030 print"[194]is zum naechsten [205]al."
- 5040 for wa=1 to 250
- 5050 sys64738
-