1 REM +++++++++++++++++++++++++++++++++ 2 REM ! Program .... DATUM.BAS 3 REM ! Utg}va 1982-05-15 4 REM ! av (c) Johan Hedin <525> 7 REM ! Minne 16 Kbytes 9 REM +++++++++++++++++++++++++++++++++ 10 REM 11 REM Screening av 12 REM Allan Varcoe & G|ran Olsson 13 REM 14 IF PEEK(472)=80 THEN ; INP(3) 15 REM +++++++++++++++++++++++++++++++++ 20 DIM A1(12),A2(12) 21 FOR I=1 TO 12 22 READ A1(I),A2(I) 23 IF I<8 READ A$(I) 24 A1(I)=A1(I)+30 : NEXT I 25 DATA 1,0,L\RDAG,-2,31,S\NDAG,1,59 26 DATA M]NDAG,0,90,TISDAG,1,120 27 DATA ONSDAG,0,151,TORSDAG,1,181 28 DATA FREDAG,1,212,0,243,1,273,0 29 DATA 304,1,334 30 ONERRORGOTO 30 31 ; CHR$(12)TAB(10)"DATUM" 32 ; TAB(9)CHR$(23)"#####" 33 ; "Programmet ber{knar "; 34 ; "antalet dagar" 35 ; "mellan tv} datum och {ven vilka" 36 ; "veckodagar datumen var." : ; 37 ; "F|rsta datum" 38 ; "]],MM,DD" : ; : INPUT ],M,D 39 IF ]<100% ]=]+1900 40 GOSUB 52 : IF I=0% 50 41 I1=I : A1=A 42 ; CUR(12,0)"Andra datum" 43 ; "]],MM,DD" : ; : INPUT ],M,D 44 IF ]<100% ]=]+1900 45 GOSUB 52 : IF I=0% 50 46 ; CUR(18,0)"Skilnaden ="ABS(A-A1); 47 ; " Dagar." : ; 48 ; "F|rsta datumet var en "A$(I1) 49 ; "Andra datumet var en "A$(I) 50 ; : ; "Vill du forts{tta "; 51 GET A$ : IF A$="N" END ELSE 30 52 REM OTIL]TET DATUM? 53 IF M>12% 71 54 I=0 : IF M<>2% 58 55 IF ]/4<>INT(]/4) 58 56 IF ]/400=INT(]/400) I=1 : GOTO 58 57 IF ]/100<>INT(]/100) I=1 58 IF D>A1(M)+I THEN 71 59 A=A2(M)+]*365+INT(]/4)+D+1 60 A=A-INT(]/100)+INT(]/400) 61 IF ]/4<>INT(]/4) 65 62 IF ]/400=INT(]/400) 64 63 IF ]/100=INT(]/100) 65 64 IF M<3% A=A-1 65 IF M>2% 67 66 M=M+12 : ]=]-1 67 I=D+2*M+INT(.6*(M+1))+]+INT(]/4) 68 I=I-INT(]/100)+INT(]/400)+2 69 I=INT((I/7-INT(I/7))*7+.5)+1 70 RETURN 71 ; : ; "Datumet st{mmer inte!" 72 ; "F|rs|k igen." : RETURN