محتويات الدرس الخامس :
1. المعاملات (<> و < و > و => و =< )
2. تركيب If…Then
3. تركيب if …then …else
4. تركيب select case
5. تركيب For…Next
6. تركيب do...loop
أولاً : المعاملات
سوف نلخصها في هذا الجدول
المعامل
معناه
مثال
صحيح إذا
خاطئ إذا
=
يساوي
A = B
A تساوي B
A أصغر أو أكبر من B
<>
لايساوي
A <> B
A تختلف عن B
A تساوي B
>
أصغر من
A < B
A أصغر من B
A أكبر من أو يساوي B
=>
أصغر من أو يساوي
A <= B
A أصغر من أو يساوي B
A أكبر من B
<
أكبر من
A > B
A أكبر من B
A أصغر من أو تساوي B
=<
أكبر من أو يساوي
A >= B
A أكبر من أو يساوي B
A أصغر من B
ملاحظة :
الرجاء من المبرمجين حفظ هذا الجدول
تركيب If…Then
أمر واحد
Then
شرط
If
مثال
end
Then
"علي"Pw$ <>
if
فإذا كانت الكلمة التي أدخلها المستخدم تختلف عن <> عبارة "علي" فإن الشرط يعد صحيحاً ويقوم "فيجول بيسيك" بتنفيذ الأمر الذي يلي كلمة Then وهو امر end وهو يقوم بإنهاء البرنامج .
يمكن تنفيذ عدة أوامر بالطريقة التالية
Then
شرط
If
مجموعة
الاوامر
End if
مثال : (برنامج إدخال كلمة سر )
)"أدخل كلمة السر من فضلك"pw$ = inputbox$ (
then "علي"if pw$ <>
beep
beep
"كلمة السر غير صحيحة"msgbox
end
end if
مكان التطبيق الأول
تركيب if…then ….else
وتكون صياغته بالشكل التالي :
then شرطif
مجموعة أوامر
else
مجموعة أوامر
end if
في هذا التركيب يقوم "فيجول بيسيك" بتقييم الشرط ، فإن كان صحيحاً فإنه ينفذ مجموعة الأوامر التي تلي كلمة then حتى كلمة else وإن كان خاطئاً فإنه ينفذ مجموعة الأوامر
التي تلي كلمة else حتى كلمة end if . أي أنه لابد من تنفيذ إحدى المجموعتين من الأوامر . مثال :
)"أدخل كلمة السر من فضلك"pw$ = inputbox (
then "علي" if pw$ =
"أهلا وسهلاً بك في البرنامج" msgbox
else
"هذا البرنامج مخصص لمجموعة محددة من المستخدمين"msgbox
end
end if
مكان التطبيق الثاني
يقوم البرنامج بسؤال المستخدم عن كلمة سر فإذا كانت صحيحة فإنه يرحب به وأما إذا كانت غير ذلك يعرض عليه رسالة توضيحية وبعدها يخرج من البرنامج
تركيب Select Case
إذا كان لديك احتمال واحد أو احتمالين للشرط ، فإنه يمكنك إستخدام تركيبات if التي ذكرناها سابقاً . أما إذا كان لديك عدة احتمالات فإنه من الأفضل أن تستخدم تركيب Select Case وتكون صياغته كالتالي
الشرط select case
الاحتمال الأول Case
مجموعة أوامر
الاحتمال الثاني Case
مجموعة أوامر
الاحتمال الثالث Case
مجموعة أوامر
………
إذا لم يكن أي من الاحتمالات السابقة Case Else
End Select
في هذا التركيب يقوم "فيجول بيسيك" بتقييم الشرط في بداية التركيب . ثم يبدأ في مقارنته مع الاحتمالات المختلفة التي تذكرها عند كلمة Case ، فإذا وافق أحدها الشرط ، فإنه يقوم بتنفيذ مجموعة الأوامر التي تليها حتى كلمة Case التالية . وإذا لم يوافق أي من الاحتمالات المذكورة فإنه ينفذ مجموعة الأوامر التي تلي كلمة Case Elese ( وهي اختيارية ) فإذا لم تكن موجودة ، فإنه لانفذ أي من تلك الأوامر
وكمثال على تركيب Select Case ، لنفرض أن لديك أربعة مستخدمين للبرنامج وتريد أن تحدد درجة المستخدم حسب كلمة السر التي يدخلها ، فإنك تكتب شيئاً مشابها لمجموعة الأوامر التالية :
"أدخل كلمة السر من فضلك"pw$ = inputbox (
المعيار الذي سنتفرع بناءاً على قيمته select case pw$
هل هي الخفجي؟ "الخفجي" case
مجموعة الأوامر
هل هي الوفرة؟ "الوفرة" case
مجموعة الأوامر
ليست واحدة من الكلمات Case Else
"كلمة السر غير صحيحة "msgbox
end
end selcet
مكان التطبيق الثالث
التكرار :
التكرار loop يعني تكرار مجموعة معينة من الأوامر عدد معين من المرات . وهناك ثلاثة تركيبات لعمل ذلك وهي :
تركيب for …next
يستخدم إذا كنت تعرف عدد المرات التي ترغب في تكرارها ، وتكون صياغته كالتالي:
الزيادة في كل مرة(اختياري
step
النهاية
to
البداية
=
متغير يستخدم للعد
for
ضع مجموعة الأوامر التي تريد تكرارها هنا
اسم المتغير next
مثال :
إذا أردت أن تكرر مجموعة أوامر عشرة مرات مثلا قم بما يلي :
for counter = 1 to 10
مجموعة الأوامر
next counter
ويجب أن لا تعدل قيمة المتغير الذي يحمل عدد مرات التكرار
مثال
for counter = 1 to 10
………………….
Counter = counter +1
Next counter
هذا التكرار سيتفذ 5 مرات لأن في كل مرة يتم فيها تنفيذ مجموعة الأوامر المحصورة بين for و next تتم فيها زيادة المتغير مرتان .
تكرار do…...loop
يفيد هذا التكرار إذا كنت لاتعرف عدد مرات التكرار التي تريدها
لنفرض أنك تريد تكرار مجموعة أوامر بشكل مستمر حتى يتحقق شرط معين فإنك تستخدم هذا التكرار . ( هذا التكرار له عدة أشكال سوف نشرح هذه الاشكال كما يلي :
الشكل الأول
شرط do while
مجموعة الأوامر ……
loop
في هذه الصياغة يقوم "فيجول بيسيك" بتقييم الشرط ، فإن كان خاطئا فلا يقوم بتنفيذ التكرار أبداً . أما إذا كان صحيحاً ، فإنه يقوم بتنفيذ مجموعة الأوامر المحصورة كلمتي do و loop مرة. ثم يعود ويختبر الشرط مرة أخرى .. وهكذا حتى يجد الشرط خاطئاً فيخرج من التكرار . مثال :
dim myval as string
do while myval <> "bye"
input #1, myval
print myval
loop
في هذا المثال يضل يقرأ حتى يصل إلى كملة "bye "
الشكل الثاني
DO
مجموعة الأوامر
الشرط Loop while
في هذه الحالة يقوم "فيجول بيسيك" بتنفيذ التكرار مرة واحدة ثم يحتبر الشرط فإن كان خاطئا فإنه يوقف التكرار ، وإن كان صحيحا فإنه يقوم بتكرار مجموعة الأوامر
الخروج من التكرار :
اسم التكرار
طريقة الخروج
التكرار for…next
Exit for
التكرار do …loop
Exit loop