home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Input 64
/
Input_64_86-02_1986_Verlag_Heinz_Weise_de.d64
/
mathe-genie
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
10KB
|
395 lines
0 ifpeek(50307)=120thenpoke50257,0:rem zeile 0 bitte kann geloescht werden!
100 rem titel
110 poke53280,0:poke53281,0:print"[147]";chr$(8);chr$(142)
120 x=int(rnd(0)*15):ifx=0then120
130 poke646,x
140 print""
150 print" "
160 print" "
170 print" "
180 print" "
190 print" "
200 print"" :poke646,int(rnd(1)*15)
210 print" [146][180] "
220 print" [146][181] "
230 print" [161] [146][161] "
240 print" [161] "
250 print" [146][182] "
260 fort=1to50
270 geta$:ifa$<>""thenclr:goto300
280 next
290 goto120
300 clr:rem hauptmenue
310 poke204,1:
320 poke53280,0:poke53281,0:print"[147]"
325 tn$="[171][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][179]":vo$="-----"
327 df=999999999999:vo$="------":fl$=vo$:um$=vo$
330 print"[213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]";
340 print"[194][158] mathe-genie written by a.walsleben [146][194]";tn$;
360 print"[194] auswahl ueber cursor-steuerung+return[194]";tn$;
380 print"[194] quadrat [194] rechteck [194]";tn$;
400 print"[194] vieleck [194] dreieck [194]";tn$;
420 print"[194] kreis [194] quader [194]";tn$;
440 print"[194] wuerfel [194] segment [194]";tn$;
460 print"[194] ellipse [194] kreisring [194]";tn$;
480 print"[194] sektor [194] trapez [194]";tn$;
500 print"[194] kegel [194] pyramdie [194]";tn$;
520 print"[194] zylinder [194] i n f o[146] [194]";tn$;
540 print"[194] primfaktorzer. [194] potenzen [194]";
550 print"[202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][177][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]";
560 poke646,7
570 y=6:x=1:x(1)=x:y(1)=y:poke214,y:poke211,x:sys58732:print" [209] [146]"
580 geta$:ifa$=""then580
590 ifa$=chr$(13)then690
600 ifa$=""thenx=x+20:ifx>21thenx=1
610 ifa$="[157]"thenx=x-20:ifx<1thenx=21
620 ifa$=""theny=y+2:ify>22theny=6
630 ifa$="[145]"theny=y-2:ify<6theny=22
640 ifx<>x(1)ory(1)<>ythen660
650 goto 580
660 gosub4270
670 poke214,y:poke211,x:sys58732:print" [209] [146]"
680 goto 580
690 rem welches feld
700 ify=6then790:rem feld i
710 ify=8then1130:rem feld ii
720 ify=10then1430:rem feld iii
730 ify=12then1740:rem feld iiii
740 ify=14then2040:rem feld v
750 ify=16then2280:rem feld vi
760 ify=18then2500:rem feld vii
770 ify=20then2690:rem feld viii
780 ify=22then2930:rem feld ix
790 ifx<>1then950:rem rechteck
800 rem quadrat
810 fe$=" quadrat [146]"
820 gosub3700:rem modul fuer ueberschr. braucht vari. fe$
830 fl=0:um=0:vo=0:ta$="":ei=0:pp$=""
840 print"[146]seitenlaenge a ?";
845 z=7:gr=df:rem grenze
850 gosub3780:rem modul ii fuer tastaturabfrage
860 fl=ei*ei:um=4*ei:vo=0:ei(1)=ei:ei(2)=0
870 um$="a*4":fl$="a*a"
880 gosub4360 :rem werte ausgeben
910 gosub4190:rem modul ob nochmal
920 ifj=0then300
930 ifj=1then800
940 goto 910
950 rem rechteck
960 fe$=" rechteck "
970 gosub3700
980 fl=0:um=0:vo=0:ta$="":ei=0:pp$=""
990 print"[146]seitenlaenge a ?";
995 z=7:gr=df
1000 gosub3780
1010 ei(1)=ei
1020 printchr$(13);"seitenlaenge b ?";
1025 z=9:gr=df
1030 gosub3780
1040 ei(2)=ei
1050 fl=ei(1)*ei(2):um=2*ei(1)+2*ei(2):vo=0:fl$="a*b":um$="2*a+2*b"
1060 gosub4360:rem werte ausgeben
1090 gosub4190
1100 ifj=1then950
1110 if j=0then300
1120 goto 1090
1130 rem feld ii
1140 ifx<>1then1300
1150 fe$=" vieleck ":gosub3700
1160 fl=0:um=0:vo=0:ta$="":ei=0:pp$=""
1165 z=7:gr=df
1170 print:print"seitenlaenge a ? [157][157][157][157][157][157][157]";:gosub3780
1180 ei(1)=ei:ifei(1)=0thenprint"[145][145][145]":goto1170
1185 z=9:gr=10
1190 print:print"seitenzahl n ? [157][157][157][157][157][157][157]";:gosub3780
1200 ei(2)=ei:ifei(2)<3thenprint"[145][145][145]":goto1190
1210 vo=0:um=ei(1)*ei(2):um$="a*n"
1220 r=ei(1)/2/tan((NULL)/ei(2))
1230 fl=ei(1)*r*ei(2):r=0:fl$="a*(a/2/tan([255]/n))*n"
1240 gosub4360:rem werte ausgeben
1270 gosub4190
1280 ifj=0then 300
1290 ifj=1then 1130
1300 rem dreieck
1310 fe$=" dreieck "
1320 gosub3700
1325 z=7:gr=df
1330 print:print"grundseite a ?";:gosub3780
1340 ei(1)=ei
1345 z=9:gr=df
1350 print:print"hoehe h ?";:gosub3780
1360 ei(2)=ei
1370 fl=ei(1)*ei(2)/2:um=0:vo=0:fl$="a*h/2"
1380 gosub4360 :rem werte ausgeben
1400 gosub4190
1410 ifj=0then300
1420 ifj=1then1300
1430 rem feld iii
1440 ifx<>1then1580
1450 rem kreis
1460 fe$=" kreis "
1470 gosub3700
1475 z=7:gr=df
1480 print:print"radius r ?";:gosub3780
1490 ei(1)=ei
1500 fl=ei(1)*ei(1)*(NULL):um=2*ei(1)*(NULL):vo=0
1510 fl$="r^2*[255]":um$="2*r*[255]"
1520 gosub4360 :rem werte ausgeben
1550 gosub4190
1560 if j=0then 300
1570 if j=1then 1430
1580 rem quader
1590 fe$=" quader ":gosub3700
1595 z=7:gr=df
1600 print:print"laenge a ?";:gosub3780:ei(1)=ei
1605 z=9:gr=df
1610 print:print"breite b ?";:gosub3780:ei(2)=ei
1615 z=11:gr=df
1620 print:print"hoehe h ?";:gosub3780:ei(3)=ei
1630 vo=ei(1)*ei(2)*ei(3)
1640 vo$="a*b*h":um$="a*4+b*4+h*4":fl$="2*(a*b)+2*(a*h)+2*(b*h)
1650 fl[178]2[172](ei(1)[172]ei(2))[170]2[172](ei(1)[172]ei(3))[170]2[172](ei(2)[172]ei(3))
1660 um[178]ei(1)[172]4[170]ei(2)[172]4[170]ei(3)[172]4
1670 [141]4360 :[143] werte ausgeben
1710 [141]4190
1720 [139]j[178]0[167]300
1730 [139]j[178]1[167]1580
1740 [143] feld iiii
1750 [139]x[179][177]1[167]1880
1760 fe$[178]" wuerfel ":[141]3700
1765 z[178]7:gr[178]df
1770 [153]:[153]"seitenlaenge a ? ";:[141]3780:ei(1)[178]ei
1780 fl[178]ei(1)[172]ei(1)[172]6:fl$[178]"a*a*6":um$[178]"a*12":vo$[178]"a*a*a"
1790 um[178]ei(1)[172]12
1800 vo[178]ei(1)[172]ei(1)[172]ei(1)
1810 [141]4360:[143] werte ausgeben
1850 [141]4190
1860 [139]j[178]0[167]300
1870 [137] 1760
1880 [143] segment
1890 fe$[178]" segment ":[141]3700:[153]:[153]
1895 z[178]7:gr[178]df
1900 [153]:[153]"ononhoehe h ? ";:[141]3780:ei(1)[178]ei:[139]ei[178]0[167]1900
1910 [153]:[153]
1915 z[178]9:gr[178]df
1920 [153]:[153]"ononsehne a ? ";:[141]3780:ei(2)[178]ei:[139]ei[178]0[167]1920
1930 r[178]ei(1)[173]2[170]ei(2)[172]ei(2)[173](8[172]ei(1))
1935 [139]ei(2)[177]2[172]r[167]1880
1940 l[178][186](ei(2)[172]ei(2)[170]((16[173]3)[172](ei(1)[172]ei(1))))
1950 fl[178].5[172](l[172]r[171]ei(2)[172](r[171]ei(1)))
1960 um[178]l[170]ei(2):vo[178]0
1970 um$[178]"a+l":fl$[178]".5*(l*r-(a*(r-h)))"
1980 [141]4360:[143] werte ausgeben
1990 [153]:[153]"bogen l = "l:[153]:[153]"radius r = "r
2010 [141]4190
2020 [139]j[178]0[167] 300
2030 [137]1890
2040 [143] feld v
2050 [139] x[179][177]1[167]2180
2060 [143] ellipse
2070 fe$[178]" ellipse ":[141]3700
2075 z[178]7:gr[178]df
2080 [153]:[153]"hauptachse a ? ";:[141]3780:ei(1)[178]ei
2085 z[178]9:gr[178]df
2090 [153]:[153]"nebenachse b ? ";:[141]3780:ei(2)[178]ei
2100 fl[178]ei(1)[172]ei(2)[172][255][173]4:vo[178]0
2110 fl$[178]"a*b*(NULL)/4"
2120 um[178]0
2130 [141]4360:[143] werte ausgeben
2150 [141]4190
2160 [139]j[178]0[167]300
2170 [137] 2060
2180 [143] kreisring
2190 fe$[178]" kreisring ":[141]3700
2195 z[178]7:gr[178]df
2200 [153]:[153]"innenradius r1 ? ";:[141]3780:ei(1)[178]ei
2205 z[178]9:gr[178]df
2210 [153]:[153]"aussenradius r2 ? ";:[141]3780:ei(2)[178]ei
2220 fl[178](ei(2)[170]ei(1))[172](ei(2)[171]ei(1))[172][255]
2230 um[178]2[172]ei(2)[172][255] :vo[178]0:um$[178]"2*r2*(NULL)":fl$[178]"((r1+r2)*(r2-r1)*(NULL))"
2240 [141]4360:[143] werte ausgeben
2260 [141]4190:[139]j[178]0[167]300
2270 [137]2190
2280 [143] feld vi
2290 [139]x[179][177]1[167]2410
2300 [143] sektor
2310 fe$[178]" sektor ":[141]3700
2315 z[178]7:gr[178]df
2320 [153]:[153]"radius r ? ";:[141]3780:ei(1)[178]ei
2325 z[178]9:gr[178]360
2330 [153]:[153]"zentriwinkel w ? ";:[141]3780:ei(2)[178]ei
2340 fl[178]ei(1)[172]ei(1)[172][255][172]ei(2)[173]360:vo[178]0:um$[178]"":fl$[178]"r*r*(NULL)*w/360"
2350 um[178]2[172]ei(1)[172](1[170]ei(2)[173]360[172][255]):um$[178]"2*r*(1+w/360*(NULL))
2360 gosub4360:rem werte ausgeben
2390 gosub4190:ifj=0then300
2400 goto2300
2410 rem trapez
2420 fe$=" trapez ":gosub3700
2425 z=7:gr=df
2430 print:print"seitenlaenge a ? ";:gosub3780:ei(1)=ei
2435 z=9:gr=df
2440 print:print"seitenlaenge b ? ";:gosub3780:ei(2)=ei
2445 z=11:gr=df
2450 print:print"hoehe h ? ";:gosub3780:ei(3)=ei:print
2460 vo=0:fl=(ei(1)+ei(2))/2*ei(3):um=0:vo$=um$:fl$="(a+b)/2*h"
2470 gosub4360:rem werte ausgeben
2480 gosub4190:ifj=0then300
2490 ifj=1then2410
2500 rem feld vii
2510 ifx<>1then2610
2520 rem kegel
2530 fe$=" kegel ":gosub3700
2535 z=7:gr=df
2540 print:print"radius r ? ";:gosub3780:ei(1)=ei
2545 z=9:gr=df
2550 print:print"hoehe h ? ";:gosub3780:ei(2)=ei
2560 fl=0:um=0:vo=(1/3)*ei(2)*(ei(1)^2)*(NULL):vo$="(1/3)*h*(r^2)*[255]
2570 um$[178]fl$
2580 [141]4360:[143] werte ausgeben
2585 [141]4190
2590 [139]j[178]0[167]300
2600 [137]2520
2610 [143] pyramide
2620 fe$[178]" pyramide ":[141]3700
2625 z[178]7:gr[178]df
2630 [153]:[153]"seitenlaenge a ? ";:[141]3780:ei(1)[178]ei
2635 z[178]9:gr[178]df
2640 [153]:[153]"hoehe h ? ";:[141]3780:ei(2)[178]ei
2650 fl[178]0:um[178]0:vo[178](ei(1)[172]ei(2))[172](ei(2)[173]3):um$[178]fl$:vo$[178]"(a*h)*(h/3)"
2660 [141]4360:[143] werte ausgeben
2665 [141]4190
2670 [139]j[178]0[167]300
2680 [137] 2610
2690 [143] feld viii
2700 [139]x[179][177]1[167]2790
2710 fe$[178]" zylinder ":[141]3700
2715 z[178]7:gr[178]df
2720 [153]:[153]"radius r ? ";:[141]3780:ei(1)[178]ei
2725 z[178]9:gr[178]df
2730 [153]:[153]"hoehe h ? ";:[141]3780:ei(2)[178]ei
2740 fl[178]0:um[178]0:vo[178]ei(1)[174]2[172][255][172]ei(2):vo$[178]"r^2*(NULL)*h"
2750 [141]4360:[143] werte ausgeben
2760 [141]4190:[139]j[178]0[167]300
2770 [137] 2710
2780 [128]
2790 [143] info
2800 [153]"loadsys":[153]:[153]:[153]:ta[178]6:
2805 tt$[178]" peek peek"
2810 [153][163]ta)"ortantantantantantantantantantantantantantantantantantantantantantantantantan^":[153]tt$
2825 [153][163]ta)"peek (c) peek":[153]tt$
2835 [153][163]ta)"peek input 64 peek":[153]tt$:[153]tt$:[153]tt$
2855 [153][163]ta)"peek ortantantantantantan^ peek"
2860 [153][163]ta)"peek peekreturnpeek peek"
2865 [153][163]ta)"peek /tantantantantantanexp peek"
2870 [153][163]ta)"/tantantantantantantantantantantantantantantantantantantantantantantantantanexp"
2880 [161]a$:[139]a$[178]""[167]2880
2910 [138]
2920 [128]
2930 [143] feld ix
2940 [139]x[179][177]1[167]3430
2950 [143] primfaktor-zerlegung
2960 fe$[178]"primfaktorzer.":[141]3700
2965 ei$[178]"":z[178]7:gr[178]50000
2970 [153]:[153]"zahl ? ";:[141]3780
2980 ei(1)[178]ei:zz[178]ei
2990 [139]ei(1)[179][177][181](ei(1))[176]ei(1)[179]1[167]2970
3000 :
3010 t[178]2
3020 [153]:[153]:[153]ei(1);"=";
3030 [141]3130
3040 t[178]3
3050 [139]ei(1)[178]1[167]3100
3060 [139]t[177][186](ei(1))[167]3100
3070 [141]3130
3080 t[178]t[170]2
3090 [137]3050
3100 [139]ei(1)[178]1[167][153]"cmd ":[137]3120
3110 [139]ei$[179][177]""[167]ei$[178][202](ei$,1,[195](ei$)[171]1)[170][196](ei(1))
3115 [139]ei(1)[178]zz[167][153]" primzahl!!":[137]3120
3117 [153]ei(1)
3120 n[178]0:[141]4190:[139]j[178]0[167]300
3125 [137]2950
3130 q[178]ei(1)[173]t
3140 [139]q[179][177][181](q)[167]3160
3150 [153]t;"*";:ei(1)[178]q:ei$[178]ei$[170][196](t)[170]" * ":[137]3130
3160 [142]
3430 [143] potenz-rechnung
3440 fe$[178]" potenzen "
3450 [141]3700
3455 z[178]7:gr[178]500
3460 [153]:[153]"basis ? cmdcmdcmdcmdcmdcmdcmd";:[141]3780:ei(1)[178]ei
3470 z[178]9:[141]4430:js[178]1:[143] gr berechnen
3480 [153]:[153]"exponent ? cmdcmdcmdcmdcmdcmdcmd";:[141]3780:ei(2)[178]ei
3500 er[178]ei(1)[174]ei(2)
3510 [153]:[153]"ergebnis = ";er
3520 [141]4190:[139]j[178]1[167]3430
3530 [137]300
3700 [143] modul fuer ueberschrift
3710 [151]53280,0:[151]53281,0:[153]"load";
3720 zz$[178]" *** *** wait"
3730 [129]t[178]1[164]3:[153]zz$:[130]
3740 [153]"";[163]15);fe$
3750 [153]"sys geben sie die entsprechenden"
3760 [153]" daten ein und druecken sie 'return'"
3770 [142]:[143] ende modul i
3780 [143] modul tastaturabfrage
3790 a$[178]"":aa[178]0:pp$[178]"":qq$[178]"":ei[178]0:
3800 [151]211,17:[151]214,z:[158]58732:[153]" cmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmd_";
3810 [161]a$:[139]a$[178]""[167]3810
3820 [139]a$[178][199](13)[167] 3950
3830 [139]a$[178][199](20)[167]3900
3840 [139]a$[178]"." [167]3870
3850 aa[178][198](a$)
3860 [139] aa[179]48 [176] aa[177]57 [167]3810
3870 [153][199](20);a$;"_";
3880 pp$[178]pp$[170]a$
3885 [139][195](pp$)[177]11[167][161]a$:[139]a$[179][177][199](13)[167]3885
3887 [139]a$[178][199](13)[167]3950
3890 [137] 3810
3900 [139][195](pp$)[178]0[167] 3810
3910 [153]a$;a$;"_";
3920 qq$[178][200](pp$,[195](pp$)[171]1)
3930 pp$[178]qq$:qq$[178]""
3940 [137] 3810
3950 [153][199](20);:ei[178][197](pp$)
3955 [139](ei[178]0[175]js[178]0)[176]ei[177]gr[167]3790
3956 [153]:[142]
4190 [143] modul ob nochmal
4200 [141]4290:[143] formeln ausgeben
4210 [151]211,0:[151]214,23:[158]58732
4220 [153]"sys nochmal (j/n) ? wait";
4225 [151]198,0:
4230 [161]a$:[139]a$[178]""[167]4230
4235 j[178]0
4240 [139]a$[178]"j"[167]j[178]1
4250 [142]
4260 [137]4230
4270 [151]214,y(1):[151]211,x(1):[158]58732:[153]" ":y(1)[178]y:x(1)[178]x
4280 [142]
4290 a$[178][202](fe$,1,4):[139]a$[178]"pri"[176]a$[178]" po"[167][142]
4300 [143] formeln ausgeben
4301 [151]211,0:[151]214,19:[158]58732
4310 [153]" f o r m e l n ";
4320 [153]"waitflaeche = ";fl$
4330 [153]"umfang = ";um$
4340 [153]"volumen = ";vo$
4350 [142]
4360 [143] modul werte ausgeben
4370 :
4380 [139]fl[179][177]0[167][153]:[153]"flaeche = "fl
4390 [139]um[179][177]0[167][153]:[153]"umfang = "um
4410 [139]vo[179][177]0[167][153]:[153]"volumen = "vo
4420 [142]
4430 [143] overflow fuer potenzrechnung
4440 gr[178]126:po[178]ei(1)
4450 [139]po[179]3[167]4600
4460 gr[178]38:[139]po[179]11[167]4600
4470 gr[178]24:[139]po[179]40[167]4600
4480 gr[178]19:[139]po[179]101[167]4600
4490 gr[178]18:[139]po[179]131[167]4600
4500 gr[178]17:[139]po[179]176[167]4600
4510 gr[178]16:[139]po[179]246[167]4600
4520 gr[178]15:[139]po[179]351[167]4600
4530 gr[178]14
4600 [142]