المعاملات المنطقية - الجزء الثالث
جزء من قسم Fundamentals في رحلة C# على Coddy. الدرس 24 من 69.
عند فحص شروط متعددة، يتوقف الكمبيوتر عن التحقق بمجرد معرفته بالنتيجة النهائية (يُسمى هذا التقييم باستخدام تقنية Short-circuit evaluation).
على سبيل المثال:
int x = 0;
int y = 5;
bool result = x != 0 && y / x > 2;هنا x يساوي 0، ولذلك لن يتم تقييم y / x > 2. إذا قمنا بعكس الترتيب:
bool result = y / x > 2 && x != 0;سيؤدي هذا إلى حدث خطأ لأن y ستقسم على 0 وهو أمر غير مسموح به في الرياضيات.
تُستخدم هذه التقنية لتحسين تقييم التعابير المنطقية. على سبيل المثال:
int a = 0;
int b = 2;
int c = 3;
int d = 5;
bool result = (a > 0 && b < 2) || (c < -5 && d < 10);في هذا المثال، لن يتم تقييم b < 2 و d < 10 لأن كلًا من a > 0 و c < -5 خاطئ (false).
التحدي
مبتدئدعنا ننشئ برنامجاً لتحديد ما إذا كان اليوم مناسباً لإنتاج الطاقة عبر الألواح الشمسية
قم بتهيئة هذه المتغيرات:
isSunnyبالقيمة truewindSpeedبالقيمة 5.4temperatureبالقيمة 23solarPanelOutputبالقيمة 9isCloudyبالقيمة false
أنشئ تعبيراً منطقياً واحداً يتحقق من كل هذه الشروط:
- الطقس مشمس
- سرعة الرياح أقل من 10
- إنتاج الألواح الشمسية أقل من 15
- درجة الحرارة أعلى من 20 أو لا توجد سحب
جرّب بنفسك
using System;
public class Program {
public static void Main(string[] args) {
// تهيئة المتغيرات
// استبدل كل قيمة نائبة بالقيمة التي تصفها المهمة
bool isSunny = false;
double windSpeed = 0.0;
int temperature = 0;
int solarPanelOutput = 0;
bool isCloudy = true;
// التعبير المنطقي الكامل
// استبدل العنصر النائب أدناه بالتعبير الذي تصفه المهمة
bool result = false;
// لا تحذف الأسطر أدناه
Console.WriteLine("Checking conditions for solar energy production...");
Console.WriteLine("1. Is it sunny? " + isSunny);
Console.WriteLine("2. Is wind speed safe? " + (windSpeed < 10));
Console.WriteLine("3. Can panels produce more? " + (solarPanelOutput < 15));
Console.WriteLine("4. Is temperature good OR no clouds? " + (temperature > 20 || !isCloudy));
Console.WriteLine("\nFinal result - Good day for solar energy production: " + result);
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةالزيادة والنقصانالزيادة والنقصان اللاحقاختصارات العمليات الحسابية7أساسيات الإدخال والإخراج (Basic IO)
الإخراج الأساسيتضمين النصوص (String Interpolation)قراءة المدخلاتالتحليل (Parse)مراجعة - حتى 120مراجعة - True أو False5المعاملات - الجزء الثاني
معاملات المقارنةالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثتدرّب بنفسك: مترجم C# عبر الإنترنت