perm filename CAL.DMP[1,3] blob
sn#430799 filedate 1980-03-18 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 BEGIN"JULDAY"
C00005 ENDMK
C⊗;
BEGIN"JULDAY"
INTEGER e,f,year,tbl,foo,day,month,len;
STRING aid,input,crlf;
REAL a,b,date,c,d;
STRING ARRAY mon[1:13];
LABEL RERUN,LOOP1,NUMB,LOOP2,ALLNO,BY,YR;
mon[1]←"jan";
mon[2]←"feb";
mon[3]←"mar";
mon[4]←"apr";
mon[5]←"may";
mon[6]←"jun";
mon[7]←"jul";
mon[8]←"aug";
mon[9]←"sep";
mon[10]←"oct";
mon[11]←"nov";
mon[12]←"dec";
crlf←'15&'12;
backup;
aid←INCHWL;
tbl←GETBREAK;
SETBREAK(tbl,";","","is");
input←SCAN(aid,tbl,foo);
input←SCAN(aid,tbl,foo);
RERUN:
IF input="" THEN input←INCHWL;
IF input="" THEN GOTO BY;
SETBREAK(tbl," ","","is");
aid←SCAN(input,tbl,foo);
aid←aid[1 TO 3];
month←day←CVD(aid);
a←0;
LOOP1:
a←a+1;
IF a=13 THEN GOTO NUMB;
if aid=mon[a] THEN month←a ELSE GOTO LOOP1;
NUMB:
aid←SCAN(input,tbl,foo);
a←0;
LOOP2:
a←a+1;
IF a=13 THEN GOTO ALLNO;
IF aid=mon[a] THEN month←a ELSE GOTO LOOP2;
GOTO YR;
ALLNO:
day←CVD(aid);
YR:
aid←SCAN(input,tbl,foo);
len←LENGTH(aid);
IF len=4 THEN year←CVD(aid) ELSE year←CVD("19"&aid);
a←365.25;
b←30.6001;
IF month ≤ 2 THEN year←year-1;
IF month ≤ 2 THEN month←month+13 ELSE month←month+1;
e←a*year;
f←b*month;
e←e+f+day+5;
f←c←e/7;
d←c-f;
date←d*7;
f←date+.5;
PRINT(CASE f OF
("SUNDAY",
"MONDAY",
"TUESDAY",
"WEDNESDAY",
"THURSDAY",
"FRIDAY",
"SATURDAY"));
input←"";
PRINT(crlf);
GOTO RERUN;
BY:
END"JULDAY"