تأخذ
الحلقات FOR المتداخلة الشكل العام
التالي :-
for (..........)
for
(..........)
for (..........)
statements;
//Program 3-9:
// An Example of 2 nested loops
#include<iostream.h>
main( )
{
int i,j;
for (i=1
; i<3;++i)
{
for (j=1
; j<4;++j)
cout
<< i*j<<' ' <<endl;
}
return
0;
}
الخرج :
1
2 3 4
2
4 6 8
6 9 12
التحكم
بالحلقات
تعمل
الحلقات عادة بشكل جيد إلا أننا في بعض الأوقات نحتاج للتحكم بعمل الحلقات ،
العبارتين break و continue توفران هذه المرونة المطلوبة.
العبارة break :-
تتيح لنا العبارة break الخروج من الحلقة في أي وقت.المثال
التالي يبين لنا كيفية عمل العبارة break :
//Program :
//An Example on break as a loop exit
#include<iostream.h>
main( )
{
int isprime ,j
,n;
isprime = 1;
cin>>n;
for
(j=2,j<n;++j)
{
if (n%j== 0)
{
isprime =0;
break;
}
}
}
هذا
البرنامج يجعل قيمة المتغير isprime عند 1 إذا كان n
عدد
أولى prime يجعل قيمته0 إذا لم يكن كذلك ( الرقم الأولي هو رقم يقبل القسمة
على نفسه وعلى الرقم واحد فقط).لمعرفة ما إذا كان الرقم أولياً أم لا تتم قسمته
على كل الأرقام وصولاً إلى n-1 ، إذا قبل الرقم n
القسمة على أحد هذه القيم من دون باقي فإنه لا
يكون أولياً لكن إذا قبل الرقم n القسمة على أحد هذه القيم بشكل صحيح لا داعي
لإكمال الحلقة فحالما يجد البرنامج الرقم الأول الذي يقسم n
بشكل
صحيح يجب أن يضبط قيمة المتغير isprime عند 0
ويخرج فوراً من الحلقة.
العبارة continue :-
تعيد العبارة continue التنفيذ إلى أعلى الحلقة. المثال
التالي يوضح كيفية عمل العبارة continue:-
//Program :
//An Example on continue statement
#include<iostream.h>
main( )
{
int
dividend , divisor;
do
//Continued
{
cout <<
''Enter dividend: '';
cin>>dividend;
cout<<
''Enter divisor: '';
//Continued
cin>>divisor;
if( divisor ==
0)
{
cout<<" divisor can't be zero\n" ;
continue;
}
cout
<<"Quotient is "<< dividend/divisor;
cout<<"
do another (y/n)?";
cin>>ch
}
while (ch! = 'n');
}
القسمة
على 0 أمر غير مرغوب فيه
لذا إذا كتب المستخدم 0 على أنه القاسم يعود التنفيذ إلى أعلى
الحلقة ويطلب من البرنامج إدخال قاسم ومقسوم جديدين.
If ( divisor == 0)
{
cout << "divisor can't be
zero\n”;
continue;
}
يستمر تنفيذ الحلقة إلى أن
يدخل المستخدم الحرف n .
ليست هناك تعليقات:
إرسال تعليق