b AS INTEGER, mm AS
DIM SHARED DAYS(1 TO 12)
FOR j=l TO 12: READ DAYS(j): NEXT j
CLS
INPUT "Задайте год : ",Y%
INPUT "Задайте месяц : ",M4
calendar Y%,M%
END
SUB calendar(Y%,M%)
DIM i AS INTEGER, j AS INTEGER, k AS INTEGER, q AS INTEGER
DIM a(42),b$<7)
b$(0}="понедельник": b$(1)="вторник ": b$(2)="среда
b$(3)="четверг ": b$(4)="пятница ": b$(5)="суббота
b$(6)="воскресенье"
CLS
PRINT "Календарь на ";М%;" месяц ";Y%;" года"
i=WeekDay(Y%,M%,l)
IFi=0 THEN i=7
q-MaxDay(Y%,M%)
FOR j=0 TO 41: a(j)=0: NEXT j
k=l
FOR j=i-l TO q+i-2: a(j)=k: k=k+l: NEXT j
FOR j=0 TO 6
LOCATE j+3,10: PRINT b$(j);
k=0
WHILE k<=35
IF a(k+j)<>0 THEN
PRINT USING "####";a(k+j); ELSE PRINT " ";
END IF k=k+7
WEND NEXT j END SUB
FUNCTION JD(Y%,M%,DT)
DIM a AS INTEGER, b AS INTEGER, mm AS INTEGER, yy AS INTEGER
DIM с AS LONG
b=0
yy=Y%
mm=M%
IF M%<3 THEN yy=yy-l: mm=mm+12
a=yy\100
IF Y%+M%/100!+DT/10000>1582.1015# THEN b=b+2-a+a\4
END IF
c=INT(365.25*yy) IF yy<0 THEN c=INT(365.25*yy-.75)
JD=c+INT(30.6001*(mm+1))+DT+1720994.5#+b END FUNCTION
FUNCTION MaxDay(Y%,M%)
MaxDay=DAYS(M%)
IF M%<>2 THEN EXIT FUNCTION
IF (Y% MOD 400=0)OR((Y% MOD 4=0)AND(Y% MOD l00<>0) ) THEN MaxDay=29
END IF END FUNCTION
FUNCTION WeekDay(Y%,M%,D%) dl!=D%+1.5
WeekDay=INT(JD(Y%,M%,dl!)) MOD 7 END FUNCTION
Программа 9_08.с
#include <stdio.h>
#include <conio.h>
void calendar(int Y,int M);
int week_day(int Y,int M,int D) ;
double JD(int Y,int M,double DT);
int max_day(int Y,int M);
main() {
int Y,M;
clrscr();
printf("Задайте год : ");
scanf("%d",&Y);
printf("Задайте месяц : ");
scanf("%d",&M);
calendar(Y,M);
getch(};
}
/*-------------------------------------------*/
void calendar'(int Y, int M) {
int a[42],i, j,k,q;
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий