Terus ke kandungan
IGCSE·Tuition
Sains Komputer · Latihan

Peralihan ke Python dan pelaksanaan: latihan campuran

Menterjemah terasa mudah apabila jawapan ada di halaman, dan lebih sukar apabila skrin kosong.

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 tersilapPergi 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.

Dikemas kini:

Langkah seterusnya

Jika jenis soalan yang sama terus tersilap, guru satu dengan satu boleh melihat jejak anda dan mencari tabiat di sebalik kesilapan itu.

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