home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1992-06-30 | 4.3 KB | 76 lines |
- 10 REM -----------------------------------------------
- 20 REM F C C D I S T A N C E P R O G R A M
- 30 REM -----------------------------------------------
- 40 REM
- 50 CLS : COLOR 7,0 : KEY OFF
- 60 PRINT "KEYTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENCLOSE"
- 70 PRINT "OPEN "; : COLOR 0,7 : PRINT " SITE TO SITE DISTANCE USING GEOGRAPHICAL COORDINATES -- FCC METHOD "; : COLOR 7,0 : PRINT " OPEN"
- 80 PRINT "SCREENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENTHENLOAD"
- 90 CL$ = " " 'Clear Line
- 95 DIM L(10), G(10)
- 100 FOR I = 1 TO 6 : L(I) = 0 : NEXT I
- 110 FOR I = 1 TO 6 : G(I) = 0 : NEXT I
- 120 LOCATE 6,30 : COLOR 7 : PRINT "COORDINATES A"
- 130 LOCATE 7,1 : PRINT "SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND"
- 140 LOCATE 9,1 : PRINT "SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND"
- 150 LOCATE 12,30 : COLOR 7 : PRINT "COORDINATES B"
- 160 LOCATE 13,1 : PRINT "SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND"
- 170 LOCATE 15,1 : PRINT "SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND"
- 180 GOSUB 610
- 190 GOSUB 680
- 200 GOSUB 210 : GOSUB 280 : GOTO 350
- 210 LOCATE 8,14 : INPUT "",L1$ : L1 = VAL(L1$) : IF L1 < 0 OR L1 > 180 THEN 210 ELSE GOSUB 610 : GOSUB 620
- 220 LOCATE 8,20 : INPUT "",L2$ : L2 = VAL(L2$) : IF L2 < 0 OR L2 > 59.9 THEN 220 ELSE GOSUB 610 : GOSUB 620 : GOSUB 630
- 230 LOCATE 8,25 : INPUT "",L3$ : L3 = VAL(L3$) : IF L3 < 0 OR L3 > 59.9 THEN 230 ELSE GOSUB 610 : GOSUB 620 : GOSUB 630 : GOSUB 640
- 240 LOCATE 8,61 : INPUT "",G1$ : G1 = VAL(G1$) : IF G1 < 0 OR G1 > 180 THEN 240 ELSE GOSUB 610 : GOSUB 620 : GOSUB 630 : GOSUB 640 : GOSUB 650
- 250 LOCATE 8,67 : INPUT "",G2$ : G2 = VAL(G2$) : IF G2 < 0 OR G2 > 59.9 THEN 250 ELSE GOSUB 610 : GOSUB 620 : GOSUB 630 : GOSUB 640 : GOSUB 650 : GOSUB 660
- 260 LOCATE 8,73 : INPUT "",G3$ : G3 = VAL(G3$) : IF G3 < 0 OR G3 > 59.9 THEN 260 ELSE GOSUB 610 : GOSUB 620 : GOSUB 630 : GOSUB 640 : GOSUB 650 : GOSUB 660 : GOSUB 670
- 270 RETURN
- 280 LOCATE 14,14 : INPUT "",L4$ : L4 = VAL(L4$) : IF L4 < 0 OR L4 > 180 THEN 280 ELSE GOSUB 680 : GOSUB 690
- 290 LOCATE 14,20 : INPUT "",L5$ : L5 = VAL(L5$) : IF L5 < 0 OR L5 > 59.9 THEN 290 ELSE GOSUB 680 : GOSUB 690 : GOSUB 700
- 300 LOCATE 14,25 : INPUT "",L6$ : L6 = VAL(L6$) : IF L6 < 0 OR L6 > 59.9 THEN 300 ELSE GOSUB 680 : GOSUB 690 : GOSUB 700 : GOSUB 710
- 310 LOCATE 14,61 : INPUT "",G4$ : G4 = VAL(G4$) : IF G4 < 0 OR G4 > 180 THEN 310 ELSE GOSUB 680 : GOSUB 690 : GOSUB 700 : GOSUB 710 : GOSUB 720
- 320 LOCATE 14,67 : INPUT "",G5$ : G5 = VAL(G5$) : IF G5 < 0 OR G5 > 59.9 THEN 320 ELSE GOSUB 680 : GOSUB 690 : GOSUB 700 : GOSUB 710 : GOSUB 720 : GOSUB 730
- 330 LOCATE 14,73 : INPUT "",G6$ : G6 = VAL(G6$) : IF G6 < 0 OR G6 > 59.9 THEN 330 ELSE GOSUB 680 : GOSUB 690 : GOSUB 700 : GOSUB 710 : GOSUB 720 : GOSUB 730 : GOSUB 740
- 340 RETURN
- 350 LOCATE 22,1:PRINT CL$:LOCATE 22,1:COLOR 15:PRINT "A";:COLOR 7:PRINT " - Change Coordinates A ";:COLOR 15:PRINT "B";:COLOR 7:PRINT " - Change Coordinates B ";:COLOR 15:PRINT "C";:COLOR 7:PRINT " - Calculate Distance" : COLOR 7
- 360 A$ = INPUT$(1)
- 370 IF A$ = "a" OR A$ = "A" THEN GOSUB 610 : GOSUB 210 : GOTO 350
- 380 IF A$ = "b" OR A$ = "B" THEN GOSUB 680 : GOSUB 280 : GOTO 350
- 390 IF A$ = "c" OR A$ = "C" THEN GOTO 410
- 400 GOTO 360
- 410 LR = L1 + ((L2 + (L3 / 60)) / 60) : GG = G1 + ((G2 + (G3 / 60)) / 60) : LS = L4 + ((L5 + (L6 / 60)) / 60) : GS = G4 + ((G5 + (G6 / 60)) / 60)
- 420 LL = (LR + LS) / 2 : RR = LL / 57.2958 : KT = 68.53 + (LL * 0.0116) : KN = 69.25 * COS(RR) : DT = LS - LR :DN = GG - GS : MT = DT * KT : MN = DN * KN : MI = SQR (MN^2 + MT^2) : KM = MI * 1.609
- 430 IF MT = 0 THEN GOTO 460
- 440 AQ = MN / MT
- 450 GOTO 480
- 460 IF MN > 0 THEN AQ = 9999
- 470 IF MN =< 0 THEN AQ = -9999
- 480 AZ = 57.2985 * ATN(AQ)
- 490 IF MT < 0 THEN AZ = AZ + 180
- 500 IF AZ < 0 THEN AZ = AZ + 360
- 510 LOCATE 18,10 : PRINT USING "Distance: ###.## Miles";MI
- 520 LOCATE 19,20 : PRINT USING "###.## Kilometers";KM
- 530 LOCATE 18, 47 : PRINT USING "Bearing: N ###.# E Degrees";AZ
- 540 LOCATE 22,1:PRINT CL$:LOCATE 22,5:COLOR 15:PRINT "A";:COLOR 7:PRINT " - Change Coordinates A ";:COLOR 15:PRINT "B";:COLOR 7:PRINT " - Change Coordinates B ";:COLOR 15:PRINT "Q";:COLOR 7:PRINT " - Quit" : COLOR 7
- 550 A$ = INPUT$(1)
- 560 IF A$ = "a" OR A$ = "A" THEN GOSUB 600 : GOSUB 610 : GOSUB 210 : GOTO 350
- 570 IF A$ = "b" OR A$ = "B" THEN GOSUB 600 : GOSUB 680 : GOSUB 280 : GOTO 350
- 580 IF A$ = "q" OR A$ = "Q" THEN RUN "TECHMENU"
- 590 GOTO 550
- 600 LOCATE 18,1 : PRINT CL$ : LOCATE 19,1 : PRINT CL$ : LOCATE 22,1 : PRINT CL$ : RETURN : REM CLEAR ANSWER LINES
- 610 LOCATE 8,2 : PRINT"LATITUDE: <UNK! {00F8}> ' "; CHR$(34); " LONGITUDE: <UNK! {00F8}> ' ";CHR$(34) : RETURN
- 620 LOCATE 8,14 : PRINT USING "###"; L1 : RETURN
- 630 LOCATE 8,20 : PRINT USING "##"; L2 : RETURN
- 640 LOCATE 8,25 : PRINT USING "##.#"; L3 : RETURN
- 650 LOCATE 8,61 : PRINT USING "###"; G1 : RETURN
- 660 LOCATE 8,67 : PRINT USING "##"; G2 : RETURN
- 670 LOCATE 8,73 : PRINT USING "##.#"; G3 : RETURN
- 680 LOCATE 14,2 : PRINT"LATITUDE: <UNK! {00F8}> ' "; CHR$(34); " LONGITUDE: <UNK! {00F8}> ' ";CHR$(34) : RETURN
- 690 LOCATE 14,14 : PRINT USING "###"; L4 : RETURN
- 700 LOCATE 14,20 : PRINT USING "##"; L5 : RETURN
- 710 LOCATE 14,25 : PRINT USING "##.#"; L6 : RETURN
- 720 LOCATE 14,61 : PRINT USING "###"; G4 : RETURN
- 730 LOCATE 14,67 : PRINT USING "##"; G5 : RETURN
- 740 LOCATE 14,73 : PRINT USING "##.#"; G6 : RETURN
-