03. Tiga blok pembangun — Solusi PR

Soal 1 — Kenali polanya

Contoh jawaban.

  1. Menghitung kelereng dalam toplesperulangan. Lihat satu kelereng, tambah 1 ke hitungan, lalu yang berikutnya, dan seterusnya, sampai tidak ada yang tersisa.
  2. Memutuskan apakah kamu mampu membeli game barukeputusan. Pertanyaannya adalah apakah harganya lebih murah dari tabunganku?. Ya berarti beli; tidak berarti tunggu dulu.
  3. Mengikuti resep yang tidak punya pilihan sama sekaliurutan. Setiap langkah terjadi sekali, secara berurutan.
  4. Meminta pengguna memasukkan angka sampai mereka mengetik angka yang validperulangan di luar (terus bertanya), dengan keputusan di dalam (apakah jawabannya valid?). Perulangan adalah pola utamanya.
  5. Mencetak setiap nama dalam daftar kelasperulangan. Polanya adalah "untuk setiap nama, cetak nama itu". Apakah daftarnya punya 20 nama atau 200, perulangan berjalan sekali per nama.

Kesalahan umum.

  • Menyebut semuanya sebagai keputusan karena deskripsinya mengandung kata jika. Jika sering berada di dalam perulangan tanpa menjadi pola utama. Tanyakan: apakah ini berhenti setelah satu putaran, atau terus berjalan? Kalau terus berjalan, pola utamanya adalah perulangan.

Soal 2 — Urutan saja

Contoh jawaban.

Start Take a slice of breadfrom the loaf Put the slice in the toaster Push the toaster lever down Wait until the toast pops up Take the toast out Spread butter on the toast Done

Kesalahan umum.

  • Menyelipkan pertanyaan. Apakah rotinya sudah cukup kecokelatan? adalah bentuk berlian, dan soal ini bilang tidak ada berlian. Percayakan kepada pemanggang roti untuk pop sendiri.

Soal 3 — Urutan dan keputusan

Contoh jawaban.

yes no Start Brush teeth Put on pyjamas Climb into bed Is it a school night? Set the alarm Turn out the light Sleep

Kesalahan umum.

  • Meletakkan langkah matikan lampu hanya di satu cabang. Kedua cabang berakhir dengan cara yang sama, jadi langkah itu seharusnya berada setelah keduanya bergabung, bukan di dalam salah satunya.

Tantangan — Ketiga pola sekaligus

Contoh jawaban. Diagram alir ini menggunakan ketiga pola sekaligus: sebuah urutan langkah persiapan di atas, sebuah perulangan di tengah yang terus memanggil hewan peliharaan, dan sebuah keputusan di bawah soal hadiah.

yes no yes no yes no Start Fill the food bowl Fill the water bowl Set call count to 0 Has the pet arrived? Pet showed up Is call count 5? Gave up Call the pet Add 1 to call count Did the pet show up? Give the pet a treat Put the food away Done

Setiap pola ada di sini:

  • Sebuah urutan di atas mengisi mangkuk dan memulai penghitung.
  • Sebuah perulangan di tengah memanggil hewan peliharaan hingga lima kali, dengan keputusan kecil di dalamnya (apakah hewan peliharaan sudah datang? dan apakah hitungan panggilan sudah 5?).
  • Sebuah keputusan di bawah memeriksa apa yang terjadi dan kemudian memberi hadiah kepada hewan peliharaan atau menyimpan makanannya.

Kedua jalan keluar dari perulangan mengarah ke tempat yang sama (keputusan di bawah), sehingga sisa program berjalan dengan cara yang sama tidak peduli bagaimana perulangan berakhir.

Kesalahan umum.

  • Bagian yang paling sulit adalah dua cara keluar dari perulangan: hewan peliharaan muncul, atau penghitung mencapai 5. Lupakan salah satunya dan itu menjadi bug — perulangan tidak pernah berakhir, atau menyerah terlalu cepat.
  • Kehilangan jejak "apakah hewan peliharaan muncul?" setelah perulangan. Dalam kode, kamu akan menyimpan jawabannya dalam sebuah variabel. Di atas kertas, beri label pada panah yang keluar dari perulangan agar keputusan di bawah tahu apa yang harus diperiksa.

Selesai?

Kamu sekarang bisa mengenali tiga blok pembangun dalam rencana apa pun. Dua bab berikutnya mempertajam sisi membaca dari keterampilan yang sama: Penelusuran program secara manual menunjukkan cara mencari tahu apa yang dilakukan kode di atas kertas, dan Penamaan dan dekomposisi menunjukkan cara menjaga program tetap cukup jelas untuk ditelusuri. Kemudian mini-proyek Bagian 1 menyatukan semua keterampilan perencanaan ini.