|
|
DataMuseum.dkPresents historical artifacts from the history of: Q1 computer |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Q1 computer Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 5293 (0x14ad)
Types: Q1_Text, reclen=79
Notes: q1file
Names: »FÄRDPLAN«
└─⟦95b7b493b⟧ Bits:30008570 DDMQ1-0005_Vers_3_2_BUDGET
└─⟦this⟧ »FÄRDPLAN«
PUT FILE(DISPLAY) SKIP LIST('GRADER, MIN, SEK, S ELLER N STARTLATITUD ');
DCL B1 CHAR(1);
DCL B2 CHAR(1);
DCL B3 CHAR(1);
DCL B4 CHAR(1);
DCL G FIXED(13,8);
DCL AM FIXED(13,8);
DCL S FIXED(13,8);
DCL G1 FIXED(13,8);
DCL AM1 FIXED(13,8);
DCL S1 FIXED(13,8);
DCL G2 FIXED(13,8);
DCL AM2 FIXED(13,8);
DCL S2 FIXED(13,8);
DCL G3 FIXED(13,8);
DCL AM3 FIXED(13,8);
DCL S3 FIXED(13,8);
DCL SLONG FIXED(13,8);
DCL SLAT FIXED(13,8);
DCL DLAT FIXED(13,8);
DCL DLONG FIXED(13,8);
DCL DIST FIXED(13,8);
DCL HDG FIXED(13,8);
GET LIST(G,AM,S,B1);
PUT FILE(DIPLAY) SKIP LIST('GRADER, MIN, SEK, E ELLER W STARTLONGITUD ');
GET LIST(G1,AM1,S1,B2);
PUT FILE(DISPLAY) SKIP LIST('GRADER, MIN, SEK, S ELLER N DEST. LATITUD ');
GET LIST(G2,AM2,S2,B3);
PUT FILE(DISPLAY) SKIP LIST('GRADER, MIN, SEK, E ELLER W DEST.LONGITUD ');
GET LIST(G3,AM3,S3,B4);
PUT SKIP(6) LIST(' STARTLATITUDEN: ');
PUT EDIT(G) (P'ZZV.')(AM)(P'ZZV.') (S) (P'ZZ',X(1));
PUT LIST(B1);
PUT SKIP(2) LIST(' STARTLONGITUDEN: ');
PUT EDIT(G1) (P'ZZV.') (AM1) (P'ZZV.') (S1) (P'ZZ',X(1));
PUT LIST(B2);
PUT SKIP(2) LIST(' DEST.LATITUDEN: ');
PUT EDIT(G2) (P'ZZV.') (AM2) (P'ZZV.') (S2) (P'ZZ',X(1));
PUT LIST(B3);
PUT SKIP(2) LIST(' DEST.LONGITUDEN: ');
PUT EDIT(G3) (P'ZZV.') (AM3) (P'ZZV.') (S3) (P'ZZ',X(1));
PUT LIST(B4);
PI = 57.29577951;
GG = G + AM / 60 + S / 3600;
IF(B1 = 'S') THEN GG = - GG;
SLAT = GG / PI;
GG1 = G1 + AM1 / 60 + S1 / 3600;
IF(B2 = 'E') THEN GG1 = - GG1;
SLONG = GG1 / PI;
GG2 = G2 + AM2 / 60 + S2 / 3600;
IF(B3 = 'S') THEN GG2 = - GG2;
DLAT = GG2 / PI;
GG3 = G3 + AM3 / 60 + S3 / 3600;
IF(B4 = 'E') THEN GG3 = - GG3;
RAD = 1.5707963;
DLONG = GG3 / PI;
DIST = RAD - ASIN(SIN(SLAT) * SIN(DLAT)+COS(SLAT)*COS(DLAT)*COS(SLONG-DLONG));
HDG = RAD -ASIN((SIN(DLAT)-COS(DIST) * SIN(SLAT))/(SIN(DIST) *COS(SLAT)));
DIST = DIST * 60 * PI;
HDG = HDG * PI;
IF(SIN(SLONG - DLONG) < 0) THEN HDG = 360 - HDG;
PUT SKIP(4) EDIT(DIST) (X(20),P'ZZZZZ9V.9999');
PUT LIST(' DISTANSMINUTER');
PUT SKIP(2) EDIT(HDG) (X(20),P'ZZZZZ9V.9999');
PUT LIST(' GRADER (DECIMALT)');
END;