Pusing sementara dan ulangi sambil Gelung (Dengan Contoh)

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 whiledan repeat… whilesebagai 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 TestExpressionadalah ungkapan boolean.

Sekiranya TestExpressiondinilai untuk true,

  • penyataan di dalam loop sementara dieksekusi.
  • dan TestExpressiondinilai semula.

Proses ini berterusan sehingga TestExpressiondinilai false. Sekiranya TestExpressionmenilai 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.

Langkah pelaksanaan
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.

Langkah pelaksanaan
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 whilegelung mempunyai langkah pelaksanaan yang sama, keadaan currentLevel <= finalLevel pada repeat whilegelung 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 whiledan repeat… whilegelung 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.

Artikel menarik...