1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| 10 CLS : SET F0 : DIM K ( 3 ) : DIM O(3) : INPUT " Z stat ( m ) ? " , Z
15 INPUT " PO =1 PGV = 2 ? " ,Y : I F Y = 2 ; Y = 1.5 : GOTO 30
20 IF Y <>1 THEN 15
30 INPUT " dis = 0 con = 1 ? " , W: A$ = " Top ": B$ = " AZ . I "
40 Z = Y * ROUND ( Z / Y / 100 , - 1 ) : X = ( 22 * Y - Z ) / Y
50 INPUT " Top NR " , S : IF S < = 0 THEN 50
60 K(1) = 0 : K(2) = 0 : R = 2 : IF S < X THEN R = 1
70 N = S * Y + Z : T = N + R * Y
80 IF N > 170 THEN 10
90 S = ( N - Z - R * Y ) / Y : J = 1
100 GOSUB 300
110 S = S + R : J = 3
120 IF W * K(1) * K(2) = 0 THEN 140
130 IF N>T THEN 150
140 S = S + R
150 GOSUB 300
160 GOSUB 400
170 IF W = 0 THEN 50
180 R = 2 : IF S < X THEN R = 1
190 N = N + R * Y
200 IF S = X THEN 230
210 IF N <= T THEN 230
220 K(1) = K(2) : O(1) = O(2)
230 K(2) = K(3) : O(2) = O(3)
240 IF N <= T THEN 90
250 GOTO 110
300 PRINT A$; S ; B$ ; : INPUT C : IF C=0 THEN 340
310 K(J) = ( INT (C)) / 10
320 O(J) =100 * FRAC (C) : IF O(J) = 0 THEN 300
330 O(J) = 100 * S * Y/ TAN (O(J)) : GOTO 350
340 IF S <> 0 THEN 300
350 RETURN
400 F = O(3) * COS (K(3)) - O(1) * COS (K(1)): E = S - R
405 G = O(3) * SIN(K(3)) - O(1) * SIN(K(1)) : I= SQR (F * F + G * G) / R
410 IF F<>0 THEN H = ATN(G / F): GOTO 420
415 GOTO 435
420 IF G = 0 THEN GOTO 435
425 IF F < 0 THEN F = 0
430 GOTO 455
435 H = K(1) + K(3): IF H <= 360 THEN F = 1
440 IF H >= 540 THEN F= -1
445 H = K(3): IF K(1) > K(3) THEN F = 1
450 IF K(3) > K(1) THEN F= -1
455 IF F <> 0 THEN H = H + 180 * ABS (F) / F
460 IF H <=0 THEN H = H + 360: GOTO 460
465 U=10*ROUND( H/10, -1 ): V=I*324E- 4 : IF U=0 THEN U = 360
470 PRINT " V " ; E ; " = " ; U ; " / " ; V
480 RETURN
600 END |
Partager