как будет выглядеть формула в паскале для вечного календаря
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 displaystyle W=left(d+leftlfloorfrac{13m-1}{5}rightrfloor+leftlfloorfrac{5y}{4}rightrfloor +leftlfloorfrac{-7c}{4}rightrfloorright)mod 7](https://tex.z-dn.net/?f=displaystyle+W%3Dleft%28d%2Bleftlfloorfrac%7B13m-1%7D%7B5%7Drightrfloor%2Bleftlfloorfrac%7B5y%7D%7B4%7Drightrfloor+%2Bleftlfloorfrac%7B-7c%7D%7B4%7Drightrfloorright%29mod++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;
Перепишем формулу в надлежащий математический вид:
В Паскале операция 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;
Вас заинтересует
1 год назад
1 год назад
6 лет назад
6 лет назад
9 лет назад
9 лет назад
9 лет назад