16.06.2009, 20:59 | #1 (permalink) |
Новичок
Регистрация: 16.06.2009
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите сделать программу в паскале!
смысл в том,чтобы программа определяла день недели введенной даты.вот |
16.06.2009, 20:59 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Просмотр похожих постов всегда хорошо помогает в решении проблем Помогите доработать программу на Паскале Помогите составить программу на Паскале Помогите создать программу на турбо Паскале |
16.06.2009, 22:36 | #2 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
CONST DinM:ARRAY[1..12] of BYTE=(31,28,31,30,31,30,31,31,30,31,30,31); VAR N,M,p0,p1,p2,p3,D,i:INTEGER; Full_Number_of_Days:LongInt; Bis:BOOLEAN; DofWeek:STRING; BEGIN Write('Enter the year '); Readln(N); IF (((N mod 4)=0) AND ((N mod 100)>0)) OR (((N mod 4)=0) AND ((N mod 100)=0) AND ((N mod 400)=0)) THEN Bis:=TRUE ELSE Bis:=FALSE; p0:=((N-1) div 400)-(1900 div 400); p1:=((N-1) div 100)-(1900 div 100); p2:=((N-1) div 4)-(1990 div 4); Full_Number_of_Days:=((N-1)-1900)*365+p2-p1+p0; Write('Enter the month (1,2...12) '); Readln(M); FOR i:=1 TO M-1 DO Full_Number_of_Days:=Full_Number_of_Days+DinM[i]; IF Bis AND ((M-1)>=2) THEN Full_Number_of_Days:=Full_Number_of_Days+1; Write('Enter the date (1,2...31) '); Readln(D); Full_Number_of_Days:=Full_Number_of_Days+D; p3:=Full_Number_of_Days mod 7; CASE p3 OF 6: DofWeek:='Monday'; 0: DofWeek:='Tuesday'; 1: DofWeek:='Wednesday'; 2: DofWeek:='Thursday'; 3: DofWeek:='Friday'; 4: DofWeek:='Saturday'; 5: DofWeek:='Sunday'; END; IF M<10 THEN WriteLn(D:2,'.0',M:1,'.',N:4,' is '+DofWeek) ELSE WriteLn(D:2,'.',M:2,'.',N:4,' is '+DofWeek); ReadLn; END. Работает для дат после 1 января 1901 года. Календарь считается Григорианским даже для дореволюционных лет. Последний раз редактировалось Vladimir_S; 16.06.2009 в 23:04 Причина: Была замечена неточность. Исправлена. |
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|