الحلقات التكرارية في السي شارب | C# loops for Each do while

 الحلقات التكرارية في سي شارب Loops

في هذا الدرس سنتاول الحلقات التكرارية في السي شارب C#

  • الحلقة التكرارية For
  • الحلقة التكرارية For-Each Loop
  • الحلقة التكرارية While Loop
  • الحلقة التكرارية Do While
  • التحكم بالعبارات التكرارية Break and Continue
تعلم سي شارب C# بالعربية “الحلقات التكرارية في السي شارب”

الحلقة التكرارية 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

تنزيل كتب تعلم السي شارب

فيما يلي كتب تعلم سي شارب المتوفرة مجاناً باللغة العربية 


سلسة تعلم السي شارب C#