Найти количество дней в году - Pascal

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

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

Здравствуйте, помогите пожалуйста с работой Надо найти сколько дней в течение одного года и необязательно делать календарь, но используя 3D массив находим кол-во дней

Решение задачи: «Найти количество дней в году»

textual
Листинг программы
const yr: array [boolean, boolean, boolean] of byte =
//not div 100 V  V div 100
           (((0, 0),     // not div 4, not div 400
             (0, 0)),    // not div 4, div 400 (impossible)
            ((1, 0),     // div 4, not div 400
             (1, 1)));   // div 4, div 400
var
  y: integer;
begin
  repeat
    write('Year: ');
    readln(y);
    if y < 1 then writeln('Invalid year, reenter.')
  until y >= 1;
  writeln('Days: ', 365 + yr[y mod 4 = 0, y mod 400 = 0, y mod 100 = 0]);
  readln
end.

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

  1. const yr: array [boolean, boolean, boolean] of byte =
    • Это объявление константного массива yr. Массив содержит значения типа byte и индексируется тремя булевыми значениями.
  2. (((0, 0), (0, 0)),
    • Первое значение в массиве yr. Оно представляет случай, когда год не делится на 4 и не делится на 100, что означает невисокосный год.
  3. ((1, 0), (1, 1)));
    • Второе значение в массиве yr. Оно представляет случай, когда год делится на 4, но не делится на 100 или делится на 400, что означает високосный год.
  4. var y: integer;
    • Это объявление переменной y типа integer, которая будет использоваться для хранения введенного пользователем года.
  5. begin
    • Начало основной части программы.
  6. repeat
    • Начало цикла повторения, в котором пользователю предлагается ввести значение для переменной y.
  7. write('Year: ');
    • Вывод пользователю приглашения ввести значение года.
  8. readln(y);
    • Считывание значения, введенного пользователем, и присваивание его переменной y.
  9. if y < 1 then writeln('Invalid year, reenter.')
    • Проверка, является ли введенный год отрицательным. Если это так, программа выводит сообщение об ошибке.
  10. until y >= 1;
    • Завершение цикла повторения, если введенный год корректен (больше или равен 1).
  11. writeln('Days: ', 365 + yr[y mod 4 = 0, y mod 400 = 0, y mod 100 = 0]);
    • Вывод количества дней в году в зависимости от введенного значения. Формула 365 + yr[y mod 4 = 0, y mod 400 = 0, y mod 100 = 0] используется для определения числа дней в году. Ее значение зависит от того, делится ли год на 4, на 400 и на 100.
  12. readln
    • Ожидание ввода данных пользователем перед завершением программы.

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


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

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

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