العبارة الشرطية
|

العبارة الشرطية ودورها في لغات البرمجة

العبارة الشرطية بالانجليزيه Conditional statement  وهي برنامج حاسوبي خاص بتنفيذ الإجراءات وفقًا لمعطيات الشرط.

بذلك تعتمد العباره الشرطيه على (افعل او لا تفعل) حيث أنها سلسلة من التعليمات البرمجية التي يتم استخدامها بكثرة تحت كتلة “IF-Then”.

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

فهي بدورها تعطي أولوية التنفيذ وفقا لما تتطلبه أنظمة التشغيل وغيرها في تنفيذ سلسلة من الإجراءات الروتينية.

 

تاريخ ظهور العبارة الشرطية

تم استخدام العبارة الشرطية لأول مرة في لغات البرمجة المبكرة عام 1980.

إذ أن عبارة IF-Then  كانت على هيئه الامر GOTO فقط.

بالتالي فقد كانت تعليمه فرعية أساسية يُعتمد عليها من قبل المبرمجين.

وفي ظل انتشار الحواسيب أدى وجود عمليات الشرط القديمة الى ظهور ما يعرف بـ “سباغيتي”.

حيث كانت تتخذ من صورتها عبارات عشوائيه على هيئه كتل من البيانات داخل  العباره الشرطيه IF.

 

برمجة سباغيتي

غالبا ما يشير كود السباغيتي إلى قصور في عملية البرمجة .

حيث كانت التسمية تطلق على ملامح مشاريع برمجية غير واضحة.

مع ذلك , عزز وجود العبارة الشرطية إمكانية الحصول على شيفرة عالية الكفاءة وخاصة في البرمجة الكائنية.

على سبيل المثال , يدل وصف سباغيتي على نقص الخبرة اللازمة في إدارة المشروع.

بالإضافة إلى عدم القدرة على عملية التخطيط .

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

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

دون حتى الخروج من تبعيات تلك الأخطاء مستقبلاً.

 

البوابات المنطقية

يعود استخدام متغير Boolean إلى عالم الرياضيات George Boole.

وهو بدوره سلسلة من العمليات المنطقية التي تُستخدم بدءًا من الدارات الكهربائية ووصولاً إلى العبارة الشرطية البرمجية (بحسب المترجمات).

تم اشتقاقها في لغات البرمجة للإشارة إلى الوصول الفعلي إلى لغة الآلة.

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

على سبيل المثال ، لغة جافا سكريبت تقبل متغيرات من نوع boolean تساعد في أداء العبارة الشرطية على أكمل وجه.

 

أنواع العبارة الشرطية

  • بيان إذا .IF-Statement
  • إذا آخر If-Else statement.
  • المتداخلة Nested If-else statement
  • If-Else If ladder
  • بيان التبديل switch statement

 

فوائد استخدامها

  1. المساعدة في أداء البرامج.
  2. اختبار الفرضيات ووضع القواعد المتبعة.
  3. مساعدة الحاسوب في اتخاذ القرارات.

 

العبارة الشرطية IF-STATEMENT

تقوم العبارة الشرطية IF-STATEMENT بوظيفة برمجية.

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

تمثل الصيغة العامة التالية طريقة قياسية شائعة الإستخدام.

if (X < 10) {
 print "Hello John";  
}

 

 

إذا آخر IF-ELSE STATEMENT

تقوم العبارة الشرطية IF-ELSE بتشغيل عدة مجموعات من نصوص الكود .

على سبيل المثال يتم اعتماد واحدة منها بأنها صحيحة ويتم تجاهل العبارات الأخرى الخاطئة.

مع ذلك ليس بالضرورة أن تكون خاطئة برمجيًا بل إنما هي حينئذ لم تكن تحقق ماهية الشرط من وجهة نظر الحاسوب.

فيما يلي مثال حول IF-ELSE لغة جافا سكريبت.

var x = 1;
if (x === 1) {
 window.alert("The expression is true!");
}
else {
 window.alert("The expression is false!");
}

 

عبارة متداخلة Nested If-else

يمكن أن تحتوي العبارة الشرطية Nested IF ELSE على أكثر من شرط متداخل لنفس الوظيفة.

على سبيل المثال يتم استخدام عبارات IF متداخلة للوصول إلى أدق نتيجة من البرنامج.

 if (X < 10) {
 print "Hello John";  

 if (X != 10) {
 print "Hello James";  

}
}

 

عبارات فردية متعددة If-Else If ladder

لا تختلف كثيرًا عن العبارة الشرطية الأولية IF ELSE حيث يتم السير على كافة الأكواد من الأعلى إلى الأسفل.

بالتالي في حال العثور على نتيجة صحيحة يتم تطبيقها فورًا من قبل المترجم متجاهلا بذلك بقية النصوص.

ينشط استخدام هذا النوع في المشاريع الكبيرة التي تتطلب لائحة طويلة من الإحتمالات.

 

بيان التبديل Switch

وتسمى بالإنجليزية Switch Statement إذ يتم ضبط قيمة افتراضية من مجموعة بيانات.

على سبيل المثال , يكون المترجم على وشك اختيار إحدى الخيارات المتاحة من قبل البرنامج.

وفي حال لم يتم العثور على واحدة منها يذهب البرنامج إلى وضع افتراضي.

بالتالي يعتبر بيان التبديل على أنه واحدًا من أنواع جمل العبارة الشرطية.

فيما يلي صيغة بيان تبديل مكتوبة بلغة سي من موقع مايكروسوفت:

switch ( expression )
{
    // declarations
    // . . .
    case constant_expression:
        // statements executed if the expression equals the
        // value of this constant_expression
        break;
    default:
        // statements executed if expression does not equal
        // any case constant_expression
}

 

فيما يلي يتم استخدام جافا سكريبت كمثال في التعبير عن حالات الشرط.

 

المتغيرات المنطقية

نقوم الآن بتعريف المتغير الأول بقيمة فارغة ، فليكن كما يلي:

<script>
var online = null;
</script>

لاحظ بأننا قمنا بتحديد متغير من نوع Bool بالتالي يتم الآن إسناد قيمة منطقية له على النحو الآتي:

<script>
online = true;
</script>

لدينا متغير منطقي تم تنشيطه من JS ، تم تحويل Online إلى true ما يمكننا من الاستفادة منه.

بالتالي إن أردنا تعطيل قيمة المتغير المنطقية وفقا لطبيعته ، نفعل ما يلي:

<script>
 online = false;
</script>

استخدام العبارة الشرطية مع الحلقات التكرارية

<script>
var online = false;

for(var i= 0 ; i<10 ; i++){

if(i==2){
online = true;
if(online){document.write("You are online!");}
}


}
</script>

لا يختلف سرد العبارة الشرطية في جميع لغات البرمجة.

إذ أنها توفر طريقة واحدة في بناء المتغيرات وبالتالي الاعتماد على الخوارزميات في إدارة الوظائف.

من خلال هذه المتغيرات ، يتم الإستغناء عن الكثير من القيم عديمة الفائدة.

ما يسمح باستغلال موارد المتصفح بشكل جيد للغاية.

حيث أن هناك بعض الأكواد التي لا يمكن أن تعمل في آن واحد.

 

استخدام العبارة الشرطية

الاعتماد على متغيرات Boolean أمر جيد ، لكن نادرًا ما يتم استخدام الكلمة المحجوزة Boolean كثيرًا.

بالتالي يمكن الوصول إلى النتيجة دون وصف العبارة الشرطية كاملة.

على سبيل المثال يمكن التعبير في لغة جافا سكريبت على النحو التالي.

<script>

if(Boolean(9 < 50))
{
document.write("9 is smaller than 50!");
}
</script>

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

<!DOCTYPE html>
<html>
<body>

<h2>Testing Null Values</h2>

<span id="my Span"></span>

<script>
var ID = 46584;
if(! ID)
{
document.getElementById("my Span").innerHTML = "Unfortunately but there is no data to show this time!";
}
else{
  document.getElementById("my Span").innerHTML = "Your ID is: " +ID;
}

</script>

</ body >
</html>

 

 

المراجع

  1.  ^ JavaScript if, else, and else if.
  2. ^ CONDITIONALS.
  3. ^ Conditional Statements.
  4. ^ Conditional (computer programming).
  5. ^ Conditional Statements: Examples in Math and Programming.
  6. ^ What is Spaghetti Code (And Why You Should Avoid It).
  7. ^ If statement.
  8. ^ If else.
  9. ^ Swift – Nested if-else Statement.
  10. ^ The if-else-if Ladder.
  11. ^ switch Statement (C).
تقييم هذا المنشور

Similar Posts

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *