اعداد گویا

اعداد گویا

متوسط

دستورالعمل‌ها

عدد گویا به‌صورت خارج‌قسمت دو عدد صحیح 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 را بر بزرگ‌ترین مقسوم‌علیه مشترک (gcd) a و b تقسیم کنید. پس برای مثال، gcd(12, 8) = 4 است، بنابراین r = 12/8 را می‌توان به (12/4)/(8/4) = 3/2 کاهش داد.

فرض کنید زبان برنامه‌نویسی‌ای که استفاده می‌کنید پیاده‌سازی‌ای از اعداد گویا ندارد.

دستورالعمل‌های مخصوص این track

  • در این تمرین با مفهوم «سربارگذاری عملگرها» آشنا می‌شوید. این Embarcadero docwiki درباره‌ی همین موضوع، در درک این که چگونه بازنویسی عملگرهای کلاس همراه با تبدیل نوع Implicit و Explicit ممکن است، بسیار به شما کمک می‌کند.

منبع

Wikipediaاین لینک در پنجره یا تب جدیدی باز می‌شود.
ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Delphi Pascal Exercism

آماده‌اید اعداد گویا را شروع کنید؟

در Exercism ثبت‌نام کنید تا Delphi Pascal را همراه با 76 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.