home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / BASIC / AREACALC.ZIP / AREACALC.BAS
Encoding:
BASIC Source File  |  1988-07-07  |  1.9 KB  |  59 lines

  1. 10 REM *** PROGRAM TO CALCULATE AREA OF AN IRREGULAR SHAPE ***
  2. 20 REM   (REFERENCE: STOLK & ETTERSHANK, BYTE, 2/87, P. 135)
  3. 30 REM       THIS PROGRAM DESIGNED BY MARK B. FINEMAN
  4. 40 CLS
  5. 50 FOR A=1 TO 24
  6. 60 PRINT TAB(33)"AREA CALCULATOR"
  7. 70 NEXT A
  8. 80 FOR B=1 TO 2000:NEXT B:CLS
  9. 90 DIM X(50), Y(50) 'MAXIMUM NUMBER OF DATA POINTS
  10. 100 CLS
  11. 110 INPUT "ENTER THE PROJECT NAME: ";NM$
  12. 120 CLS
  13. 130 PRINT "WHAT UNIT OF MEASUREMENT ARE YOU USING"
  14. 140 INPUT "(MILLIMETERS, INCHES, ETC.) "; M$: CLS
  15. 150 PRINT "A DATA POINT CONSISTS OF AN XY LOCATION, AND THE TOTAL"
  16. 160 PRINT "MUST COUNT THE FIRST POINT AS BOTH THE FIRST AND LAST POINTS."
  17. 170 PRINT:PRINT
  18. 180 INPUT "WHAT IS THE TOTAL NUMBER OF DATA POINTS (ENTER A MINIMUM OF 3) ";N
  19. 190 CLS
  20. 200 REM    THE TOTAL NUMBER OF DATA POINTS = N, WITH A MAXIMUM OF 50 POINTS
  21. 210 REM *** DATA POINT ENTRY AND CALCULATIONS FOLLOW ***
  22. 220 FOR K=1 TO N
  23. 230   PRINT "X VALUE NUMBER"; K ;"="
  24. 240   INPUT X(K)
  25. 250   PRINT "Y VALUE NUMBER"; K ;"="
  26. 260   INPUT Y(K)
  27. 270   CLS
  28. 280 NEXT K
  29. 290 IF X(1) >< X(N) THEN GOTO 320
  30. 300 IF Y(1) >< Y(N) THEN GOTO 320
  31. 310 GOTO 340
  32. 320 PRINT "ERROR: FIRST AND LAST DATA POINTS MUST BE THE SAME."
  33. 330 PRINT "ENTER YOUR DATA AGAIN...": FOR C=1 TO 2000:NEXT C:GOTO 170
  34. 340 X(0)=X(N)
  35. 350 Y(0)=Y(N)
  36. 360 AREA=0
  37. 370 FOR K=1 TO N-1
  38. 380   AREA=AREA + X(K) * Y(K+1) - X(K+1) * Y(K)
  39. 390 NEXT K
  40. 400 AREA = .5 * ABS(AREA)
  41. 410 PRINT NM$: PRINT
  42. 420 PRINT "AREA IS:"; AREA; "SQUARE ";M$
  43. 430 PRINT: PRINT "DO YOU WANT A PRINTOUT?  IF SO, ENTER YES";
  44. 440 INPUT P$
  45. 450 IF P$="YES" THEN GOTO 470
  46. 460 GOTO 530
  47. 470 LPRINT "AREA IS:"; AREA; "SQUARE ";M$: LPRINT: LPRINT
  48. 480 LPRINT NM$:LPRINT
  49. 490 LPRINT "LOCATION"," X"," Y": LPRINT
  50. 500 FOR C=1 TO N
  51. 510   LPRINT C;"." ,X(C),Y(C)
  52. 520 NEXT C
  53. 530 PRINT: PRINT
  54. 540 PRINT "DO YOU WANT TO RUN ANOTHER AREA CALCULATION?"
  55. 550 PRINT "IF SO, ENTER YES";
  56. 560 INPUT R$
  57. 570 IF R$="YES" THEN GOTO 100
  58. 580 END
  59.