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"