بکندباز

انواع حلقه‌ها در برنامه‌نویسی – راهنمای جامع با مثال و تمرین

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

1. حلقه For

تعریف:

حلقه for برای اجرا کردن مجموعه‌ای از دستورات به تعداد مشخص استفاده می‌شود. معمولاً شامل یک شمارنده (Counter) است که از مقدار اولیه شروع شده و تا شرط مشخص ادامه می‌یابد.

ساختار کلی:

for i in range(شروع, پایان, گام):
    # دستورات تکراری

مثال در پایتون:

# چاپ اعداد از 1 تا 5
for i in range(1, 6):
    print(i)

خروجی:

1
2
3
4
5

مثال در جاوا:

// چاپ اعداد از 1 تا 5
for (int i = 1; i <= 5; i++) {
    System.out.println(i);
}

کاربرد حلقه For:

  • تکرار یک بلوک کد تعداد مشخص.
  • پیمایش عناصر یک لیست یا آرایه.

2. حلقه While

تعریف:

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

ساختار کلی:

while شرط:
    # دستورات تکراری

مثال در پایتون:

# چاپ اعداد از 1 تا 5
i = 1
while i <= 5:
    print(i)
    i += 1

خروجی:

1
2
3
4
5

مثال در جاوا:

int i = 1;
while (i <= 5) {
    System.out.println(i);
    i++;
}

کاربرد حلقه While:

  • اجرای کد تا زمانی که شرط خاص برقرار باشد.
  • مناسب برای شرایط نامشخص مانند دریافت ورودی از کاربر.

3. حلقه Do-While

تعریف:

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

ساختار کلی:

do {
    // دستورات تکراری
} while (شرط);

مثال در جاوا:

int i = 1;
do {
    System.out.println(i);
    i++;
} while (i <= 5);

خروجی:

1
2
3
4
5

کاربرد حلقه Do-While:

  • اجرای یک بار کد قبل از بررسی شرط.
  • مناسب برای منوها و دریافت اطلاعات از کاربر.

4. حلقه‌های Foreach

تعریف:

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

ساختار کلی در پایتون:

for عنصر in مجموعه:
    # دستورات تکراری

مثال در پایتون:

# چاپ عناصر لیست
numbers = [1, 2, 3, 4, 5]
for num in numbers:
    print(num)

خروجی:

1
2
3
4
5

مثال در جاوا:

int[] numbers = {1, 2, 3, 4, 5};
for (int num : numbers) {
    System.out.println(num);
}

کاربرد حلقه Foreach:

  • پیمایش عناصر آرایه‌ها یا لیست‌ها.
  • خوانایی بالای کد در پیمایش مجموعه‌ها

مقایسه حلقه‌ها

نوع حلقه تعداد تکرار مشخص شرط تکرار حداقل اجرا
For بله معمولاً ثابت خیر
While خیر شرط مشخص خیر
Do-While خیر شرط مشخص بله
Foreach بله (لیست/آرایه) پیمایش مجموعه خیر

نکات مهم:

  1. در حلقه‌ها می‌توان از دستورات break و continue برای کنترل بیشتر استفاده کرد:
    • Break: خروج از حلقه.
    • Continue: پرش به تکرار بعدی.

مثال از Break در پایتون:

for i in range(1, 10):
    if i == 6:
        break
    print(i)

خروجی:

1
2
3
4
5

مثال از Continue در پایتون:

for i in range(1, 10):
    if i == 6:
        continue
    print(i)

خروجی:

1
2
3
4
5
7
8
9

حلقه For تو در تو (Nested For Loop)

تعریف:

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

ساختار کلی:

for متغیر_بیرونی in range(تعداد_تکرار):
    for متغیر_داخلی in range(تعداد_تکرار):
        # دستورات تکراری در حلقه داخلی

مثال 1: چاپ جدول ضرب با حلقه تو در تو در پایتون

# چاپ جدول ضرب 1 تا 5
for i in range(1, 6):      # حلقه بیرونی
    for j in range(1, 6):  # حلقه داخلی
        print(f"{i} × {j} = {i*j}", end="\t")
    print()  # برای رفتن به خط بعد

خروجی:

1 × 1 = 1	1 × 2 = 2	1 × 3 = 3	1 × 4 = 4	1 × 5 = 5	
2 × 1 = 2	2 × 2 = 4	2 × 3 = 6	2 × 4 = 8	2 × 5 = 10	
3 × 1 = 3	3 × 2 = 6	3 × 3 = 9	3 × 4 = 12	3 × 5 = 15	
4 × 1 = 4	4 × 2 = 8	4 × 3 = 12	4 × 4 = 16	4 × 5 = 20	
5 × 1 = 5	5 × 2 = 10	5 × 3 = 15	5 × 4 = 20	5 × 5 = 25	

مثال 2: چاپ مثلثی از اعداد در پایتون

# چاپ مثلثی از اعداد
rows = 5
for i in range(1, rows+1):       # حلقه بیرونی برای ردیف‌ها
    for j in range(1, i+1):      # حلقه داخلی برای ستون‌ها
        print(j, end=" ")        # چاپ اعداد در هر سطر
    print()  # رفتن به خط بعد

خروجی:

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5

مثال 3: چاپ ستاره‌ها به‌صورت مربع

# چاپ مربع 5×5 از ستاره
for i in range(5):          # حلقه بیرونی برای 5 ردیف
    for j in range(5):      # حلقه داخلی برای 5 ستون
        print("*", end=" ")
    print()  # رفتن به خط بعد

خروجی:

* * * * * 
* * * * * 
* * * * * 
* * * * * 
* * * * * 

کاربرد حلقه‌های تو در تو:

  1. مدیریت آرایه‌های چندبعدی: پیمایش ماتریس‌ها و کار با داده‌های دو یا چندبعدی.
  2. چاپ الگوها: تولید شکل‌ها و الگوهای متنی مانند مثلث، مربع و غیره.
  3. جدول‌های داده: ایجاد و محاسبه مقادیر جدول‌های مانند جدول ضرب.

نکته:

در حلقه‌های تو در تو، تعداد اجرای حلقه داخلی برابر با تعداد دفعات تکرار حلقه بیرونی × تعداد تکرار حلقه داخلی است. بهینه‌سازی در چنین کدهایی بسیار مهم است تا زمان اجرای برنامه کاهش یابد.

نتیجه‌گیری

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

backendbaz

مدیر وب سایت بکندباز

دیدگاه‌ها

*
*