Задачи / Ветвления / Високосный год
Високосный год: блок-схема и алгоритм
Год високосный, если делится на 4, но не делится на 100; исключение — годы, кратные 400, они тоже високосные. Так 2000 — високосный, а 1900 — нет.
Алгоритм по шагам
- Ввести год.
- Проверить условие: (год mod 4 = 0 и год mod 100 ≠ 0) или год mod 400 = 0.
- Вывести ответ.
Пример работы
| Вход | год = 1900 |
| Шаг 1 | 1900 mod 4 = 0, но 1900 mod 100 = 0 — первая часть ложна |
| Шаг 2 | 1900 mod 400 = 300 — вторая часть ложна |
| Результат | не високосный |
Решение на Python
y = int(input())
if (y % 4 == 0 and y % 100 != 0) or y % 400 == 0:
print("високосный")
else:
print("не високосный")
Решение на Pascal
var y: integer;
begin
readln(y);
if ((y mod 4 = 0) and (y mod 100 <> 0)) or (y mod 400 = 0) then
writeln('високосный')
else
writeln('не високосный');
end.
Код блок-схемы
Схема выше нарисована по этому псевдокоду. Скопируйте его в редактор блок-схем или нажмите «Открыть блок-схему в редакторе».
блок-схема: Високосный год
начало
ввод год
если (год mod 4 = 0 и год mod 100 ≠ 0) или год mod 400 = 0
вывод «високосный»
иначе
вывод «не високосный»
конец
Сложность
Одна проверка, O(1).
Частые ошибки
- Проверять только деление на 4: 1900 и 2100 окажутся високосными.
- Перепутать «и» и «или» в составном условии.
- В Pascal без скобок вокруг каждого сравнения выражение не компилируется.
Похожие задачи
Обозначения фигур и синтаксис кода блок-схем — в справочнике: блок-схема по ГОСТ 19.701. Все задачи.