Terus ke kandungan
IGCSE·Tuition
Sains Komputer · Latihan

Pengulangan dan tatasusunan: latihan campuran dengan penerangan

Menjejak dilatih di atas kertas, jadi set ini meminta anda menulis jejak sebelum melihat jawapan.

Dalam halaman ini
  1. Pemanasan: gelung terkawal bilangan
  2. Gelung terkawal syarat
  3. Baiki dan kesan kesalahan
  4. Tatasusunan dan gelung
  5. Jika anda tersilap

Set ini merangkumi kemahiran dalam pengulangan dan tatasusunan: menjejak gelung terkawal bilangan dan terkawal syarat, membaiki kesalahan off-by-one, dan menggunakan tatasusunan bersama gelung. Cuba setiap soalan di atas kertas dan tulis jadual jejak sebelum membuka jawapan.

Soalan 7 hingga 11 menggunakan tatasusunan Temp[1:6], yang menyimpan bacaan 28, 31, 27, 33, 30, 33. Catat jawapan salah anda dalam log kesilapan.

Pemanasan: gelung terkawal bilangan

S1. Apakah output?

FOR i ← 1 TO 4
   OUTPUT i * i
NEXT i
Lihat jawapan

i mengambil 1, 2, 3, 4. Outputnya ialah 1, 4, 9, 16.

S2. Berapa kali gelung berjalan, dan apakah Sum pada akhirnya?

Sum ← 0
FOR i ← 2 TO 10 STEP 2
   Sum ← Sum + i
NEXT i
Lihat jawapan

i mengambil 2, 4, 6, 8, 10, jadi gelung berjalan 5 kali. Sum ialah 2, 6, 12, 20, 30. Nilai akhir ialah 30.

Gelung terkawal syarat

S3. Apakah N dan Count pada akhirnya?

N ← 100
Count ← 0
WHILE N > 10 DO
   N ← N DIV 3
   Count ← Count + 1
ENDWHILE
Lihat jawapan
UjianN selepasCount selepas
100 > 10 benar331
33 > 10 benar112
11 > 10 benar33
3 > 10 palsutamat

N ialah 3 dan Count ialah 3.

S4. Apakah nilai X apabila gelung tamat, dan berapa pusingan dibuat?

X ← 1
REPEAT
   X ← X * 2
UNTIL X > 50
Lihat jawapan

X menjadi 2, 4, 8, 16, 32 (setiap satu tidak > 50, jadi ulang), kemudian 64 (64 > 50, berhenti). Itu 6 pusingan dan X ialah 64.

Baiki dan kesan kesalahan

S5. Tugasan ialah mengeluarkan 1 hingga 8. Kod ini mengeluarkan 1 hingga 7. Baikinya.

Count ← 1
WHILE Count < 8 DO
   OUTPUT Count
   Count ← Count + 1
ENDWHILE
Lihat jawapan

Apabila Count ialah 8, 8 < 8 palsu dan 8 tidak pernah dikeluarkan. Tukar syarat kepada WHILE Count <= 8. Maka Count 1 hingga 8 lulus ujian dan 8 nilai dikeluarkan.

S6. Gelung ini tidak pernah tamat. Terangkan sebabnya, baikinya, kemudian nyatakan N akhir dan bilangan pusingan bagi pembaikan anda.

N ← 10
WHILE N <> 0 DO
   N ← N - 3
ENDWHILE
Lihat jawapan

N mengambil 7, 4, 1, -2, -5 dan seterusnya. Ia melangkaui 0, jadi N <> 0 sentiasa benar. Pembaikan: WHILE N > 0.

Jejak: 10 > 0 benar (N = 7), 7 > 0 benar (N = 4), 4 > 0 benar (N = 1), 1 > 0 benar (N = -2), -2 > 0 palsu. Itu 4 pusingan dan N ialah -2.

Tatasusunan dan gelung

S7. Kod ini mengira berapa bacaan melebihi 30. Berikan outputnya.

Hot ← 0
FOR i ← 1 TO 6
   IF Temp[i] > 30
      THEN
         Hot ← Hot + 1
   ENDIF
NEXT i
OUTPUT Hot
Lihat jawapan

Bacaan melebihi 30 ialah 31, 33 dan 33. 30 tidak melebihi 30. Hot ialah 3.

S8. Jejak kod ini dan berikan outputnya.

Max ← Temp[1]
MaxPos ← 1
FOR i ← 2 TO 6
   IF Temp[i] > Max
      THEN
         Max ← Temp[i]
         MaxPos ← i
   ENDIF
NEXT i
OUTPUT MaxPos, Max
Lihat jawapan
iTemp[i]UjianMaxMaxPos
awal281
23131 > 28 benar312
327palsu312
43333 > 31 benar334
530palsu334
63333 > 33 palsu334

Outputnya ialah 4, 33.

S9. Tulis pseudokod untuk mengeluarkan jumlah dan purata keenam-enam bacaan. Kemudian berikan kedua-dua nilai, dengan purata kepada 1 tempat perpuluhan.

Lihat jawapan
Total ← 0
FOR i ← 1 TO 6
   Total ← Total + Temp[i]
NEXT i
Average ← Total / 6
OUTPUT Total, Average

Jumlah selepas setiap pusingan: 28, 59, 86, 119, 149, 182. Jumlahnya 182. Puratanya 182 / 6 = 30.33…, jadi 30.3 kepada 1 tempat perpuluhan.

S10. Apakah Temp[Temp[1] - 25]?

Lihat jawapan

Temp[1] ialah 28. 28 - 25 = 3. Temp[3] ialah 27.

S11. Tatasusunan stok Stock[1:4] bermula sebagai 5, 0, 3, 0. Berikan kandungannya selepas kod ini.

FOR i ← 1 TO 4
   IF Stock[i] = 0
      THEN
         Stock[i] ← 10
   ENDIF
NEXT i
Lihat jawapan

Kedudukan 2 dan 4 menyimpan 0 dan diganti. Tatasusunan menjadi 5, 10, 3, 10.

Jika anda tersilap

Jejak mana-mana soalan ini langkah demi langkah dalam pelatih jejak pseudokod atau kotak pasir penaakulan Python. Jika satu jenis ralat terus berulang, tuisyen Computer Science dalam talian secara satu dengan satu kami boleh menumpukan pada kemahiran itu.

Soalan lazim

Patutkah saya menjalankan kod untuk menyemak jawapan?

Jejak di atas kertas dahulu, kemudian semak dengan alat. Menjalankan kod memberitahu keputusan tetapi bukan sebabnya, dan peperiksaan meminta anda menerangkan setiap langkah. Gunakan kotak pasir hanya selepas jadual anda lengkap, dan bandingkan keduanya baris demi baris.

Bagaimana jika jawapan saya berbeza daripada penerangan?

Bandingkan jadual jejak anda dengan yang ditunjukkan, baris demi baris. Baris pertama yang berbeza ialah tempat ralat bermula. Catat jenis ralat, seperti bilangan pusingan salah atau indeks ganti nilai, dan gunakan senarai penghalaan di hujung.

Adakah soalan ini seperti soalan peperiksaan?

Ia soalan asal tentang kemahiran yang sama: menjejak, membaiki dan menulis gelung pada tatasusunan. Ia tidak menyalin mana-mana kertas lepas. Semak sukatan pelajaran anda di laman Cambridge untuk tatatanda yang dijangka bagi tahun peperiksaan anda.

Sumber rujukan

  1. Cambridge IGCSE Computer Science 0478 syllabus page

Dikemas kini:

Langkah seterusnya

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

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