Описать функцию подсчитывающую сколько дней прошло от первого января 2005 года до даты d этого года. - Turbo Pascal

Формулировка задачи:

Дан массив записи, представляющий собой календарь(число,месяц,год). Описать функцию подсчитывающую сколько дней прошло от первого января 2005 года до даты d этого года.

Код к задаче: «Описать функцию подсчитывающую сколько дней прошло от первого января 2005 года до даты d этого года. - Turbo Pascal»

textual
function Julian(y, m, d: Integer): Longint;
begin
  if m>2 then Dec(m,3)
  else begin
    Inc(m,9); Dec(y);
  end;
  Julian:=
    146097*(y div 100) div 4 +
    1461  *(y mod 100) div 4 +
    (153*m+2) div 5+d+1721119;
end;
type
  TDate = record
    d, m: ShortInt; y: Integer;
  end;
var
  d: array [1..5] of TDate;
  i: Integer; d0: Longint;
begin
  d0:=Julian(2005,1,1);
  WriteLn('Введите даты в виде ДД ММ ГГГГ (',High(d)-Low(d)+1,'):');
  for i:=Low(d) to High(d) do with d[i] do Read(d,m,y);
  WriteLn('От 01.01.2015:');
  for i:=Low(d) to High(d) do with d[i] do WriteLn(d:2,'.',m:2,'.',y:4,' : ',Julian(y,m,d)-d0);
end.

6   голосов, оценка 3.500 из 5


СОХРАНИТЬ ССЫЛКУ