Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

أولوية المعاملات

جزء من قسم Logic & Flow في رحلة C# على Coddy — الدرس 38 من 66.

تحدد أولوية العمليات الترتيب الذي يتم بموجبه تقييم العمليات في التعبير. يعد فهم الأولوية أمراً بالغ الأهمية لكتابة تعبيرات منطقية صحيحة.

انظر إلى هذا المثال:

int result = 5 + 3 * 2;

ما هي قيمة result؟ إنها 11، وليست 16، لأن الضرب له أسبقية أعلى من الجمع.

إليك ترتيب أسبقية مبسط (من الأعلى إلى الأدنى):

  1. الأقواس ()
  2. الضرب/القسمة * / %
  3. الجمع/الطرح + -
  1. معاملات المقارنة < > <= >=
  2. معاملات المساواة == !=
  1. عامل AND المنطقي &&
  2. عامل OR المنطقي ||
  3. عوامل التعيين = += -= إلخ.

لنرى كيف ينطبق هذا:

bool result = 5 > 3 && 10 < 20 || 7 == 8;

أولاً، يتم تقييم المقارنات: 5 > 3 هو true، و 10 < 20 هو true، و 7 == 8 هو false.
ثم، عملية AND المنطقية: true && true هي true.
وأخيراً، عملية OR المنطقية: true || false هي true.

إذًا النتيجة هي true.

استخدم الأقواس لجعل الكود الخاص بك أكثر وضوحًا:

bool result = (5 > 3 && 10 < 20) || (7 == 8);
challenge icon

التحدي

سهل

قم بإنشاء دالة باسم EvaluateExpression تأخذ ثلاثة أعداد صحيحة (a, b, c) وتعيد قيمة منطقية (boolean).

يجب أن تعيد الدالة نتيجة هذا التعبير:
a > b || a == c && b < c

ثم، قم بإنشاء دالة أخرى باسم EvaluateWithParentheses تقوم بتقييم:
(a > b || a == c) && b < c

يجب أن يقرأ برنامجك ثلاثة أعداد صحيحة من وحدة التحكم (console) ويطبع نتائج كلا التقييمين في أسطر منفصلة.

جرّب بنفسك

using System;

class Program
{
    public static bool EvaluateExpression(int a, int b, int c)
    {
        // اكتب الكود الخاص بك هنا
    }
    
    public static bool EvaluateWithParentheses(int a, int b, int c)
    {
        // اكتب الكود الخاص بك هنا
    }
    
    static void Main(string[] args)
    {
        Console.WriteLine("Enter three integers:");
        int a = int.Parse(Console.ReadLine());
        int b = int.Parse(Console.ReadLine());
        int c = int.Parse(Console.ReadLine());
        
        // استدعِ الدوال الخاصة بك واطبع النتائج
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Logic & Flow