home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
SIMTEL
/
CPMUG
/
CPMUG041.ARK
/
MOONLOC1.BAS
< prev
next >
Wrap
BASIC Source File
|
1984-04-29
|
2KB
|
90 lines
10 DATA 37,23.5,122,10.5
20 DATA 5
100 REM THIS PROGRAM CALCULATES MOON AIMING DATA FROM A SPECIFIED
110 REM QTH AT SELECTED TIME INTERVALS DURING THE HOUR.
120 REM
130 REM DATA REQUIREMENTS ARE AS FOLLOWS:
140 REM
150 REM LINE 10 - LATITUDE DEGREES, LATITUDE MINUTES,
160 REM LONGITUDE DEGREES, LONGITUDE MINUTES
170 REM
180 REM LINE 20 - TIME INTERVAL FOR CALCULATIONS IN MINUTES
190 REM
200 REM LINE 1050--ALMANAC DATA CONSISTING OF THE TIME, GHA DEGREES
210 REM GHA MINUTES, DECLINATION DEGREES AND DECLINATION
220 REM MINUTES
230 REM
240 REM DATA MUST BE GIVEN FOR BOTH THE BEGINNING AND
250 REM END OF THE HOUR. THAT IS, IF AIMING DATA IS
260 REM DESIRED FOR HOURS BEGINNING 0900,1000, AND 1100
270 REM YOU MUST SHOW DATA FOR 0900,1000,1100 AND 1200
280 REM
290 REM TO INDICATE THE END OF THE HOURLY DATA INCLUDE A SINGLE
300 REM DATA LINE WITH A ONE, A TWO FOR FINISHED MONTH
305 REM WITH THIS METHOD A MONTH AT A TIME CAN BE DONE
310 REM
320 LET R=1.74533E-02
330 LET P1=180*R
340 LET P3=360*R
350 READ L3,L4
360 LET L1=(L3+L4/60)*R
370 READ L3,L4
380 LET L2=(L3+L4/60)*R
390 LET L3=SIN(L1)
400 LET L4=COS(L1)
405 READ J1
406 LET J=60/J1
410 PRINT
420 PRINT
430 PRINT
440 PRINT "MOON AIMING DATA SPECIFICALLY PREPARED FOR K6MYC"
450 PRINT
460 PRINT
470 PRINT "TIME","AZIMUTH","ELEVATION"
480 PRINT
510 READ B
530 READ B1,B2,B3,B4
540 LET G1=(B1+B2/60)*R
550 LET D1=(B3+B4/60)*R
560 READ B5
570 IF B5=1 THEN 450
576 IF B5=2 THEN 2000
577 IF B5=3 THEN 480
580 READ B1,B2,B3,B4
590 LET G2=(B1+B2/60)*R
600 LET D2=(B3+B4/60)*R
610 LET G0=(G2-G1)/J
620 IF G0>0 THEN 640
630 LET G0=(G2+P3-G1)/J
640 LET D0=(D2-D1)/J
650 LET G=G1
660 LET D=D1
670 FOR I=0 TO 59 STEP J1
680 LET D3=SIN(D)
690 LET D4=COS(D)
700 LET H=L2-G
710 IF H-P1<0 THEN 750
720 IF H-P1=0 THEN 770
730 LET H=P3-H
740 GOTO 770
750 IF H+P1 >= 0 THEN 770
760 LET H=P3+H
770 LET A=0
780 LET E=0
790 LET E3=L3*D3+L4*D4*COS(H)
800 IF E3<0 THEN 940
900 IF A >= 0 THEN 940
910 LET A=P3+A
920 GOTO 940
930 LET A=P1-A
940 LET A=INT(10*A/R+.5)/10
950 PRINT B+1,A,E
960 LET G=G+G0
970 LET D=D+D0
980 NEXT I
990 LET G1=G2
1000 LET D1=D2
1010 LET B=B5
1020 GOTO 560
2000 END