Gelung while

Daripada Wikipedia, ensiklopedia bebas.
Carta aliran gelung while.

Dalam kebanyakan bahasa pengaturcaraan komputer, gelung while ("sementara/ketika") ialah pernyataan aliran kawalan yang membenarkan kod dilaksanakan berulang kali berdasarkan keadaan Boolean (benar-palsu) yang diberikan. Gelung while boleh dianggap sebagai pernyataan if yang berulang-ulang.

Huraian[sunting | sunting sumber]

Konstruk while terdiri daripada blok kod dan keadaan/ungkapan.[1] Keadaan/ungkapan dinilai, dan jika syarat/ungkapan adalah benar,[1] kod keseluruhan dalam blok dilaksanakan. Ini berulang sehingga keadaan/ungkapan menjadi palsu. Oleh kerana gelung while menyemak keadaan/ungkapan sebelum blok dilaksanakan, struktur kawalan sering juga dikenali sebagai gelung praujian. Bandingkan ini dengan gelung do while, yang menguji keadaan/ungkapan selepas gelung telah dilaksanakan.

Contohnya, dalam bahasa pengaturcaraan C (serta Java, C#,[2] Objective-C, dan C++ yang menggunakan sintaks sama dalam kes ini), serpihan kod

int x = 0;

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

mula-mula menyemak sama ada x kurang daripada 5, dan kalau benar, maka {badan gelung} dilaksanakan, di mana fungsi printf dijalankan dan x ditambah dengan 1. Selepas melengkapkan semua pernyataan dalam badan gelung, keadaan, (x < 5), diperiksa semula, dan gelung dilaksanakan semula, proses ini berulang sehingga pemboleh ubah x mempunyai nilai 5. Ambil perhatian bahawa adalah mungkin, dan dalam beberapa kes wajar, untuk keadaan sentiasa dinilai benar lalu mewujudkan gelung tak terhingga. Apabila gelung sedemikian sengaja direka, biasanya terdapat struktur kawalan lain (seperti pernyataan putus) yang mengawal penamatan gelung. Sebagai contoh:

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

Rujukan[sunting | sunting sumber]

  1. ^ a b "The while and do-while Statements (The Java™ Tutorials > Learning the Java Language > Language Basics)". Dosc.oracle.com. Dicapai pada 2016-10-21.
  2. ^ "while (C# reference)". Msdn.microsoft.com. Dicapai pada 2016-10-21.