بایگانی برچسب‌ها : عملوند

عملگر کاهش Decrement Operator

عملگر کاهش یا Decrement Operator چیست؟

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

معمولا این عملگر با دو علامت خط تیره (یا تفریق) نمایش داده می‌شود. به عنوان مثال در قطعه کد زیر که به زبان C++ نوشته شده است، مقدار متغیر x پس از اجرای خط سوم یک واحد کاهش می‌یابد و برابر با عدد 1 می‌شود:

int x = 2;
int result;
result = x--;

در برخی از زبان‌های برنامه‌نویسی از جمله C++ عملگر کاهش دارای دو مدل می‌باشد که اندکی با یکدیگر تفاوت دارند. در مدل اول که عملگر پس از عملوند قرار می‌گیرد، عملوند یک واحد کاهش می‌یابد اما حاصل عبارت، مقدار اصلی عملوند پیش از کاهش خواهد بود. به عبارت بهتر در این حالت، ابتدا عبارت بدون در نظر گرفتن عملگر کاهش ارزیابی می‌شود و سپس عملوند کاهش می‌یابد. درنتیجه، در مثال فوق مقدار متغیر x برابر با 1 اما مقدار متغیر result برابر با 2 خواهد بود. به این عملگر، عملگر پسا-کاهش (Post-Decrement) یا کاهش پسوندی (Postfix Decrement) نیز گفته می‌شود. می‌توان دستورات فوق را به صورت زیر معادل‌سازی نمود:

int x = 2;
int result;
result = x;
x = x - 1;

اما در مدل دوم، عملگر پیش از عملوند خود قرار می‌گیرد، ابتدا عملوند یک واحد کاهش می‌یابد و همین مقدار کاهش یافته به عنوان حاصل عبارت مورد استفاده قرار می‌گیرد. به این عملگر، عملگر پیش-کاهش (Pre-Decrement) یا کاهش پیشوندی (Prefix Decrement) نیز گفته می‌شود. با اجرای قطعه کد زیر، مقدار هر دو متغیر x و result برابر با 1 خواهد شد:

int x = 2;
int result;
result = --x;

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

int x = 2;
int result;
x = x - 1;
result = x;

گفتنی است عملگر افزایش (Increment Operator) که با نماد ++ نشان داده می‌شود نیز عملی مشابه را برای افزایش یک واحدی عملوند خود انجام می‌دهد.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

عملگر افزایش Increment Operator

عملگر افزایش یا Increment Operator چیست؟

عملگر افزایش (Increment Operator) عملگری یکانی است که یک واحد به عملوند خود اضافه می‌کند. هر چند این عمل به صورت معمولی و از طریق عملگرهای جمع و انتساب نیز قابل انجام است ولی به دلیل رایج بودن و کاربرد بالای آن در برنامه‌نویسی، توسط اغلب زبان‌های امروزی مورد پشتیبانی قرار می‌گیرد.

معمولا این عملگر با نماد ++ نمایش داده می‌شود. به عنوان مثال در قطعه کد زیر که به زبان C++ نوشته شده است، مقدار متغیر x پس از اجرای خط سوم یک واحد افزایش می‌یابد و برابر با 2 می‌شود:

int x = 1;
int result;
result = x++;

در برخی از زبان‌های برنامه‌نویسی از جمله C++ عملگر افزایش دارای دو مدل می‌باشد که اندکی با یکدیگر تفاوت دارند. در مدل اول که عملگر پس از عملوند قرار می‌گیرد، عملوند یک واحد افزایش می‌یابد اما حاصل عبارت، مقدار اصلی عملوند پیش از افزایش خواهد بود. به عبارت بهتر در این حالت، ابتدا عبارت بدون در نظر گرفتن عملگر افزایش ارزیابی می‌شود و سپس عملوند افزایش می‌یابد. درنتیجه، در مثال فوق مقدار متغیر x برابر با 2 اما مقدار متغیر result برابر با 1 خواهد بود. به این عملگر، عملگر پسا-افزایش (Post-Increment) یا افزایش پسوندی (Postfix Increment) نیز گفته می‌شود. می‌توان دستورات فوق را به صورت زیر معادل‌سازی نمود:

int x = 1;
int result;
result = x;
x = x + 1;

اما در مدل دوم، عملگر پیش از عملوند خود قرار می‌گیرد، ابتدا عملوند یک واحد افزایش می‌یابد و همین مقدار افزایش یافته به عنوان حاصل عبارت مورد استفاده قرار می‌گیرد. به این عملگر، عملگر پیش-افزایش (Pre-Increment) یا افزایش پیشوندی (Prefix Increment) نیز گفته می‌شود. با اجرای قطعه کد زیر، مقدار هر دو متغیر x و result برابر با 2 خواهد شد:

int x = 1;
int result;
result = ++x;

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

int x = 1;
int result;
x = x + 1;
result = x;

گفتنی است عملگر کاهش (Decrement Operator) نیز عملی مشابه را برای کاهش یک واحدی عملوند خود انجام می‌دهد.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

عملگر Operator

عملگر یا Operator چیست؟

عملگر (Operator) در برنامه‌نویسی به ساختاری گفته می‌شود که رفتاری مشابه با تابع دارد اما از نظر سازمان گرامری با آن متفاوت می‌باشد. شاید بتوان از نظر معنایی عملگرها را گونه‌ای از توابع دانست که نحوه قرارگیری پارامترهای آن‌ها (که به عملوند یا Operand موسومند) با حالت رایج توابع (که در اغلب زبان‌های برنامه‌نویسی داخل پرانتز قرار می‌گیرند) متفاوت است.

از سوی دیگر در اکثر زبان‌های برنامه نویسی، اجازه تعریف توابع به برنامه نویس داده می‌شود اما ممکن است تنها استفاده از عملگرهای از پیش تعریف شده در کدنویسی مجاز باشد. به علاوه تعداد عملوندها برخلاف تعداد پارامترهای توابع محدود هستند. اغلب عملگرها در زبان‌های برنامه‌نویسی تنها یک یا دو عملوند دارند و تعداد اندکی از عملگرها از تعداد بیشتری عملوند برخوردار هستند (به عنوان مثال عملگر ?: در زبان C یک عملگر سه عملوندی به شمار می‌رود). با وجود این تفاوت‌ها می‌توان بسیاری از عملگرها نظیر عملگر باقی‌مانده‌ی تقسیم یک عدد بر عددی دیگر را با یک تابع دو پارامتری که چنین عملی را انجام می‌دهد معادل دانست.

Operator ها معمولا با استفاده از یک نماد نمایش داده می‌شوند اما استفاده از نام‌هایی همچون div یا AND و Is نیز در زبان‌های امروزی به عنوان Operator مشاهده می‌شود. عملگرهایی که دارای یک، دو یا سه عملوند هستند را به ترتیب عملگرهای یکانی (Unary Operator)، عملگرهای باینری یا دودویی (Binary Operator) و عملگرهای تِرنِری یا سه‌تایی (Ternary Operator) می‌نامند.

محل قرارگیری عملگر در مقایسه با عملوندها می‌تواند مبتنی بر یکی از حالات پیشوندی، میانوندی و یا پسوندی باشد. به عبارت بهتر ممکن است عملگر پیش از عملوند، مابین عملوندها یا پس از عملوند قرار بگیرد. به عنوان مثال عملگرهای یکانی می‌توانند همانند عملگر منفی (-x) به صورت پیشوندی یا مانند عملگر پساافزایش (x++) به صورت پسوندی ظاهر شوند. عملگرهای دودویی همانند جمع نیز به صورت میانوندی (x + y) ظاهر می‌شوند.

علاوه بر اینکه در برخی زبان‌های برنامه‌نویسی امکان تعریف Operator جدید نیز وجود دارد، در برخی از زبان‌ها می‌توان یک Operator را برای نوع داده‌های تعریف شده توسط کاربر هم  سربارگذاری نمود (سربارگذاری عملگر یا Operator Overloading).

انواع رایج عملگرها

از رایج‌ترین انواع عملگرها در زبان‌های برنامه‌نویسی می‌توان به موارد زیر اشاره نمود (نمادهایی که برای برخی از Operator ها در داخل پرانتز ذکر شده است به همین شکل در بسیاری از زبان‌های برنامه‌نویسی مورد استفاده قرار می‌گیرد):

  • عملگرهای حسابی (Arithmetic Operator) نظیر جمع (+)، تفریق (-)، ضرب (*)، تقسیم (/)، باقیمانده (%)، افزایش (دو علامت +) و کاهش (دو علامت -)
  • عملگرهای رابطه‌ای (Relational Operator) یا مقایسه‌ای (Comparison Operator) نظیر <، >، <=، >=، == و !=
  • عملگرهای منطقی (Logical Operator) نظیر “و منطقی” (&&)، “یای منطقی” (||) و نقیض (Not یا !)
  • عملگرهای انتساب (Assignment Operator) نظیر انتساب ساده (= یا :=انتساب افزوده یا مرکب (مانند += و -= و …)
  • عملگرهای بیتی (Bitwise Operator) نظیر AND و OR و XOR، شیفت به راست، شیفت به چپ و …
  • عملگر دسترسی به فیلد در یک رکورد یا آبجکت که در بسیاری از زبان‌ها از نماد نقطه برای آن استفاده می‌شود
  • عملگر الحاق دو رشته
  • و …

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا