إعلان
دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن

    البرمجة للمبتدئين الشروط المتداخلة

    مفهوم الشروط المتداخلة

    شروط متداخلة ( Nested Conditions ) تعني وضع شرط بداخل شرط. أي وضع جملة شرط بداخل جملة شرط و هذا الأمر نفعله عادةً لجعل قراءة الكود أكثر سهولة في حال كنا بحاجة لوضع الكثير من الشروط حتى ننفذ أوامر محددة.

    هذا الدرس سيكون عبارة عن أمثلة تتعلم من خلالها طرق مختلفة لوضع شروط منطقية و الحصول على نفس النتيجة .

    طريقة وضع شرط بداخل شرط

    في حال أردنا بناء برنامج يحسب كم يجب أن يكون مرتب من يتم قبوله في الوظيفة فهنا يمكننا وضع عدة شروط متداخلة على أساسها يتم تحديد المرتب كما في الصورة التالية.

    الشروط الموضوعة في الصورة نقرأها على الشكل التالي:

    • إن لم يكن عنده خبرة سنة واحدة على الأقل سيتم إعلامه بأنه لا يمكنه التقديم على الوظيفة.
    • إن كان عنده خبرة سنة واحدة على الأقل و لكنه غير متزوج, سيكون مرتبه 800$.
    • إن كان عنده خبرة سنة واحدة على الأقل و كان متزوجاً, سيكون مرتبه 1000$.

    إذاً في المثال التالي سيطلب من المستخدم إدخال عدد سنوات خبرته و إن كان متزوجاً أم لا.
    بعدها سيتم إعلامه كم سيكون مرتبه إذا تم قبوله في الوظيفة.

    ملاحظة: إن لم يجب على سؤال ما إن كان متزوجاً أم لا بواسطة كلمة yes أو no سيتم إعلامه أن جوابه غير مقبول.


    الحل الأول

    var experience;
    var is_married;
    
    write("Enter years of experience: ");
    experience = read();
    
    write("Are you married (yes/no): ");
    is_married = read();
     
    if(experience >= 1)
    {
        if (is_married == "yes")
        {
            write("Your salary will be 1000$ per month.");
        }
        else if (is_married == "no")
        {
            write("Your salary will be 800$ per month.");
        }
        else
        {
            write("Error: your answer can be 'yes' or 'no' only.");
        }
    }
    else
    {
        write("Sorry.. The job requires at least one year experience!");
    }
    		

    سنحصل على النتيجة التالية عند التشغيل مع الإشارة إلى أننا قمنا بتلوين القيمة التي أدخلناها عند التشغيل بلون مختلف.

    Enter years of experience: 3
    Are you married (yes/no): no
    Your salary will be 800$ per month.

    جرب الكود


    الصورة التالية توضّح كيف قام محرر الكود بالمرور على الشروط.



    هذه المرة سنجعل الجملة الشرطية الأولى ترى إذا كانت خبرة المستخدم أصغر من 1.
    في هذه الحالة لاحظ أننا وضعنا جمل الشرط الداخلية بداخل الجملة else.

    الحل الثاني

    var experience;
    var is_married;
    
    write("Enter years of experience: ");
    experience = read();
    
    write("Are you married (yes/no): ");
    is_married = read();
     
    if(experience < 1)
    {
        write("Sorry.. The job requires at least one year experience!");
    }
    else
    {
        if (is_married == "yes")
        {
            write("Your salary will be 1000$ per month.");
        }
        else if (is_married == "no")
        {
            write("Your salary will be 800$ per month.");
        }
        else
        {
            write("Error: your answer can be 'yes' or 'no' only.");
        }
    }
    		

    سنحصل على النتيجة التالية عند التشغيل مع الإشارة إلى أننا قمنا بتلوين القيمة التي أدخلناها عند التشغيل بلون مختلف.

    Enter years of experience: 3
    Are you married (yes/no): no
    Your salary will be 800$ per month.

    جرب الكود


    الصورة التالية توضّح كيف قام محرر الكود بالمرور على الشروط.



    هذه المرة لن نستخدم أسلوب الشروط المتداخلة بل سنعتمد على العامل &&.

    الحل الثالث

    var experience;
    var is_married;
    
    write("Enter years of experience: ");
    experience = read();
    
    write("Are you married (yes/no): ");
    is_married = read();
    
    if(is_married != "yes" && is_married != "no")
    {
        write("Error: your answer can be 'yes' or 'no' only.");
    }
    else if(experience >= 1 && is_married == "yes")
    {
        write("Your salary will be 1000$ per month.");
    }
    else if(experience >= 1 && is_married == "no")
    {
        write("Your salary will be 800$ per month.");
    }
    else if(experience < 1)
    {
        write("Sorry.. The job requires at least one year experience!");
    }
    		

    سنحصل على النتيجة التالية عند التشغيل مع الإشارة إلى أننا قمنا بتلوين القيمة التي أدخلناها عند التشغيل بلون مختلف.

    Enter years of experience: 3
    Are you married (yes/no): no
    Your salary will be 800$ per month.

    جرب الكود


    الصورة التالية توضّح كيف قام محرر الكود بالمرور على الشروط.

    هل استخدام الشروط المتداخلة أمر إجباري

    كلا طبعاً, فكما لاحظت في الأمثلة السابقة أننا استطعنا كتابة البرنامج الواحد بثلاث طرق مختلفة و حصلنا على النتيجة ذاتها.
    و من هذا المنطلق نريدك أن تكون على قناعة تامة بأنك قادرة على كتابة الكود دائماً بطرق مختلفة.

    استخدام أسلوب الشروط المتداخلة أمر يريحك للغاية عند كتابة الكود و عند الحاجة للتعديل عليه مستقبلاً لهذا فإننا نستخدمه كثيراً في مشاريعنا البرمجية عندما نتعامل مع شروط تكون مبنية على بعضها.

    في النهاية, عليك دائماً أن تحاول فهم الكود الذي أمامك لا أن تحفظه, و لتفهمه جيداً عليك تحليل طريقة عمله سطراً سطراً كما فعلنا.

    إعلان

    Eqla3Tech.com

    شروحات مكتوبة حول لغات البرمجة و تقنية المعلومات باللغة العربية مقدمة من إقلاع تك.

    لغة جافا لغة ++C قواعد البيانات نظام ويندوز نظام لينكس الشبكات تقنية المعلومات

    الدورات

    أدوات مساعدة

    الأقسام

    دورات
    مقالات أسئلة مشاريع كتب