Kawalan aliran: jujukan, pemilihan dan ulangan
Domain Kawalan aliran menguji keupayaan anda mengawal urutan pelaksanaan: menulis pemilihan bersyarat, memilih jenis gelung yang betul, dan menjejak nilai pemboleh ubah langkah demi langkah. Dalam peperiksaan, kesilapan kecil pada sempadan gelung atau pada arah keluar gelung biasanya menyebabkan jawapan akhir salah sepenuhnya.
Jujukan
Penyataan dilaksanakan dari atas ke bawah, satu demi satu. Setiap penyataan mesti lengkap sebelum yang seterusnya bermula.
Pemilihan
if ... then ... endifuntuk satu keadaan.if ... then ... else ... endifapabila ada dua laluan saling eksklusif.- Rantaian
if ... else if ... elseuntuk banyak keadaan; hanya satu cabang dijalankan. switch/casemembandingkan satu pemboleh ubah dengan pemalar; perlukanbreakuntuk mengelak jatuh ke case berikutnya, dandefaultuntuk kes tidak sepadan.
Ulangan
- Gelung berkira (
for): bilangan ulangan diketahui; ada nilai awal, syarat, dan kenaikan. while: syarat diuji sebelum badan; boleh berjalan sifar kali.repeat ... until: syarat diuji selepas badan; berjalan sekurang-kurangnya sekali dan berhenti apabila syarat menjadi benar.- Corak biasa: pembilang (counter), penjumlah (accumulator), dan nilai penamat (sentinel).
Contoh berperingkat
jumlah = 0
for i = 1 to 4
if i mod 2 = 0 then
jumlah = jumlah + i
endif
next i
- i=1: 1 mod 2 = 1 → dilangkau, jumlah = 0.
- i=2: genap → jumlah = 2.
- i=3: ganjil → dilangkau, jumlah = 2.
- i=4: genap → jumlah = 6.
Nilai akhir
jumlahialah 6, dan gelung berjalan tepat 4 kali.
Perangkap yang menghilangkan markah
- Ralat off-by-one:
for i = 1 to 4berjalan 4 kali, bukan 3. - Pembilang tidak dikemas kini dalam
while→ gelung tak terhingga. - Terlupa
breakdalamswitch→ case berikut turut dilaksanakan. - Mengelirukan
repeat ... until(berhenti bila syarat benar) denganwhile(terus bila syarat benar). - Meletakkan pengumpul di dalam gelung tanpa nilai awal sifar di luar gelung.