Terus ke kandungan
IGCSE·Tuition
Sains Komputer · Latihan

Penjelasan penyelesaian masalah: latihan campuran asli dengan penjelasan

Penjelasan bertulis bertambah baik paling cepat apabila anda menulis jawapan sendiri dahulu dan baru membandingkan.

Soalan-soalan ini merangkumi seluruh modul penjelasan penyelesaian masalah: tujuan pemboleh ubah, kes ujian yang dewajarkan, pembetulan yang diterangkan, surih yang dikaitkan dengan output dan contoh minimum. Soalan ini asli dan disusun daripada mudah kepada lebih sukar.

Tulis jawapan anda dengan ayat penuh dahulu. Bagi surih, lukis jadual.

Kemudian buka jawapan dan bandingkan. Pelatih surih pseudokod terhad dan kotak pasir Python selamat untuk penaakulan boleh menyemak nilai anda.

Soalan

1. (Mudah) Terangkan tujuan Count dalam kod ini.

Count ← 0
FOR Index ← 1 TO 4
   INPUT Age
   IF Age >= 18 THEN
      Count ← Count + 1
   ENDIF
NEXT Index
OUTPUT Count
Tunjukkan jawapan

Count ialah pembilang. Ia menyimpan bilangan umur yang dimasukkan setakat ini yang berumur 18 atau lebih. Ia bermula pada 0 kerana belum ada yang dibilang, bertambah 1 hanya apabila Age >= 18 benar, dan dikeluarkan selepas gelung sebagai nombor akhir.

2. (Mudah) Satu carian menetapkan Found ← FALSE sebelum gelung dan Found ← TRUE apabila sasaran dilihat. Terangkan mengapa Found diperlukan.

Tunjukkan jawapan

Found ialah bendera yang merekod sama ada sasaran telah dilihat. Ia bermula FALSE kerana belum ada yang dijumpai. Sebaik ditetapkan TRUE ia kekal TRUE, jadi selepas gelung atur cara boleh mengujinya untuk memutuskan sama ada mengeluarkan “Found” atau “Not found”.

3. (Mudah) Keperluan: nombor tempat duduk mestilah nombor bulat dari 1 hingga 40 termasuk kedua-duanya. Beri empat ujian sempadan dengan keputusan dijangka dan sebab.

Tunjukkan jawapan
  • 1: diterima, kerana “dari 1” termasuk had bawah.
  • 40: diterima, kerana “hingga 40 termasuk” merangkumi had atas.
  • 0: ditolak, kerana tepat di bawah had bawah.
  • 41: ditolak, kerana tepat di atas had atas.

4. (Sederhana) Keperluan: penghantaran percuma apabila jumlah pesanan RM150 atau lebih. Beri tiga ujian dengan keputusan dijangka dan sebab.

Tunjukkan jawapan
  • RM149.99: penghantaran dikenakan bayaran, kerana tepat di bawah had.
  • RM150: penghantaran percuma, kerana “atau lebih” termasuk RM150 tepat. Ini menangkap > yang salah dan bukan >=.
  • RM200: penghantaran percuma, sebagai nilai normal jauh di dalam peraturan.

5. (Sederhana) Huraikan pembetulan. Harga 5, 6 dan 7 sepatutnya memberi 18 tetapi kod mengeluarkan 7.

1  Total ← 0
2  FOR I ← 1 TO 3
3     INPUT Price
4     Total ← Price
5  NEXT I
6  OUTPUT Total
Tunjukkan jawapan

Baris 4 menggantikan Total dengan Price terkini dan bukan menambahnya, jadi hanya harga terakhir, 7, yang tinggal. Tukar kepada Total ← Total + Price. Nilai kemudian menjadi 5, 11, 18, iaitu output yang dijangka.

6. (Sederhana) Kod ini sepatutnya mengeluarkan 1, 2, 3 kemudian berhenti, tetapi tidak pernah tamat. Huraikan pembetulan.

1  Count ← 1
2  WHILE Count <= 3 DO
3     OUTPUT Count
4  ENDWHILE
Tunjukkan jawapan

Count tidak pernah diubah dalam gelung, jadi Count <= 3 kekal benar selama-lamanya dan 1 dikeluarkan berulang kali. Tambah Count ← Count + 1 sebagai pernyataan terakhir dalam gelung, selepas OUTPUT. Maka Count menjadi 1, 2, 3, 4 dan gelung tamat selepas mengeluarkan 1, 2, 3.

7. (Sederhana) Surih kod, nyatakan output dan terangkan dalam satu ayat.

X ← 3
Y ← 0
WHILE X > 0 DO
   Y ← Y + X * X
   X ← X - 1
ENDWHILE
OUTPUT Y
Tunjukkan jawapan
PusinganX > 0 ?Y selepasX selepas
Mula03
13 > 0 benar92
22 > 0 benar131
31 > 0 benar140
Ujian0 > 0 palsu140

Y menambah kuasa dua 9, 4 dan 1. Gelung berhenti apabila X menjadi 0, dan OUTPUT Y mencetak 14.

8. (Sederhana) Surih kod dan beri kedua-dua output.

Even ← 0
Odd ← 0
FOR N ← 1 TO 6
   IF N MOD 2 = 0 THEN
      Even ← Even + N
   ELSE
      Odd ← Odd + N
   ENDIF
NEXT N
OUTPUT Even
OUTPUT Odd
Tunjukkan jawapan

N = 1: Odd 1. N = 2: Even 2. N = 3: Odd 4. N = 4: Even 6. N = 5: Odd 9. N = 6: Even 12. Even mengumpul 2 + 4 + 6 dan Odd mengumpul 1 + 3 + 5. Outputnya 12 kemudian 9.

9. (Sukar) Seorang pelajar berkata output soalan 7 ialah 0 “kerana X berakhir pada 0”. Terangkan kesilapannya.

Tunjukkan jawapan

Pelajar itu membaca pemboleh ubah yang salah. 0 ialah nilai akhir X, yang menamatkan gelung, tetapi pernyataannya ialah OUTPUT Y. Nilai terakhir dalam lajur Y ialah 14, jadi outputnya 14. Pelajar patut menamakan pemboleh ubah dalam pernyataan OUTPUT dahulu, kemudian membaca lajurnya.

10. (Sukar) Satu atur cara panjang sepatutnya membilang nilai di atas 10. Bagi data 5, 10, 15 ia mengeluarkan 2. Tulis contoh minimum yang boleh dihasilkan semula dengan output dijangka dan sebenar, dan huraikan pembetulan.

Tunjukkan jawapan
Data[1] ← 5
Data[2] ← 10
Data[3] ← 15
Count ← 0
FOR I ← 1 TO 3
   IF Data[I] >= 10 THEN
      Count ← Count + 1
   ENDIF
NEXT I
OUTPUT Count

Dijangka: 1 (hanya 15 di atas 10). Sebenar: 2 (10 dan 15). Syarat menggunakan >=, yang termasuk 10, sedangkan keperluan menyatakan “di atas 10”. Tukar kepada IF Data[I] > 10 THEN. Data pada sempadan, 10, ialah yang mendedahkan kesalahan.

11. (Sukar) Pelan ujian bagi “skor dari 0 hingga 100 termasuk kedua-duanya” menggunakan 0, 50, 100 dan 101. Nyatakan apa yang tiada dan mengapa ia penting.

Tunjukkan jawapan

Tiada ujian tepat di bawah had bawah, −1. Tanpanya, peraturan yang tersalah menerima skor negatif akan lulus pelan itu. Nilai jenis salah seperti “ten” juga berguna, kerana peraturan menyatakan skor ialah nombor. Tambah −1 (ditolak, di bawah had bawah) dan “ten” (ditolak, bukan nombor).

Jika anda salah

Gunakan log kesilapan dan baris gilir ujian semula untuk mencatat jenis ralat dan mengujinya semula beberapa hari kemudian. Gambaran modul, penjelasan penyelesaian masalah, menunjukkan laluan penuh.

Jika anda mahu seseorang membaca jawapan bertulis anda bersebelahan isi markah, guru kami boleh melakukannya dalam tuisyen Computer Science dalam talian satu dengan satu.

Sumber rujukan

  1. Cambridge IGCSE Computer Science 0478 syllabus page

Dikemas kini:

Langkah seterusnya

Jika jawapan anda hampir sama dengan jawapan berlangkah tetapi sentiasa tertinggal satu isi wajib, guru satu dengan satu boleh membaca ayat anda bersebelahan isi markah dan menunjukkan di mana jurangnya.

Kelas percubaan berbayar satu jam pada kadar guru yang disahkan, bermula RM80. Yuran lain, jadual dan susunan seterusnya disahkan terus bersama guru selepas kelas percubaan.

Tuisyen diatur bersama ibu bapa atau penjaga. Hantar halaman ini kepada mereka melalui WhatsApp supaya mereka boleh bertanya bagi pihak anda.

Ibu bapa atau penjaga? Tanya di sini

9,000+ pelajar telah dibantu melalui perkhidmatan kami