В условии есть одна неточность: не раскрыта суть операции "квадратные скобки". На самом деле это функция floor, возвращающая целое число, не большее исходного. Перепишем формулу в надлежащий математический вид:
В Паскале операция 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;
Перепишем формулу в надлежащий математический вид:
В Паскале операция 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;