أهلاً ومرحبا بكل أعضاء وزوار مجتمع أكتب كود .. يمكنك تسجيل عضوية فى منتديات أكتب كود .. لتتمكن من عرض الموقع بدون أعلانات ( التسجيل مجاناً )
  1. المدير العام

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

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

    كود PHP:
    if(شروط)
    {
      
    أوامر برمجية تنفذ في حال تحققت الشروط
    }
    else
    {
      
    أوامر برمجية في حال لم تحقق الشروط
    }
    يجب كتابة كتلة الأوامر البرمجية في حال تحققت الشروط .
    لكنك غير مطالب بكتابة كتلة الأوامر البرمجية في حال لم تتحقق الشروط .
    مثلا :
    كود PHP:
    if(x>10)
    {
      Print(
    "قيمة المتغير اكس أكبر من عشرة");
    }
    else
    {
      Print(
    "قيمة المتغير اكس أصغر من أو تساوي عشرة");
    }
    المثال على ما أعتقد واضح جدا وهو ببساطة يفحص قيمة المتحول x المعرف سابقا .
    في حال كانت قيمة المتحول x أكبر من عشرة فهذا يعني تحقق الشرط .
    وهذا يقتضي تنفيذ السطر البرمجي الموجود داخل القوسين المعقوفين { }

    اللذان يضمان جميع الأوامر البرمجية التي ستنفذ في حال تحقق الشرط .

    أما لو كانت قيمة المتحول x أصغر من 10 أو مساوية لها فهذا يعني عدم تحقق الشرط المحدد .

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


    طرق فحص الشرط كثيرة ومتنوعة وسوف نعرض الأهم فالأهم :
    - المساواة :
    يتحقق الشرط في حال كانت قيمة المتغيرين متساوية .
    وتكتب هكذا :
    كود PHP:
    if(x==y)
    - عدم المساواة :

    يتحقق الشرط في حال كانت قيمة المتغيرين غير متساوية .
    وتكتب هكذا :
    كود PHP:
     if(x!=y)
    - أكبر من :

    يتحقق الشرط في حال كانت قيمة المتحول الأول أكبر من قيمة المتحول الثاني .
    وتكتب هكذا :
    كود PHP:
     if(x>y)
    - أكبر من أو يساوي :

    يتحقق الشرط في حال كانت قيمة المتحول الأول أكبر من قيمة المتحول الثاني أو مساوية له .
    وتكتب هكذا :
    كود PHP:
     if(x>=y)
    - أصغر من :

    يتحقق الشرط في حال كانت قيمة المتحول الأول أصغر من قيمة المتحول الثاني .
    وتكتب هكذا :
    كود PHP:
     if(x<y)
    - أصغر من أو يساوي :

    يتحقق الشرط في حال كانت قيمة المتحول الأول أصغر من قيمة المتحول الثاني أو مساوية له .
    وتكتب هكذا :
    كود PHP:
     if(x<=y)
    يمكن فحص أكثر من شرط في نفس الوقت وفي حال تحققت كل الشروط فهذا يعني تنفيذ كتلة if البرمجية .

    هناك طريقتان رئيسيتان لدمج الشروط مع بعضها البعض وهما :
    - الطريقة الأولى بواسطة المعامل AND ويكتب هكذا && :
    عند دمج شرطين معا بواسطة المعامل ( و ) فهذا يعني وجوب تحقق الشرط الأول ووجوب تحقق الشرط الثاني في نفس الوقت .
    عندها فقط يتحقق الشرط الكلي لتركيبة if .
    مثلا :
    كود PHP:
     if(x==10 && y>=5
    لدينا في المثال السابق شرطين الأول هو أن تكون قيمة المتحول x مساوية للقيمة 10 .

    والشرط الثاني هو أن تكون قيمة المتحول y أكبر من أو مساوية للقيمة 5 .
    وبما أن الشرطين مدموجين بمعامل AND فهذا يعني وجوب تحقق كلا الشرطين ليتحقق شرط if الكلي .
    يمكن دمج أكثر من شرط بواسطة معامل AND وبنفس الطريقة .

    الطريقة الثانية بواسطة المعامل OR ويكتب هكذا || :

    عند دمج شرطين معا بواسطة المعامل ( أو ) فهذا يعني وجوب تحقق أحد الشرطين إما الشرط الأول أو الشرط الثاني أو كلاهما معا بطبيعة الحال .
    عندها فقط يتحقق الشرط الكلي لتركيبة if .

    مثلا :
    كود PHP:
     if(x==10 || y>=5
    لدينا في المثال السابق شرطين الأول هو أن تكون قيمة المتحول x مساوية للقيمة 10 .

    والشرط الثاني هو أن تكون قيمة المتحول y أكبر من أو مساوية للقيمة 5 .
    وبما أن الشرطين مدموجين بمعامل OR فهذا يعني وجوب تحقق أحد الشرطين أو كلاهما ليتحقق شرط if الكلي .
    يمكن دمج أكثر من شرط بواسطة معامل OR وبنفس الطريقة .
    في حال دمج أكثر من شرط بواسطة OR فهذا يعني تحقق الشرط الكلي في حال تحقق على الأقل شرط واحد فقط من الشروط المدموجة .
    ------------------------------------------------

    هناك طريقة أخرى لاتخاذ قرارت وفحص شروط أسرع وأسهل في الاستخدام ولكنها تستخدم فقط في حال كان لدينا شرط واحد للفحص .
    التعليمة البرمجية المستخدمة للفحص هي switch وتكتب على الشكل التالي :
    كود PHP:
    switch(x)
    {
      case 
    1:
         
    y=1;break;
      case 
    2:
         
    y=3;break;
      case 
    3:
         
    y=5;break;
      default:
         
    y=0;break;
    }
    في حال لم نضع التعليمة break فإن التنفيذ سيستمر ويتم فحص الحالات اللاحقة مما يسبب في تنفيذ تعليمات برمجية لا داعي لتنفيذها .

    طبعا هناك حالات خاصة معقدة تتطلب منا عدم كتابة break ليستمر التنفيذ على كل الحالات ولكنها ليست موضوعنا الآن .
    تستطيع بشكل اختياري تنفيذ تعليمات برمجية في حال لم تتوافق قيمة المتحول x مع أي من الحالات المذكورة وذلك بكتابة التعليمة default ثم كتابة ما تريد من تعليمات برمجية .
    ففي المثال السابق مثلا في حال لم تتحقق قيمة x في كونها 1 أو 2 أو 3 فإن قيمة y ستصبح صفرا .
    لا يهم ترتيب كتابة الحالات أو مقارنة الشرط وكلها ستعطي نفس النتيجة النهائية من حيث التنفيذ .
    كما رأيتم هنا فإننا في حال لزمنا فحص قيمة متحول واحد ولعدة حالات فإنه من الأسهل استخدام switch بدلا من if .
    الطريقة if تستطيع التحكم الكامل بها من حيث عدد الشروط وطريقة الفحص وهي أشمل وأعم من الطريقة switch .

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

    مثلا أنت عملت حلقة من 1 إلى 1000 وتريد أن تبحث داخل مصفوفة عن قيمة معينة .

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

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

    دعنا نرى المثال التالي :
    كود PHP:
    for(i=0;i<1000;i++)
    {
      if(array[
    i]==52) break;
    }
    المثال السابق يبحث في مصفوفة array عن قيمة 52 وبمجرد أن يجدها فإنه يكسر الحلقة بالتليمة break .

    وهكذا في بقية التراكيب الأخرى .
    هناك تعليمة معاكسة لتعليمة break وهي التعليمة continue .
    وتستخدم فقط مع for و while و do-while ولا تستخدم مع switch .

    لقد رأينا أن التعليمة break تكسر الحلقة وتنقل التنفيذ إلى ما بعد نهاية الحلقة مباشرة .
    فعلى العكس منها تماما تعليمة continue فإنها تكسر الحلقة ولكن تعيد التنفيذ إلى بداية الحلقة مرة أخرى أي أنها تعيد تنفيذ الحلقة من البداية .

    ---------------------------------------
    سيكون الدرس القادم بشكل مختلف وتطبيق اكثر فاعليه
     
  2. المدير العام

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

جاري تحميل الصفحة...
المشاركات المتشابهة - (06) دورة تعلم
  1. المدير العام
    الردود:
    0
    المشاهدات:
    242
  2. المدير العام
    الردود:
    0
    المشاهدات:
    381
  3. المدير العام
    الردود:
    24
    المشاهدات:
    2,413
  4. المدير العام
    الردود:
    0
    المشاهدات:
    281
  5. المدير العام
    الردود:
    0
    المشاهدات:
    308

مشاركة هذه الصفحة