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

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

جزء من قسم Fundamentals في رحلة 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 أو لا توجد غيوم

اطبع "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اختبر نفسك

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

جميع دروس Fundamentals

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