У сучасному житті дуже складно обійтися без арифметичних операцій. Нам постійно доводиться щось рахувати: додавати, множити, віднімати, ділити і т.д. Програмування – не виняток. Вам в 99.9% випадків доведеться ними користуватися, при написанні своїх програм. Боятися їх не варто – всі арифметичні операції – прості, зрозумілі і знайомі нам зі школи.
Розглянемо арифметичні операції в наступній таблиці.
Тут особливу увагу слід приділити діленню по модулю (%). Ця операція досить часто використовується в рішенні певних завдань. Приклад її застосування: якщо нам необхідно поділити по модулю 9 на 4 (9 % 4), результат буде дорівнювати 1 (це залишок – те, що на 4 вже не ділиться націло). ще приклади: 20 % 8 = 4 ( 8 поміщається в 20-ти 2 рази: 8 * 2 = 16, 20 – 16 = 4 залишок від ділення ), 3 % 2 = 1, 99 % 10 = 9, 9 % 10 = 9. Важливо:
- ділення по модулю застосовується тільки до цілочисельних перемінним ;
- не можна ділити по модулю на 0;
Приклад:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <iostream> using namespace std; int main() { setlocale(LC_ALL, "rus"); int number1 = 18; int number2 = 4; cout << "number1 = " << number1 << endl; cout << "number2 = " << number2 << endl; cout << "number1 + number2 = " << number1 + number2 << endl; cout << "number1 - number2 = " << number1 - number2 << endl; cout << "number1 * number2 = " << number1 * number2 << endl; cout << "number1 / number2 = " << number1 / number2 << endl; cout << "number1 % number2 = " << number1 % number2 << endl; cout << endl; return 0; } |
Тут ви бачите, що при поділі num1 на num2, на екрані з'явилася тільки ціла частина – 4 (хоча точне значення 4.5). Дрібна частина відсікається, так як змінні визначені, як цілочисельні – int. А в результаті поділу по модулю ми бачимо 2 – то що залишилося в залишку від ділення 18 на 4.
Ще що хотілося б розглянути в даній статті – це так звані комбіновані (або складові) оператори. Крім виконання своєї арифметичної ролі, вони одночасно виконують роль присвоювання значень змінним. Ось список таких складових операторів:
Покажу на прикладі:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #include <iostream> using namespace std; int main() { setlocale(LC_ALL, "rus"); int number1 = 10; int number2 = 4; cout << "number1 = " << number1 << endl; cout << "number2 = " << number2 << endl; number1 += number2; // эквивалентно записи number1 = number1 + number2 cout << "Результат от += : " << "number1 = " << number1 << endl; number1 -= number2; // number1 = number1 - number2 и т.д. cout << "Результат от -= : " << "number1 = " << number1 << endl; number1 *= number2; cout << "Результат от *= : " << "number1 = " << number1 << endl; number1 /= number2; cout << "Результат от /= : " << "number1 = " << number1 << endl; number1 %= number2; cout << "Результат от %= : " << "number1 = " << number1 << endl; cout << endl; return 0; } |
Хоча для когось, з першого погляду, ці оператори можуть здатися заплутаними, повірте, до них дуже швидко можна звикнути і успішно застосовувати в своїх програмах. Треба тільки трохи попрактикуватися з їх застосуванням. Ваш код буде виглядати компактніше. Також, використання комбінованих операторів є ознакою хорошого тону в програмуванні. Тому, хоч і не буде помилкою в коді використання складання окремо від присвоювання – number1 = number1 + number2;, краще використовувати скорочений варіант запису number1 += number2;
Результат:
У цій статті були розглянуті тільки бінарні оператори – ті які застосовуються для арифметичних операцій з двома змінними (операндами). В одній з наступних, ми познайомимося з унарними операторами (для операцій з однією змінною) – инкрементом і декрементом, а в майбутньому – і з тернарним оператором (якому необхідно три операнда).
Бажано закріпити отримані знання практикою – Завдання: Арифметичні операції в С++
Перше число 10
друге число 4
Не збагну перша
Перша операція додавання = 14 сходиться
Друга віднімання = 10 (а має бути 6)
Третя операція = 40 сходиться
Четверта операція = 10 (а має бути 2)
П'ята опрерацю = 2 (сходиться)
там не 6 має, а 10 так как 14 – 4 = 10,
10 * 4 = 40
40 / 4 = 10
10 % 4 = 2 ( 4 * 2 = 8 з 10 8 викидається а 2 залишається )
теж не зрозумів
Мінлива number1 накопичується. Тому і виходять такі значення. Після кожної операції треба було обнуляти змінну – “число1 = 0”. Тоді вважав би як спочатку. Автор поста забув згадати про це.
Тоді в цьому випадку немає сенсу скорочення (+=, *= та ін) так-як за підсумком потрібно завжди додавати рядок з обнуленням. Або ж просто додати number3 = 0 в початок, і так само писати n3 = n1 + n2. Щось максимально незрозуміла ця тема з цими скороченнями…
цікаво)
Посилання на наступний урок переходить до списку завдань на теми, швидше за все потрібно зробити перехід на завдання на поточну тему.
а як у скороченій формі написати а=а+-10;
як я зрозумів при виконанні + = новий number1 = 14 а при виконанні - = 14-4 = 10 виходить новий number1 = 10
0c3vgd
у мене не перекладається російською через сет локал, що робити?
А ще exe файл відкривається і одразу вилітає, в чому проблема?