عملگرها
عملگرهای حسابی، مقایسهای و منطقی در پاسکال و قوانین اولویت آنها.
سه دسته عملگر
۱. عملگرهای حسابی
| عملگر | عمل | مثال | نتیجه |
|---|---|---|---|
+ | جمع | 7 + 2 | 9 |
- | تفریق | 7 - 2 | 5 |
* | ضرب | 7 * 2 | 14 |
/ | تقسیم (همیشه real) | 7 / 2 | 3.5 |
div | تقسیم صحیح | 7 div 2 | 3 |
mod | باقیمانده | 7 mod 2 | 1 |
۲. عملگرهای مقایسهای
| عملگر | معنی | مثال | نتیجه |
|---|---|---|---|
= | مساوی | 5 = 5 | true |
<> | نامساوی | 5 <> 3 | true |
< | کوچکتر | 3 < 5 | true |
> | بزرگتر | 3 > 5 | false |
<= | کوچکتر یا مساوی | 5 <= 5 | true |
>= | بزرگتر یا مساوی | 3 >= 5 | false |
توجه:
= مقایسه است اما := تخصیص! برعکس C که = و == است.۳. عملگرهای منطقی
| عملگر | معنی | مثال | نتیجه |
|---|---|---|---|
and | و (هر دو) | (5>3) and (2>4) | false |
or | یا (حداقل یکی) | (5>3) or (2>4) | true |
not | نقیض | not (5>3) | false |
xor | یای انحصاری | true xor true | false |
اولویت عملگرها
مثل ریاضی: اول ضرب/تقسیم، بعد جمع/تفریق:
writeln(2 + 3 * 4); { 14 — نه 20! }
writeln((2 + 3) * 4); { 20 — پرانتز اولویت را عوض میکند }
| اولویت | عملگرها |
|---|---|
| ۱ (بالاترین) | not، منفی یکانی (-) |
| ۲ | * / div mod and shl shr |
| ۳ | + - or xor |
| ۴ (پایینترین) | = <> < > <= >= |
وقتی شک دارید، پرانتز بگذارید!
(a + b) * c همیشه واضحتر از اتکا به اولویتهاست.عملگرهای بیتی (پیشرفته)
writeln(1 shl 3); { 8 — شیفت چپ: 1×2³ }
writeln(16 shr 2); { 4 — شیفت راست: 16÷2² }
writeln(12 and 10); { 8 — AND بیتی }
writeln(12 or 10); { 14 — OR بیتی }
مثال: شرطهای مرکب
var age: integer;
begin
age := 20;
{ آیا نوجوان است؟ بین ۱۳ تا ۱۹ }
if (age >= 13) and (age <= 19) then
writeln('نوجوان')
else
writeln('نوجوان نیست');
{ آیا کودک یا سالمند است؟ }
if (age < 13) or (age > 64) then
writeln('کودک یا سالمند');
end;
خلاصه
- حسابی: + - * / div mod
- مقایسه: = <> < > <= >= (نتیجه boolean)
- منطقی: and or not xor
- اولویت: پرانتز > not > ضرب/تقسیم > جمع/تفریق > مقایسه
این مبحث بخشی از دوره آموزش کامل پاسکال است.