Menu
CoddyTech
flag Ar iconالعربيةdown icon

المعاملات المنطقية - الجزء الثالث

جزء من قسم الأساسيات في رحلة C على Coddy. الدرس 23 من 63.

عند التحقق من شروط متعددة، يتوقف البرنامج عن التحقق بمجرد أن يعرف الإجابة النهائية. يُسمى هذا التقييم بالتقصير.

على سبيل المثال:

int x = 0;
int y = 5;
int result = (x != 0) && (y / x > 2);

هنا x يساوي 0، لذلك لن يُقيّم y / x > 2. إذا عكسنا الترتيب:

int result = (y / x > 2) && (x != 0);

سيؤدي ذلك إلى حدوث خطأ لأن y ستُقسَم على 0، وهذا غير معرّف في C. لذا من الممارسات الجيدة التفكير مليًا في العمليات، حتى تتمكن من كتابة شيفرة صحيحة وفعّالة وخالية من الأخطاء.

تُستخدم هذه التقنية لتحسين تقييم التعبيرات المنطقية. على سبيل المثال:

int a = 0;
int b = 2;
int c = 3;
int d = 5;
int result = (a > 0 && b < 2) || (c < -5 && d < 10);

في هذا المثال، لن يتم تقييم b < 2 وd < 10 لأن a > 0 وc < -5 كلاهما خاطئ.

challenge icon

التحدي

سهل

أنشئ برنامجًا لتحديد ما إذا كان اليوم مناسبًا لإنتاج الطاقة باستخدام الألواح الشمسية

هيّئ هذه المتغيرات:

  • isSunny بالقيمة 1 (صحيح)
  • windSpeed بالقيمة 5.4
  • temperature بالقيمة 23
  • solarPanelOutput بالقيمة 9
  • isCloudy بالقيمة 0 (خطأ)

أنشئ تعبيرًا منطقيًا واحدًا يتحقق من كل هذه الشروط:

  • الجو مشمس
  • سرعة الرياح أقل من 10
  • إنتاج الألواح الشمسية أقل من 15
  • درجة الحرارة أعلى من 20 OR لا توجد غيوم

اطبع "Good day for solar energy" إذا تحققت جميع الشروط، وإلا فاطبع "Not ideal for solar energy".

جرّب بنفسك

#include <stdio.h>

int main() {
    // هيّئ المتغيرات
    int isSunny = 1;
    float windSpeed = 5.4;
    int temperature = 23;
    int solarPanelOutput = 9;
    int isCloudy = 0;
    
    // أنشئ التعبير المنطقي
    int isGoodDay = 
    
    // لا تغيّر ما يلي
    if (isGoodDay) {
        printf("Good day for solar energy\n");
    } else {
        printf("Not ideal for solar energy\n");
    }
    
    return 0;
}
quiz iconاختبر نفسك

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

جميع دروس الأساسيات

تدرّب بنفسك: مترجم C عبر الإنترنت