ويعتبر الإختيار متعدد البدائل بديل للعبارة الشرطية المتدرجة.
والواقع أن الإختيار متعدد البدائل أعد خصيصاً ليكون أسهل استخداماً من العبارة الشرطية المتدرجة، ويتميز عنها بأنه أفضل توضيحاً.
أما في لغة c++ فتستخدم جملة switch case بدلاً من select case لعمل الإختيار متعدد البدائل والشكل التالي يوضح الصورة العامة للإختيار متعدد البدائل switch case في لغة c++.
وكما نرى فإن الإختيار متعدد البدائل يبدأ بكلمة switch يليها متغير الإختيار والذي تحدد قيمته الإختيار الذي سيتم تنفيذه، ويلي ذلك قوس بلوك كبير يحتوي داخله بلوكات صغيرة كل منها يمثل إختيار من البدائل المطروحة وكل بلوك من بلوكات البدائل يبدأ بكمة case متبوعة بقيمة لمتغير الإختيار – والتي تمثل الشرط – وبعد ذلك تأتي عبارة النتيجة، ويختتم بلوك البديل بكلمة (break) والغرض من هذه الكلمة هو منع الكمبيوتر من تنفيذ عبارة النتيجة الآتية.
وقد تبدو العبارة غريبة للوهلة الأولى ويتبادر للذهن سؤال ملح: مثل إذا تحقق الشرط الأول فماذا يدفع الكمبيوتر لتنفيذ بقية عبارات النتائج؟ والإجابة عن هذا السؤال هي أن عبارة الإختيار متعدد البدائل لا ترسل للكمبيوتر أمراً بالتوقف بعد تحقق أي شرط فيها، لذا لزم الإستعانة بكلمة break وبعد نهاية بلوكات البدائل التي تأتي كلمة default متبوعة بعبارة أو بعبارات ينفذها الكمبيوتر في حالة عدم تحقق أي شرط من الشروط الشابقة.
يمكن للبرنامج تنفيذ عديد من الجمل في الحالة التي يتحقق فيها الشرط في حالات switch كما في الشكل الآتي:
مثال يوضح كيفية عمل جملة switch
في المثال السابق يتم طباعة الجملة:
Two or three
وذلك لأن n=2
وحينما يذهب البرنامج لتنفيذ الحالة المتطابقة مع الشرط وهي case 2:
فإن البرنامج لا يجد جملة break فيقوم بتنفيذ الجمل التي تتضمنها هذه الحالة (وهذه الحالة لا تتضمن أي جمل لتنفيذها كما هو في البرنامج )ثم لا يخرج من جملة switch (لا ينهي البرنامج) ولكن يذهب للحالة:
Break;
فيقوم بطباعة الجملة
two or three
برنامج الآلة الحاسبة: (يقرأ عددين ورمز عملية حسابية) ويطبع النتائج:
العبارة الشرطية المتدرجة: (if – else – if ladder)
لو إفترضنا أنه قد طلب منك كمبرمج عما برنامج يمكنه إحتساب التقديرات إعتماداً على مجموع الطالب، في هذه الحالة نستخدم عبارة شرطية أيضاً ولكن بها عدداً من الشروط وعدد مناظر من النتائج أو ما يطلق عليه العبارة الشرطية المتدرجة والشكل الآتي يوضح التكوين العام للعبارة الشرطية المتدرجة.
ويمكن مع كل حالة من حالات الشرط يقوم البرنامج بتنفيذ أكثر من جملة كما في الشكل الاتي.
وفي هذة الحالة يتم وضع جمل كل حالة على شكل بلوكة كما في البرنامج الآتي:
مثال: لحساب مساحة مثلث:
بيوتر للدارسين والمتقدمين لامتحانات الوظائف.حقول الطباعة محفوظة للمؤلف.
45. عايد الهرش /محمد الغزاوى / محمد مفلح / مها فاخورى (2011). تصميم البرمجيات التعليمية وإنتاجها وتطبيقاتها التربوية.عمان. دار المسيرة للنشر والتوزيع.
46. عبد الله بن عبد العزيز الموسى(2004): مقدمة في الحاسب والإنترنت، الرياض، فهرسة مكتبة الملك فهد الوطنية أثناء النشر، ط2.
47. العزب محمد زهران(2004): "فعالية إستخدام إستراتيجية ما وراء المعرفة في تنمية مهارات حل المشكلة الرياضية لدى طلاب الصف الأول الثانوي". مجلة تربويات الرياضيات، المجلد7، العدد 1.
48. عمر زرتي(2001): البرمجة بلغة باسكال، الدار المصرية اللبنانية، الطبة الأولي.
49. غازى إسحق الخطيب، عزمى حسن(2008): أساليب البرمجة الحديثة بلغة بيسك القاهرة: دار البارودى للنشر و التوزيع.
50. غازي إبراهيم رحو، إبراهيم عبد الواحد تائب، محمد نوفل ضاهر(1999): مدخل إلى علم الحاسوب والبرمجة بلغة باسكال، جامعة العلوم التطبيقية، دار المناهج، ط1.
51. الغريب زاهر أسماعيل (2009): المقررات الإلكترونية: تصميمها – إنتاجها – نشرها – تطبيقها- تقويمها. القاهرة: عالم الكتب.
52. فراس محمد العزة، عبد الفتاح التميمى، محمد القطاونة(2004): مهارات الحاسوب الحاسوب والبرمجيات الجاهزة، دار اليازورى العلمية للنشر والتوزيع.
53. فؤاد شديد زاير (2005): مفكرة االحاسبات الف سؤال وجواب، مكتبة دار المعرفة.
54. القريب زاهر (2001). تكنولوجيا المعلومات وتحديات التعليم.القاهرة.الناشر عالم الكتب.
55. لقتال خضير العبادي(2012): C++ من البداية إلى البرمجية الكيانية، ط1،، دار الصادق الثقافية.
56. ليبرتى، جيسى (2011):علم نفسك الc++ في 21 يوم، ليبرتى جيسى –ط1 –حقوق الترجمه العربيه.
57. مازن حسام الدين محمد(2009).إستراتيجيات حديثة في تعليم وتعلم الحاسب الالى.القاهرة.دار العلم والإيمان للنشر والتوزيع.
58. مجدى محمد ابو العطا(2005).تطبيقات الحاسب الالى.شركة علوم الحاسب.
59. محمد بلال الزعبى(2008):مهارات الحاسوب-الحاسوب والبرمجيات الجاهزة، زمزم ناشرون، الطبعة الأولى.
60. محمد حمدي غانم (2010): من الصفرالي الاحتراف فيجوال بيزيك دوت نت 2010.
61.
65. Ahmed،M. Abdelhafez (2005):”The Effect of a Suggested Training Program in Some Metacognitive Language Learning Strategies on Developing Listening and Reading Comprehension of First Year EFL Students”. MA. Faculty of Education. Minia University.
66. Anderson، M،Perlis،D. R. (2005): logic self – awareness and self – improvement. the metacognitive loop and the problem of britteness – logic and computation، 5 (1).
67. Artino، Anthony R.، Jr (2008) "A Brief Analysis of Research on Problem-
a. Based Learnin