الگوریتم اول

لطفا صبر کنید...

حلقه‌ها در R

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

در R سه نوع حلقه اصلی وجود دارد:

  1. for loop
  2. while loop
  3. repeat loop

در اینجا به بررسی هرکدام از این حلقه‌ها می‌پردازیم.

۱. حلقه for

حلقه for برای تکرار یک سری از دستورات به تعداد مشخصی از دفعات استفاده می‌شود. این حلقه به ویژه زمانی مفید است که تعداد تکرارهای حلقه را از قبل بدانید.

ساختار:

for (متغیر in بردار) {
  # دستورات برای هر تکرار
}

در اینجا:

  • متغیر متغیری است که در هر تکرار یک عنصر از بردار (یا هر ساختار داده‌ای قابل تکرار دیگر) را دریافت می‌کند.
  • بردار می‌تواند یک بردار، لیست یا هر ساختار داده‌ای باشد که قابل پیمایش باشد.

نمونه:

# حلقه for برای چاپ اعداد 1 تا 5
for (i in 1:5) {
  print(i)
}

در این مثال، حلقه for پنج بار تکرار می‌شود و در هر تکرار مقدار i چاپ می‌شود که از 1 تا 5 متغیر است.

۲. حلقه while

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

ساختار:

while (شرط) {
  # دستورات برای هر تکرار
}

نمونه:

# حلقه while برای چاپ اعداد 1 تا 5
i <- 1
while (i <= 5) {
  print(i)
  i <- i + 1  # افزایش مقدار i
}

در این مثال، حلقه while زمانی اجرا می‌شود که مقدار i کمتر از یا برابر با 5 باشد. در هر تکرار، مقدار i افزایش می‌یابد و چاپ می‌شود.

۳. حلقه repeat

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

ساختار:

repeat {
  # دستورات برای هر تکرار
  if (شرط_خروج) {
    break  # خروج از حلقه
  }
}

نمونه:

# حلقه repeat برای چاپ اعداد 1 تا 5
i <- 1
repeat {
  print(i)
  i <- i + 1
  if (i > 5) {
    break  # خاتمه حلقه زمانی که i بزرگتر از 5 شود
  }
}

در این مثال، حلقه repeat از دستور break برای خروج از حلقه استفاده می‌کند زمانی که i بیشتر از 5 شود.

۴. استفاده از next در حلقه‌ها

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

نمونه:

# حلقه for که اعداد زوج را چاپ می‌کند
for (i in 1:10) {
  if (i %% 2 != 0) {
    next  # رد کردن اعداد فرد
  }
  print(i)  # فقط اعداد زوج چاپ می‌شوند
}

در این مثال، تنها اعداد زوج از 1 تا 10 چاپ می‌شوند چون زمانی که i فرد باشد، دستور next اجرا می‌شود و حلقه به تکرار بعدی می‌رود.

۵. استفاده از break در حلقه‌ها

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

نمونه:

# حلقه برای جستجو در یک لیست و توقف وقتی مقدار خاصی پیدا شود
numbers <- c(1, 2, 3, 4, 5, 6)
for (num in numbers) {
  if (num == 4) {
    print("عدد 4 پیدا شد!")
    break  # خاتمه حلقه
  }
}

در این مثال، هنگامی که عدد 4 پیدا شد، پیام "عدد 4 پیدا شد!" چاپ شده و سپس حلقه خاتمه می‌یابد.

جمع‌بندی

حلقه‌ها در R ابزاری قدرتمند برای انجام تکرارهای مختلف بر روی داده‌ها هستند. استفاده از حلقه‌ها می‌تواند به شما کمک کند که عملیات مختلف را به صورت مکرر انجام دهید و از نوشتن کد تکراری جلوگیری کنید. در R می‌توانید از حلقه‌های for، while و repeat برای انجام تکرارهای مختلف استفاده کنید و با بهره‌گیری از دستورات next و break کنترل دقیق‌تری بر رفتار حلقه‌ها داشته باشید.