Сокращенная арифметика
Часть раздела Основы путешествия по Ruby на Coddy — урок 13 из 88.
Когда вам нужно обновить значение переменной на основе её текущего значения, Ruby предоставляет сокращенные операторы, называемые составными операторами присваивания. Они объединяют арифметическую операцию с присваиванием в один шаг.
Вместо того чтобы писать score = score + 10, вы можете использовать score += 10. Оба варианта делают одно и то же, но сокращенная запись чище и чаще встречается в реальном коде.
Вот арифметические сокращения, доступные в Ruby:
points = 100
points += 25 # То же самое, что: points = points + 25 (теперь 125)
points -= 10 # То же самое, что: points = points - 10 (теперь 115)
points *= 2 # То же самое, что: points = points * 2 (теперь 230)
points /= 5 # То же самое, что: points = points / 5 (теперь 46)
points %= 10 # То же самое, что: points = points % 10 (теперь 6)Эти сокращения работают со всеми арифметическими операторами, которые вы изучили, включая остаток от деления (modulo). Они особенно полезны при инкрементировании счетчиков или накоплении итоговых значений, делая ваш код более лаконичным и читаемым.
Задание
ЛегкоВам предоставлена следующая переменная:
balance = 200Используя только операторы комбинированного присваивания (+=, -=, *=, /=, %=), выполните следующие операции над balance по порядку:
- Прибавьте
50кbalance - Вычтите
30изbalance - Умножьте
balanceна2 - Разделите
balanceна4 - Получите остаток от деления
balanceна7
После каждой операции выводите текущее значение balance с помощью puts. Всего у вас должно получиться 5 строк вывода.
Шпаргалка
Ruby предоставляет составные операторы присваивания, которые объединяют арифметические операции с присваиванием:
points = 100
points += 25 # То же самое, что и: points = points + 25
points -= 10 # То же самое, что и: points = points - 10
points *= 2 # То же самое, что и: points = points * 2
points /= 5 # То же самое, что и: points = points / 5
points %= 10 # То же самое, что и: points = points % 10Доступные составные операторы присваивания:
+=для сложения-=для вычитания*=для умножения/=для деления%=для остатка от деления
Попробуйте сами
# Начальный баланс
balance = 200
# TODO: Напишите свой код ниже
# Используйте операторы комбинированного присваивания (+=, -=, *=, /=, %=), чтобы:
# 1. Добавить 50 к балансу, затем вывести его
# 2. Вычесть 30 из баланса, затем вывести его
# 3. Умножить баланс на 2, затем вывести его
# 4. Разделить баланс на 4, затем вывести его
# 5. Получить остаток от деления баланса на 7, затем вывести егоВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 3Логические операторы. Часть 47Калькулятор разделения счета
Приветственное сообщениеПолучение пользовательского ввода13Продвинутая работа с массивами
Срезы массивов через диапазоныСрезы массивов через индексыОператоры массивовМетод include?2Переменные и типы данных
Числа и переменныеСтроковый тип данныхЛогический тип данныхТип данных SymbolПроверка типов данныхПравила именованияПовторение: создание переменных5Принятие решений
Оператор IfКонструкция If - ElseПовторение — Простой калькуляторВложенные конструкции If - ElseОператор Unless8Циклы
Цикл For с диапазонамиЦикл WhileОператор BreakОператор NextПовторение: ФакториалЦикл TimesЦикл UntilВложенные циклыПовторение: Динамический ввод3Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСокращенная арифметикаИтоги: простая математикаОператоры сравнения6Основы ввода-вывода
Вывод с помощью putsВывод с помощью print и pВывод с переменнымиВвод с помощью getsМетод chompПреобразование типовИтоги — Калькулятор возрастаИтоги — Истина или ложь