لذت برنامه نویسی!

!The Joy of Programming
by Babak Mahmoudabadi

نویسندگان

۱ مطلب در فروردين ۱۳۹۵ ثبت شده است

  • ۰
  • ۰

اگر یک عبارت محاسباتی دارای چند عملگر ریاضی باشد ممکن است حاصل محاسبه با آنچه ما انتظار داریم متفاوت باشد. به مثال زیر توجه کنید:

20 + 8 / 2

نتیجه این محاسبه 14 می باشد در صورتی که ابتدا 20 و 8 جمع شده و نتیجه یعنی 28 بر 2 تقسیم شود. اما اگر ابتدا 8 بر 2 تقسیم شده و با 20 جمع شود حاصل 24 خواهد بود.

اما کامپیوتر در زمان محاسبه طبق اولویت های مشخصی عبارت ریاضی را ارزیابی می کند. ترتیب این اولویت ها به شرح زیر است:


اول: علامت منفی یا تفریق یکانی

دوم: توان

سوم: ضرب و تقسیم

چهارم: جمع و تفریق


طبق این اولویت بندی،  تقسیم قبل از جمع انجام می شود و حاصل عبارت همیشه 24 خواهد بود.

در صورتی که دو عملگر هم رتبه در کنار یکدیگر قرار گیرند محاسبه از سمت چپ به راست انجام می شود.

برای به هم زدن این اولویت بندی می توان از پرانتز استفاده کرد:

PRINT (20 + 8) / 2

14

به عبارت دیگر آنچه درون پرانتز قراردارد قبل از همه عملگر ها انجام شده و بالاترین اولویت را داراست. به مثال های زیر توجه کنید:

PRINT 30 + 15 * 2 - 3

57

PRINT (30 + 15) * 2 - 3

87

PRINT 30 + 15 * (2 - 3)

15

PRINT (30 + 15) * (2 - 3)

- 45

در مثال آخر دو پرانتر هم رتبه بوده و محاسبه از چپ به راست انجام می شود.