У математиці прийнято вважати, що знаменник раціонального числа, записаного у виді дробу, завжди позитивний. Тому, визначаючи типи величин, ми класифікуємо величини B і D, а також допоміжні величини Y, Z як натуральні числа.
1.6. Цілі числа
Величини, представлені цілими числами, використовуються практично в кожному алгоритмі. Тому ми розглянемо зараз ті операції з цілими числами, які прийнято вважати елементарними.
Арифметичні операції:
a + b – операція додавання
a - b – операція віднімання,
- b – операція «мінус»;
a*b – операція множення,
a div b – операція обчислення неповної частки,
a mod b – операція обчислення залишку.
Логічні операції:
a > b - операція «більше»
a < b - операція «менше»
a <= b - операція «менше або дорівнює»
a >= b - операція «більше або дорівнює»
a = b - операція «дорівнює»
a <> b - операція «не дорівнює»
Арифметичні операції додавання, віднімання і «мінус» називають адитивними, а операції множення, обчислення неповної частки і залишку – мультиплікативними.
Ми будемо вважати, що операції div і mod правильно інтерпретуються тільки тоді, коли обидва операнди – натуральні числа. Для цих операцій справедливе співвідношення
A = B * (A div B) + A mod B.
причому
A div B >= 0, 0 <= A mod B < B.
Це означає, що будь-яке натуральне число A можна розділити на інше натуральне число B із залишком, причому неповна частка невідє’мна, а залишок може приймати значення 0, 1, ..., B-1.
Наприклад, якщо A = 56, B = 9, то A div B = 6, A mod B = 2, і 56 = 9*6 + 2.
У наступній задачі ми використовуємо операції div і mod для того, щоб виділити цифри числа.
Задача 1.1 Скласти алгоритм, що переставляє місцями старшу і молодшу цифри даного тризначного десяткового числа АВС, тобто будує число СВА.
Рішення.
Позначимо через А, В і С – відповідно старшу, середню і молодшу цифри вхідного числа АВС, а через АВ – двозначне число, отримане з АВС відкиданням останньої цифри. Тоді
C = ABC mod 10, AB = ABC div 10.
Ми «розщепили» число на молодшу цифру і число, складене зі старших цифр. З числом АВ робимо те ж саме:
B = AB mod 10, A = AB div 10.
Залишилося „зібрати” число CBA з його цифр A, B, C:
CBA = 100*C + 10*B + A.
Алгоритм Переверни число;
Вхід
ABC : Натуральне число;
Вихід
ВСА : Ціле число;