عبارة CASE في باسكال
تستخدم عبارة Case (الحالة) في المواقع التي يراد فيها الاختيار بين عدد من البدائل.
تستخدم عبارة الـ CASE كبديل عن استعمال عدد من عبارات IF - ELSE المتتالية، والتي غالبا ما تكون أكثر تعقيدا، وصعبة التتبع والفهم
أما باستعمال الـ CASE فإن البرنامج يصبح أكثر وضوحا، وسهل التتبع
الصيغة العامة لـ CASE:
CASE selector OF
constent1 :
statement1;
constent2 :
statment2;
.
.
.
.
END;
selector هو عبارة عن متغير من أي نوع مدرج (راجع درس الأنواع المدرجة)
constent1 و constent2 هي قيم يمكن أن يأخذها المتغير selector
فإذا كانت قيمة selector هي constent1 يتم تنفيذ العبارت التالية لها في هيكل CASE وهي statement1.
وإذا كانت قيمته constent2 تنفذ العبارة statment2 وهكذا.
لاحظ المثال التالي:
PROPGRAM ex1 (input, output);
VAR
lettergrade : char;
BEGIN
wirteln('Enter your last grade: ');
readln(lettergrade);
CASE lettergrade OF
'A': writeln('4.0');
'B': writeln('3.0');
'C': writeln('2.0');
'D': writeln('1.0');
'F': writeln('0.0');
END
END.
في هذا المثال سوف يطبع البرنامج الدرجة المقابلة للتقدير الذي حصلت عليه مؤخرا
في بعض الأحيان قد نرغب في تنفيذ نفس الأوامر لعدة قيم للمتغير selector، في هذه الحالة تذكر هذه القيم وتفصل بينها بالفاصلة
PROPGRAM ex2 (input, output);
VAR
number : Integer;
BEGIN
wirteln('Enter a number between 1 - 10: ');
readln(number);
CASE number OF
1, 3, 5, 7, 9 : writeln('The number is odd');
2, 4, 6, 8, 10: writeln(' the number is even');
END
END.
طبعا إذا أردنا تنفيذ أكثر من أمر واحد في كل حالة يجب أن نحيطها بـ BEGIN و END.
تستخدم عبارة Case (الحالة) في المواقع التي يراد فيها الاختيار بين عدد من البدائل.
تستخدم عبارة الـ CASE كبديل عن استعمال عدد من عبارات IF - ELSE المتتالية، والتي غالبا ما تكون أكثر تعقيدا، وصعبة التتبع والفهم
أما باستعمال الـ CASE فإن البرنامج يصبح أكثر وضوحا، وسهل التتبع
الصيغة العامة لـ CASE:
CASE selector OF
constent1 :
statement1;
constent2 :
statment2;
.
.
.
.
END;
selector هو عبارة عن متغير من أي نوع مدرج (راجع درس الأنواع المدرجة)
constent1 و constent2 هي قيم يمكن أن يأخذها المتغير selector
فإذا كانت قيمة selector هي constent1 يتم تنفيذ العبارت التالية لها في هيكل CASE وهي statement1.
وإذا كانت قيمته constent2 تنفذ العبارة statment2 وهكذا.
لاحظ المثال التالي:
PROPGRAM ex1 (input, output);
VAR
lettergrade : char;
BEGIN
wirteln('Enter your last grade: ');
readln(lettergrade);
CASE lettergrade OF
'A': writeln('4.0');
'B': writeln('3.0');
'C': writeln('2.0');
'D': writeln('1.0');
'F': writeln('0.0');
END
END.
في هذا المثال سوف يطبع البرنامج الدرجة المقابلة للتقدير الذي حصلت عليه مؤخرا
في بعض الأحيان قد نرغب في تنفيذ نفس الأوامر لعدة قيم للمتغير selector، في هذه الحالة تذكر هذه القيم وتفصل بينها بالفاصلة
PROPGRAM ex2 (input, output);
VAR
number : Integer;
BEGIN
wirteln('Enter a number between 1 - 10: ');
readln(number);
CASE number OF
1, 3, 5, 7, 9 : writeln('The number is odd');
2, 4, 6, 8, 10: writeln(' the number is even');
END
END.
طبعا إذا أردنا تنفيذ أكثر من أمر واحد في كل حالة يجب أن نحيطها بـ BEGIN و END.
لا يوجد حالياً أي تعليق