home *** CD-ROM | disk | FTP | other *** search
- 10 REM *** PROGRAM TO CALCULATE AREA OF AN IRREGULAR SHAPE ***
- 20 REM (REFERENCE: STOLK & ETTERSHANK, BYTE, 2/87, P. 135)
- 30 REM THIS PROGRAM DESIGNED BY MARK B. FINEMAN
- 40 CLS
- 50 FOR A=1 TO 24
- 60 PRINT TAB(33)"AREA CALCULATOR"
- 70 NEXT A
- 80 FOR B=1 TO 2000:NEXT B:CLS
- 90 DIM X(50), Y(50) 'MAXIMUM NUMBER OF DATA POINTS
- 100 CLS
- 110 INPUT "ENTER THE PROJECT NAME: ";NM$
- 120 CLS
- 130 PRINT "WHAT UNIT OF MEASUREMENT ARE YOU USING"
- 140 INPUT "(MILLIMETERS, INCHES, ETC.) "; M$: CLS
- 150 PRINT "A DATA POINT CONSISTS OF AN XY LOCATION, AND THE TOTAL"
- 160 PRINT "MUST COUNT THE FIRST POINT AS BOTH THE FIRST AND LAST POINTS."
- 170 PRINT:PRINT
- 180 INPUT "WHAT IS THE TOTAL NUMBER OF DATA POINTS (ENTER A MINIMUM OF 3) ";N
- 190 CLS
- 200 REM THE TOTAL NUMBER OF DATA POINTS = N, WITH A MAXIMUM OF 50 POINTS
- 210 REM *** DATA POINT ENTRY AND CALCULATIONS FOLLOW ***
- 220 FOR K=1 TO N
- 230 PRINT "X VALUE NUMBER"; K ;"="
- 240 INPUT X(K)
- 250 PRINT "Y VALUE NUMBER"; K ;"="
- 260 INPUT Y(K)
- 270 CLS
- 280 NEXT K
- 290 IF X(1) >< X(N) THEN GOTO 320
- 300 IF Y(1) >< Y(N) THEN GOTO 320
- 310 GOTO 340
- 320 PRINT "ERROR: FIRST AND LAST DATA POINTS MUST BE THE SAME."
- 330 PRINT "ENTER YOUR DATA AGAIN...": FOR C=1 TO 2000:NEXT C:GOTO 170
- 340 X(0)=X(N)
- 350 Y(0)=Y(N)
- 360 AREA=0
- 370 FOR K=1 TO N-1
- 380 AREA=AREA + X(K) * Y(K+1) - X(K+1) * Y(K)
- 390 NEXT K
- 400 AREA = .5 * ABS(AREA)
- 410 PRINT NM$: PRINT
- 420 PRINT "AREA IS:"; AREA; "SQUARE ";M$
- 430 PRINT: PRINT "DO YOU WANT A PRINTOUT? IF SO, ENTER YES";
- 440 INPUT P$
- 450 IF P$="YES" THEN GOTO 470
- 460 GOTO 530
- 470 LPRINT "AREA IS:"; AREA; "SQUARE ";M$: LPRINT: LPRINT
- 480 LPRINT NM$:LPRINT
- 490 LPRINT "LOCATION"," X"," Y": LPRINT
- 500 FOR C=1 TO N
- 510 LPRINT C;"." ,X(C),Y(C)
- 520 NEXT C
- 530 PRINT: PRINT
- 540 PRINT "DO YOU WANT TO RUN ANOTHER AREA CALCULATION?"
- 550 PRINT "IF SO, ENTER YES";
- 560 INPUT R$
- 570 IF R$="YES" THEN GOTO 100
- 580 END