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

Узнай цену своей работы

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

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

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

textual
Листинг программы
  1. function Julian(y, m, d: Integer): Longint;
  2. begin
  3.   if m>2 then Dec(m,3)
  4.   else begin
  5.     Inc(m,9); Dec(y);
  6.   end;
  7.   Julian:=
  8.     146097*(y div 100) div 4 +
  9.     1461  *(y mod 100) div 4 +
  10.     (153*m+2) div 5+d+1721119;
  11. end;
  12. type
  13.   TDate = record
  14.     d, m: ShortInt; y: Integer;
  15.   end;
  16. var
  17.   d: array [1..5] of TDate;
  18.   i: Integer; d0: Longint;
  19. begin
  20.   d0:=Julian(2005,1,1);
  21.   WriteLn('Введите даты в виде ДД ММ ГГГГ (',High(d)-Low(d)+1,'):');
  22.   for i:=Low(d) to High(d) do with d[i] do Read(d,m,y);
  23.   WriteLn('От 01.01.2015:');
  24.   for i:=Low(d) to High(d) do with d[i] do WriteLn(d:2,'.',m:2,'.',y:4,' : ',Julian(y,m,d)-d0);
  25. end.

Объяснение кода листинга программы

  1. Функция Julian принимает три параметра: y (год), m (месяц) и d (день). Она вычисляет количество дней между первым января указанного года и указанной датой.
  2. Если m больше 2, то функция увеличивает месяц на 3. В противном случае, она увеличивает год на 1 и уменьшает месяц на 9.
  3. Функция возвращает сумму: 146097 (год / 100) / 4 + 1461 (год % 100) / 4 + (153 * месяц + 2) / 5 + день + 1721119.
  4. Тип TDate представляет собой запись с полями: d (день), m (месяц) и y (год).
  5. Переменная d представляет собой массив из 5 записей типа TDate.
  6. Переменная i является счетчиком для цикла, который будет использоваться для чтения дат.
  7. Переменная d0 инициализируется значением функции Julian(2005,1,1).
  8. Выводится приглашение пользователю ввести даты в виде ДД ММ ГГГГ.
  9. Для каждой записи в массиве d считывается год, месяц и день из ввода пользователя.
  10. Выводится сообщение с датой и разницей в днях до указанной даты.
  11. Цикл завершается, когда пользователь вводит некорректные данные или достигает конца массива d.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы