Цитата:
Сообщение от Настена18
Здравствуйте!! Задачка на Паскале..
День учителя ежегодно отмечается в первое воскресенье октября. Дано натуральное число n, означающее номер года. Определить число, на которое в октябре указанного года приходится день учителя...
Вот...помогите, пожалуйста, завтра уже сдавать..До этого задача была сделана таким образом, что все опиралось на 2000..год и работала с 2000...но препода это не устраивает..
|
Пожалуйста:
VAR
N,p0,p1,p2,p3,Date:INTEGER;
Full_Number_of_Days:LongInt;
BEGIN
Write('Enter the year '); Readln(N);
p0:=(N div 400)-(1994 div 400);
p1:=(N div 100)-(1994 div 100);
p2:=(N div 4)-(1994 div 4);
Full_Number_of_Days:=(N-1994)*365+p2-p1+p0;
p3:=Full_Number_of_Days mod 7;
IF p3>=2 THEN Date:=9-p3 ELSE Date:=2-p3;
WriteLn('The Teacher Day in',N:5,' is ',Date:2,' of October');
ReadLn;
END.
Здесь за основу взят 1994 год - год введения Дня учителя. Программа работает для любого года, начиная с 1994 и до конца времён.