Gelung dengan syarat. pernyataan while
Mengkaji gelung
for
, kami mengatakan bahawa jika bilangan ulangan sebarang tindakan diketahui, maka anda boleh memendekkan atur cara menggunakan operator gelung
for
. Tetapi bagaimana jika bilangan ulangan tidak diketahui? Dan ini berlaku agak kerap.
Contoh
Mengingat terjemahan nombor daripada sistem nombor perpuluhan kepada yang lain, kita perlu membahagikan nombor (dan kemudian hasil pembahagian) dengan asas sistem nombor sehingga kita mendapat sifar dalam jawapan. Berapa kali kami akan berkongsi tidak diketahui. Dan terdapat banyak program yang melaksanakan algoritma sedemikian.
Bagaimanakah kita boleh melaksanakan algoritma jika kita tidak mengetahui bilangan lelaran yang tepat?
Untuk kes sedemikian dalam pengaturcaraan, terdapat pernyataan gelung dengan syarat.
Dalam bahasa pengaturcaraan Python, pernyataan gelung bersyarat bermula dengan perkataan
while
dan mempunyai struktur berikut.
sementara (<condition>)
{
badan gelung
}
Seperti yang kita sedia maklum:
-
syarat ialah ungkapan yang boleh menilai sama ada benar atau salah (seperti dalam pernyataan bersyarat);
-
badan gelung ialah perintah yang perlu diulang, ia diinden.
Bagaimana pengendali berfungsi?
1. Pertama, program menilai keadaan dalam kurungan selepas perkataan
while
. Jika syarat dipenuhi (benar), maka atur cara melaksanakan pernyataan (s) yang terkandung dalam badan gelung.
2. Selepas pelaksanaan badan gelung selesai, atur cara kembali untuk menyemak keadaan dan menyemaknya semula.
3. Tindakan ini (menyemak keadaan - melaksanakan badan gelung) diulang sehingga keadaan menjadi palsu.
4. Jika syarat tidak dipenuhi serta-merta (palsu) semasa pelaksanaan pertama kenyataan ini, maka program tidak akan melaksanakan badan gelung.
Menganalisis kerja operator ini, haruslah jelas bahawa badan gelung mesti mengandungi operator yang mempengaruhi keadaan.
Contohnya, dalam gelung, nilai pembolehubah yang digunakan dalam keadaan mungkin ditambah.
Contoh program yang akan kami panggil
"Silent count".
Mari jadikan program dikira sebagai ganti kita, contohnya, sehingga 10.
Program ini harus mengeluarkan frasa "
Mula" dan "Selesai
", dan antara tindakan ini memaparkan nombor yang sedang dikira.
Contohnya, seperti ini:
Mulakan
1 2 3 4 5 6 7 8 9 10
Selesai
Program yang menggunakan gelung while
akan kelihatan seperti ini:
menggunakan Sistem;
kelas Program {
lompang statik Utama() {
Console.WriteLine("Mula");
int i = 1;
manakala (i <= 10) {
Console.WriteLine(i);
i++;
}
Console.WriteLine("Selesai");
}
}
Dalam program ini, kami memberikan nilai kepada pembolehubah i = 1
- titik permulaan.
Selanjutnya, selagi nilai pembolehubah i
tidak lebih besar (iaitu, kurang daripada atau sama dengan) nilai yang kami perlukan, kami:
1) paparkan nilai pembolehubah i
;
2) tingkatkan nilai pembolehubah i
sebanyak 1 - operator ini mempengaruhi nilai keadaan dalam kurungan. Pembolehubah i
ditambah, bermakna pada satu ketika keadaan i <= 10
akan menjadi palsu. Ini akan berlaku apabila i
sama dengan 11
. Dalam kes ini, badan gelung tidak lagi akan dilaksanakan dan atur cara akan melaksanakan pernyataan seterusnya selepas gelung, iaitu, Console.WriteLine("Finish")
.