المعاملات المنطقية - الجزء الثالث
جزء من قسم الأساسيات في رحلة C# على Coddy. الدرس 24 من 69.
عند التحقق من conditions متعددة، يتوقف الكمبيوتر عن التحقق بمجرد أن يعرف الإجابة النهائية (يُسمى هذا التقييم قصير الدائرة).
على سبيل المثال:
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 خاطئان.
التحدي
مبتدئلننشئ برنامجًا يقرر ما إذا كان اليوم مناسبًا لإنتاج الطاقة من الألواح الشمسية
قم بتهيئة هذه المتغيرات:
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);
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةالزيادة والنقصانالزيادة والنقصان اللاحقاختصارات العمليات الحسابية7أساسيات الإدخال والإخراج (Basic IO)
الإخراج الأساسيتضمين النصوص (String Interpolation)قراءة المدخلاتالتحليل (Parse)مراجعة - حتى 120مراجعة - True أو False5المعاملات - الجزء الثاني
معاملات المقارنةالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثتدرّب بنفسك: مترجم C# عبر الإنترنت