علاقمندان به زبان های برنامه نویسی روزتون بخیر. با آموزش زبان برنامه نویسی پاسکال (Pascal) از وب سایت آموزشی پی وی لرن همراهتون خواهیم بود. عملگرها در پاسکال (Pascal) را در این بخش مورد بررسی قرار خواهیم داد. با ما همراه باشید.
عملگر سمبلی است که به کامپایلر می گوید تا عملیات خاص ریاضی یا منطقی را انجام دهد. پاسکال انواع مختلفی از عملگرها را در اختیار شما قرار می دهد. با عملگرها در پاسکال (Pascal) آشنا خواهیم شد.
بگذارید در ابتدا به ترتیب در مورد اپراتورهای محاسباتی ، رابطه ای، بولین و بیت صحبت کنیم. و بعد درباره اپراتورهای Set و عملگرهای رشته صحبت خواهیم کرد.
در جدول زیر تمام عملگرهای محاسباتی (Arithmetic operators) پشتیبانی شده توسط Pascal نشان داده شده است. فرض کنید متغیر A دارای مقدار ۱۰ باشد و متغیر B دارای مقدار ۲۰ ، سپس:
عملگر | شرح | مثال |
---|---|---|
+ | دو عملوند را به هم اضافه می کند. | A + B will give 30 |
– | دوم را از عملوند اول کم می کند. | A – B will give -10 |
* | عمل ضرب دو عملوند | A * B will give 200 |
/ | صورت کسر را بر مخرج تقسیم می کند. | B / A will give 2 |
% | باقیمانده تقسیم دو عدد را به ما بر می گرداند. | B % A will give 0 |
در جدول زیر تمام اپراتورهای رابطه ای پشتیبانی شده توسط Pascal نشان داده شده است. فرض کنید متغیر A دارای مقدار ۱۰ باشد و متغیر B دارای مقدار ۲۰ است، سپس:
عملگر | شرح | مثال |
---|---|---|
= | بررسی می کند که آیا مقادیر دو عملوند برابر است یا خیر ، اگر بله ، آن گاه شرط true می شود. | A = B) is not true) |
<> | بررسی می کند که آیا مقادیر دو عملوند مساوی است یا خیر ، اگر مقادیر مساوی نباشند ، شرط true می شود. | A <> B) is true) |
> | بررسی می کند که آیا مقدار عملوند سمت چپ بیش تر از مقدار عملوند سمت راست است، اگر بله ، این شرط true می شود. | A > B) is not true) |
< | بررسی می کند که آیا مقدار عملوند سمت چپ کم تر از مقدار عملوند سمت راست است، اگر بله ، این شرط true می شود. | A < B) is true) |
=< | بررسی می کند که آیا مقدار عملوند سمت چپ بیش تر از یا مساوی مقدار عملوند سمت راست است، اگر بله ، آن گاه شرط true می شود. | A >= B) is not true) |
=> | بررسی می کند که آیا مقدار عملوند سمت چپ کم تر از یا مساوی با مقدار عملوند سمت راست است، اگر بله ، این شرط true می شود. | A <= B) is true) |
در ادامه ی عملگرها در پاسکال (Pascal) عملگرهای بولین را داریم.
در جدول زیر تمام اپراتورهای Boolean پشتیبانی شده توسط زبان Pascal نشان داده شده است. همه این اپراتورها روی عملوندهای بولین کار می کنند و نتایج بولین را تولید می کنند. فرض کنید متغیر A دارای true و متغیر B دارای false باشد ، سپس:
عملگر | شرح | مثال |
---|---|---|
and | عملگر بولین AND نامیده می شود. اگر هر دو عملوند صحیح باشند ، پس شرط true می شود. | A and B) is false) |
and then | این شبیه به عملگر AND است ، با این حال ، ترتیبی که کامپایلر عبارات منطقی را ارزیابی می کند تضمین می کند. عملوندهای چپ به راست و راست فقط در صورت لزوم ارزیابی می شوند. | A and then B) is false) |
or | عملگر بولین OR می شود. اگر هر دو عملوند صحیح باشد ، آن گاه شرط true می یابد. | A or B) is true) |
or else | این شبیه به Boolean OR است ، با این حال ، ترتیبی را که کامپایلر عبارات منطقی را ارزیابی می کند تضمین می کند. عملوندهای چپ به راست و راست فقط در صورت لزوم ارزیابی می شوند. | A or else B) is true) |
not | عملگر بولین NOT نامیده می شود. برای معکوس کردن وضعیت منطقی عملوند استفاده می شود. اگر یک شرط true باشد ، عملگر NOT منطقی آن را false می کند. | not (A and B) is true. |
اپراتورهای Bitwise روی بیت کار می کنند و عملیات bit-by-bit را انجام می دهند. همه این اپراتورها روی عملوندهای integer کار می کنند و نتایج integer را تولید می کنند.
جدول درستی برای (~) bitwise and (&), bitwise or (|), bitwise not به شرح زیر است.
p | q | p & q | p | q | ~p | ~q |
---|---|---|---|---|---|
۰ | ۰ | ۰ | ۰ | ۱ | ۱ |
۰ | ۱ | ۰ | ۱ | ۱ | ۰ |
۱ | ۱ | ۱ | ۱ | ۰ | ۰ |
۱ | ۰ | ۰ | ۱ | ۰ | ۱ |
فرض کنید که A = 60؛ و B = 13 است؛ اکنون در قالب باینری ان ها به شرح زیر خواهند بود .
A = 0011 1100
B = 0000 1101
—————–
A&B = 0000 1100
A^B = 0011 0001
~A = ۱۱۰۰ ۰۰۱۱
اپراتورهای Bitwise که توسط Pascal پشتیبانی می شوند در جدول زیر آورده شده اند. فرض کنید متغیر A دارای ۶۰ باشد و متغیر B دارای ۱۳ است ، سپس:
عملگر | شرح | مثال |
---|---|---|
& | عملگر باینری AND اگر در هر دو عملوند وجود داشته باشد ، یک بیت را به نتیجه کپی می کند. | (A & B) will give 12, which is 0000 1100 |
| | عملگر باینری OR اگر در هر کدام از عملوندها وجود داشته باشد یک بیت را کپی می کند. | (A | B) will give 61, which is 0011 1101 |
! | عملگر باینری OR اگر در هر کدام از عملوندها وجود داشته باشد یک بیت را کپی می کند. مثل عملگر | . | (A ! B) will give 61, which is 0011 1101 |
~ | عملگر باینری Ones Complement یگانی است و تأثیر روی بیت های “flipping” دارد. | (~A ) will give -61, which is 1100 0011 in 2’s complement form due to a signed binary number. |
>> | اپراتور باینری شیفت چپ. مقدار عملوندهای چپ به وسیله تعداد بیت های مشخص شده توسط عملوند سمت راست منتقل می شود. | A << 2 will give 240, which is 1111 0000 |
<< | اپراتور باینری شیفت سمت راست. مقدار عملوندهای چپ به وسیله تعداد بیت های مشخص شده توسط عملوند سمت راست منتقل می شود. | A >> 2 will give 15, which is 0000 1111 |
لطفا توجه داشته باشید که پیاده سازی های differ پاسکال در اپراتورهای bitwise تفاوت دارد. Free Pascal ، کامپایلری که ما در اینجا استفاده کردیم ، از اپراتورهای بیتی زیر پشتیبانی می کند.
عملگر | عملیات |
---|---|
not | Bitwise NOT |
and | Bitwise AND |
or | Bitwise OR |
xor | Bitwise exclusive OR |
shl | Bitwise shift left |
shr | Bitwise shift right |
>> | Bitwise shift left |
<< | Bitwise shift right |
مبحث عملگرها در پاسکال (Pascal) را در ادامه خواهیم داشت.
تقدم عملگر ، گروه بندی شرایط را در یک عبارت تعیین می کند. این بر نحوه ارزیابی یک عبارت تأثیر می گذارد. برخی از اپراتورها نسبت به بقیه اولویت بالاتری دارند. به عنوان مثال ، اپراتور ضرب نسبت به اپراتور جمع از اولویت بالاتری برخوردار است.
به عنوان مثال x = 7 + 3 * 2؛ در این جا نتیجه ی x برابر با ۱۳ داده می شود نه ۲۰ . زیرا عملگر * دارای اولویت بالاتری از عملگر + است ، بنابراین ابتدا باید نتیجه ی ۳ * ۲ انجام شود و سپس نتیجه ی آن دو به اضافه ی ۷ می شود.
در این جا ، اپراتورهایی با بالاترین تقدم در بالای جدول ظاهر شده اند ، عملگرهایی که کم ترین تقدم را دارند در پایین جدول نشان داده شده است. در یک عبارت ، ابتدا عملگرهای دارای اولویت بالاتر ارزیابی می شوند.
عملگر | Precedence |
---|---|
, not,~ | Highest |
&,div, mod, and, /,* | |
, or, -,+,!,| | |
, in ,= <, <, =>,>, <>,= | |
or else, and then | Lowest |
عملگرها در پاسکال (Pascal) را در این بخش از آموزش پاسکال (Pascal) دنبال نمودیم. در بخش بعدی به بررسی ساختارهای تصمیم می پردازیم. با وب سایت آموزشی پی وی لرن همراه باشید.