Menu
Coddy logo textTech

Оператор модуля

Часть раздела Основы путешествия по Dart на Coddy. Урок 18 из 94.

Оператор modulo (%) дает нам remainder после division. Давайте разберем, как это работает, на нескольких простых примерах.

Базовая операция modulo

void main() {
  int dividend = 10;
  int divisor = 3;
  int remainder = dividend % divisor;
  
  print('Remainder of $dividend ÷ $divisor = $remainder');
}

Вывод: Remainder of 10 ÷ 3 = 1

Когда мы делим 10 на 3, мы получаем 3 с remainder 1. modulo operator % получает это значение remainder.

Проверка четных и нечетных чисел

Мы можем определить, является ли число четным или нечетным, используя оператор modulo:

void main() {
  int number = 15;
  int remainder = number % 2;
  
  print('$number % 2 = $remainder');
  
  // Чётные числа имеют остаток 0 при делении на 2
  bool isEven = remainder == 0;
  
  // Использование прямой булевой оценки вместо if/else
  String result = isEven ? '$number is even' : '$number is odd';
  print(result);
}

Вывод:

15 % 2 = 1
15 is odd
challenge icon

Задание

Легко

Создайте программу, которая использует оператор остатка от деления (%) для решения следующих задач:

  1. Объявите целочисленную переменную totalMinutes со значением 197
  2. Вычислите и сохраните количество полных часов в totalMinutes, используя целочисленное деление
  3. Вычислите и сохраните оставшиеся минуты с помощью оператора остатка от деления
  4. Выведите время в часах и минутах ТОЧНО в следующем формате:
197 minutes is 3 hours and 17 minutes.

Затем:

  1. Объявите целочисленную переменную coins со значением 57
  2. Вычислите и сохраните, сколько 25-центовых монет (quarters) можно получить из coins
  3. Вычислите и сохраните оставшиеся монеты с помощью оператора остатка от деления
  4. Выведите результат ТОЧНО в следующем формате:
57 coins can be divided into 2 quarters and 7 remaining coins.

Попробуйте сами

void main() {
  // Объявите свои переменные здесь
  // Замените каждое значение-заполнитель ниже на значение, которое требует задание
  int totalMinutes = 0;

  // Вычислите часы и оставшиеся минуты
  // Используйте целочисленное деление для часов и оператор modulo для минут
  int hours = totalMinutes;
  int remainingMinutes = totalMinutes;

  // Выведите результат времени
  print("$totalMinutes minutes is $hours hours and $remainingMinutes minutes.");

  // Вычислите четвертаки и оставшиеся монеты
  int coins = 0;
  int quarters = coins ~/ 1;
  int remainingCoins = coins % 1;

  // Выведите результат по монетам
  print("$coins coins can be divided into $quarters quarters and $remainingCoins remaining coins.");
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор Dart