Описать тип TDate — запись с полями целого типа Day, Month и Year - Pascal ABC

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

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

Помогите пожалуйста решить задачу. Описать тип TDate - запись с полями целого типа Day ( день), Month (месяц ) и Year (год ) - и функцию LeapYear (D) логического типа с параметром типа TDate , которая возвращает TRUE, если на дату D является високосным , и FALSE в противном случае . Также описать функцию DaysInMonth (D) целого типа с параметром типа Tdate , которая возвращает количество дней месяца , указанного в дате D. Вывести значение функции DaysInMonth для пяти данных дат (предполагается, что все даты являются правильными ) .Буду очень благодарен.

Решение задачи: «Описать тип TDate — запись с полями целого типа Day, Month и Year»

textual
Листинг программы
const
  n = 5;
 
type
  TDate = Record
    day: integer;
    month: integer;
    year: integer;
  End;
 
var
  Date: array[1..n] of TDate;
  i: integer;
 
function LeapYear(D: Tdate): boolean;
begin
  LeapYear := (D.year mod 4 = 0) and ((D.year mod 100 <> 0) or (D.year mod 400 = 0));
end;
 
function DaysInMonth(D: Tdate): integer;
var
  k: integer;
begin
  case D.month of
    1, 3, 5, 7, 8, 10, 12: k := 31;
    4, 6, 9, 11: k := 30;
    2: if LeapYear(D) then k := 29 else k := 28;
  End;
  DaysInMonth := k;
end;
 
begin
  for i := 1 to n do
  begin
    writeln(i, '-я дата');
    with Date[i] do
    begin
      write('День: ');
      readln(day);
      write('Месяц: ');
      readln(month);
      write('Год: ');
      readln(year);
    end;
  end;
  for i := 1 to n do
    writeln(DaysInMonth(Date[i]),' дней в ',Date[i].month,' месяце  ');
end.

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

  1. Переменная n инициализируется значением 5.
  2. Создается тип TDate, представляющий запись с полями целого типа Day, Month и Year.
  3. Создается переменная Date, которая представляет собой массив из n элементов типа TDate.
  4. Создается переменная i, которая будет использоваться для итерации по элементам массива Date.
  5. Определяется функция LeapYear, которая принимает объект типа TDate и возвращает логическое значение true, если год является високосным, и false в противном случае.
  6. Определяется функция DaysInMonth, которая принимает объект типа TDate и возвращает количество дней в месяце. Внутри функции используется оператор case для определения количества дней в каждом месяце.
  7. В цикле for итерируется по каждому элементу массива Date.
  8. Внутри цикла выводится информация о каждой дате, включая день, месяц и год.
  9. После вывода информации о каждой дате выводится количество дней в текущем месяце, используя функцию DaysInMonth.
  10. Цикл for завершается.

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


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

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

7   голосов , оценка 3.857 из 5
Похожие ответы