المشاركات

عرض الرسائل ذات التصنيف الدوارات والعبارات الشرطية في سي بلس بلس

عبارة continue في C++

صورة
عبارة continue عبارة break تخرج البرنامج من الدوارة لتستأنف فيما بعدها . إلا أنه قد تثور الحاجة لبدأ الدوارة من أولها مرة أخري عند حدوث أمر غير متوقع , وتقوم العبارة continue بهذا التأثير , كما هو مصور في الشكل . شكل عمل العبارة continue سوف تجري تعديلا علي برنامجنا السابق divdo.cpp والذي يقسم الأعداد علي 2 , تتلاقي به إنهاء البرنامج بعد إصدار رسالة الخطأ عند القسمة علي الصفر . Divdo2.cpp divdo2.cpp   // divdo2.cpp // demonstrates CONTINUE statement #include <iostream.h>   void main() { long dividend, divisor; char sal;   do { cout << "Enter dividend: " ; cin >> dividend; cout << "Enter divisor: " ; cin >> divisor; if ( divisor == 0 ) // if attempt to { // divide by 0, ...

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

صورة
كلمات حاكمة أخري للتحكم توجد بعض الكلمات الحاكمة الأخري للتحكم في سير البرنامج , ولقد رأينا الكلمة الحاكمة break مستخدمة في التعبير الشرطي switch , ولكنها يمكن أن تستخدم في مواضع أخري , كما يوجد الكلمة continue وهي أيضا لا تستخدم إلا في الدورات , وأخيرا العبارة go to والتي يجدر عدم استخدامها . الكلمة الحاكمة break تتسبب هذه الكلمة في الخروج من أية دوارة , بالضبط كما تفعل في العبارة الشرطية switch , وتتسبب في الانتقال إلي السطر التالي لكتلة الدوارة مباشرة , ويبين الشكل طريقة عملها . شكل طريقة عمل الكلمة الحاكمة break وكمثال علي طريقة عملها , إليك برنامجا يظهر الأعداد الأولية علي هيئة أشكال علي الشاشة . 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 prime...

المؤثرات المنطقية في C++

المؤثرات المنطقية رأينا الي الأن عائلتين من المؤثرات , ( بالإضافة إلي المؤثر العجيب ؛ المؤثر الشرطي ) الحسابية والعلائقية . ونعرض الأن لعائلة ثالثة , هي المؤثرات المنطقية operators logical . وتتيح لك هذه المؤثرات أن تربط التعابير البولية , أي التعابير التي ترتبط بمعادلات الجبر البولي , وتكون نتائجها إما صواب أو خطأ ( أي متحقق / غير متحقق (true/false . فمثلا , للعبارة " اليوم هو الأحد " قيمة بولية لأنها تحتمل أن تكون صوابا أو خطأ , زمن العبارات ذات القيم البولية أيضا "ماريا أخذت السيارة " , وبالتالي يمكننا ربط العبارات التالية بمعادلة بولية : " إذا كان اليوم الأحد , " و" أخذت ماريا السيارة , فسوف أستخدم الباص " . الرابطة بين العبارتين هنا هي الحرف "و" . وهو عني أن العبارة الثالثة صحيحة فقط في حالة كون العبارة الأولي "و" الثانية صحيحتان . ولدينا المؤثرات الثلاثة المنطقية التالية : المؤثر تأثيره &...

المؤثر الشرطي في C++

صورة
المؤثر الشرطي إليك مؤثرا يستخدم في اتخاذ القرارات , غريب الشكل إلي حد ما , وقد وضع للإستخدام في موقف كثير التكرار في البرمجة , متغير له قيمة ما في حالة تحقق شرط ما , وقيمة أخري في حالة عدم تحقق ذلك الشرط . وإليك البرنامج التالي , وهو يطبع لك حرف x علي مسافات ثمانية , أي كل ثمانية مسافات . وقبل أن تكتب البرنامج , سنوضح لك الفكرة التي يقوم عليها . المفروض أن يطبع حرف x علي الشاشة في كل موضع يكون فيه رقم العمود من مضاعفات الرقم 8 , وأن يترك مسافة في غير ذلك من المواضع ( الشاشة مقسمة إلي 80 عمودا كما تعلم ) . والفكرة أن نتصور متغيرا وليكن j يعبر عن رقم العمود علي الشاشة , أي تتغير قيمته من 0 إلي 79 , ونضع شرطا يقول : في الأعمدة التي يكون فيها قسمة j علي 8 بدون باق , أطبع الحرف x وإذا كان لهذه المسافة باق , خذ مسافة . كيف تصوغ هذا الشرط في لغة السي ؟ تمدنا لغة السي بمؤثر أسميناه " مؤثر باقي القسمة " وهو علي الصورة % , وهو يستخدم لاختبار كون القسمة لها باق أم لا , معني ذلك أن الشرط يكون علي الصيغة : j%8 , ويمكن أن نتخيل البرنامج محتويا علي الشرط التالي : If (j%8) ...

عبارة switch في C++

صورة
عبارة switch إذا كانت لديك شجرة قرارات كبيرة , وكلها تعتمد علي قيم مختلفة لنفس المتغير , فإن صيغة العبارة switch تكون أكثر ملاءمة . وإليك برنامجا يخرج لك عبارة من عدة عبارات , بحسب الرقم الذي تختاره من بين عدة أرقام . Platters.cpp Platters.cpp   // platters.cpp // demonstrates SWITCH statement #include <iostream.h>   void main() { int speed; // turntable speed   cout << "\nEnter 33, 45, or 78: " ; cin >> speed; // user enters speed switch (speed) // selection based on speed { case 33: // user entered 33 cout << "LP album\n" ; break : case 45: // user entered 45 cout << "Single selection\n" ; break ; case 78: // user entered 78 cout << "Obsolete format\n...

الدالة المكتبية getche() في C++

صورة
الدالة المكتبية getche() مثالنا التالي يحتوي علي عبارة if … else مضمنة في دوارة while , كما يقدم لك دالة مكتبية جديدة , هو الدالة getche() ] اختصار لـــ get character, echo ومعناها أنها (تأخذ get ) محارف character من لوحة المفاتيح , وتظهرها علي الشاشة ] الإظهار علي الشاشة عند الإدخال من لوحة المفاتيح يطلق عليه echo ويعني حرفيا صدي الصوت وبالمناسبة فهناك دالة أخري getch () بدون الحرف e لإدخال المحارف ولكن لا تظهرها علي الشاشة [ . والبرنامج يحصي عدد الحروف والكلمات التي تحتويها عبارة نصية يدخلها المستخدم . Chcount.cpp chcount.cpp   // chcount.cpp // counts characters and words typed in #include <iostream.h> #include <conio.h> // for getche()   void main() { int chcount=0; // counts non-space characters int wdcount=1; // counts spaces between words char ch = 'a' ; // ensure it isn't '\r'   while ( ch != '\r' ) // loop until Enter ...

الدالة المكتبية exit() في C++

صورة
الدالة المكتبية exit() حينما يكتشف البرنامج المعطي أن العدد أوليا ( أي في أية لحظة يكون الباقي صفرا ) , فالمفروض أن يخرج علي الفور بعد أن يعطي الرسالة اللازمة , ويتحقق ذلك بإستخدام الدالة المكتبية exit() . هذه الدالة ما أن يصادفها البرنامج حتي يخرج علي التو . ولا تعيد هذه الدالة أيه قيم ] سوف نتعرض لهذا الموضوع لاحقا [ , كما أن معاملها هو الرقم 0 , والذي يعاد إلي نظام التشغيل , يخبره بأن الإنهاء طبيعي ( ليس نتيجة خطأ ما , ففي حالات الأخطاء يكون هذا الرقم ذو قيم معينة ) . العبارة if …. Else تتيح لك العبارة if أن تفعل شيئا تحقق شرط ما , فإذا لم يتحقق , لا حدث أي شئ , بل يستمر البرنامج في طريقه متجاهلا العبارة وشرطها . أما العبارة if …. Else فتتيح لك خيارين , واحد عند تحقق الشرط والأخر عند عدم تحققه . وإليك مثالا يوضح الفكرة : Ifelse.cpp ifelse.cpp   // ifelse.cpp // demonstrates IF...ELSE statememt #include <iostream.h>   void main() { int x;   cout << "\nEnter a number: " ; cin >> x; if ( x ...

القرارات ( العبارات الشرطية ) في C++

صورة
القرارات ( العبارات الشرطية ) تحتاج البرامج , مثلها في ذلك مثل البشر , إلي اتخاذ قرارات تحدد مسارها , هل تستمر في هذا الاتجاه , أم تنتقل إلي تلك الخطوة , ويكون اتخاذ القرار بناء علي نتيجة تحقق شرط معين . وأهم أداة لاتخاذ القرارات هي العبارة if …. Else , التي تتيح الخيار بين بديلين . ويمكن استخدامها بدون else لتكون ببساطة if . وأما للإنتقال بين بدائل , فإن أداتنا تكون العبارة switch , التي تتيح لنا الإنتقال بين نقاط مختلفة من البرنامج , بحسب تحقق كل شرط , ولدينا أخيرا المؤثر الشرطي conditional operator وهو يعتبر حالة خاصة في هذا النصوص. العبارة if العبارة if هي أبسط صور عبارات القارات . وفي برنامجنا التالي بيان لطريقة استخدمها ifdemo.cpp كما تري , تتلو الكلمة الحاكمة if تعبير بين قوسين , ويبين الشكل صياغة هذه العبارة , وهو قريب الشبه بصياغة الدوارة while بقدر كافي . شكل صياغة العبارة if والفرق بين العبارتين أنه في الحالة الأولي يختبر الشرط مرة واحدة أما في الثانية فيكرر إلي أن يصل إلي حالة عدم التحقق . ويبين الشكل طريقة عمل العبارة if .   شكل طريقة عمل ال...

الدوارات في C++

صورة
الدوارات تسبب الدوارة loop في تكرار جزء من البرنامج جزء من البرنامج عددا من المرات . ويظل التكرار مستمرا طالما كان شرط الدوارة متحققا . ولدينا ثلاثة أنواع من الدوارات , For, while, do …while , نعرض لها فيما يلي : الدوارة for الدوارة for هي أسهل صورة من الدوارات فعناصرها مجمعة في عبارة واحدة , كما أنها من الخصائص الجوهرية في لغات البرمجة , فقط ظلت لفترة طويلة من الزمن الدوارة الوحيدة في لغة البيزك . وتستخدم الدوارة لتكرار جزء من البرنامج عددا محددا من المرات , وتستخدم عادة (وليس دائما ) حينما تكون عالما مسبقا عدد المرات التي تريد للبرنامج أن يكررها . وإليك مثالا لذلك . Fordemo.cpp fordemo.cpp   // fordemo.cpp // demonstrates simple FOR loop #include <iostream.h>   void main() { int j; // define a loop variable   for (j=0; j<15; j++) // loop from 0 to 14, cout << j * j << " " ; // displaying the square of j } وخرج البرنامج كما تري هو الأعداد من 0 إلي 1...