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