02. Menyelesaikan masalah di atas kertas terlebih dahulu — Solusi pekerjaan rumah
Flowchart di bawah ini adalah contoh jawaban. Milikmu bisa digambar dengan tangan dengan bentuk yang sama — oval, persegi panjang, berlian, panah.
Soal 1 — Sikat gigi
Soal. Flowchart garis lurus tanpa pertanyaan dan tanpa loop.
Contoh jawaban.
Kesalahan umum.
- Melewati langkah yang membosankan (memeras pasta gigi, membilas). Komputer juga melewatinya.
- Menggabungkan dua aksi ke dalam satu kotak (Sikat gigi dan meludah). Sebuah kotak adalah satu aksi. Sebuah dan biasanya berarti dua kotak.
Soal 2 — Apa yang akan ditonton
Soal. Satu berlian. Cabang ya-loop kembali; cabang tidak-berakhir dengan tekan play.
Contoh jawaban.
Cabang yes loop kembali ke pilih acara,
sehingga program mencoba lagi.
Kesalahan umum.
- Loop kembali ke buka aplikasi. Aplikasinya sudah terbuka. Loop seharusnya kembali ke langkah pertama yang berubah — memilih acara, bukan membuka aplikasi.
Soal 3 — Apa yang akan dipakai
Soal. Setidaknya dua berlian. Jalur-jalur bergabung di akhir.
Contoh jawaban.
Empat jalur berjalan melaluinya: dingin + hujan, dingin + kering, hangat + hujan, hangat + kering. Setiap jalur membuat pilihan yang berbeda, lalu keempat jalur bertemu di kenakan dan pergi.
Kesalahan umum.
- Lupa bahwa jalur berlian kedua bergabung kembali. Jika tidak, setengah waktu program tidak pernah mencapai kenakan dan pergi. Periksa bahwa setiap panah akhirnya mencapai ujung.
Tantangan — Loop dengan penghitung
Soal. Berhenti tepat setelah sepuluh push-up. Butuh penghitung dan pertanyaan.
Cara berpikir. Loop yang berjalan N kali memiliki bentuk ini:
- Set penghitung ke 0.
- Apakah penghitung sudah mencapai N? Jika ya, berhenti.
- Lakukan satu putaran kerja.
- Tambah 1 ke penghitung.
- Kembali ke langkah 2.
Contoh jawaban.
Lacak: penghitung mulai di 0. Apakah 10? Tidak. Push-up 1, penghitung menjadi 1. Apakah 10? Tidak. Push-up 2, penghitung menjadi 2. ... Ketika mencapai 10 jawabannya ya dan kita berhenti tepat di sepuluh.
Ini adalah pola loop for i in range(1, 11): yang akan
kamu tulis di Bab 18. Flowchart adalah gambarnya; kode Python adalah
gambar itu yang dituliskan.
Kesalahan umum.
- Lupa kotak tambah 1 ke penghitung. Penghitung tetap di 0 selamanya dan kamu melakukan push-up seumur hidup — sebuah infinite loop, bug nyata dalam kode nyata.
- Memeriksa apakah penghitung lebih besar dari 10 dan berhenti di sana. Itu bisa berfungsi, tapi mudah meleset satu. Sama dengan 10, dengan tambah 1 setelah push-up, adalah yang paling bersih.
Selesai?
Bab berikutnya memperbesar tampilan ke tiga blok bangunan yang sudah kamu temukan di sini: melakukan hal-hal secara berurutan, mengajukan pertanyaan ya/tidak untuk memilih jalur, dan loop kembali untuk mengulang pekerjaan.