10 *FX200,3 20 ON ERROR RUN 30 MODE1:PROCINIT 40 DEF PROCINIT 50 VDU23;8202;0;0;0; 60 VDU23,241,24,24,0,255,0,0,24,24 70 VDU23,240,96,32,64,96,0,0,0,0 80 VDU23,242,8,20,34,8,20,34,0,0 90 VDU23,243,0,16,40,68,130,0,0,0 100 VDU23,244,0,0,0,0,130,68,40,16 110 VDU23,245,0,255,36,36,36,36,36,36,0 120 PRINT'' 130 COLOUR1 140 PRINT" *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*" 150 PRINT" *";:COLOUR7:PRINT" AREA CALCULATOR by David Stillman ";:COLOUR1:PRINT"*" 160 PRINT" *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*" 170 PRINT'' 180 COLOUR2 190 PRINT"1. Area of Rectangle" 200 PRINT 210 PRINT"2. Area of Circle" 220 PRINT 230 PRINT"3. Area of 90' Triangle" 240 PRINT 250 PRINT"4. Area of Parallelogram" 260 PRINT 270 PRINT"5. Area of Rhombus" 280 PRINT 290 PRINT"6. Area of Trapezium" 300 PRINT 310 PRINT"7. Area of Triangle" 320 COLOUR7 330 PRINT''"Enter the number: " 340 COLOUR2 350 A$=GET$ 360 SOUND1,-15,150,1 370 IF A$="1" THEN PROCRECTANGLE 380 IF A$="2" THEN PROCCIRCLE 390 IF A$="3" THEN PROC90TRIANGLE 400 IF A$="4" THEN PROCPARALLELOGRAM 410 IF A$="5" THEN PROCRHOMBUS 420 IF A$="6" THEN PROCTRAPEZIUM 430 IF A$="7" THEN PROCTRIANGLE 440 GOTO350 450 PROCRECTANGLE 460 DEF PROCRECTANGLE 470 CLS 480 PRINTTAB(20,20);"b" 490 PRINTTAB(10,10);"a" 500 MOVE1000,1000 510 DRAW400,1000 520 DRAW400,400 530 DRAW1000,400 540 DRAW1000,1000 550 C=0 560 INPUTTAB(0,22)"Enter a: "A 570 INPUTTAB(0,23)"Enter b: "B 580 C=A*B 590 PRINTTAB(0,24)"Area = ";A;" x ";B 600 REPEAT UNTIL GET=32 610 CLS 620 PRINTTAB(20,20);INTB 630 PRINTTAB(10,10);INTA 640 MOVE1000,1000 650 DRAW400,1000 660 DRAW400,400 670 DRAW1000,400 680 DRAW1000,1000 690 PRINTTAB(10,24)"Area = ";C;" units";CHR$240 700 REPEAT UNTIL GET=32 710 RUN 720 ENDPROC 730 REM *** 90' TRIANGLE *** 740 DEF PROC90TRIANGLE 750 CLS 760 MOVE800,0 770 PLOT85,800,800 780 PRINTTAB(25,20)"h" 790 PRINTTAB(13,31)"a" 800 PRINTTAB(0,0) 810 INPUT"Enter a: "a 820 INPUT"Enter h: "h 830 C=0:C=a/2*h 840 PRINT'"Area = ";a;" ";CHR$241;" 2 x ";h 850 REPEAT UNTIL GET=32 860 CLS 870 MOVE0,0 880 MOVE800,0 890 PLOT85,800,800 900 PRINTTAB(25,20);INTh 910 PRINTTAB(13,31);INTa 920 PRINTTAB(0,0) 930 PRINT'"Area = ";C;" units";CHR$240 940 REPEAT UNTIL GET=32:RUN 950 ENDPROC 960 REM *** PARALLELOGRAM *** 970 DEF PROCPARALLELOGRAM 980 CLS 990 MOVE100,1000 1000 DRAW600,1000 1010 DRAW900,500 1020 DRAW400,500 1030 DRAW100,1000 1040 MOVE50,970:DRAW50,500 1050 PRINTTAB(0,0) 1060 PRINTTAB(12,0)">" 1070 PRINTTAB(20,16)">" 1080 PRINTTAB(7,8);CHR$242 1090 PRINTTAB(23,8);CHR$242 1100 PRINTTAB(1,1);CHR$243 1110 PRINTTAB(1,16);CHR$244 1120 PRINTTAB(2,8)"h" 1130 PRINTTAB(20,17)"a" 1140 INPUTTAB(0,18)"Enter h: "H 1150 INPUTTAB(0,19)"Enter a: "A 1160 PRINTTAB(0,21)"Area = a x h" 1170 REPEAT UNTIL GET=32 1180 CLS 1190 MOVE100,1000 1200 DRAW600,1000 1210 DRAW900,500 1220 DRAW400,500 1230 DRAW100,1000 1240 PRINTTAB(0,0) 1250 PRINTTAB(12,0)">" 1260 PRINTTAB(20,16)">" 1270 PRINTTAB(7,8);CHR$242 1280 PRINTTAB(23,8);CHR$242 1290 PRINTTAB(2,8);INTH 1300 PRINTTAB(20,17);INTA 1310 PRINTTAB(0,21)"Area = ";A*H;" units";CHR$240 1320 REPEAT UNTIL GET=32:RUN 1330 ENDPROC 1340 REM *** CIRCLE *** 1350 DEF PROCCIRCLE 1360 CLS 1370 MOVE500,500 1380 B=0 1390 FOR B=-300 TO 300 STEP10 1400 A=SQR(90000-B^2) 1410 DRAW500+A,500+B 1420 NEXTB 1430 FOR B=-300 TO 300 STEP10 1440 A=SQR(90000-B^2) 1450 DRAW500-A,500-B 1460 NEXTB 1470 PRINTTAB(0,0) 1480 PRINTTAB(14,20)"r" 1490 PRINTTAB(0,26)"Area = ";CHR$245;"r";CHR$240 1500 INPUTTAB(0,5)"Enter r: "R 1510 REPEAT UNTIL GET=32 1520 CLS 1530 MOVE500,500 1540 B=0 1550 FOR B=-300 TO 300 STEP10 1560 A=SQR(90000-B^2) 1570 DRAW500+A,500+B 1580 NEXTB 1590 FOR B=-300 TO 300 STEP10 1600 A=SQR(90000-B^2) 1610 DRAW500-A,500-B 1620 NEXTB 1630 A=PI*R^2 1640 PRINTTAB(0,0) 1650 PRINTTAB(13,15);INTA 1660 PRINTTAB(0,27)"Area = ";A;" units";CHR$240 1670 REPEAT UNTIL GET=32:RUN 1680 ENDPROC 1690 REM *** RHOMBUS 1700 DEF PROCRHOMBUS 1710 CLS 1720 MOVE600,1000 1730 DRAW1100,600 1740 DRAW600,200 1750 DRAW100,600 1760 DRAW600,200 1770 DRAW600,1000 1780 DRAW100,600 1790 DRAW1100,600 1800 PRINTTAB(0,0) 1810 PRINTTAB(13,12)"A" 1820 PRINTTAB(19,10)"B" 1830 INPUTTAB(0,25)"Enter A: "A 1840 INPUTTAB(0,26)"Enter B: "B 1850 PRINTTAB(0,28)"Area = A ";CHR$241;" 2 x B" 1860 REPEAT UNTIL GET=32 1870 CLS 1880 MOVE600,1000 1890 DRAW1100,600 1900 DRAW600,200 1910 DRAW100,600 1920 DRAW600,200 1930 DRAW600,1000 1940 DRAW100,600 1950 DRAW1100,600 1960 PRINTTAB(0,0) 1970 PRINTTAB(13,12);A 1980 PRINTTAB(19,10);B 1990 C=INTA/2*INTB 2000 PRINTTAB(0,28)"Area = ";C;" units";CHR$240 2010 REPEAT UNTIL GET=32:RUN 2020 ENDPROC 2030 REM *** TRAPEZIUM *** 2040 DEF PROCTRAPEZIUM 2050 CLS 2060 MOVE300,900 2070 DRAW800,900 2080 DRAW1100,500 2090 DRAW0,500 2100 DRAW300,900 2110 MOVE1120,900 2120 DRAW1120,500 2130 PRINTTAB(0,0) 2140 PRINTTAB(17,3)"A" 2150 PRINTTAB(17,16)"B" 2160 PRINTTAB(36,8)"H" 2170 INPUT TAB(0,17)"Enter A: "A 2180 INPUTTAB(0,18)"Enter B: "B 2190 INPUTTAB(0,19)"Enter H: "H 2200 PRINTTAB(0,21)"Area = A + B ";CHR$241;" 2 x H" 2210 REPEAT UNTIL GET=32 2220 CLS 2230 MOVE300,900 2240 DRAW800,900 2250 DRAW1100,500 2260 DRAW0,500 2270 DRAW300,900 2280 MOVE1120,900 2290 DRAW1120,500 2300 PRINTTAB(0,0) 2310 PRINTTAB(17,3);INTA 2320 PRINTTAB(17,16);INTB 2330 PRINTTAB(36,8);INTH 2340 C=0.5*(A+B)*H 2350 PRINTTAB(0,19)"Area = ";C;" units";CHR$240 2360 REPEAT UNTIL GET=32:RUN 2370 ENDPROC 2380 REM *** TRIANGLE *** 2390 DEF PROCTRIANGLE 2400 CLS 2410 MOVE500,600 2420 DRAW0,100 2430 DRAW1000,100 2440 DRAW500,600 2450 PRINTTAB(0,0) 2460 PRINTTAB(5,20)"A" 2470 PRINTTAB(25,20)"B" 2480 PRINTTAB(15,29)"C" 2490 INPUTTAB(0,5)"Enter A: "A 2500 INPUTTAB(0,6)"Enter B: "B 2510 INPUTTAB(0,7)"Enter C: "C 2520 PRINTTAB(0,8)"Area = A + B + C ";CHR$241;" 2" 2530 REPEAT UNTIL GET=32 2540 CLS 2550 MOVE500,600 2560 DRAW0,100 2570 DRAW1000,100 2580 DRAW500,600 2590 PRINTTAB(0,0) 2600 PRINTTAB(5,20);INTA 2610 PRINTTAB(25,20);B 2620 PRINTTAB(15,29);C 2630 D=0.5*(A+B+C) 2640 PRINTTAB(0,8)"Area = ";D;" units";CHR$240 2650 REPEAT UNTIL GET=32:RUN 2660 ENDPROC