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:
| Kedudukan | 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|
| Codes | 14 | 9 | 27 | 9 | 31 | 5 |
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 kena | Pergi 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.