اولویت عملگرها در ماکرو نویسی

با عملگرها در ویژوال بیسیک و عملگرها در اکسل قبلاً آشنا شدیم، انواع عملگرها را شناختیم و کاربرد هریک از آنها را یاد گرفتیم، در این مقاله میخواهیم ابتدا مقایسه ای بین عملگرهای اکسل و عملگرهای ویژوال بیسیک داشته باشیم و سپس به مبحث اولویت بندی عملگرها در ویژوال بیسیک بپردازیم.

اولویت عملگرها در ویژوال بیسیک

مقایسه ی عملگرها در ویژوال بیسیک و اکسل

همانطور که قبلاً اشاره شد، برخی عملگرها در ویژوال بیسیک و محیط اکسل یکسان هستند و تفاوتی با هم ندارند تفاوت عملگرها در اکسل و ویژوال بیسیک شامل موارد زیر میباشد:

  • عملگرهای عملیاتی شامل چهار عمل اصلی (* / + -) و عملگر توان (^) در اکسل و ویژوال بیسیک یکسان هستند
  • عملگر درصد (%) در محیط ویژوال بیسیک یک کاراکتر ناشناخته است
  • عملگرهای \ (تقسیم صحیح Intact Division) و Mod در اکسل ناشناخته هستند و تنها در ویژوال بیسیک اعتبار دارند، البته به جای عملگر Mod تابعی با همین اسم در اکسل و جود دارد که مانند عملگر Mod در ویژوال بیسیک عمل مینماید.
  • عملگر & در اکسل هم وجود دارد و معادل تابع CONCATENATE (از جمله توابع متنی در اکسل) عمل میکند.
  • در مورد عملگر ای مقایسه ای باید گفت تمامی عملگر های مقایسه ای معرفی شده در محیط اکسل در ویژوال بیسیک هم کاربرد دارند عملگرهای > < <> = در ویژوال بیسیک برای مقایسه ی مقادیر با هم مورد استفاده قرار میگیرند.
  • عملگرهای منطقی مختص محیط ویژوال بیسیک میباشند و در محیط اکسل کاربردی ندارند، بجای این عملگرها توابعی در اکسل وجود دارد که غالباً در دسته بندی ها از آنها به عنوان توابع منطقی در اکسل (Logical Functions) یاد میشود، این توابع در مقالات بخش اکسل پایگاه دانش معرفی میشوند.

اولویت عملگرها در ویژوال بیسیک

اولویت عملگرها (Operator Precedence) در برنامه نویسی بسیار مهم میباشد، بهترین راه گویاتر شدن کدها استفاده ی بجا از پرانتزها و تعریف متغیرها به تعداد مورد نیاز میباشد، اما گاهی برای درک روش کار برخی کدها و یا نوشتن کدی مجبور به دانستن اولویت عملگرها هستیم، اولویت عملگرها (Operator Precedence) به این معنی است که در زمانی که چند اپراتور در یک عبارت قرار دارند کدام اپراتور قبل از دیگری اجرا میگردد.

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

به طور کلی اگر چند نوع اپراتور در یک عبارت وجود داشته باشند، ابتدا عملگرهای عملیاتی (Arithmetic) در اولویت قرار دارند، اولویت دوم مربوط به عملگرهای مقایسه ای (Comparison) میباشد و اولویت آخر عملگرهای منطقی (Logical) هستند.

اولویت عملگرها در ویژوال بیسیک

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

جدول زیر عملگرها در ویژوال بیسیک را به ترتیب اولویت نشان میدهد، اپراتورها در ردیف های بالاتر از اولویت بیشتری برخوردارند و عملگرهای قرار گرفته در یک ردیف اولویت یکسان دارند، فراموش نکنیم اولویت تمام عملگرهای مقایسه ای یکسان است.

اولویت عملگرها در ماکرو نویسی

نکته ی بسیار مهم اینست که علامت پرانتز همواره در بالاترین اولویت قرار دارد و بر تمام اولویت ها غلبه میکند، همانطور که قبلاً ذکر شد بهتر است برنامه نویسان برای گویاتر شدن کدهایشان از پراتز ها به منظور تفکیک عبارات طولانی استفاده کنند. در عبارات نوشته شده درون پرانتزها همواره قوانین اولویت عملگرها رعایت میشود.

اشتراک گذاری در شبکه های اجتماعی: share on facebook share on google plus share on linkedin

دیدگاهتان را بنویسید؟