как будет выглядеть формула в паскале для вечного календаря
W = ( d+[(13m-1)/5]+[5y/4]+[-7c/4] ) % 7

Ответы

Ответ дал: Аноним
0
В условии есть одна неточность: не раскрыта суть операции "квадратные скобки". На самом деле это функция floor, возвращающая целое число, не большее исходного.
Перепишем формулу в надлежащий математический вид:
displaystyle W=left(d+leftlfloorfrac{13m-1}{5}rightrfloor+leftlfloorfrac{5y}{4}rightrfloor +leftlfloorfrac{-7c}{4}rightrfloorright)mod  7
В Паскале операция floor для неотрицательного вещественного числа х, а также для отрицательного вещественного числа х с нулевой дробной частью отображается на функцию Trunc(х). Если дробная часть отрицательного числа ненулевая, нужно использовать отображение Trunc(x)-1.
Теперь мы можем записать соответствующее выражение для языка Паскаль:
if c mod 4=0 then W:=-7*(c div 4) else W:=Trunc(-7*c/4)-1;
W:=(d+Trunc((13*m-1)/5)+Trunc(5*y/4)+W) mod 7;
Вас заинтересует