Основы C#

Теория: Логические операторы 2

Логические операторы — важная тема, поэтому стоит закрепить её дополнительным примером и упражнением.

Попробуем реализовать функцию, проверяющую год на високосность. Год будет високосным, если он кратен 400 или одновременно кратен 4 и не кратен 100. Как видите, в определении уже заложена вся необходимая логика, осталось только переложить её на код:

class App
{
    public static bool IsLeapYear(int year)
    {
        return year % 400 == 0 || (year % 4 == 0 && year % 100 != 0);
    }
}

App.IsLeapYear(2018); // false
App.IsLeapYear(2017); // false
App.IsLeapYear(2016); // true

Разберём по частям:

  • первое условие year % 400 == 0: остаток от деления на 400 равен 0, значит, число кратно 400
  • || ИЛИ
  • второе условие (year % 4 == 0 && year % 100 != 0)
    • year % 4 == 0: остаток от деления на 4 равен 0, значит, число кратно 4
    • && И
    • year % 100 != 0: остаток от деления на 100 не равен 0, значит, число не кратно 100

Рекомендуемые программы

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845