Dalam artikel ini, anda akan belajar membuat sementara dan mengulangi … sambil melengkapkan dalam pengaturcaraan Swift.
Dalam artikel sebelumnya, kami belajar tentang gelung masuk untuk menjalankan sekumpulan tugas untuk beberapa kali. Dalam artikel ini, anda akan belajar menggunakan while
dan repeat… while
sebagai alternatif gelung masuk apabila bilangan lelaran tidak diketahui.
Loan sementara melaksanakan satu set pernyataan sehingga keadaan menjadi false
. Gelung jenis ini paling baik digunakan apabila bilangan lelaran tidak diketahui sebelum lelaran pertama bermula. Swift menyediakan dua jenis gelung sementara:
1. Pusing sambil Gelung
Gelung ini menilai keadaannya pada permulaan setiap lulus gelung.
Sintaks loop sementara adalah:
while (TestExpression) ( // statements )
Bagaimana semasa gelung berfungsi?
Ini TestExpression
adalah ungkapan boolean.
Sekiranya TestExpression
dinilai untuk true
,
- penyataan di dalam loop sementara dieksekusi.
- dan
TestExpression
dinilai semula.
Proses ini berterusan sehingga TestExpression
dinilai false
. Sekiranya TestExpression
menilai false
, sementara gelung ditamatkan.
Carta alir sementara Loop
Contoh 1: Semasa Gelung
var currentLevel:Int = 0, finalLevel:Int = 5 let gameCompleted = true while (currentLevel <= finalLevel) ( //play game if gameCompleted ( print("You have passed level (currentLevel)") currentLevel += 1 ) ) print("outside of while loop")
Semasa anda menjalankan program, outputnya adalah:
Anda telah melepasi tahap 0 Anda telah melepasi tahap 1 Anda telah melepasi tahap 2 Anda telah melepasi tahap 3 Anda telah melepasi tahap 4 Anda telah melepasi tahap 5 di luar loop sementara
Dalam program di atas, variabel currentLevel dan finalLevel diinisialisasi menjadi 0 dan permainan tetap Selesai dimulakan ke true
.
Dalam setiap lelaran loop sementara, ia memeriksa keadaan currentLevel <= finalLevel
. Sekiranya keadaan kembali true
, pernyataan di dalam semasa gelung dijalankan sebaliknya gelung akan berakhir.
Pengulangan | Keadaan (currentLevel <= finalLevel) | Pengeluaran |
---|---|---|
1 | 0 <= 5 (benar) | Anda telah melepasi tahap 0 |
2 | 1 <= 5 (benar) | Anda telah melepasi tahap 1 |
3 | 2 <= 5 (benar) | Anda telah melepasi tahap 2 |
4 | 3 <= 5 (benar) | Anda telah melepasi tahap 3 |
5 | 4 <= 5 (benar) | Anda telah melepasi tahap 4 |
6 | 5 <= 5 (benar) | Anda telah melepasi tahap 5 |
7 | 6 <= 5 (salah) | luar gelung sementara |
2. Ulangi sambil Gelung
Gelung ini menilai keadaannya pada akhir setiap lulus gelung. Ulangan… manakala gelung serupa dengan gelung sementara dengan satu perbezaan utama. Isi ulangan… sambil gelung dilaksanakan sekali sebelum ungkapan ujian diperiksa.
Sintaks pengulangan… while loop adalah:
repeat ( // statements… ) while (testExpression)
Bagaimana mengulangi … semasa gelung berfungsi?
Badan pengulangan… sambil gelung dijalankan sekali (sebelum memeriksa ekspresi ujian). Hanya selepas itu, testExpression diperiksa.
Sekiranya testExpression dinilai benar, pernyataan di dalam badan gelung dilaksanakan, dan testExpression dinilai lagi. Proses ini berterusan sehingga testExpression dinilai false
.
Apabila testExpression false
, pengulangan… semasa gelung berakhir.
Carta alir ulangan… sambil Loop
Contoh 2: Ulangi sambil Gelung
var currentLevel:Int = 0, finalLevel:Int = 5 let gameCompleted = true repeat ( //play game if gameCompleted ( print("You have passed level (currentLevel)") currentLevel += 1 ) ) while (currentLevel <= finalLevel) print("outside of repeat while loop")
Semasa anda menjalankan program, outputnya adalah:
Anda telah lulus tahap 0 Anda telah melepasi tahap 1 Anda telah melepasi tahap 2 Anda telah melepasi tahap 3 Anda telah melepasi tahap 4 Anda telah melepasi tahap 5 di luar ulangan sambil gelung
Dalam contoh di atas, buat pertama kalinya penyataan di dalam gelung dilaksanakan. Dan untuk lelaran seterusnya, ia memeriksa keadaannya currentLevel <= finalLevel
.
Sekiranya keadaan kembali true
, pernyataan di dalam semasa gelung dijalankan sebaliknya gelung akan berakhir.
Pengulangan | Keadaan (currentLevel <= finalLevel) | Pengeluaran |
---|---|---|
1 | 0 <= 5 (benar) | Anda telah melepasi tahap 0 |
2 | 1 <= 5 (benar) | Anda telah melepasi tahap 1 |
3 | 2 <= 5 (benar) | Anda telah melepasi tahap 2 |
4 | 3 <= 5 (benar) | Anda telah melepasi tahap 3 |
5 | 4 <= 5 (benar) | Anda telah melepasi tahap 4 |
6 | 5 <= 5 (benar) | Anda telah melepasi tahap 5 |
7 | 6 <= 5 (salah) | di luar berulang sambil gelung |
Walaupun kedua while
- dua dan repeat while
gelung mempunyai langkah pelaksanaan yang sama, keadaan currentLevel <= finalLevel
pada repeat while
gelung dilaksanakan hanya setelah melaksanakan pernyataan di dalamnya.
Tetapi while
, keadaan diperiksa pada awal sebelum melaksanakan penyataan di dalamnya.
3. Tidak terhad semasa Gelung
Sekiranya ungkapan ujian tidak pernah dinilai false
, badan while
dan repeat… while
gelung dilaksanakan berkali-kali tanpa had.
Contoh 3: Gelung tanpa had
while (true) ( print("Hello, World!") )
repeat ( print("Hello, World!") ) while (true)
Semasa anda menjalankan program, outputnya adalah:
Hai dunia! Hai dunia!…
Semasa anda menjalankan program, kedua-dua gelung melaksanakan print("Hello, World!")
penyataan untuk kali yang tidak terbatas. Jadi, anda dapat melihat output berterusan Hello, World! di konsol.