كلمات حاكمة أخري للتحكم في C++

كلمات حاكمة أخري للتحكم

توجد بعض الكلمات الحاكمة الأخري للتحكم في سير البرنامج , ولقد رأينا الكلمة الحاكمة break مستخدمة في التعبير الشرطي switch , ولكنها يمكن أن تستخدم في مواضع أخري , كما يوجد الكلمة continue وهي أيضا لا تستخدم إلا في الدورات , وأخيرا العبارة go to والتي يجدر عدم استخدامها .

الكلمة الحاكمة break

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

شكل طريقة عمل الكلمة الحاكمة break

Object-Oriented Programming in C   _Page_0145_Image_0001

وكمثال علي طريقة عملها , إليك برنامجا يظهر الأعداد الأولية علي هيئة أشكال علي الشاشة .

Showprim.cpp

showprim.cpp


 


// showprim.cpp


// displays prime number distribution


#include <iostream.h>


#include <conio.h>                // for getche()


 


void main()


   {


   const unsigned char WHITE = 219;    // solid color (primes)


   const unsigned char GRAY  = 176;    // gray (non primes)


   unsigned char sal;


                  // for each screen position


   for(int count=0; count<80*25-1; count++)


      {


      sal = WHITE;                 // assume it's prime


      for(int j=2; j<count; j++)  // divide by every integer from


     if(count%j == 0)         // 2 on up; if remainder is 0,


        {


        sal = GRAY;            // it's not prime


        break;                // break out of inner loop


        }


      cout << sal;                 // display the character


      }


   getche();                      // freeze screen until keypress


   }





وما يحدث عملا هو أن كل موضع علي الشاشة يكون مرقما من 1 إلي 1999 ( أي 80*25-1) . وفي المواضع ذات العدد الأولي يكون المحرف ملونا باللون الأبيض , وفي غير ذلك يكون اللون رماديا . ويبين الشكل خرج البرنامج المذكور .



Object-Oriented Programming in C   _Page_0146_Image_0001



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



وتلاحظ أننا في هذا البرنامج قد استخدمنا الكود الممتد للأسلكي , وهو الكود ذو الأرقام من 128 إلي 255 , وذلك في المحرفين 219 و 176 .



أما الدالة getche() في نهاية البرنامج فوظيفتها تثبت المشيرة إلي أن يتم الضرب علي أي مفتاح , وإلا أنتقلت المشيرة لأول الشاشة بمجرد انتهاء البرنامج .



أما تعريفنا للمتغيرات المحرفية علي أنها unsigned char فلكونها تتجاوز قيمة 127 , وهي أخر مدي للمتغير char .

تعليقات

المشاركات الشائعة من هذه المدونة

المؤثرات الحسابية في C++

الرسم Graphics

دوال النمط الرسومي في ++C