UML EditorОткрыть редактор

Задачи / Ветвления / Високосный год

Високосный год: блок-схема и алгоритм

Год високосный, если делится на 4, но не делится на 100; исключение — годы, кратные 400, они тоже високосные. Так 2000 — високосный, а 1900 — нет.

Блок-схема: Високосный год

Алгоритм по шагам

  1. Ввести год.
  2. Проверить условие: (год mod 4 = 0 и год mod 100 ≠ 0) или год mod 400 = 0.
  3. Вывести ответ.

Открыть блок-схему в редакторе

Пример работы

Входгод = 1900
Шаг 11900 mod 4 = 0, но 1900 mod 100 = 0 — первая часть ложна
Шаг 21900 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. Все задачи.