Set ini merangkumi seluruh peralihan ke Python dan pelaksanaan: memetakan pseudokod ke Python, lekukan dan cabang, jenis ralat, runtime selamat dan label tahun peperiksaan. Soalan bermula daripada yang lebih mudah hingga lebih sukar, dan semuanya asli.
Jejak setiap soalan di atas kertas sebelum membuka jawapan. Selepas itu, semak dengan kotak pasir penaakulan Python dan pelatih jejak pseudokod terhad. Log kesilapan dan baris ujian semula ialah tempat yang baik untuk merekod apa yang anda tersilap.
Soalan
1. Tulis Python untuk dua baris ini.
Total ← 0
Total ← Total + 5
Lihat jawapan
total = 0
total = total + 5
Anak panah ← menjadi =. Selepas kedua-dua baris, total bernilai 5.
2. Tulis Python untuk: IF Age >= 16 THEN OUTPUT "Senior" ENDIF.
Lihat jawapan
if age >= 16:
print("Senior")
Syarat berakhir dengan titik bertindih, dan baris print dilekukkan. Teks dalam petikan kekal sama.
3. Apakah outputnya?
def f(n):
total = 0
for i in range(1, n + 1):
total = total + i
return total
print(f(4))
Lihat jawapan
range(1, 5) memberi 1, 2, 3, 4. Total menjadi 1, 3, 6, 10. Output: 10.
4. Apakah outputnya?
for i in range(3):
print(i * 2)
Lihat jawapan
range(3) memberi 0, 1, 2, jadi nilai yang dicetak ialah 0, 2 dan 4, pada tiga baris. Output: 0, 2, 4.
5. Beri keputusan band(70), band(40) dan band(39).
def band(mark):
if mark >= 70:
return "High"
elif mark >= 40:
return "Middle"
else:
return "Low"
Lihat jawapan
70 >= 70 ialah True, jadi High. 40 gagal ujian pertama, lulus >= 40, jadi Middle. 39 gagal kedua-duanya, jadi Low.
6. Cari ralat sintaks.
def double(x)
return x * 2
Lihat jawapan
Baris def tiada titik bertindih. Dibetulkan: def double(x):. Python tidak dapat memulakan program sehingga ini dibaiki.
7. Fungsi ini sepatutnya memberi purata dua nombor. Apakah yang dipulangkan average(4, 10), apakah yang sepatutnya dipulangkan, dan apakah jenis ralatnya?
def average(a, b):
return a + b / 2
Lihat jawapan
Pembahagian dahulu: 10 / 2 = 5, kemudian 4 + 5 = 9.0. Purata betul ialah (4 + 10) / 2 = 7.0. Ia ralat logik, kerana ia berjalan tanpa mesej. Pembetulan: return (a + b) / 2.
8. Apakah outputnya, dan apakah output jika count = count + 1 dialihkan ke belakang supaya sejajar dengan if?
count = 0
for n in [3, 8, 5, 10]:
if n > 4:
count = count + 1
print(count)
Lihat jawapan
Seperti ditulis, 8, 5 dan 10 lebih besar daripada 4, jadi outputnya 3. Apabila dialihkan ke aras if, baris itu berjalan untuk setiap item, jadi outputnya menjadi 4.
9. Apakah outputnya? Kemudian nyatakan apa yang berlaku jika baris n = n * 2 dibuang.
n = 1
while n < 20:
n = n * 2
print(n)
Lihat jawapan
n menjadi 1, 2, 4, 8, 16, 32. Pada 32 ujian 32 < 20 ialah False, jadi outputnya 32. Tanpa n = n * 2, n tidak pernah berubah, ujian kekal True dan gelung tidak pernah tamat. Runtime yang mempunyai had masa akan menghentikannya.
10. Satu soalan berkata “write the algorithm in pseudocode”. Anda biasanya menulis kod dalam Python. Apakah yang patut anda tulis, dan di mana anda menyemak tatatanda yang dijangka tahun peperiksaan anda?
Lihat jawapan
Tulis pseudokod gaya Cambridge, kerana soalan memintanya. Semak sukatan untuk tahun peperiksaan anda sendiri di laman Cambridge IGCSE Computer Science 0478, dan tanya pusat peperiksaan anda sukatan mana yang anda daftar. Nasihat yang ditulis untuk tahun lain belum disemak sehingga disahkan.
11. Ini tidak berjalan dalam sandbox pelayar. Mengapa, dan bagaimana anda membaiki latihan itu?
marks = open("marks.txt").read()
Lihat jawapan
Runtime tiada akses fail. Letakkan data rekaan dalam program: marks = [72, 45, 50, 38, 91]. Algoritma yang anda uji kekal sama.
Jika anda tersilap
| Apa yang tersilap | Pergi ke |
|---|---|
Terjemahan, hujung range, = berbanding == (S1 hingga S4) | Memetakan algoritma kepada fungsi Python terhad |
| Urutan cabang, lekukan, kedudukan gelung (S5, S8) | Menguji lekukan dan struktur cabang |
| Jenis ralat dan keputusan salah (S6, S7) | Membezakan ralat sintaks daripada keputusan yang salah |
| Gelung tanpa henti, fail, had sandbox (S9, S11) | Menggunakan runtime pelayar selamat |
| Tatatanda dan tahun peperiksaan (S10) | Mengasingkan panduan Python sahaja 2029 |
Untuk bantuan menukar satu tabiat yang salah menjadi yang boleh dipercayai, lihat tuisyen Sains Komputer dalam talian satu dengan satu kami.