Terus ke kandungan
IGCSE·Tuition
Sains Komputer · Latihan

Carian, isihan dan fail: latihan campuran

Menjejak nampak mudah apabila orang lain mengisi jadual, tetapi lain apabila sel pertama anda 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 ialah 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.

Lihat jawapan

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.

Lihat jawapan

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?

Lihat jawapan

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?

Lihat jawapan

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.

Lihat jawapan

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?

Lihat jawapan

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?

Lihat jawapan

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.

Lihat jawapan

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.

Lihat jawapan

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.

Lihat jawapan

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?

Lihat jawapan

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

Lihat jawapan

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 jenis kesilapan yang sama terus muncul, guru dalam tuisyen Computer Science dalam talian satu dengan satu boleh membina latihan tambahan untuknya. 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 ialah soalan asal 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 kesilapan yang sama terus muncul dalam jejak anda, guru satu dengan satu boleh mengelaskannya mengikut punca dan merancang latihan pendek untuk dua atau tiga yang paling menjejaskan markah anda.

Kelas percubaan berbayar satu jam pada kadar guru yang disahkan, bermula RM80.

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

Ibu bapa: tanya di sini

  • 9,000+ pelajar telah dibantu melalui perkhidmatan kami
  • 9+ tahun membantu pelajar IGCSE