Треки
/
Delphi Pascal
Delphi Pascal
/
Вправи
/
Раціональні числа
Раціональні числа

Раціональні числа

Середня

Вказівки

Раціональне число визначається як частка двох цілих чисел a і b, які називаються відповідно чисельником і знаменником, де b != 0.

Модуль |r| раціонального числа r = a/b дорівнює |a|/|b|.

Сума двох раціональних чисел r₁ = a₁/b₁ і r₂ = a₂/b₂ дорівнює r₁ + r₂ = a₁/b₁ + a₂/b₂ = (a₁ * b₂ + a₂ * b₁) / (b₁ * b₂).

Різниця двох раціональних чисел r₁ = a₁/b₁ і r₂ = a₂/b₂ дорівнює r₁ - r₂ = a₁/b₁ - a₂/b₂ = (a₁ * b₂ - a₂ * b₁) / (b₁ * b₂).

Добуток (множення) двох раціональних чисел r₁ = a₁/b₁ і r₂ = a₂/b₂ дорівнює r₁ * r₂ = (a₁ * a₂) / (b₁ * b₂).

Ділення раціонального числа r₁ = a₁/b₁ на інше r₂ = a₂/b₂ дає r₁ / r₂ = (a₁ * b₂) / (a₂ * b₁), якщо a₂ не дорівнює нулю.

Піднесення раціонального числа r = a/b до невідʼємного цілого степеня n дає r^n = (a^n)/(b^n).

Піднесення раціонального числа r = a/b до відʼємного цілого степеня n дає r^n = (b^m)/(a^m), де m = |n|.

Піднесення раціонального числа r = a/b до дійсного (з плаваючою комою) числа x дає частку (a^x)/(b^x), яка є дійсним числом.

Піднесення дійсного числа x до раціонального степеня r = a/b дає x^(a/b) = root(x^a, b), де root(p, q) — це корінь q-го степеня з p.

Реалізуйте такі операції:

  • додавання, віднімання, множення й ділення двох раціональних чисел,
  • модуль, піднесення даного раціонального числа до цілого степеня, піднесення даного раціонального числа до дійсного (з плаваючою комою) степеня, піднесення дійсного числа до раціонального степеня.

Реалізація раціональних чисел завжди має бути скорочена до найпростішого вигляду. Наприклад, 4/4 має скоротитися до 1/1, 30/60 має скоротитися до 1/2, 12/8 має скоротитися до 3/2 тощо. Щоб скоротити раціональне число r = a/b, ділимо a і b на найбільший спільний дільник (НСД) чисел a і b. Так, наприклад, gcd(12, 8) = 4, тож r = 12/8 можна скоротити до (12/4)/(8/4) = 3/2.

Припустімо, що мова програмування, яку ми використовуємо, не має реалізації раціональних чисел.

Інструкції, специфічні для треку

  • У цій вправі ми знайомимося з перевантаженням операторів. Вікі-довідка Embarcadero на цю тему дуже допоможе зрозуміти, як можна перевизначати оператори класу, а також що таке неявне та явне приведення типів.

Джерело

WikipediaПосилання відкривається в новому вікні або вкладці
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Delphi Pascal Exercism

Час розпочати Раціональні числа?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Delphi Pascal, а також 76 вправ та справжнє наставництво від людей, і все це безкоштовно.