الحلقات التكرارية في سي شارب Loops
في هذا الدرس سنتاول الحلقات التكرارية في السي شارب C#
- الحلقة التكرارية For
- الحلقة التكرارية For-Each Loop
- الحلقة التكرارية While Loop
- الحلقة التكرارية Do While
- التحكم بالعبارات التكرارية Break and Continue
الحلقة التكرارية For في السي شارب
تستخدم التكرارية for للتعامل مع الكود أكثر من مرة مثل طباعة رسالة اكثر من مرة .
Syntax
for(statement1; statement2; statement3){
// code block to be executed
}
for (int i = 0; i < 5; i++) {
// هنا ينفذ الكود المراد تكراره اكثر من مرة
}
for (int i = 10; i >= 5; i–) {
// هنا ينفذ الكود المراد تكراره اكثر من مرة
}
statement1: تعريف متغير واعطائه قيمة ثابتة كأن تكون بداية للتكرار او نهاية .
statement2: شرط استمرار التكرار .
statement3: زيادة او نقصان استمرار التكرار
تزايد i++
وتسمى increment وتعني تزايد العدد بمقدار واحد ويمكن استخدام بدلها i=i+1 او استخدام i+=1 فكلها نفس العمل .
تناقص i--
وتسمى decrement وتعني تناقص العدد بمقدار واحد ويمكن استخدام بدلها i=i-1 او استخدام i-=1 فكلها نفس العمل .
المثال الاول for
في هذا المثال عرفنا متغير التكرار i واعطينا له قيمة ابتدائية وتساوي 0 , ووضعنا شرط التكرار طباعة قيمة ال i متى ما كانت الi اصغر من 3 وزيادة الi بقيمة 1 , ++
i
تعني زيادة بمقدار واحد
for (int i = 0; i < 3; i++) {
Console.WriteLine(i);
}
Output :
0
1
2
مثال ثاني for
هنا قيمة بداية التكرار 1 وشرط التكرار ان يستمر مهما كانت قيمة الi اصغر من 4 او تساوي 4 والزيادة بمقدار 1 , للتنبيه i=i+1
هي نفسها ++
i
for (int i = 1; i <= 4; i=i+1) {
Console.WriteLine(i);
}
Output :
1
2
3
4
مثال ثالث for
هنا قيمة بداية التكرار 5 ويستمر التكرار مهما كانت قيمة الi اصغر من او تساوي 10 والزيادة بمقدار 1 , للتنبيه i+=1
هي نفسها ++
i
وكذلك i=i+1
for (int i = 5; i <= 10; i+=1) {
Console.WriteLine(i);
}
Output :
5
6
7
8
9
10
مثال رابع for
هنا قيمة بداية التكرار 0 ويستمر التكرار مهما كانت قيمة الi اصغر او تساوي 10 والزيادة بمقدار 2
for (int i = 0; i <= 10; i+=2) {
Console.WriteLine(i);
}
Output :
0
2
4
6
8
10
التكرار بالنقصان --
في هذا المثال سنقوم بالنقصان وليس الزيادة لمتغير التكرار الi , للتنبيه i-=1
و i=i-1
و --i
نفس الاداء
for (int i = 5; i > 0; i–) {
Console.WriteLine(i);
}
Output :
5
4
3
2
1
مثال ثاني --
for (int i = 10; i >=4; i-=2) {
Console.WriteLine(i);
}
Output :
10
8
6
4
الحلقة التكرارية المتداخلة For
في كل حلقة تكرار واحدة يتم تنفيذ حلقة تكرارية متكاملة داخل هذه الحلقة الرئيسية .
Syntax
for(statement1; statement2; statement3){
for(statementA; statementB; statementC){
}
}
مثال الاول في هذا المثال حلقة متداخلة اي حلقة تكرارية داخل حلقة اخرى
for (int i = 1; i <=3; i++) {
for (int j = 1; j <=2; j++) {
Console.WriteLine(“i=”+ i +” j=”+j);
}
}
Output :
i=1 j=1
i=1 j=2
i=2 j=1
i=2 j=2
i=3 j=1
i=3 j=2
مثال ثاني مثال لعملية الضرب
for (int i = 1; i <=3; i++) {
for (int j = 1; j <=2; j++) {
Console.WriteLine(i + ” * ” + j +”=” + (i*j));
}
}
Output :
1 * 1=1
1 * 2=2
2 * 1=2
2 * 2=4
3 * 1=3
3 * 2=6
مثال ثالث توضيح اكثر بساطة للتمييز بين عمل التكرار المتداخل
for (int i = 1; i <=3; i++) {
Console.WriteLine(“—-التكرار الخارجي—-“);
for (int j = 1; j <=2; j++) {
Console.WriteLine(“—-التكرار الداخلي—-“);
}
}
Output :
التكرار الخارجي
التكرار الداخلي
التكرار الداخلي
التكرار الخارجي
التكرار الداخلي
التكرار الداخلي
التكرار الخارجي
التكرار الداخلي
التكرار الداخلي
الحلقة التكرارية For-Each Loop في السي شارب
وهو نوع اخر من حلقات التكرار يستخدم بكثرة مع المصفوفات ( سنأخذ المصفوفات في الدرس القادم)
Syntax
foreach(type variableName in arrayName) {
// هنا ينفذ كود التكرار
}
مثال في هذا المثال قمنا بعمل مصفوفة من النصوص الخاصة بالسيارات ومن ثم قمنا بطباعتها باستخدام الfor
string[] cars = {“Volvo”, “BMW”, “Ford”, “Mazda”};
foreach(string i in cars) {
Console.WriteLine(i);
}
Output :
Volvo
BMW
Ford
Mazda
الحلقة التكرارية While Loop في السي شارب
شبيه بالحلقة التكرارية الfor لكن يعتمد مبدء عملها واستمرار دورانها على الشرط داخل القوس مهما كان متنفذ الشرط فهي تستمر بالتكرار .
Syntax
while (condition) {
// الكود المراد تكراره
}
مثال الاول while
int i=10;
while(i>0)
{
Console.WriteLine(“i=”+i);
i=i-1;
}
Output :
i=10
i=9
i=8
i=7
i=6
i=5
i=4
i=3
i=2
i=1
توضيح المثال نلاحظ ان شرط الاستمرار هو i أكبر من الصفر اي مهما كان i اكبر من الصفر نفذ ما هو داخل القوس التكراري .
i=i-1
لابد ان نجعل للحلقة التكرارية حد عن الاستمرار بالتكرار لذلك قمنا في كل تكرار بطرح واحد من الi حتى ينزل الi تدريجياً من ال10 الى الصفر وبما ان ال i هنا اصبحت قيمتها صفر فهنا الشرط لا يتحقق وبالتالي لا يتم تنفيذ ماهو داخل القوس
مثال ثاني في هذا المثال قمنا بالزيادة حتى وصولا الى ال10 .
int i=0;
while(i<=10)
{
Console.WriteLine(“i=”+i);
i++ ;// i=i+1 , i+=1
}
Output :
i=0
i=1
i=2
i=3
i=4
i=5
i=6
i=7
i=8
i=9
i=10
الحلقة التكرارية Do While في C#
مبدء استخدامها عكس الWhile حيث في البداية تقوم بتنفيذ ما داخل القوس ومن ثم تتحقق من الشرط لتتأكد هل الشرط يتحقق لتستمر في التكرار .
المثال الاول do while
نلاحظ في هذا المثال قمنا بتنفيذ ما هو داخل الdo ثم قمنا بعملية التحقق من الشرط while وكالأتي قمنا بطباعة قيمة ال i والتي تساوي 10 ومن ثم طرح من قيمة الi لتصبح قيمتها 9 وبعدها مررنا للتحقق من الشرط فوجد ان i التي اصبحت قيمتها 9 هي ليست اكبر من ال5 كما في المثال وبالتالي لا يتحقق الشرط فخرج من عملية التكرار
int i=10;
do{
Console.WriteLine(“i=”+i);
i–;
} while(i<5)
Output :
i=10
مثال ثاني do while
int i=10;
do{
Console.WriteLine(“i=”+i);
i–;
} while(i>=5)
Output :
i=10
i=9
i=8
i=7
i=6
i=5
التحكم بالعبارات التكرارية Break and Continue
break وتستخدم لتوقف الحلقة التكرارية عند حد ما وذلك بوضع شرط فاذا تحقق الشرط ينهي الحلقة التكرارية عن الاستمرار .
for (int i = 0; i < 10; i++) {
if (i == 4) {
break;
}
Console.WriteLine(i);
}
Output :
0
1
2
3
continue وتستخدم لتخطي تنفيذ التكرار عند تحقق شرط ما فمثلا في هذا المثال شرطنا اذا الi اصبحت تساوي قيمتها 4 هنا تخطي هذه المرحلة من التكرار واستمر بباقي عمليات التكرار .
for (int i = 0; i < 10; i++) {
if (i == 4) {
continue;
}
Console.WriteLine(i);
}
Output :
0
1
2
3
5
6
7
8
9
Break and Continue with While Loop
break
int i = 0;
while (i < 10) {
Console.WriteLine(i);
i++;
if (i == 4) {
break;
}
}
Output :
0
1
2
3
Continue
int i = 0;
while (i < 10) {
if (i == 4) {
i++;
continue;
}
Console.WriteLine(i);
i++;
}
Output :
0
1
2
3
5
6
7
8
9
تنزيل كتب تعلم السي شارب
فيما يلي كتب تعلم سي شارب المتوفرة مجاناً باللغة العربية