home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / c / civil-ab.zip / MNDOTHYD.ZIP / ARCHPIPE.BAS next >
BASIC Source File  |  1985-08-12  |  28KB  |  682 lines

  1. 1    REM  WRITTEN BY JOE LINN MODIFIED 12/11/80 MODIFIED FOR IBM PC 8/84
  2. 2    REM  HYDRAULICS BY WALLY MARUSENKO
  3. 10   DIM CX(3,6),AX(86,3),A,A8,A9,B,C,C8,D,D0,D6,D7,D8,D9,E,ET,E8,E9,F,H,H9,I,I0
  4. 20   DIM I1,I2,I7,I8,I9,J,J9,K,L,M,M5,M6,M7,N,NA$(40),O,O0,O9,P8,P9,Q,R1,R2,R3,R8
  5. 30   DIM R9,RAD,S,S0,S1,T,T0,T8,T9,V,V1,V8,V9,W,X,X0,X8,X9,Y,Y8,Y9,Z
  6. 40   FORMAT1$="     DISCHARGE= ######.##  CFS     SLOPE= ##.#####"
  7. 50   FORMAT2$="          0.925 _* RISE =###.## FT."
  8. 60   FORMAT3$="          #####.##  #####.##                       #####.### ##.## ##.## ##.###"
  9. 70   FORMAT4$="          #####.##  #####.## ######.##- #######.##- ####.### ##.## ##.## ##.###"
  10. 80   FORMAT5$="          MANNING'S 'N'= #####.###"
  11. 90   FORMAT6$="          NORMAL DEPTH=  #####.##  FT      VELOCITY=  #####.##   FT/SEC"
  12. 100  FORMAT7$="          WETTED PER=    #####.##  FT      WATER WIDTH=####.##  FT"
  13. 110  FORMAT8$="     LENGTH OF CULVERT          #####    FEET"
  14. 120  FORMAT9$="     APPROACH VELOCITY           ####.## FT/SEC"
  15. 130  FORMAT10$="     FULL FLOW VELOCITY          ####.## FT/SEC"
  16. 140  FORMAT11$="     (DC+D)/2                   =####.## FEET"
  17. 150  FORMAT12$="     INPUT VALUE (DC+D)/2 OR TW =####.## FEET"
  18. 160  FORMAT13$="     OUTLET CONTROL HW FOR FULL FLOW           =####.## FEET"
  19. 170  FORMAT14$="     FLOW DEPTH AT INLET        =####.## FEET"
  20. 180  FORMAT15$="     INLET VELOCITY             =####.## FT/SEC"
  21. 190  FORMAT16$="     INLET LOSS COEFFICIENT (KE)=####.####"
  22. 200  FORMAT17$="     OUTLET CONTROL HW FOR PARTIAL FLOW         =####.## FEET"
  23. 210  FORMAT18$="     INLET CONTROL HW                          =####.## FEET"
  24. 220  FORMAT19$="          TOTAL AREA=######.##  SQ FT      TOTAL PERIMETER=######.## FT"
  25. 230  FORMAT20$="          SPAN =####.#  INCHES          OR###.## FEET"
  26. 240  FORMAT21$="          RISE =####.#  INCHES          OR ##.## FEET"
  27. 250  FORMAT22$="          C.R. =####.#  INCHES          OR ##.## FEET"
  28. 255  FORMAT23$="          CRITICAL DEPTH=#####.##  FT      VELOCITY= ######.## FT/SEC"
  29. 260  C1LEAR$=CHR$(12):FORMFEED$=CHR$(12)
  30. 270  WIDTH "lpt1:",120
  31. 280  PI=3.14159
  32. 290  DEF FNCOMM(ARG)=65535!-ARG
  33. 300  DEF FNNCOMP(RAD)=N+(1-SGN(ABS(N)))*.0336/(RAD^.07)
  34. 320  PRINT C1LEAR$
  35. 330  GOTO 460
  36. 340  ON ERROR GOTO 55000
  37. 350  CLOSE #3:CLOSE #2:INPUT "DO YOU WANT PRINTOUT ON   (SCREEN=0  PRINTER=1 BOTH=2)  ",Q9
  38. 352  IF Q9<>0 AND Q9<>1 AND Q9<>2 THEN 170
  39. 355 NA$="scrn:":IF Q9=1 THEN NA$="lpt1:":OPEN "O",#3,NA$:ELSE OPEN "O",#3,NA$
  40. 357  IF Q9=2 THEN OPEN "O",#2,"LPT1:"
  41. 360  REM PRINT #3,FORMFEED$
  42. 370  PRINT #3," "
  43. 375  IF Q9=2 THEN PRINT #2," "
  44. 380  PRINT #3,"######################## CONCRETE AND METAL PIPE ARCH PROGRAM ########################"
  45. 385  IF Q9=2 THEN PRINT #2,"######################## CONCRETE AND METAL PIPE ARCH PROGRAM ########################"
  46. 390  PRINT #3," "
  47. 395  IF Q9=2 THEN PRINT #2," "
  48. 400  PRINT #3," "
  49. 405  IF Q9=2 THEN PRINT #2," "
  50. 420  PRINT #3,"          RUN  DATE  ";DATE$
  51. 425  IF Q9=2 THEN PRINT #2,"          RUN  DATE  ";DATE$
  52. 430  PRINT #3," "
  53. 435  IF Q9=2 THEN PRINT #2," "
  54. 440  ON ERROR GOTO 55000
  55. 450  RETURN
  56. 460  GOSUB 340
  57. 470  PRINT C1LEAR$
  58. 490  PRINT "          RUN  DATE  ";DATE$
  59. 500  PRINT
  60. 510  INPUT "ENTER TYPE?  METAL=0 CONCRETE=1  ",I1:IF I1<>0 AND I1<>1 THEN 510
  61. 520 IF I1=0 THEN 550
  62. 530   AX(0,0)=13.5: AX(0,1)=27.5: AX(0,2)=13.75: AX(0,3)=5.25  :  AX(1,0)=18: AX(1,1)=40.6875: AX(1,2)=14.75: AX(1,3)=4.625  :  AX(2,0)=22.5: AX(2,1)=51: AX(2,2)=18.75: AX(2,3)=6.125  :  AX(3,0)=26.625: AX(3,1)=62: AX(3,2)=22.5: AX(3,3)=6.5
  63. 531      AX(4,0)=31.3125: AX(4,1)=73: AX(4,2)=26.25: AX(4,3)=7.75   :   AX(5,0)=36: AX(5,1)=84: AX(5,2)=30: AX(5,3)=8.875   :   AX(6,0)=40.125: AX(6,1)=92.5: AX(6,2)=33.375: AX(6,3)=10   :   AX(7,0)=45: AX(7,1)=105: AX(7,2)=37.5: AX(7,3)=11
  64. 532     AX(8,0)=54: AX(8,1)=126: AX(8,2)=45: AX(8,3)=13.3125    :    AX(9,0)=62: AX(9,1)=162.5: AX(9,2)=52: AX(9,3)=14.5    :    AX(10,0)=72: AX(10,1)=183: AX(10,2)=59: AX(10,3)=18    :    AX(11,0)=78: AX(11,1)=218: AX(11,2)=62: AX(11,3)=20
  65. 533    AX(12,0)=88: AX(12,1)=269: AX(12,2)=70: AX(12,3)=22  :  AX(13,0)=96.875: AX(13,1)=301.375: AX(13,2)=78: AX(13,3)=24  :  AX(14,0)=106.5: AX(14,1)=329: AX(14,2)=85.625: AX(14,3)=26.875  :  AX(15,0)=0: AX(15,1)=0: AX(15,2)=0: AX(15,3)=0
  66. 540 GOTO 590
  67. 550     AX(0,0)=11: AX(0,1)=19.12: AX(0,2)=10.06: AX(0,3)=3.5   :    AX(1,0)=13.3: AX(1,1)=37.06: AX(1,2)=11.87:AX(1,3)=4   :   AX(2,0)=15.5: AX(2,1)=33.5: AX(2,2)=12.75: AX(2,3)=4: AX(3,0)=17.8   :   AX(3,1)=55: AX(3,2)=14.75: AX(3,3)=4.5:
  68. 551     AX(4,0)=22.2:AX(4,1)=73.25:AX(4,2)=18.25:AX(4,3)=5    :    AX(5,0)=26.6:AX(5,1)=91.56:AX(5,2)=21.56:AX(5,3)=5.5    :    AX(6,0)=31.7:AX(6,1)=97.25:AX(6,2)=25.12:AX(6,3)=6    :    AX(7,0)=35.5:AX(7,1)=115.69: AX(7,2)=29.12:AX(7,3)=7:
  69. 552      AX(8,0)=40:AX(8,1)=129.31:AX(8,2)=32.75:AX(8,3)=8   :   AX(9,0)=44.4:AX(9,1)=142.94:AX(9,2)=36.31:AX(9,3)=9   :   AX(10,0)=48.7:AX(10,1)=145.5:AX(10,2)=39.75:AX(10,3)=10   :   AX(11,0)=54:AX(11,1)=154.5:AX(11,2)=42.625:AX(11,3)=11:
  70. 553      AX(12,0)=55:AX(12,1)=76.3:AX(12,2)=36.8:AX(12,3)=18   :   AX(13,0)=57.1:AX(13,1)=98.6:AX(13,2)=38.1:AX(13,3)=18   :   AX(14,0)=58.9:AX(14,1)=83.5:AX(14,2)=41:AX(14,3)=18   :   AX(15,0)=61.1:AX(15,1)=104.2:AX(15,2)=42.3:AX(15,3)=18:
  71. 554     AX(16,0)=63.2:AX(16,1)=136.2:AX(16,2)=43.51:AX(16,3)=18  :  AX(17,0)=65:AX(17,1)=109.8:AX(17,2)=46.5:AX(17,3)=18  :  AX(18,0)=67.2:AX(18,1)=137.9:AX(18,2)=47.7:AX(18,3)=18  :  AX(19,0)=69.4:AX(19,1)=182.9:AX(19,2)=48.91:AX(19,3)=18:
  72. 555      AX(20,0)=71.1:AX(20,1)=141:AX(20,2)=51.9:AX(20,3)=18  :  AX(21,0)=73.3:AX(21,1)=178.7:AX(21,2)=53.01:AX(21,3)=18  :  AX(22,0)=75.1:AX(22,1)=144.6:AX(22,2)=56.2:AX(22,3)=18  :  AX(23,0)=77.3:AX(23,1)=177.5:AX(23,2)=57.3:AX(23,3)=18:
  73. 556    AX(24,0)=79.5:AX(24,1)=227.7:AX(24,2)=58.31:AX(24,3)=18  :  AX(25,0)=81.2:AX(25,1)=178.3:AX(25,2)=61.5:AX(25,3)=18  :  AX(26,0)=82.9:AX(26,1)=153.2:AX(26,2)=64.9:AX(26,3)=18  :  AX(27,0)=85.1:AX(27,1)=180.4:AX(27,2)=65.9:AX(27,3)=18:
  74. 557       AX(28,0)=86.9:AX(28,1)=157.9:AX(28,2)=69.4:AX(28,3)=18  :  AX(29,0)=89.1:AX(29,1)=183.2:AX(29,2)=70.2:AX(29,3)=18  :  AX(30,0)=91.3:AX(30,1)=216.4:AX(30,2)=71.1:AX(30,3)=18  :  AX(31,0)=93:AX(31,1)=186.5:AX(31,2)=74.7:AX(31,3)=18:
  75. 558    AX(32,0)=95.2:AX(32,1)=216.8:AX(32,2)=75.5:AX(32,3)=18  :  AX(33,0)=97.4:AX(33,1)=257.4:AX(33,2)=76.4:AX(33,3)=18  :  AX(34,0)=99.7:AX(34,1)=314.7:AX(34,2)=77.3:AX(34,3)=18  :  AX(35,0)=101.3:AX(35,1)=254.8:AX(35,2)=80.7:AX(35,3)=18:
  76. 559    AX(36,0)=103:AX(36,1)=220.7:AX(36,2)=84.4:AX(36,3)=18  :  AX(37,0)=105.2:AX(37,1)=254.1:AX(37,2)=85.1:AX(37,3)=18  :  AX(38,0)=107.5:AX(38,1)=297.6:AX(38,2)=85.9:AX(38,3)=18  :  AX(39,0)=109.2:AX(39,1)=254.3:AX(39,2)=89.6:AX(39,3)=18
  77. 560    AX(40,0)=110.8:AX(40,1)=226.8:AX(40,2)=93.4:AX(40,3)=18  :  AX(41,0)=113.1:AX(41,1)=255.7:AX(41,2)=94:AX(41,3)=18  :  AX(42,0)=115.3:AX(42,1)=291.5:AX(42,2)=94.7:AX(42,3)=18  :  AX(43,0)=117.6:AX(43,1)=338.1:AX(43,2)=95.5:AX(43,3)=18
  78. 561  AX(44,0)=119.2:AX(44,1)=290.9:AX(44,2)=99.2  :  AX(44,3)=18:AX(45,0)=121.5:AX(45,1)=332.7:AX(45,2)=99.9  :  AX(45,3)=18:AX(46,0)=112.3:AX(46,1)=192.6:AX(46,2)=80.1:AX(46,3)=31  :  AX(47,0)=114.4:AX(47,1)=220.8:AX(47,2)=81.3:AX(47,3)=31
  79. 562  AX(48,0)=116.2:AX(48,1)=197.9:AX(48,2)=84.4:AX(48,3)=31  :  AX(49,0)=118.4:AX(49,1)=222.6:AX(49,2)=85.6:AX(49,3)=31  :  AX(50,0)=120.5:AX(50,1)=256.6:AX(50,2)=86.6:AX(50,3)=31  :  AX(51,0)=122.3:AX(51,1)=227.7:AX(51,2)=89.8:AX(51,3)=31
  80. 563    AX(52,0)=124.1:AX(52,1)=208.5:AX(52,2)=93.1:AX(52,3)=31  :  AX(53,0)=126.3:AX(53,1)=232.1:AX(53,2)=94.1:AX(53,3)=31  :  AX(54,0)=128.5:AX(54,1)=260.6:AX(54,2)=95.2:AX(54,3)=31  :  AX(55,0)=130.2:AX(55,1)=236:AX(55,2)=98.5:AX(55,3)=31
  81. 564       AX(56,0)=132.4:AX(56,1)=263.2:AX(56,2)=99.5:AX(56,3)=31 : AX(57,0)=134.2:AX(57,1)=241:AX(57,2)=102.9:AX(57,3)=31 : AX(58,0)=136.3:AX(58,1)=266.8:AX(58,2)=103.8:AX(58,3)=31 : AX(59,0)=138.5:AX(59,1)=297.9:AX(59,2)=104.8:AX(59,3)=31
  82. 565    AX(60,0)=140.3:AX(60,1)=270.6:AX(60,2)=108.2:AX(60,3)=31 : AX(61,0)=142.4:AX(61,1)=299.7:AX(61,2)=109.1:AX(61,3)=31 : AX(62,0)=144.2:AX(62,1)=274.5:AX(62,2)=112.6:AX(62,3)=31 : AX(63,0)=146.4:AX(63,1)=302.3:AX(63,2)=113.5:AX(63,3)=31
  83. 566      AX(64,0)=148.1:AX(64,1)=278.6:AX(64,2)=117:AX(64,3)=31 : AX(65,0)=150.3:AX(65,1)=305.1:AX(65,2)=117.9:AX(65,3)=31 : AX(66,0)=152.5:AX(66,1)=336.5:AX(66,2)=118.8:AX(66,3)=31 : AX(67,0)=154.7:AX(67,1)=374.3:AX(67,2)=119.7:AX(67,3)=31
  84. 567    AX(68,0)=156.4:AX(68,1)=338.1:AX(68,2)=123.2:AX(68,3)=31  :  AX(69,0)=158.6:AX(69,1)=373.5:AX(69,2)=124:AX(69,3)=31  :  AX(70,0)=167:AX(70,1)=224.2:AX(70,2)=122.7:AX(70,3)=47  :  AX(71,0)=171:AX(71,1)=256.4:AX(71,2)=124.9:AX(71,3)=47
  85. 568       AX(72,0)=175:AX(72,1)=237.3:AX(72,2)=131.7:AX(72,3)=47  :  AX(73,0)=179:AX(73,1)=268.8:AX(73,2)=133.7:AX(73,3)=47  :  AX(74,0)=183:AX(74,1)=274.9:AX(74,2)=138.2:AX(74,3)=47  :  AX(75,0)=187:AX(75,1)=281:AX(75,2)=142.7:AX(75,3)=47:
  86. 569     AX(76,0)=190:AX(76,1)=262.8:AX(76,2)=150:AX(76,3)=47   :   AX(77,0)=195:AX(77,1)=293:AX(77,2)=151.7:AX(77,3)=47   :   AX(78,0)=199:AX(78,1)=299:AX(78,2)=156.2: AX(78,3)=47   :   AX(79,0)=202:AX(79,1)=281.3:AX(79,2)=163.9:AX(79,3)=47
  87. 570       AX(80,0)=206:AX(80,1)=287.4:AX(80,2)=168.6:AX(80,3)=47  :  AX(81,0)=210:AX(81,1)=293.5:AX(81,2)=173.3:AX(81,3)=47  :  AX(82,0)=214:AX(82,1)=299.6:AX(82,2)=178:AX(82,3)=47  :  AX(83,0)=218:AX(83,1)=286.7:AX(83,2)=186.6:AX(83,3)=47:
  88. 571    AX(84,0)=222:AX(84,1)=311.6:AX(84,2)=187.5:AX(84,3)=47:AX(85,0)=226:AX(85,1)=340.1:AX(85,2)=188.6:AX(85,3)=47:AX(86,0)=0:AX(86,1)=0:AX(86,2)=0:AX(86,3)=0
  89. 590  PRINT #3," "
  90. 595  IF Q9=2 THEN PRINT #2," "
  91. 600  R9=360/(2*PI)
  92. 610  I9=0
  93. 620  K=0
  94. 630  I7=0
  95. 640  O=1
  96. 650  PRINT "ENTER DISCHARGE";
  97. 660  INPUT Q
  98. 670  PRINT "ENTER SLOPE";
  99. 680  INPUT S
  100. 690  PRINT #3,USING FORMAT1$;Q,S
  101. 695  IF Q9=2 THEN PRINT #2,USING FORMAT1$;Q,S
  102. 700  PRINT #3," "
  103. 705  IF Q9=2 THEN PRINT #2," "
  104. 710  M=0
  105. 720  PRINT "ENTER DEPTH OF MATERIAL";
  106. 730  INPUT M
  107. 740  PRINT "ENTER ";
  108. 750  IF M=0 THEN 800
  109. 760  PRINT "COMPOSITE MANNING'S 'N'";
  110. 770  INPUT N
  111. 780  IF N<>0 THEN 890
  112. 790  GOTO 740
  113. 800  PRINT "MANNING'S N";
  114. 810  IF I1=1 THEN 830
  115. 820  PRINT " OR 0 (FOR CALCULATED `N`)";
  116. 830  INPUT N
  117. 840  IF I1=1 AND N=0 THEN 740
  118. 850  IF N<>0 THEN 880
  119. 860  PRINT #3,TAB(6);"DEPTH OF MATERIAL =";M
  120. 865  IF Q9=2 THEN PRINT #2,TAB(6);"DEPTH OF MATERIAL =";M
  121. 870  GOTO 930
  122. 880  IF M=0 THEN 910
  123. 890  PRINT #3,TAB(6);"COMPOSITE ";
  124. 895  IF Q9=2 THEN PRINT #2,TAB(6);"COMPOSITE ";
  125. 900  GOTO 920
  126. 910  PRINT #3,"     ";
  127. 915  IF Q9=2 THEN PRINT #2,"     ";
  128. 920  PRINT #3,"MANNING'S 'N'=";N,"DEPTH OF MATERIAL =";M
  129. 925  IF Q9=2 THEN PRINT #2,"MANNING'S 'N'=";N,"DEPTH OF MATERIAL =";M
  130. 930  PRINT #3," "
  131. 935  IF Q9=2 THEN PRINT #2," "
  132. 940  PRINT "IS DATA CORRECT?  YES=0  NO=1";
  133. 950  INPUT T0
  134. 960  IF T0=1 THEN 650
  135. 970  ON O GOTO 980,1000
  136. 980  GOSUB 4730
  137. 990  GOTO 1010
  138. 1000 GOSUB 5160
  139. 1010 J9=0
  140. 1020 D6=H-M
  141. 1030 PRINT #3,USING FORMAT2$;.925*D6
  142. 1035 IF Q9=2 THEN PRINT #2,USING FORMAT2$;.925*D6
  143. 1040 PRINT #3," "
  144. 1045 IF Q9=2 THEN PRINT #2," "
  145. 1050 IF M=0 THEN 1140
  146. 1060 PRINT #3,"     NOTE: DEPTHS ARE ABOVE TOP OF BURIED MATERIAL"
  147. 1065 IF Q9=2 THEN PRINT #2,"     NOTE: DEPTHS ARE ABOVE TOP OF BURIED MATERIAL"
  148. 1070 PRINT #3," "
  149. 1075 IF Q9=2 THEN PRINT #2," "
  150. 1080 X0=M
  151. 1090 GOSUB 4370
  152. 1100 M5=A8
  153. 1110 M6=P8
  154. 1120 M7=C8
  155. 1130 O9=A9-M5
  156. 1140 I0=3
  157. 1150 IF M=0 THEN 1180
  158. 1160 X0=M+.1
  159. 1170 GOTO 1190
  160. 1180 X0=.1
  161. 1190 IF J9=1 THEN 1220
  162. 1200 T8=1.16*Q*Q/32.2
  163. 1210 GOTO 1230
  164. 1220 T8=Q/(1.49*SQR(S))
  165. 1230 GOSUB 4370
  166. 1240 IF M<>0 THEN 1260
  167. 1250 O9=A9
  168. 1260 IF J9=1 THEN 1310
  169. 1270 IF M=0 THEN 1290
  170. 1280 A8=A8-M5
  171. 1290 T9=A8^3/C8
  172. 1300 GOTO 1360
  173. 1310 IF M=0 THEN 1340
  174. 1320 A8=A8-M5
  175. 1330 P8=P8-M6+M7
  176. 1340 R8=A8/P8
  177. 1350 T9=A8*R8^.6667/FNNCOMP(R8)
  178. 1360 IF I0<.001 THEN 2740
  179. 1370 IF T9<T8 THEN 1420
  180. 1380 X0=X0-I0
  181. 1390 I0=.2*I0
  182. 1400 X0=X0+I0
  183. 1410 GOTO 1430
  184. 1420 X0=X0+I0
  185. 1430 IF X0 >= H THEN 1380
  186. 1440 IF J9=0 THEN 1230
  187. 1450 IF X0<(.925*D6+M) THEN 1230
  188. 1460 IF I0>.05 THEN 1230
  189. 1470 X0=H
  190. 1480 IF M=0 THEN 1520
  191. 1490 A8=A9-M5
  192. 1500 P8=P9-M6+M7
  193. 1510 GOTO 1540
  194. 1520 A8=A9
  195. 1530 P8=P9
  196. 1540 C8=0
  197. 1550 GOTO 2870
  198. 1560 PRINT "NEED WATER PROFILE? YES=0 NO=1";
  199. 1570 INPUT T0
  200. 1580 IF T0>0 THEN 2560
  201. 1590 PRINT "ENTER INITIAL DEPTH OVER FLOWLINE";
  202. 1600 INPUT D8
  203. 1610 IF D8 <= .925*D6 THEN 1640
  204. 1620 PRINT "MUST BE < 0.925 * RISE"
  205. 1630 GOTO 1590
  206. 1640 PRINT "ENTER FINAL DEPTH OVER FLOWLINE";
  207. 1650 INPUT D9
  208. 1660 PRINT "ENTER INCREMENT";
  209. 1670 INPUT D7
  210. 1680 PRINT #3," "
  211. 1685 IF Q9=2 THEN PRINT #2," "
  212. 1690 PRINT #3,TAB(5);"INITIAL DEPTH= ";D8;"FINAL DEPTH= ";D9;"INCREMENT= ";D7
  213. 1695 IF Q9=2 THEN PRINT #2,TAB(5);"INITIAL DEPTH= ";D8;"FINAL DEPTH= ";D9;"INCREMENT= ";D7
  214. 1700 PRINT #3," "
  215. 1705 IF Q9=2 THEN PRINT #2," "
  216. 1710 PRINT "IS DATA CORRECT?  YES=0  NO=1 ";
  217. 1720 INPUT T0
  218. 1730 IF T0<1 THEN 1750
  219. 1740 GOTO 1590
  220. 1750 L=0
  221. 1760 IF ABS(D8-Y8)>.005 THEN 1790
  222. 1770 D8=Y8
  223. 1780 GOTO 1800
  224. 1790 IF ABS(D8-Y9)<.005 THEN 2290
  225. 1800 IF D8<H THEN 1840
  226. 1810 PRINT #3,"INITIAL DEPTH EXCEEDS RISE  -  TRY AGAIN"
  227. 1815 IF Q9=2 THEN PRINT #2,"INITIAL DEPTH EXCEEDS RISE  -  TRY AGAIN"
  228. 1820 PRINT #3," "
  229. 1825 IF Q9=2 THEN PRINT #2," "
  230. 1830 GOTO 1590
  231. 1840 PRINT #3,"          DEPTH-FT   VELOCITY   DELTA X   SUM OF X'S-FT  HYD   WET  WAT    'N'"
  232. 1845 IF Q9=2 THEN PRINT #2,"          DEPTH-FT   VELOCITY   DELTA X   SUM OF X'S-FT  HYD   WET  WAT    'N'"
  233. 1850 PRINT #3,TAB(14);"(CONTROL IS: NEG=DOWNSTREAM; POS=UPSTREAM)  RAD   PER  SURF"
  234. 1855 IF Q9=2 THEN PRINT #2,TAB(14);"(CONTROL IS: NEG=DOWNSTREAM; POS=UPSTREAM)  RAD   PER  SURF"
  235. 1860 X8=0
  236. 1870 X0=D8
  237. 1880 IF D8>D9 THEN 1910
  238. 1890 D7=ABS(D7)
  239. 1900 GOTO 1920
  240. 1910 D7=-ABS(D7)
  241. 1920 L=L+1
  242. 1930 IF M=0 THEN 1950
  243. 1940 X0=X0+M
  244. 1950 GOSUB 4370
  245. 1960 IF M=0 THEN 1990
  246. 1970 A8=A8-M5
  247. 1980 P8=P8+M7-M6
  248. 1990 R8=(A8/P8)^1.3333
  249. 2000 V1=Q/A8
  250. 2010 IF M=0 THEN 2030
  251. 2020 X0=X0-M
  252. 2030 E9=X0+1.16*V1*V1/64.4
  253. 2040 S1=Q^2*FNNCOMP(A8/P8)^2/(2.21*R8*A8^2)
  254. 2050 IF L<>1 THEN 2080
  255. 2060 PRINT #3,USING FORMAT3$;X0,V1,A8/P8,P8,C8,FNNCOMP(A8/P8)
  256. 2065 IF Q9=2 THEN PRINT #2,USING FORMAT3$;X0,V1,A8/P8,P8,C8,FNNCOMP(A8/P8)
  257. 2070 GOTO 2120
  258. 2080 X9=(E9-E8)/(S-((S0+S1)/2))
  259. 2090 X8=X8+X9
  260. 2100 T0=A8/P8
  261. 2110 PRINT #3,USING FORMAT4$;X0,V1,X9,X8,T0,P8,C8,FNNCOMP(A8/P8)
  262. 2115 IF Q9=2 THEN PRINT #2,USING FORMAT4$;X0,V1,X9,X8,T0,P8,C8,FNNCOMP(A8/P8)
  263. 2120 E8=E9
  264. 2130 S0=S1
  265. 2140 X0=X0+D7
  266. 2150 IF D7<0 THEN 2210
  267. 2160 IF X0<.925*D6 THEN 2190
  268. 2170 PRINT #3,TAB(10);"DEPTH EXCEEDS 0.925 * RISE THEREFORE FULL FLOW COND. EXISTS"
  269. 2175 IF Q9=2 THEN PRINT #2,TAB(10);"DEPTH EXCEEDS 0.925 * RISE THEREFORE FULL FLOW COND. EXISTS"
  270. 2180 GOTO 2560
  271. 2190 IF X0>D9 THEN 2560
  272. 2200 GOTO 2230
  273. 2210 IF X0<.05 THEN 2560
  274. 2220 IF X0<D9 THEN 2560
  275. 2230 IF Y8>Y9 THEN 2420
  276. 2240 IF D8>Y9 AND D7<0 THEN 2330
  277. 2250 IF D8>Y9 AND D7>0 THEN 2290
  278. 2260 IF D8<Y8 AND D7>0 THEN 2360
  279. 2270 IF D8<Y8 AND D7<0 THEN 2290
  280. 2280 IF D8 >= Y8 AND D7>0 THEN 2390
  281. 2290 PRINT #3,TAB(5);"+++IMPOSSIBLE PROFILE --- TRY AGAIN"
  282. 2295 IF Q9=2 THEN PRINT #2,TAB(5);"+++IMPOSSIBLE PROFILE --- TRY AGAIN"
  283. 2300 PRINT #3," "
  284. 2305 IF Q9=2 THEN PRINT #2," "
  285. 2310 PRINT #3," "
  286. 2315 IF Q9=2 THEN PRINT #2," "
  287. 2320 GOTO 1590
  288. 2330 IF X0 >= Y9 THEN 1920
  289. 2340 PRINT #3,TAB(10);"BACKWATER CURVE (M-1) GOES BELOW NORMAL DEPTH"
  290. 2345 IF Q9=2 THEN PRINT #2,TAB(10);"BACKWATER CURVE (M-1) GOES BELOW NORMAL DEPTH"
  291. 2350 GOTO 2560
  292. 2360 IF X0 <= Y8 THEN 1920
  293. 2370 PRINT #3,TAB(10);"SUPER-CRITICAL FLOW (M-3) EXCEEDS CRITICAL DEPTH"
  294. 2375 IF Q9=2 THEN PRINT #2,TAB(10);"SUPER-CRITICAL FLOW (M-3) EXCEEDS CRITICAL DEPTH"
  295. 2380 GOTO 2560
  296. 2390 IF X0 <= Y9 THEN 1920
  297. 2400 PRINT #3,TAB(10);"DROWDAWN CURVE (M-2) EXCEEDS NORMAL DEPTH"
  298. 2405 IF Q9=2 THEN PRINT #2,TAB(10);"DROWDAWN CURVE (M-2) EXCEEDS NORMAL DEPTH"
  299. 2410 GOTO 2560
  300. 2420 IF D8>Y8 AND D7<0 THEN 2480
  301. 2430 IF D8>Y8 AND D7>0 THEN 2290
  302. 2440 IF D8<Y9 AND D7>0 THEN 2510
  303. 2450 IF D8<Y9 AND D7<0 THEN 2290
  304. 2460 IF D8>Y9 AND D7<0 THEN 2540
  305. 2470 GOTO 2290
  306. 2480 IF X0 >= Y8 THEN 1920
  307. 2490 PRINT #3,TAB(10);"SUB-CRITICAL FLOW (S-1) GOES BELOW CRITICAL DEPTH"
  308. 2495 IF Q9=2 THEN PRINT #2,TAB(10);"SUB-CRITICAL FLOW (S-1) GOES BELOW CRITICAL DEPTH"
  309. 2500 GOTO 2560
  310. 2510 IF X0 <= Y9 THEN 1920
  311. 2520 PRINT #3,TAB(10);"SUPER-CRITICAL FLOW (S-3) EXCEEDS NORMAL DEPTH"
  312. 2525 IF Q9=2 THEN PRINT #2,TAB(10);"SUPER-CRITICAL FLOW (S-3) EXCEEDS NORMAL DEPTH"
  313. 2530 GOTO 2560
  314. 2540 IF X0 >= Y9 THEN 1920
  315. 2550 PRINT #3,TAB(10);"SUPER-CRITICAL FLOW (S-2) GOES BELOW NORMAL DEPTH"
  316. 2555 IF Q9=2 THEN PRINT #2,TAB(10);"SUPER-CRITICAL FLOW (S-2) GOES BELOW NORMAL DEPTH"
  317. 2560 PRINT
  318. 2570 PRINT "NEW?:  SIZE=1  HYDRAULICS=2  PROFILE=3  HEAD WATER=4"
  319. 2580 PRINT "       MATERIAL (METAL OR CONCRETE)=5   DONE=6"
  320. 2590 PRINT #3," "
  321. 2595 IF Q9=2 THEN PRINT #2," "
  322. 2600 INPUT T0
  323. 2610 IF O<>1 THEN 2630
  324. 2620 O=O+1
  325. 2630 IF T0<>1 AND T0<>4 THEN 2670
  326. 2640 PRINT #3," "
  327. 2645 IF Q9=2 THEN PRINT #2," "
  328. 2650 GOSUB 340
  329. 2660 GOSUB 4230
  330. 2670 ON T0 GOTO 2680,2690,1590,2960,460,2730
  331. 2680 I9=0
  332. 2690 ON T0 GOTO 980,2710
  333. 2700 GOTO 2560
  334. 2710 GOSUB 340
  335. 2720 GOTO 650
  336. 2730 CHAIN "MENU"
  337. 2740 IF J9=1 THEN 2870
  338. 2750 Y8=X0
  339. 2760 V8=Q/A8
  340. 2770 IF M=0 THEN 2790
  341. 2780 Y8=Y8-M
  342. 2790 PRINT #3,USING FORMAT23$;Y8,V8
  343. 2795 IF Q9=2 THEN PRINT #2,USING FORMAT23$;Y8,V8
  344. 2810 PRINT #3,USING FORMAT7$;P8,C8
  345. 2815 IF Q9=2 THEN PRINT #2,USING FORMAT7$;P8,C8
  346. 2830 PRINT #3,USING FORMAT5$;FNNCOMP(A8/P8)
  347. 2835 IF Q9=2 THEN PRINT #2,USING FORMAT5$;FNNCOMP(A8/P8)
  348. 2840 PRINT #3," "
  349. 2845 IF Q9=2 THEN PRINT #2," "
  350. 2850 J9=1
  351. 2860 GOTO 1140
  352. 2870 Y9=X0
  353. 2880 V9=Q/A8
  354. 2890 IF M=0 THEN 2910
  355. 2900 Y9=Y9-M
  356. 2910 PRINT #3,USING FORMAT6$;Y9,V9
  357. 2915 IF Q9=2 THEN PRINT #2,USING FORMAT6$;Y9,V9
  358. 2920 PRINT #3,USING FORMAT7$;P8,C8
  359. 2925 IF Q9=2 THEN PRINT #2,USING FORMAT7$;P8,C8
  360. 2930 PRINT #3,USING FORMAT5$;FNNCOMP(A8/P8)
  361. 2935 IF Q9=2 THEN PRINT #2,USING FORMAT5$;FNNCOMP(A8/P8)
  362. 2940 PRINT #3," "
  363. 2945 IF Q9=2 THEN PRINT #2," "
  364. 2950 GOTO 1560
  365. 2960 GOSUB 5160
  366. 2970 PRINT #3,USING FORMAT23$;Y8,V8
  367. 2975 IF Q9=2 THEN PRINT #2,USING FORMAT23$;Y8,V8
  368. 2980 PRINT #3," "
  369. 2985 IF Q9=2 THEN PRINT #2," "
  370. 2990 PRINT #3,USING FORMAT6$;Y9,V9
  371. 2995 IF Q9=2 THEN PRINT #2,USING FORMAT6$;Y9,V9
  372. 3000 PRINT #3," "
  373. 3005 IF Q9=2 THEN PRINT #2," "
  374. 3010 PRINT #3," "
  375. 3015 IF Q9=2 THEN PRINT #2," "
  376. 3020 PRINT #3,">>>>>>>>>> HEAD WATER CALCULATIONS <<<<<<<<<<"
  377. 3025 IF Q9=2 THEN PRINT #2,">>>>>>>>>> HEAD WATER CALCULATIONS <<<<<<<<<<"
  378. 3030 PRINT #3," "
  379. 3035 IF Q9=2 THEN PRINT #2," "
  380. 3040 PRINT #3,"     ///// OUTLET CONTROL /////"
  381. 3045 IF Q9=2 THEN PRINT #2,"     ///// OUTLET CONTROL /////"
  382. 3050 PRINT #3," "
  383. 3055 IF Q9=2 THEN PRINT #2," "
  384. 3060 PRINT "FULL FLOW CONDITION  1=YES 0=N0";
  385. 3070 INPUT T0
  386. 3080 IF T0=0 THEN 3360
  387. 3090 PRINT "ENTER LENGTH OF CULVERT";
  388. 3100 INPUT T0
  389. 3110 PRINT #3,USING FORMAT8$;T0
  390. 3115 IF Q9=2 THEN PRINT #2,USING FORMAT8$;T0
  391. 3120 PRINT "INLET LOSS COEFFICIENT (KE)";
  392. 3130 INPUT K
  393. 3140 PRINT #3,USING FORMAT16$;K
  394. 3145 IF Q9=2 THEN PRINT #2,USING FORMAT16$;K
  395. 3150 V1=Q/A9
  396. 3160 O0=A9/P9
  397. 3170 IF M=0 THEN 3200
  398. 3180 V1=Q/(A9-M5)
  399. 3190 O0=(A9-M5)/(P9-M6+M7)
  400. 3200 PRINT "ENTER APPROACH VELOCITY";
  401. 3210 INPUT X0
  402. 3220 PRINT #3,USING FORMAT9$;X0
  403. 3225 IF Q9=2 THEN PRINT #2,USING FORMAT9$;X0
  404. 3230 PRINT #3,USING FORMAT10$;V1
  405. 3235 IF Q9=2 THEN PRINT #2,USING FORMAT10$;V1
  406. 3240 V1=(1+K+29.13*(FNNCOMP(O0))^2*T0/O0^(4/3))*V1^2/64.3
  407. 3250 PRINT #3,USING FORMAT11$;(Y8+D6)/2
  408. 3255 IF Q9=2 THEN PRINT #2,USING FORMAT11$;(Y8+D6)/2
  409. 3260 PRINT #3," "
  410. 3265 IF Q9=2 THEN PRINT #2," "
  411. 3270 PRINT #3," "
  412. 3275 IF Q9=2 THEN PRINT #2," "
  413. 3280 PRINT "ENT. LARGER VALUE (DC+D)/2 OR TW";
  414. 3290 INPUT O0
  415. 3300 PRINT #3,USING FORMAT12$;O0
  416. 3305 IF Q9=2 THEN PRINT #2,USING FORMAT12$;O0
  417. 3310 PRINT #3," "
  418. 3315 IF Q9=2 THEN PRINT #2," "
  419. 3320 PRINT #3,USING FORMAT13$;V1+O0-S*T0-X0*X0/64.4
  420. 3325 IF Q9=2 THEN PRINT #2,USING FORMAT13$;V1+O0-S*T0-X0*X0/64.4
  421. 3330 PRINT #3," "
  422. 3335 IF Q9=2 THEN PRINT #2," "
  423. 3340 PRINT #3," "
  424. 3345 IF Q9=2 THEN PRINT #2," "
  425. 3350 GOTO 3600
  426. 3360 PRINT "FLOW DEPTH AT INLET";
  427. 3370 INPUT D0
  428. 3380 IF Y8<Y9 OR D0>Y8 THEN 3430
  429. 3390 PRINT "IMPROPER INLET DEPTH. CONINUE=0";
  430. 3400 INPUT O0
  431. 3410 PRINT "> YC FOR SUPER CRITICAL FLOW"
  432. 3420 GOTO 3360
  433. 3430 PRINT #3,USING FORMAT14$;D0
  434. 3435 IF Q9=2 THEN PRINT #2,USING FORMAT14$;D0
  435. 3440 PRINT "INLET VELOCITY";
  436. 3450 INPUT V
  437. 3460 PRINT #3,USING FORMAT15$;V
  438. 3465 IF Q9=2 THEN PRINT #2,USING FORMAT15$;V
  439. 3470 PRINT "INLET LOSS COEFFICIENT (KE)";
  440. 3480 INPUT K
  441. 3490 PRINT #3,USING FORMAT16$;K
  442. 3495 IF Q9=2 THEN PRINT #2,USING FORMAT16$;K
  443. 3500 PRINT "ENTER APPROACH VELOCITY";
  444. 3510 INPUT X0
  445. 3520 PRINT #3,USING FORMAT9$;X0
  446. 3525 IF Q9=2 THEN PRINT #2,USING FORMAT9$;X0
  447. 3530 PRINT "IS DATA CORRECT  0=YES 1=NO";
  448. 3540 INPUT O0
  449. 3550 IF O0=1 THEN 3140
  450. 3560 PRINT #3," "
  451. 3565 IF Q9=2 THEN PRINT #2," "
  452. 3570 PRINT #3,USING FORMAT17$;D0+(1+K)*(V^2)/64.4-X0*X0/64.4
  453. 3575 IF Q9=2 THEN PRINT #2,USING FORMAT17$;D0+(1+K)*(V^2)/64.4-X0*X0/64.4
  454. 3580 PRINT #3," "
  455. 3585 IF Q9=2 THEN PRINT #2," "
  456. 3590 PRINT #3," "
  457. 3595 IF Q9=2 THEN PRINT #2," "
  458. 3600 PRINT #3,"     ///// INLET CONTROL /////"
  459. 3605 IF Q9=2 THEN PRINT #2,"     ///// INLET CONTROL /////"
  460. 3610 PRINT #3," "
  461. 3615 IF Q9=2 THEN PRINT #2," "
  462. 3620 CX(1,1)=.0890527
  463. 3630 CX(1,2)=.712545
  464. 3640 CX(1,3)=-.270921
  465. 3650 CX(1,4)=.0792502
  466. 3660 CX(1,5)=-7.98048E-03
  467. 3670 CX(1,6)=2.93213E-04
  468. 3680 CX(2,1)=.0833006
  469. 3690 CX(2,2)=.795145
  470. 3700 CX(2,3)=-.434075
  471. 3710 CX(2,4)=.163774
  472. 3720 CX(2,5)=-.0249139
  473. 3730 CX(2,6)=1.41066E-03
  474. 3740 CX(3,1)=.111281
  475. 3750 CX(3,2)=.610579
  476. 3760 CX(3,3)=-.19437
  477. 3770 CX(3,4)=.0512893
  478. 3780 CX(3,5)=-4.80538E-03
  479. 3790 CX(3,6)=1.68547E-04
  480. 3800 PRINT "ENTER INLET TYPE:"
  481. 3810 PRINT "     1=PROJECTING, 2=MITERED, 3=APRON (OR HEADWALL)";
  482. 3820 INPUT I8
  483. 3830 PRINT #3,TAB(6);"INLET TYPE "
  484. 3835 IF Q9=2 THEN PRINT #2,TAB(6);"INLET TYPE "
  485. 3840 ON I8 GOTO 3870,3890,3910
  486. 3850 PRINT "MUST BE 1 - 3"
  487. 3860 GOTO 3800
  488. 3870 PRINT #3,TAB(6);"PROJECTING"
  489. 3875 IF Q9=2 THEN PRINT #2,TAB(6);"PROJECTING"
  490. 3880 GOTO 3920
  491. 3890 PRINT #3,TAB(6);"MITERED"
  492. 3895 IF Q9=2 THEN PRINT #2,TAB(6);"MITERED"
  493. 3900 GOTO 3920
  494. 3910 PRINT #3,TAB(6);"APRON  (OR HEADWALL)"
  495. 3915 IF Q9=2 THEN PRINT #2,TAB(6);"APRON  (OR HEADWALL)"
  496. 3920 X=Q/(W*H^1.5)
  497. 3930 Y=CX(I8,1)+CX(I8,2)*X+CX(I8,3)*X*X+CX(I8,4)*X*X*X+CX(I8,5)*X^4+CX(I8,6)*X^5-S/2
  498. 3940 IF I8<>2 THEN 3960
  499. 3950 Y=Y+S/2
  500. 3960 H9=H*Y
  501. 3970 IF I1=0 THEN 4180
  502. 3980 H=H*12
  503. 3990 IF H=13.5 THEN 4080
  504. 4000 IF H=36 OR H=78 THEN 4100
  505. 4010 IF H=40.125 THEN 4120
  506. 4020 IF H=45 THEN 4140
  507. 4030 IF H=54 OR H=62 THEN 4160
  508. 4040 IF H=72 THEN 4120
  509. 4050 IF H=88 OR H=96.875 THEN 4120
  510. 4060 H9=H9*.98
  511. 4070 GOTO 4170
  512. 4080 H9=H9*.9
  513. 4090 GOTO 4170
  514. 4100 H9=H9*1
  515. 4110 GOTO 4170
  516. 4120 H9=H9*.97
  517. 4130 GOTO 4170
  518. 4140 H9=H9*1.04
  519. 4150 GOTO 4170
  520. 4160 H9=H9*.93
  521. 4170 H=H/12
  522. 4180 PRINT #3," "
  523. 4185 IF Q9=2 THEN PRINT #2," "
  524. 4190 PRINT #3,USING FORMAT18$;H9
  525. 4195 IF Q9=2 THEN PRINT #2,USING FORMAT18$;H9
  526. 4200 PRINT #3," "
  527. 4205 IF Q9=2 THEN PRINT #2," "
  528. 4210 PRINT #3," "
  529. 4215 IF Q9=2 THEN PRINT #2," "
  530. 4220 GOTO 2560
  531. 4230 PRINT #3,USING FORMAT1$;Q,S
  532. 4235 IF Q9=2 THEN PRINT #2,USING FORMAT1$;Q,S
  533. 4240 PRINT #3," "
  534. 4245 IF Q9=2 THEN PRINT #2," "
  535. 4250 IF N<>0 THEN 4290
  536. 4260 PRINT #3,TAB(6);"DEPTH OF MATERIAL =";
  537. 4265 IF Q9=2 THEN PRINT #2,TAB(6);"DEPTH OF MATERIAL =";
  538. 4270 PRINT #3,M
  539. 4275 IF Q9=2 THEN PRINT #2,M
  540. 4280 GOTO 4350
  541. 4290 IF M=0 THEN 4320
  542. 4300 PRINT #3,TAB(6);"COMPOSITE ";
  543. 4305 IF Q9=2 THEN PRINT #2,TAB(6);"COMPOSITE ";
  544. 4310 GOTO 4330
  545. 4320 PRINT #3,"     ";
  546. 4325 IF Q9=2 THEN PRINT #2,"     ";
  547. 4330 PRINT #3,"MANNING'S 'N' =";N,"DEPTH OF MATERIAL =";
  548. 4335 IF Q9=2 THEN PRINT #2,"MANNING'S 'N' =";N,"DEPTH OF MATERIAL =";
  549. 4340 PRINT #3,M
  550. 4345 IF Q9=2 THEN PRINT #2,M
  551. 4350 PRINT #3," "
  552. 4355 IF Q9=2 THEN PRINT #2," "
  553. 4360 RETURN
  554. 4370 IF I9=12 THEN 4480
  555. 4380 E=SQR(Z*Z-C*C)
  556. 4390 B=E+H-R1
  557. 4400 F=ATN(C/(R3-B))
  558. 4410 I=PI-F-D
  559. 4420 J=PI/2-D
  560. 4430 A9=R3*R3*F-(R3-B)*C-C*E+R1*R1*D+R2*R2*I
  561. 4440 P9=2*(R3*F+R2*I+R1*D)
  562. 4450 PRINT #3,USING FORMAT19$;A9,P9
  563. 4455 IF Q9=2 THEN PRINT #2,USING FORMAT19$;A9,P9
  564. 4460 PRINT #3," "
  565. 4465 IF Q9=2 THEN PRINT #2," "
  566. 4470 I9=12
  567. 4480 IF X0>R3-R3*COS(F) THEN 4550
  568. 4490 T=(R3-X0)/R3
  569. 4500 T=2*ATN(SQR(1-T*T)/T)
  570. 4510 A8=R3*R3*(T-SIN(T))/2
  571. 4520 P8=R3*T
  572. 4530 C8=2*R3*SIN(T/2)
  573. 4540 GOTO 4720
  574. 4550 IF X0>B THEN 4610
  575. 4560 A8=(R2-(B-X0)*(R3-R2)/(R3-B))^2*(I-J)+R3*R3*F
  576. 4570 A8=A8-(R3-X0)*C/(R3-B)*(R3-X0)
  577. 4580 P8=2*(R3*F+(R2-(B-X0)*(R3-R2)/(R3-B))*(I-J))
  578. 4590 C8=2*((R2-(B-X0)*(R3-R2)/(R3-B)+(R3-X0)*C/(R3-B)))
  579. 4600 GOTO 4720
  580. 4610 IF X0>R2*SIN(J)+B THEN 4670
  581. 4620 T=(X0-B+E)/COS(D)
  582. 4630 A8=R3*R3*F-(R3-B)*C+(C*T/(R1-R2)+C)*(X0-B)+R2*R2*I-(R1-T)^2*J
  583. 4640 P8=2*(R3*F+R2*I-(R1-T)*J)
  584. 4650 C8=2*(C*T/(R1-R2)+R1-T)
  585. 4660 GOTO 4720
  586. 4670 T=(X0-B+E)/R1
  587. 4680 T=ATN(SQR(1-T*T)/T)
  588. 4690 A8=A9-.5*R1*R1*(2*T-SIN(2*T))
  589. 4700 P8=P9-R1*2*T
  590. 4710 C8=2*R1*SIN(T)
  591. 4720 RETURN
  592. 4730 PRINT "ENTER RISE IN INCHES EX. 77.3";
  593. 4740 INPUT H
  594. 4750 IF I1=0 THEN 4780
  595. 4760 I2=15
  596. 4770 GOTO 4800
  597. 4780 I2=12
  598. 4790 IF H>54 THEN 4870
  599. 4800 FOR A=1 TO I2
  600. 4810 IF INT(H+.5)=INT(AX(A-1,0)+.5) THEN 4910
  601. 4820 NEXT A
  602. 4830 PRINT "RISE OF";H;" INCHES NOT AN ALLOWABLE SIZE"
  603. 4840 PRINT
  604. 4850 GOTO 4730
  605. 4860 IF I1=1 THEN 4910
  606. 4870 FOR A=13 TO 86
  607. 4880 IF H=AX(A-1,0) THEN 4910
  608. 4890 NEXT A
  609. 4900 GOTO 4830
  610. 4910 H=AX(A-1,0)/12
  611. 4920 R1=AX(A-1,2)/12
  612. 4930 R2=AX(A-1,3)/12
  613. 4940 R3=AX(A-1,1)/12
  614. 4950 Y=R3-H+R1
  615. 4960 X=R3-R2
  616. 4970 Z=R1-R2
  617. 4980 D=(Y*Y+Z*Z-X*X)/(2*Y*Z)
  618. 4990 D=ATN(SQR(1-D*D)/D)
  619. 5000 C=Z*SIN(D)
  620. 5010 W=2*(R2+C)
  621. 5020 IF I1=0 THEN 5050
  622. 5030 PRINT #3,"     ---- CONCRETE";
  623. 5040 GOTO 5090
  624. 5050 IF R2<>47/12 THEN 5080
  625. 5060 PRINT #3,"     ---- ALUMINUM";
  626. 5065 IF Q9=2 THEN PRINT #2,"     ---- ALUMINUM";
  627. 5070 GOTO 5090
  628. 5080 PRINT #3,"     ---- STEEL";
  629. 5085 IF Q9=2 THEN PRINT #2,"     ---- STEEL";
  630. 5090 PRINT #3," ARCH ----"
  631. 5095 IF Q9=2 THEN PRINT #2," ARCH ----"
  632. 5100 PRINT #3," "
  633. 5105 IF Q9=2 THEN PRINT #2," "
  634. 5110 PRINT #3,USING FORMAT20$;12*W,W
  635. 5115 IF Q9=2 THEN PRINT #2,USING FORMAT20$;12*W,W
  636. 5120 PRINT #3,USING FORMAT21$;12*H,H
  637. 5125 IF Q9=2 THEN PRINT #2,USING FORMAT21$;12*H,H
  638. 5130 PRINT #3,USING FORMAT22$;AX(A-1,3),AX(A-1,3)/12
  639. 5135 IF Q9=2 THEN PRINT #2,USING FORMAT22$;AX(A-1,3),AX(A-1,3)/12
  640. 5140 PRINT #3," "
  641. 5145 IF Q9=2 THEN PRINT #2," "
  642. 5150 RETURN
  643. 5160 IF I1=0 THEN 5190
  644. 5170 PRINT #3,"     ---- CONCRETE";
  645. 5175 IF Q9=2 THEN PRINT #2,"     ---- CONCRETE";
  646. 5180 GOTO 5230
  647. 5190 IF AX(A-1,3)<>47 THEN 5220
  648. 5200 PRINT #3,"     ---- ALUMINUM";
  649. 5205 IF Q9=2 THEN PRINT #2,"     ---- ALUMINUM";
  650. 5210 GOTO 5230
  651. 5220 PRINT #3,"     ---- STEEL";
  652. 5225 IF Q9=2 THEN PRINT #2,"     ---- STEEL";
  653. 5230 PRINT #3," ARCH ----"
  654. 5235 IF Q9=2 THEN PRINT #2," ARCH ----"
  655. 5240 PRINT #3," "
  656. 5245 IF Q9=2 THEN PRINT #2," "
  657. 5250 PRINT #3,USING FORMAT20$;12*W,W
  658. 5255 IF Q9=2 THEN PRINT #2,USING FORMAT20$;12*W,W
  659. 5260 PRINT #3,USING FORMAT21$;12*H,H
  660. 5265 IF Q9=2 THEN PRINT #2,USING FORMAT21$;12*H,H
  661. 5270 PRINT #3,USING FORMAT22$;AX(A-1,3),AX(A-1,3)/12
  662. 5275 IF Q9=2 THEN PRINT #2,USING FORMAT22$;AX(A-1,3),AX(A-1,3)/12
  663. 5280 PRINT #3," "
  664. 5285 IF Q9=2 THEN PRINT #2," "
  665. 5290 PRINT #3,USING FORMAT19$;A9,P9
  666. 5295 IF Q9=2 THEN PRINT #2,USING FORMAT19$;A9,P9
  667. 5300 PRINT #3," "
  668. 5305 IF Q9=2 THEN PRINT #2," "
  669. 5310 RETURN
  670. 55000 REM **************    ERROR   TRAPING   ROUTINE    ******************************************************************************                         '
  671. 55010 ET=ERR :EL=ERL
  672. 55020 PRINT:PRINT:PRINT
  673. 55030 IF ET=25 THEN PRINT"PRINTER IS NOT READY":GOTO 55070
  674. 55040 IF ET=24 THEN PRINT "PRINTER IS OUT OF PAPER. REPLACE PAPER ":GOTO 55070
  675. 55050 IF ET>=70 AND ET<=72 THEN PRINT"DISK ERROR < not ready , media error , etc. > ":PRINT"PRESS ANY KEY TO CONTINUE":GOTO 55080
  676. 55060 IF ET=53 THEN PRINT"MENU NOT ON DEFAULT DRIVE DISK":RESUME 55110:ELSE PRINT"ERROR # " ET " ON LINE # " EL:RESUME 55110
  677. 55070 PRINT "Turn on printer. Make sure  'ON LINE '  light is on.":PRINT:PRINT:PRINT "PRESS ANY KEY TO CONTINUE"
  678. 55080 AA$=INKEY$:IF AA$="" THEN 55080
  679. 55090 RESUME
  680. 55100 REM **********************************************************************
  681. 55110 ON ERROR GOTO 0:END
  682.