حلقه while

از ویکی‌پدیا، دانشنامهٔ آزاد
در حالی که نمودار جریان حلقه

در بیشتر زبان‌های برنامه‌نویسی کامپیوتر، یک حلقهٔ while، یک عبارت کنترل جاری است که به کد اجازه می‌دهد تا مکرراً بر اساس یک حالت بولین (عبارتی که صحیح یا غلط را مشخص می‌کند) اجرا شود. حلقهٔ while می‌تواند به‌عنوان یک عبارت شرطی تکرار شونده شناخته شود.

بررسی کلی[ویرایش]

ساختار while از یک گروه (بلوک) کد و یک عبارت یا شرط تشکیل شده‌است. شرط یا عبارت بررسی می‌شود و اگر درست باشد، تمام کدی که در گروه (بلوک) است اجرا می‌شود. این جریان تا زمانی ادامه پیدا می‌کند که عبارت یا شرط ارزیابی شده نادرست شود. به همین دلیل حلقهٔ while عبارت یا شرط را قبل از اجرا شدن گروه کد بررسی می‌کند. ساختار کنترل عموماً به‌عنوان آزمون مقدماتی شناخته می‌شود. این را با حلقهٔ do while که عبارت یا شرط را پس از اجرا شدن گروه کد بررسی می‌کند مقایسه کنید.

برای مثال در برنامه‌نویسی به زبان C (به همچنین جاوا، C#، Objective-C، و C++ که در این حالت از ترکیب مشابه استفاده می‌کنند) کد:

int x = 0;

while (x <5) {
  printf ("x = %d\n", x);
  x++;
}

ابتدا بررسی می‌کند که x کوچک‌تر از 5 هست یا نه، که در اینجا کوچک‌تر است، بنابراین وارد بدنهٔ حلقه می‌شود، جایی که تابع (عمل) printf اجرا و x یکی افزایش می‌یابد. بعد از کامل کردن همهٔ عبارات در بدنهٔ حلقه، شرط x<۵ دوباره بررسی می‌شود، و حلقه دوباره اجرا می‌شود. این روند تا جایی ادامه پیدا می‌کند که متغیر x برابر با ۵ شود. توجه کنید که ممکن است، و در بعضی شرایط دلخواه است، عبارت همیشه درست ارزیابی شود که یک حلقهٔ بی‌نهایت ساخته می‌شود. هنگامی که چنین حلقه‌ای عمداً ساخته می‌شود، معمولاً یک ساختار کنترل دیگر (مانند عبارت ترمز یا دستور break) وجود دارد که پایان حلقه را کنترل می‌کند. برای مثال:

while (true) {
  // do complicated stuff
  if (someCondition)
    break;
  // more stuff
}

منابع[ویرایش]