Menu
Coddy logo textTech

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

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

Оператор модуля (%) даёт нам остаток от деления. Давайте разберёмся, как он работает, на некоторых простых примерах.

Базовая операция взятия остатка

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 с остатком 1. Оператор модуля % возвращает значение этого остатка.

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

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

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 монет) можно составить из coins
  3. Вычислите и сохраните оставшиеся монеты с использованием оператора модуля
  4. Выведите результат в ТОЧНО следующем формате:
57 coins can be divided into 2 quarters and 7 remaining coins.

Шпаргалка

Оператор модуло (%) возвращает остаток от деления:

int remainder = 10 % 3; // remainder = 1

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

int number = 15;
bool isEven = (number % 2) == 0; // false, 15 is odd

Пример преобразования времени:

int totalMinutes = 197;
int hours = totalMinutes ~/ 60;     // Integer division: 3
int minutes = totalMinutes % 60;    // Remainder: 17

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

void main() {
  // Объявляйте свои переменные здесь
  int totalMinutes = ?;
  
  // Вычисляем часы и оставшиеся минуты
  int hours = totalMinutes ? 60;
  int remainingMinutes = totalMinutes ? 60;
  
  // Выводим результат времени
  print("$totalMinutes minutes is $hours hours and $remainingMinutes minutes.");
  
  // Вычисляем четвертаки и оставшиеся монеты
  int coins = ?;
  int quarters = coins ~/ ?;
  int remainingCoins = coins % ?;
  
  // Выводим результат монет
  print("$coins coins can be divided into $quarters quarters and $remainingCoins remaining coins.");
}
quiz iconПроверьте себя

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

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