Terus ke kandungan
IGCSE·Tuition
Sains Komputer · Latihan

Carian, isihan dan fail: latihan campuran

Jejak terasa mudah apabila orang lain mengisi jadual, dan berbeza apabila sel pertama kosong.

Set ini meliputi seluruh modul carian, isihan dan fail: carian linear, satu pusingan isihan, rekod, gelung hujung fail dan ujian kes sempadan. Semua data adalah rekaan.

Soalan disusun dari mudah ke lebih sukar. Lukis jadual jejak, tulis jawapan anda, kemudian buka langkah penyelesaian. Pelatih jejak pseudokod terhad boleh menyemak jejak, dan log kesilapan dan baris gilir ujian semula ialah tempat untuk mencatat kesilapan.

Soalan 1 hingga 3 menggunakan tatasusunan ini (kedudukan 1 hingga 6) dan carian daripada pelajaran carian linear:

Kedudukan123456
Codes149279315
Found ← FALSE
Index ← 1
WHILE Index <= 6 AND Found = FALSE
   IF Codes[Index] = Target THEN
      Found ← TRUE
   ELSE
      Index ← Index + 1
   ENDIF
ENDWHILE

Soalan

1. Target = 9. Nyatakan Index akhir, Found dan bilangan perbandingan.

Show answer

Pusingan 1: Codes[1] = 14, tidak, Index menjadi 2. Pusingan 2: Codes[2] = 9, padanan, Found = TRUE. Index = 2, Found = TRUE, 2 perbandingan.

2. Target = 40. Nyatakan Index akhir, Found dan bilangan perbandingan.

Show answer

Tiada item yang sepadan, jadi keenam-enamnya disemak dan Index bertambah selepas setiap satu. Index = 7, Found = FALSE, 6 perbandingan. Gelung berakhir kerana Index <= 6 palsu.

3. Baris Index ← Index + 1 dialihkan ke luar IF, untuk berjalan selepasnya. Dengan Target = 27, apakah Index akhir dan mengapa ia salah?

Show answer

Padanan berlaku pada Index = 3, tetapi penambahan masih berjalan, jadi Index berakhir pada 4. Codes[4] ialah 9, bukan 27, maka kedudukan yang dilaporkan salah.

4. Senarai lain ialah [3, 8, 8, 1]. Carian linear untuk 1 berhenti pada padanan pertama. Berapa perbandingan dibuat?

Show answer

Bandingkan 3, 8, 8, kemudian 1 pada kedudukan 4. 4 perbandingan.

5. Jejak satu pusingan isihan gelembung pada [4, 7, 2, 9, 1]. Nyatakan senarai selepas itu dan bilangan pertukaran.

Show answer

4 dan 7: tiada pertukaran. 7 dan 2: tukar, memberi 4, 2, 7, 9, 1. 7 dan 9: tiada pertukaran. 9 dan 1: tukar, memberi 4, 2, 7, 1, 9. Hasil [4, 2, 7, 1, 9], 2 pertukaran. Nilai terbesar, 9, berada di hujung.

6. Data[1] = 5 dan Data[2] = 8. Seorang pelajar menukar dengan Data[1] ← Data[2] kemudian Data[2] ← Data[1]. Apakah nilai akhir?

Show answer

Selepas baris pertama, Data[1] = 8. Baris kedua menyalin Data[1], kini 8, ke dalam Data[2]. Akhir: Data = [8, 8]. Nilai 5 hilang kerana tiada pemboleh ubah sementara menyimpannya.

7. Satu pusingan dijalankan pada [1, 2, 3] dengan kaedah bendera. Apakah Swapped selepas itu, dan apa yang ditunjukkannya?

Show answer

Tiada pasangan yang tidak teratur, jadi tiada pertukaran berlaku. Swapped = FALSE, menunjukkan senarai sudah tersusun.

8. Baris Zara,11A,64 dipecahkan pada koma. Nyatakan tiga medan dan skor ditambah 6.

Show answer

Medan: Zara, 11A, 64. Skor yang ditukar kepada nombor ialah 64, dan 64 + 6 = 70.

9. Baris berlebar tetap Omar 09C055 menggunakan lebar 6, 3 dan 3. Nyatakan tiga medan dan skor sebagai nombor.

Show answer

Aksara 1 hingga 6: Omar . Aksara 7 hingga 9: 09C. Aksara 10 hingga 12: 055, yang sebagai nombor ialah 55.

10. Fail Marks.txt mengandungi baris 6, 10, 14, 2. Dengan gelung penjumlahan daripada pelajaran hujung fail, nyatakan Total, Count dan purata.

Show answer

Membaca 6, 10, 14, 2 memberi jumlah 6, 16, 30, 32. Badan berjalan empat kali. Total = 32, Count = 4, purata = 32 / 4 = 8.

11. Atur cara yang sama dijalankan pada fail kosong. Apa yang tidak kena, dan bagaimana mengawalnya?

Show answer

Badan gelung tidak pernah berjalan, jadi Count = 0. Kemudian Total / Count membahagi dengan sifar. Kawal dengan IF Count = 0 THEN OUTPUT "No data" ELSE OUTPUT Total / Count ENDIF.

12. Algoritma mencari skor tertinggi dan berapa kali ia muncul. Jejak pada [6, 6, 2, 6, 6].

Show answer

Mula dengan Max = 6, Times = 1. Item 2 ialah 6, sama, jadi Times = 2. Item 3 ialah 2, tiada perubahan. Item 4 ialah 6, Times = 3. Item 5 ialah 6, Times = 4. Output 6, 4.

Jika anda salah soalan ini

Apa yang tidak kenaPergi ke
Index akhir salah, bilangan perbandingan salah atau sasaran tiada (1 hingga 4)Jejak carian linear
Senarai salah selepas pusingan, nilai hilang dalam pertukaran (5 hingga 7)Terangkan satu pusingan isihan
Medan salah, teks dibandingkan sebagai nombor (8, 9)Baca rekod
Jumlah salah, gelung tak berkesudahan, fail kosong (10, 11)Kendalikan hujung fail
Pendua dikira salah, tiada ujian kes sempadan (11, 12)Semak data kosong dan pendua

Jika baris yang sama terus muncul, guru kami boleh membina latihan tambahan berkaitannya melalui tuisyen Computer Science dalam talian satu dengan satu. Kotak pasir penaakulan Python juga berguna untuk menyemak versi Python yang pendek bagi mana-mana jejak.

Soalan lazim

Bagaimana saya patut menggunakan set latihan ini?

Lukis setiap jadual jejak di atas kertas sebelum membuka jawapan berlangkah. Bandingkan pemboleh ubah demi pemboleh ubah, bukan hanya output akhir, kemudian catat setiap kesilapan. Cuba semula soalan yang salah beberapa hari kemudian tanpa nota untuk melihat sama ada pembetulan kekal.

Adakah soalan ini daripada kertas lepas?

Tidak. Setiap soalan adalah asli dan menggunakan data rekaan. Soalan sepadan dengan kemahiran dalam modul ini, bukan mana-mana kertas tertentu. Kertas lepas dan sukatan pelajaran boleh didapati daripada pusat peperiksaan anda dan laman Cambridge.

Bagaimana jika saya salah beberapa soalan pada percubaan pertama?

Itu menunjukkan pelajaran mana yang perlu dibaca semula. Gunakan bahagian penghalaan di hujung untuk memadankan setiap kesilapan dengan pelajaran, ulang semakan kendiri pelajaran itu, kemudian cuba set ini semula selepas jeda.

Dikemas kini:

Langkah seterusnya

Jika jenis kesilapan yang sama terus muncul dalam jejak anda, guru satu dengan satu boleh mengelaskan kesilapan itu mengikut punca dan merancang latihan pendek untuk dua atau tiga yang paling merugikan.

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