بسم الله الرحمن الرحيم
نكمل بإذن الله مع درس مهم جدا لعمل برنامج ، يجب التركيز جيدا وبإذن الله ستجدها سهله
الجملة الشرطية (IF):
وتعتبر من القواعد المهمة في لغة فيجول بيسك بل في جميع لغات البرمجة ، وتستخدم لتنفيذ عمليات معينة حسب شرط محدد.
وتحتوي على عدة صيغ ويقوم المصمم باختيار المناسب منها حسب متطلبات المشروع ،
If اختباره تريد الذي الشرط Then
'الشرط تحقق اذا تنفيذها تريد التي الاوامر
ElseIf اختباره تريد الذي الآخر الشرط Then
'الشرط تحقق اذا تنفيذها تريد التي الاوامر
ElseIf اختباره تريد الذي الآخر الشرط Then
'الشرط تحقق اذا تنفيذها تريد التي الاوامر
......
......
Else
'خاطئة أعلاه الشروط جميع كانت اذا تنفيذها تريد التي الاوامر
End If
الصيغ:
أ- صيغة (IF - THEN ) : تستخدم هذه الصيغة لتنفيذ فعل واحد عند تحقق الشرط او مجموعة الشروط.
IF condition THEN statements
ومعنى هذه الصيغة : أنه إذا تحقق الشرط (condition) فسيتم تنفيذ الأمر (statements)، ومعنى تحقق الشرط أن تكون قيمته (صحيحة True ) ،
الصيغة العامة لها
If اختباره تريد الذي الشرط Then'الشرط تحقق اذا تنفيذها تريد التي الامر
والمثال التالي يوضح ذلك :
IF D >= 50 THEN Text1 = "ناجح"
IF D >= 50 THEN Text1 = "ناجح"
يوضح هذا المثال أنه إذا كانت الدرجة ( D ) أكبر من أو تساوي50 فإن البرنامج سوف يقوم بتخزين قيمة (ناجح ) في المتغير الحرفي ( Text1 ) .
ملاحظة : يمكن جمع أكثر من شرط باستخدام ادوات الربط And , Or , كما في المثال الأتي:
IF D>= 50 and D <60 Then text2.text="Good"
If D >10 Or D <> 0 then Text1.text ="العدد موجب"
في هذا المثال سوف يتم طباعة Good عندما تكون الدرجة D اكبر من أو تساوي 50 واصغر من 60، اما في الحالة الثانية فانه سوف يطبع " العدد موجب " عند تحقق أي من الحالتين.
تقوم الجملة If Then باختبار الشرط الذي تريده مرة واحدة فقط فإذا كان صحيحاً ستنفذ الأوامر التي تسندها إليها وإذا كان خاطئاً لا تنفذ الاوامر وتتجاوز مباشرة إلى مابعدها .
الجزء الأساسي في عبارة If Then هو الجزء (If) حيث لابد من كتابته , أما الجزئين (ElseIf) و (Else) فهما اختياريان ويمكنك الاستغناء عنهما او كتابتهما وهذا حسب احتياجك في البرنامج .
ب- صيغة ( IF - THEN - END IF )
IF condition THEN
….
statements
….
END IF
وهذه الصيغة تعني بتنفيذ مجموعة من الأوامر إذا تحقق الشرط (condition) بدلاً من تنفيذ أمر واحد، والمثال التالي يوضح ذلك:
IF D >= 50 THEN
Text1 = "ناجح"
Text2 = " مبروك"
END IF
في هذا المثال إذا كانت الدرجة ( D ) أكبر من أو تساوي 50 فإن البرنامج سوف يقوم بتخزين قيمة (ناجح ) في المتغير الحرفي ( Text1 )، وقيمة (مبروك) في المتغير الحرفي (Text2).
ج- صيغة (IF - THEN - ELSE) :
IF condition THEN
….
statements1
….
ELSE
….
statements2
….
END IF
تختلف هذه الصيغة عن الصيغتين السابقتين، وذلك أن هذه الصيغة تنفذ مجموعة الأوامر (statements1) عندما يتحقق الشرط(condition)، أما عندما لا يتحقق الشرط فإنها تنفذ مجموعة الأوامر (statements2)، وهذا المثال يوضح ذلك:
IF D >= 50 THEN
Text1 = "ناجح "
ELSE
Text1 = "راسب"
END IF
يوضح هذا المثال أنه إذا كانت الدرجة ( D ) أكبر من أو تساوي 50 فإن البرنامج سوف يقوم بتخزين قيمة (ناجح ) في المتغير الحرفي ( Text1 ) ، أما إذا كانت الدرجة ( D ) أصغر من 50 فإن البرنامج سوف يقوم بتخزين قيمة (راسب) في المتغير الحرفي (Text1).
د- صيغة (IF - THEN - ELSEIF) :
IF condition THEN
….
statements1
….
ELSEIF condition THEN
….
statements2
….
ELSE
….
END IF
وتختلف هذه الصيغة عن الصيغة الثالثة في أنها تضع شرطاً جديداً عندما لا يتحقق الشرط السابق ، والمثال التالي يوضح هذه الصيغة :
IF D >= 90 THEN
Text1 = " ممتاز"
ELSEIF D >= 80 THEN
Text1 = "جيد جدا"
ELSEIF D >= 70 THEN
Text1 = "جيد"
ELSEIF D >= 60 THEN
Text1 = "مقبول"
Else
Text1 = "راسب"
END IF
ومعنى هذا المثال أنه إذا كانت الدرجة ( D ) أكبر من أو تساوي 90 (تحقق الشرط الأول) فإن البرنامج سوف يقوم بتخزين قيمة (ممتاز) في المتغير الحرفي (Text1)، أما إذا كانت الدرجة ( D ) أكبر من أو تساوي 80 فإن البرنامج سوف يقوم بتخزين قيمة (جيد جداً) في المتغير الحرفي (Text1 ) ، أما إذا كانت الدرجة (D ) أكبر من أو تساوي 70 فإن البرنامج سوف يقوم بتخزين قيمة (جيد) في المتغير الحرفي ( Text1)، أما إذا كانت الدرجة ( D ) أكبر من أو تساوي 60 فإن البرنامج سوف يقوم بتخزين قيمة (مقبول) في المتغير الحرفي (Text1) ، أما إذا كانت الدرجة غير ما سبق فإن البرنامج سوف يقوم بتخزين قيمة (راسب) في المتغير الحرفي (Text1).
* ملاحظة : في صيغة (IF - THEN - ELSEIF) إذا تحقق أحد الشروط فإن البرنامج ينفذ العملية ، ثم يذهب مباشرة إلى نهاية جملة ( END IF ) ولا يقوم بالتحقق من الشروط الأخرى.
0 التعليقات:
إرسال تعليق
عزيزي القارئ إذا كان لديك أي ملاحظات أو تعليقات على الموضوع تفضل بوضعها هنا