المعاملات والمقارنات والشروط
تشرح هذه الصفحة الرموز والكلمات التي تربط القيم: العمليات الحسابية وترتيب تنفيذها، والمقارنات التي تعطي true أوfalse، والعوامل المنطقية والعوامل التي تعمل على البتات. استخدمها إذا أعطى السطر عددًا غير الذي تتوقعه، أو أردت أن تتحقق الملاحظة من شرط، مثل بقائك ضمن الميزانية.
العمليات الحسابية
| العامل | صيغ الكتابة | المثال | النتيجة |
|---|---|---|---|
| الجمع | +, plus |
£12.50 + £4.30 |
£16.80 |
| الطرح | -, −, minus |
£20 - £4.50 |
£15.50 |
| الضرب | * و× وtimes وmultiplied by، أو التجاور |
3 × £4.50, 2(3 + 4) |
£13.50, 14 |
| القسمة | /, ÷, divided by |
£60 / 4 |
£15.00 |
| الأس | ^, **, to the power of, raised to, exponent |
2 ** 3, 2 raised to 10 |
8, 1,024 |
| باقي القسمة | mod و% بين عددين |
50 mod 6, 50 % 6 |
2 |
| جَذْر تَرْبيعيّ | √, sqrt(...), square root of |
√144 |
12 |
| التربيع / التكعيب | ², ³ |
3³ |
27 |
| المضروب | !, factorial(...) |
5!, factorial(5) |
120 |
تعمل العمليات الحسابية على الأعداد المجرّدة والمبالغ والكميات ذات الوحدات، وتحتفظ النتيجة بالعملة أو الوحدة:
£12.50 + £4.30 الناتج £16.803 * £4.50 الناتج £13.50£1,000 * 1.05^3 الناتج £1,157.636 times 7 الناتج 42100 minus 37.5 الناتج 62.5يعني التجاور حذف علامة *، كما في 2(3 + 4) أو2π. يشرح الضرب الضمني متى يعمل ذلك ومتى لا يعمل.
ترتيب العمليات
تتبع الحسابات الترتيب المعتاد من الرياضيات المدرسية:
- أقواس.
- المضروب، مثل
5!. - الأسس، وتُحسب من اليمين إلى اليسار: تعني
2^3^2المقدار2^9، أي 512. - الإشارة السالبة في البداية، وتُطبَّق بعد الأس: تعطي
-2^2نتيجة −4، بينما تعطي(-2)^2نتيجة 4. - الضرب والقسمة و
mod، من اليسار إلى اليمين. - الجمع والطرح، من اليسار إلى اليمين.
لا يغيّر حذف * هذا الترتيب؛ فتربّع 2x^2 المتغير x قبل مضاعفته، كما في الصيغ الرياضية المعتادة.
يعني ذلك تنفيذ الضرب قبل الجمع المجاور له، وهو ما قد يسبب التباسًا عند جمع فاتورة:
£85 - £12.50 * 2 الناتج £60.00(£85 - £12.50) * 2 الناتج £145.00£120 / 4 / 2 الناتج £15.00إذا التبس عليك الترتيب، أضف أقواسًا. فهي توضح المقصود وتجعل قراءة الملاحظة لاحقًا أسهل.
تنطبق علامة الجذر التربيعي على القيمة مباشرة بعدها، لذلك √9 + 16 هي 19. ضع التعبير بأكمله بين قوسين ليأخذ جذر المجموع:
√(9 + 16) الناتج 5بواقي القسمة
تعطي mod باقي القسمة، وهي مفيدة لتوزيع الأشياء على مجموعات:
eggs = 50eggs mod 6 الناتج 2floor(eggs / 6) الناتج 8تملأ خمسون بيضة ثماني علب تتسع كل منها لست بيضات، وتتبقى بيضتان.
% بين رقمين هو أيضًا الباقي، حتى بدون مسافة قبل الرقم الثاني: 50 % 6 و 50% 6 كلاهما يعطي 2. % بدون شيء بعده يشكل نسبة مئوية (50%)، والتي مغطاة في النسب المئوية.
المضروبات
ضع ! مباشرة بعد عدد أو اسم متغير أو قوس إغلاق لحساب المضروب:
5! الناتج 120runners = 4runners! الناتج 243! + 2 الناتج 85!=4 الناتج trueيُحسب المضروب قبل الأس المجاور له، لذلك تعني 2^3! المقدار 2⁶، أي 64. وتظل ! المتبوعة بـ= تعني «لا يساوي»، كما في السطر الأخير. تعطي factorial(5) النتيجة نفسها مثل 5!.
مُقارَنة
تقارن == و!= و< و<= و> و>= بين قيمتين وتعطي true أوfalse. تعمل مع الأعداد المجرّدة والمبالغ بالعملة نفسها والكميات من النوع نفسه، حتى لو اختلفت وحداتها:
budget = £400spent = £365spent <= budget الناتج truespent == budget الناتج falsespent != budget الناتج true5 km == 5,000 m الناتج true90 min >= 1.5 hours الناتج true2 kg < 2,500 g الناتج trueتُحوَّل الوحدات قبل المقارنة، لذلك تعطي 1 mile > 1.5 km نتيجة true. مقارنة كميات من أنواع مختلفة، مثل الكيلوغرامات والأمتار، تعطي خطأ incompatible units.
ما لا تدعمه المقارنات
- المقارنات المتسلسلة. لا تُدعَم
5 < x < 10. اربط مقارنتين بدلًا من ذلك:5 < x && x < 10. - رموز يونيكود. لا يتم التعرف على
≠و≤و≥. استخدم!=و<=و>=. - التواريخ. لا يمكنك مقارنة تاريخين باستخدام
<أو>. اطرحهما وقارن الفرق مع فترة زمنية:
deadline = 30 September 2026booked = 14 September 2026deadline - booked الناتج 2 weeks 2 daysdeadline - booked >= 7 days الناتج trueالعوامل المنطقية
اربط المقارنات باستخدام &&، التي تتطلب صحة المقارنتين، أو||، التي تتطلب صحة واحدة منهما على الأقل. تعمل and وor بالطريقة نفسها بين مقارنتين.
distance = 5 kmrun time = 27 mindistance >= 5 km && run time < 30 min الناتج truedistance >= 10 km || run time < 25 min الناتج falsedistance >= 10 km or run time < 30 min الناتج trueيمكن كتابة true و false مباشرة ودمجها مع && و ||:
true || false الناتج truetrue && false الناتج falseبعض النماذج التي قد تتوقعها غير مدعومة:
- لا تعمل
andوorإلا بين المقارنات. لا تعملtrue and false؛ اكتبtrue && false. - لا يوجد عامل نفي:
not trueو!trueلا يعملان. قارن ذلك بـfalseبدلاً من ذلك، كما في(spent > budget) == false. - لا تُستخدم
orكقيمة بديلة عند حدوث خطأ: لا تعطي1/0 or 5نتيجة 5.
استخدام المقارنات في الشروط
تفيد المقارنة خصوصًا داخل if … then … else …، التي تختار قيمة بحسب نتيجة الشرط:
basket = £34.50if basket >= £40 then £0 else £3.99 الناتج £3.99يشرح قسم الشروط الصياغة كاملة، بما فيها else if وif وunless بعد التعبير، وإسناد القيم داخل فرع.
عوامل العمليات على البتات
تدعم الأعداد الصحيحة عوامل البتات & (و) و| (أو) وxor (أو الحصرية) و<< (إزاحة لليسار) و>> (إزاحة لليمين). وتعمل الكلمات الكبيرة AND وOR وXOR أيضًا. تفيد هذه العمليات خصوصًا في البرمجة، مثل حساب قيم الألوان وأذونات الملفات.
12 & 10 الناتج 812 | 10 الناتج 1412 xor 10 الناتج 612 AND 10 الناتج 81 << 10 الناتج 1,0241024 >> 3 الناتج 128تظهر النتيجة كعدد عادي. أضف to binary أوin hex أوto octal لعرضها بنظام العد الذي تستخدمه:
0o644 | 0o111 to octal الناتج 0o755colour = 0xFF8800(colour >> 8) & 0xFF الناتج 136تُنفَّذ الإزاحات قبل & و| وxor، لكن الأقواس تجعل سطرًا مثل مثال اللون أسهل بكثير في الفهم.
مثال يجمع هذه العمليات
فحص شهري للميزانية يستخدم الحساب والمقارنات والمنطق معا:
# September budgettake home = £2,400rent = £1,050bills = £230groceries = 4 * £65 الناتج £260.00left over = take home - rent - bills - groceries الناتج £860.00rent / take home as % الناتج 43.75%left over > £500 الناتج trueleft over > £500 && rent <= take home * 45% الناتج trueينفّذ سطر groceries الضرب قبل أي جمع، ويطرح left over من اليسار إلى اليمين. يحوّل السطران الأخيران الملاحظة إلى أداة تحقق: تظل النتيجة true ما دام المتبقي أكبر من £500 والإيجار لا يتجاوز 45% من صافي الدخل، وتصبح false بمجرد عدم تحقق أحد الشرطين.