کسر و ب.م.م: آشنایی و استفاده

نویسنده:‌ مهدی کریمی

تا به حال از اعداد کسری استفاده کرده‌اید؟ تا به حال اعداد کسری را با هم جمع، تفریق، ضرب و تقسیم  کرده‌اید؟  آیا به این فکر کرده‌اید چگونه می‌توان با برنامه‌نویسی این کار را ساده‌تر انجام داد؟

و آیا تا به حال ب.م.م دو عدد را محاسبه کرده‌اید؟ آیا به این فکر کرده‌اید چگونه می‌توان در کمترین زمان ب.م.م  را محاسبه کرد؟

برای این که بتوانید محاسبه ی این کارها رو به راحتی انجام دهید، می‌توانید از کتابخانه fractions در پایتون استفاده کنید.

fraction image

 

شروع کار با کتابخانه fractions

کتابخانه fractions نیاز به نصب ندارد. چون عضو مجموعه کتابخانه‌های استاندارد پایتون هست، به صورت پیش‌فرض همراه با پایتون نصب می‌شود.

قبل از هر کاری، این کتابخانه را با دستور زیر وارد می‌کنیم:

در این کتابخانه دو روش وجود دارد:

  • Fraction: برای کار با اعداد کسری استفاده می‌شود.
  • gcd: برای محاسبه‌ی ب.م.م استفاده می‌شود.

برای کار با اعداد کسری از تابع Fraction استفاده می‌کنیم. این تابع دو ورودی می‌گیرد: ورودی اول صورت کسر است و ورودی دوم مخرج آن. به عنوان مثال:

fractions.Fraction(x,y) = x/y

برای مثال می‌خواهیم عبارت زیر را با استفاده از این تابع حل کنیم:

1 = 8/8 = 4/8 + 4/8 = 4/8 + 1/2

به کد زیر دقت کنید.

نکته: دقت داشته باشید که مخرج کسر نمی‌تواند صفر باشد. و اگر بجای مخرج عدد صفر قرار دهید به خطا بر خورد می‌کنید.

تابع Fraction می‌تواند عدد اعشاری را هم ورودی بگیرد. در این حالت، آن را تبدیل معادل کسری آن می‌کند. برای نمونه، کد زیر عدد اعشاری 2.5 را می‌گیرد و آنرا به 5/2 تبدیل می‌کند:

 

gcd image

 

ب.م.م چیست؟

ب.م.م به معنای بزرگترین مقسوم‌علیه مشترک می‌باشد. به عنوان مثال شما دو عدد 15 و 18 را به خاطر بسپارید و تمام اعدادی که کوچک تر از آنها هستند و به آن ها بخش‌پذیر می‌باشد را بنویسید.

9 ,6 ,3 ,2 ,1 : 18

5 ,3 ,1 :15

حال بزرگترین عدد مشترک بین آن ها را بیابید که در اینجا عدد 3 می‌باشد. حال می‌خواهیم این کار را به کمک تابع  gcd انجام دهیم.

به کد زیر دقت کنید:

نکته: تابع gcd نمی تواند اعداد منفی را محاسبه کند. برای بدست آوردن ب.م.م اعداد منفی می توانید از کتابخانه math استفاده کنید.

به کد زیر دقت کنید:

برای انجام محاسبات پیچیده و سخت که زمان بسیاری می‌گیرد از سیستم‌های هوشمند استفاده می‌کنند که هم محاسبات سریع‌تر انجام شود و هم با کوچک‌ترین خطا به جواب مورد نظر برسیم. برای این گونه محاسبات یک مثال بنوسید و تلاش کنید آن را با پایتون حل کنید.

در پایان، اگر در قسمتی از متن ابهامی دارید حتما آن را در پایین این متن برای ما بنویسید.

 


بیشتر بخوانید

 

نظرات

  • علی

    سلام
    عالی و ساده و روان بود …

    ممنون