آموزش برنامه‌نویسی

آموزش مقدماتی زبان سی شارپ – قسمت ششم
ساختارهای تکرار

حلقه while حلقه do-while حلقه for حلقه foreach حلقه‌های تو در تو

ساختارهای تکرار، ابزارهایی هستند که به ما اجازه می‌دهند یک یا چند دستور را به تعداد مشخص یا تا زمانی که یک شرط برقرار است، تکرار کنیم. در این بخش با مهم‌ترین ساختارهای تکرار در زبان سی شارپ شامل while، do-while، for، foreach و حلقه‌های تو در تو آشنا می‌شوید.

ساختار حلقه while

مانند دستور if یک شرطی را دریافت نموده و به ازای آن شرط مجموعه‌ای از دستورات را اجرا می‌کند، با این تفاوت که شرط if تنها یک بار اجرا می‌شود اما در ساختار while تا زمانی که شرط برقرار باشد، اجرای دستورات تکرار می‌شوند.

int i = 0;
while (i < 5)
{
    Console.WriteLine(i);
    i++;
}
خروجی
0
1
2
3
4

ساختار حلقه do-while

این ساختار مشابه ساختار while عمل می‌کند با این تفاوت که ابتدا دستورات یک بار اجرا شده و سپس شرط حلقه بررسی می‌شود.

int i = 0;
do
{
    Console.WriteLine(i);
    i++;
} while (i < 5);
خروجی
0
1
2
3
4

تفاوت while و do-while

در حلقه do-while دستورات حداقل یک بار اجرا می‌شوند، حتی اگر شرط از ابتدا غلط باشد.

ساختار حلقه for

این ساختار مشابه حلقه while است با این تفاوت که متغیر نشانه، شرط تکرار و گام افزایش همه در یک جا نوشته می‌شوند و خوانایی برنامه را افزایش می‌دهند.

for (int i = 0; i < 5; i++)
{
    Console.WriteLine(i);
}
خروجی
0
1
2
3
4
مثال: چاپ اعداد زوج ۰ تا ۱۰
for (int i = 0; i <= 10; i += 2)
{
    Console.WriteLine(i);
}
0
2
4
6
8
10

حلقه‌های تکرار تو در تو (nested loop)

در بسیاری از مسائل نیاز است که درون یک حلقه یک یا چند حلقه دیگر استفاده کنیم که به آن ساختار حلقه تو در تو گفته می‌شود.

مثال: حلقه تو در تو
for (int i = 0; i < 2; i++)
{
    for (int j = 0; j < 3; j++)
    {
        Console.WriteLine("i=" + i + ", j=" + j);
    }
}
i=0, j=0
i=0, j=1
i=0, j=2
i=1, j=0
i=1, j=1
i=1, j=2
مثال: حل معادله 2000*X + 5000*Y = 50000
for (int x = 0; x <= 25; x++)
{
    for (int y = 0; y <= 10; y++)
    {
        if (2000 * x + 5000 * y == 50000)
        {
            Console.WriteLine("x=" + x + ", y=" + y);
        }
    }
}
x=0, y=10
x=5, y=8
x=10, y=6
x=15, y=4
x=20, y=2
x=25, y=0

ساختار foreach

این ساختار عناصر یک آرایه را با هر بار اجرای حلقه خوانده و در متغیر نشانه قرار می‌دهد. حلقه به اندازه طول آرایه تکرار می‌شود.

string[] names = { "Ali", "Reza", "Sara" };
foreach (string name in names)
{
    Console.WriteLine(name);
}
خروجی
Ali
Reza
Sara

مزیت foreach

حلقه foreach برای پیمایش آرایه‌ها و مجموعه‌ها بسیار ساده و خوانا است و نیازی به مدیریت اندیس ندارد.

خلاصه

  • while: تکرار تا زمانی که شرط برقرار است
  • do-while: حداقل یک بار اجرا و سپس بررسی شرط
  • for: تکرار با شمارنده مشخص
  • foreach: پیمایش آرایه‌ها و مجموعه‌ها
  • حلقه‌های تو در تو: استفاده از حلقه درون حلقه
#ساختارهای_تکرار_در_سی_شارپ #حلقه_for_در_سی_شارپ #حلقه_while_در_سی_شارپ #حلقه_do_while #حلقه_foreach #حلقه_تو_در_تو #آموزش_برنامه_نویسی_سی_شارپ