Semua bab所有章节

Bab 3第3章 · 3.1 Pembangunan Algoritma3.1 算法的开发

Algoritma算法

Pseudokod, carta alir, dan struktur kawalan jujukan, pilihan dan ulangan.伪代码、流程图,以及顺序、选择和重复的控制结构。

Selepas bab ini, anda boleh:学完这一章,你可以:

  • Menerangkan maksud algoritma, pseudokod dan carta alir.说明算法、伪代码和流程图的意思。
  • Menamakan simbol carta alir dan melukis carta alir daripada algoritma.说出流程图符号的名称,并根据算法画流程图。
  • Membezakan pilihan tunggal, dwipilihan dan pelbagai pilihan.分辨单一选择、双重选择和多重选择。
  • Membezakan gelung UNTUK, SELAGI dan ULANG–SEHINGGA.分辨 UNTUK、SELAGI 和 ULANG–SEHINGGA 循环。
  • Mengesan ralat dengan semakan meja dan langkah demi langkah.用桌面检查和逐步检查来找出错误。
Mula belajar开始学习

3.1

Apakah algoritma?什么是算法?

Definisi untuk peperiksaan考试用的定义 Algoritma ialah satu siri langkah untuk menyelesaikan sesuatu masalah atau melengkapkan sesuatu tugas.算法是解决一个问题或完成一项任务的一系列步骤。

Dalam bahasa mudah简单来说

Algoritma ialah senarai arahan, satu demi satu, seperti resipi. Jika kita ikut setiap langkah mengikut urutan, kita dapat hasil yang kita mahu. Dengan input yang sama, hasilnya sama setiap kali.算法就是一条一条的指令,像食谱一样。只要按照顺序做每一步,就会得到我们想要的结果。输入一样,每次的结果也一样。

Cerita mudah简单的故事

Bayangkan awak mengajar adik membancuh Milo. Jika awak kata "buatlah Milo", adik keliru. Tetapi jika awak kata: 1. Didihkan air.2. Letakkan 3 sudu Milo ke dalam cawan.3. Tuang air panas.4. Kacau. Adik pasti berjaya! Senarai langkah yang jelas inilah algoritma.想象你在教弟弟妹妹冲美禄。如果你只说「去冲美禄」,他会不知道怎么做。但是如果你说: 1. 把水煮开。2. 把 3 匙美禄放进杯子。3. 倒热水。4. 搅拌。 他一定做得到!这样清楚的步骤清单,就是算法。

Perkara penting semasa menulis algoritma (nota cikgu)写算法时的重点(老师的笔记)

1. Langkah ditulis dalam bahasa yang difahami manusia, seperti bahasa Melayu atau bahasa Inggeris.2. Setiap langkah mesti dihuraikan dengan jelas.3. Urutan langkah hendaklah dinyatakan dengan betul.4. Algoritma mesti mempunyai kesudahan (output) dalam suatu tempoh masa. 1. 步骤用人看得懂的语言写,比如马来文或英文。2. 每个步骤都要写清楚。3. 步骤的顺序一定要对。4. 算法一定要在一段时间内有结局(输出)。

Pseudokod伪代码Carta alir流程图
Maksud意思Satu set aturan yang ditulis dalam bahasa pertuturan dan beberapa kod asas untuk menyelesaikan sesuatu masalah, langkah demi langkah dari mula hingga tamat.用日常语言和一些基本代码写成的一套规则,从开始到结束一步一步地解决问题。Kaedah grafik yang menunjukkan langkah-langkah penyelesaian masalah dan hubung kait antara satu sama lain.用图形的方法表示解决问题的步骤,以及步骤之间的关系。
Bentuk形式Teks (ayat)文字(句子)Simbol geometri dan anak panah几何符号和箭头
Dibaca怎么读Baris demi baris, dari MULA hingga TAMAT一行一行,从 MULA 到 TAMATDari atas ke bawah, ikut anak panah从上到下,跟着箭头

Langkah demi langkah一步一步看

Satu algoritma, dua cara menulisnya一个算法,两种写法

Tekan → untuk langkah seterusnya dan ← untuk undur.按 → 看下一步,按 ← 返回。

Bagaimanakah kita melukis carta alir bagi algoritma ini?这个算法的流程图要怎么画?

MULA Didihkan air Letakkan 3 suduMilo Tuang air panas Kacau sehinggasebati Hidangkan Milo TAMAT

Algoritma算法

  1. Didihkan air.把水煮开。
  2. Letakkan 3 sudu Milo ke dalam cawan.把 3 匙美禄放进杯子里。
  3. Tuang air panas ke dalam cawan.把热水倒进杯子里。
  4. Kacau sehingga sebati.搅拌均匀。
  5. Hidangkan.端出来。
  1. Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
  2. "MULA": guna simbol terminal (bujur) untuk MULA atau TAMAT.「MULA」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。
  3. "Didihkan air": ini proses, jadi guna segi empat tepat.「Didihkan air」:这是处理(过程),所以用长方形。
  4. "Letakkan 3 sudu Milo": ini proses, jadi guna segi empat tepat.「Letakkan 3 sudu Milo」:这是处理(过程),所以用长方形。
  5. "Tuang air panas": ini proses, jadi guna segi empat tepat.「Tuang air panas」:这是处理(过程),所以用长方形。
  6. "Kacau sehingga sebati": ini proses, jadi guna segi empat tepat.「Kacau sehingga sebati」:这是处理(过程),所以用长方形。
  7. "Hidangkan Milo": ini input atau output, jadi guna segi empat selari.「Hidangkan Milo」:这是输入或输出,所以用平行四边形。
  8. "TAMAT": guna simbol terminal (bujur) untuk MULA atau TAMAT. Carta alir ini hanya ada jujukan: langkah demi langkah, tanpa cabang.「TAMAT」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。这个流程图只有顺序:一步接一步,没有分支。

Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。

Contoh例子 1/4 · Langkah步骤 1/8

Fasa pembangunan atur cara程序开发的阶段Apa yang dibuat做什么
1. Analisis masalah1. 分析问题Menentukan input, proses dan output.决定输入、处理和输出。
2. Reka bentuk atur cara2. 程序设计Menulis pseudokod, melukis carta alir dan mereka bentuk antara muka.写伪代码、画流程图、设计界面。
3. Pengekodan3. 编码Menulis kod arahan dalam bahasa pengaturcaraan.用程序语言写指令代码。
4. Pengujian dan penyahpepijatan4. 测试和除错Mengesan dan membaiki ralat.找出并改正错误。
5. Dokumentasi5. 文档Menyediakan dokumentasi luaran dan dalaman.准备外部和内部的文档。

Cerita mudah简单的故事

Lima fasa ini seperti membuat kek hari jadi. Analisis: kek untuk siapa, dan berapa besar? Reka bentuk: tulis resipi. Pengekodan: bakar kek. Pengujian: rasa kek, dan baiki jika kurang manis. Dokumentasi: simpan resipi supaya boleh buat lagi.这五个阶段就像做生日蛋糕。分析:蛋糕给谁吃?要多大?设计:写食谱。编码:烤蛋糕。测试:尝一尝,不够甜就改。文档:把食谱存起来,下次还能再做。

Cuba试试看

Susun fasa pembangunan atur cara排好程序开发的阶段

Seret langkah ke tempat yang betul, kemudian tekan Semak.把步骤拖到正确的位置,然后按「检查」。

  1. Analisis masalah分析问题
  2. Reka bentuk atur cara程序设计
  3. Pengekodan编码
  4. Pengujian dan penyahpepijatan测试和除错
  5. Dokumentasi文档

Tip peperiksaan考试技巧

Soalan UASA B8 memberi satu tugas dan meminta nama fasanya. "Menentukan input, proses dan output" = Analisis masalah. "Menulis pseudokod dan melakar carta alir" = Reka bentuk. "Mengesan dan membaiki ralat" = Pengujian dan penyahpepijatan.UASA B8 题会给一个工作,要你写出是哪一个阶段。「决定输入、处理和输出」= 分析问题。「写伪代码和画流程图」= 设计。「找出并改正错误」= 测试和除错。

Cuba fikir想一想

Cuba fikir: algoritma yang baik想一想:好的算法

Tekan → untuk langkah seterusnya dan ← untuk undur.按 → 看下一步,按 ← 返回。

Algoritma Ali untuk bersiap ke sekolah: 1. Pakai kasut.2. Pakai stokin.3. Pergi ke sekolah. Apakah masalahnya?阿里上学前的算法: 1. 穿鞋。2. 穿袜子。3. 去学校。 有什么问题?

  1. Stokin mesti dipakai sebelum kasut.袜子一定要在鞋子之前穿。

Jawapan答案: Urutan langkah salah. Tukar langkah 1 dengan langkah 2.步骤顺序错了。把第 1 步和第 2 步对调。

  1. Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
  2. Semak perkara penting nombor 3: urutan langkah mesti betul.检查第 3 个重点:步骤的顺序一定要对。
  3. Algoritma yang betul mesti mempunyai urutan yang betul.正确的算法一定要有正确的顺序。

Contoh例子 1/5 · Langkah步骤 1/3

3.1

Simbol carta alir流程图的符号

Definisi untuk peperiksaan考试用的定义 Carta alir mengandungi simbol geometri yang dihubungkan menggunakan anak panah. Hanya ada 1 Mula dan 1 Tamat dalam satu algoritma.流程图由用箭头连接起来的几何符号组成。一个算法只有 1 个开始和 1 个结束。

Dalam bahasa mudah简单来说

Setiap bentuk ada tugasnya sendiri. Lihat bentuknya, dan awak terus tahu jenis langkah itu.每一种形状都有自己的任务。一看形状,就知道是哪一种步骤。

Cerita mudah简单的故事

Simbol carta alir seperti papan tanda jalan raya. Pemandu faham papan tanda berhenti atau amaran tanpa membaca ayat yang panjang. Begitu juga carta alir: bujur bermaksud mula atau tamat, dan berlian bermaksud soalan Ya atau Tidak.流程图的符号就像路上的交通标志。司机不用读长长的句子,也看得懂「停」或「小心」的标志。流程图也一样:椭圆代表开始或结束,菱形代表一个 Ya 或 Tidak 的问题。

Simbol符号Nama名称Fungsi功能Kata kunci关键词
Terminal (Mula / Tamat)终端(开始 / 结束) Mula dan tamat sesuatu aktiviti.活动的开始和结束。 MULA, TAMAT (hanya 1 Mula dan 1 Tamat)MULA、TAMAT(只有 1 个开始和 1 个结束)
Proses处理 Aktiviti atau proses.活动或处理步骤。 Setkan a = 6, Kirakan c = a + b, TambahSetkan a = 6(设定)、Kirakan c = a + b(计算)、Tambah(加)
Input / Output输入 / 输出 Operasi input atau output.输入或输出的操作。 Masukkan, Baca (input) · Paparkan, Cetak (output)Masukkan、Baca(输入)· Paparkan、Cetak(输出)
Pilihan选择 Menguji sama ada syarat benar (Ya) atau salah (Tidak). Ada dua anak panah keluar.测试条件是对(Ya)还是错(Tidak)。有两个出去的箭头。 >, <, =, ≥, ≤, ≠ (contoh: Markah ≥ 40?)>、<、=、≥、≤、≠(例子:Markah ≥ 40?)
Garis aliran (anak panah)流程线(箭头) Menunjukkan aliran aktiviti, dari satu langkah ke langkah seterusnya.表示活动的流程,从一个步骤到下一个步骤。 —
Penyambung连接符 Menggabungkan aliran yang berlainan.把不同的流程接起来。 Huruf A–Z di dalam bulatan圆圈里写 A–Z 的字母

Cuba试试看

Simbol yang mana?用哪一个符号?

Pilih simbol carta alir bagi setiap langkah.为每个步骤选出流程图的符号。

Jawapan betul答对: 0 / 8

  1. MULA

  2. PAPARKAN "Lulus"

  3. Masukkan markah

  4. Setkan jumlah kepada 0

  5. Markah ≥ 40?

  6. Kira luas = panjang × lebar

  7. BACA nombor akaun

  8. TAMAT

Langkah demi langkah一步一步看

Lukis dan jalankan carta alir jujukan画出并运行顺序流程图

Tekan → untuk langkah seterusnya dan ← untuk undur.按 → 看下一步,按 ← 返回。

Bagaimanakah kita melukis carta alir bagi algoritma ini?这个算法的流程图要怎么画?

MULA Masukkan panjang Masukkan lebar Luas = panjang ×lebar Paparkan luas TAMAT

Algoritma算法

  1. Masukkan panjang.输入长(panjang)。
  2. Masukkan lebar.输入宽(lebar)。
  3. Kira luas = panjang × lebar.计算面积(luas)= 长 × 宽。
  4. Paparkan luas.显示面积(luas)。
  1. Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
  2. "MULA": guna simbol terminal (bujur) untuk MULA atau TAMAT.「MULA」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。
  3. "Masukkan panjang": ini input atau output, jadi guna segi empat selari.「Masukkan panjang」:这是输入或输出,所以用平行四边形。
  4. "Masukkan lebar": ini input atau output, jadi guna segi empat selari.「Masukkan lebar」:这是输入或输出,所以用平行四边形。
  5. "Luas = panjang × lebar": ini proses, jadi guna segi empat tepat.「Luas = panjang × lebar」:这是处理(过程),所以用长方形。
  6. "Paparkan luas": ini input atau output, jadi guna segi empat selari.「Paparkan luas」:这是输入或输出,所以用平行四边形。
  7. "TAMAT": guna simbol terminal (bujur) untuk MULA atau TAMAT. Dua input, satu proses, satu output.「TAMAT」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。两个输入、一个处理、一个输出。

Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。

Contoh例子 1/3 · Langkah步骤 1/7

Tiga jenis aliran dalam carta alir流程图里的三种流程

Jujukan (urutan): langkah demi langkah, tanpa cabang. Pilihan: berlian memecahkan aliran kepada cabang Ya dan Tidak. Ulangan: anak panah kembali ke atas, jadi langkah diulang.顺序:一步接一步,没有分支。选择:菱形把流程分成 Ya 和 Tidak 两条路。重复:箭头往回指,所以步骤会重复。

Tip peperiksaan考试技巧

Tiga kesilapan biasa: (1) dua simbol TAMAT; (2) berlian dengan satu anak panah sahaja; (3) PAPARKAN di dalam segi empat tepat. Output mesti di dalam segi empat selari.三个常见错误:(1) 两个 TAMAT;(2) 菱形只有一个箭头;(3) 把 PAPARKAN 画在长方形里。输出一定要画在平行四边形里。

Cuba fikir想一想

Cuba fikir: simbol carta alir想一想:流程图符号

Tekan → untuk langkah seterusnya dan ← untuk undur.按 → 看下一步,按 ← 返回。

Perkataan PAPAR, CETAK dan BACA amat sesuai menggunakan simbol yang mana?PAPAR(显示)、CETAK(打印)和 BACA(读取)这几个词适合用哪一个符号?

  1. Data masuk = input. Data keluar = output.数据进来 = 输入。数据出去 = 输出。

Jawapan答案: Simbol input/output (segi empat selari).输入/输出符号(平行四边形)。

  1. Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
  2. BACA membawa data masuk. PAPAR dan CETAK mengeluarkan data.BACA 把数据带进来。PAPAR 和 CETAK 把数据送出去。
  3. Kata kunci input: MASUKKAN, BACA. Kata kunci output: PAPARKAN, CETAK.输入的关键词:MASUKKAN、BACA。输出的关键词:PAPARKAN、CETAK。

Contoh例子 1/5 · Langkah步骤 1/3

3.1.1

Struktur kawalan pilihan选择控制结构

Definisi untuk peperiksaan考试用的定义 Struktur kawalan pilihan ialah satu langkah yang memecahkan aliran algoritma kepada dua atau lebih cabang. Langkah yang dilaksanakan bergantung kepada syarat-syarat tertentu.选择控制结构是把算法的流程分成两条或更多分支的步骤。要执行哪个步骤,取决于某些条件。

Dalam bahasa mudah简单来说

Pilihan ialah soalan Ya atau Tidak. Jawapannya menentukan jalan yang diikut. Ya = BENAR, Tidak = PALSU.选择就是一个 Ya 或 Tidak 的问题。答案决定要走哪一条路。Ya = 对(BENAR),Tidak = 错(PALSU)。

Cerita mudah简单的故事

Di kedai bubble tea, juruwang bertanya: "Mahu tambah pearl?" Jika Ya, harga naik RM2. Jika Tidak, harga kekal. Juruwang itu sedang menjalankan struktur kawalan pilihan!在珍珠奶茶店,店员问:「要加珍珠吗?」如果要(Ya),价钱多 RM2。如果不要(Tidak),价钱不变。店员正在执行选择控制结构!

Jenis种类Maksud (nota cikgu)意思(老师的笔记)Pseudokod伪代码Contoh例子
Pilihan tunggal (IF)单一选择(IF)Hanya mempunyai 1 pilihan untuk melaksanakan satu set tindakan tertentu.只有 1 个选择,用来执行一组特定的动作。JIKA … TAMAT JIKAJika mahu pearl, tambah RM2.如果要珍珠,加 RM2。
Dwipilihan (IF-ELSE)双重选择(IF-ELSE)Memilih di antara 2 tindakan atau dua set tindakan untuk dilaksanakan, bergantung kepada sama ada satu syarat dipenuhi atau tidak.在 2 个动作或两组动作之间选一个来执行,看一个条件是否成立。JIKA … JIKA TIDAK … TAMAT JIKAMarkah ≥ 40: Lulus. Jika tidak: Gagal.分数 ≥ 40:及格。否则:不及格。
Pelbagai pilihan (IF-ELSE-IF)多重选择(IF-ELSE-IF)Mengandungi lebih daripada 2 set tindakan yang berlainan sebagai pilihan untuk dilaksanakan.有两组以上不同的动作可以选择执行。JIKA … JIKA … JIKA TIDAK … TAMAT JIKASaiz L: RM10. Saiz M: RM8. Lain-lain: RM6.大杯:RM10。中杯:RM8。其他:RM6。

Cara buku teks menulis pelbagai pilihan课本写多重选择的方法

Buku teks menulis JIKA … JIKA … JIKA TIDAK, dengan SATU TAMAT JIKA di hujung. Ini satu rantai. Syarat kedua disemak hanya jika syarat pertama Tidak. Sebaik sahaja satu syarat Ya, syarat yang lain dilangkau. Dalam bahasa pengaturcaraan, ini sama dengan LAIN JIKA (ELSE IF). Bandingkan dengan JIKA yang setiap satunya ditutup dengan TAMAT JIKA sendiri: setiap syarat itu disemak, satu demi satu.课本把多重选择写成 JIKA … JIKA … JIKA TIDAK,最后只有一个 TAMAT JIKA。这是一条「链」。只有第一个条件是「否」,才会检查第二个条件。只要有一个条件是「是」,其他的条件就跳过。在程序语言里,这就是 ELSE IF(否则如果)。比较一下:如果每个 JIKA 都有自己的 TAMAT JIKA,那么每一个条件都会检查,一个接一个。

Pengendali hubungan关系运算符Maksud意思Contoh例子
= ==Sama dengan (nota cikgu menulis ==)等于(老师的笔记写 ==)5 == 8 → Tidak5 == 8 → 否
>Lebih besar daripada大于5 > 8 → Tidak5 > 8 → 否
≥Lebih besar atau sama dengan大于或等于8 ≥ 8 → Ya8 ≥ 8 → 是
<Lebih kecil daripada小于5 < 8 → Ya5 < 8 → 是
≤Lebih kecil atau sama dengan小于或等于5 ≤ 8 → Ya5 ≤ 8 → 是
≠ != <>Tidak sama dengan. Nota cikgu menulis != atau <>. Python 3 hanya menerima !=.不等于。老师的笔记写 != 或 <>。Python 3 只接受 !=。5 ≠ 8 → Ya5 ≠ 8 → 是

Langkah demi langkah一步一步看

Lihat pilihan berjalan, langkah demi langkah一步一步看选择怎么运行

Tekan → untuk langkah seterusnya dan ← untuk undur.按 → 看下一步,按 ← 返回。

Apakah output algoritma ini jika pearl = "Ya"?如果 pearl = "Ya",这个算法的输出是什么?

Ya Tidak MULA Setkan harga kepada8 Masukkan pearl Pearl = "Ya"? Tambah 2 kepadaharga Paparkan harga TAMAT

Pseudokod伪代码

  1. MULA
  2. SETKAN harga kepada 8
  3. MASUKKAN pearl
  4. JIKA pearl = "Ya"
  5. TAMBAH 2 kepada harga
  6. TAMAT JIKA
  7. PAPARKAN harga
  8. TAMAT

Jadual semakan meja (sampel data: pearl = "Ya")桌面检查表(样本数据:pearl = "Ya")

Simbol符号 hargapearl Output
Setkan harga kepada 8 8
Masukkan pearl 8Ya
Pearl = "Ya"? → Ya 8Ya
Tambah 2 kepada harga 10Ya
Paparkan harga 10Ya RM10
  1. Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
  2. MULA: algoritma bermula.MULA:算法开始。
  3. Setkan harga kepada 8. Sekarang harga = 8.Setkan harga kepada 8。现在 harga = 8。
  4. Masukkan pearl: Ya.输入 pearl:Ya。
  5. Pearl = "Ya"? "Ya" = "Ya" → Ya. Ikut anak panah "Ya".Pearl = "Ya"? "Ya" = "Ya" → 是(Ya)。沿着「Ya」的箭头走。
  6. Tambah 2 kepada harga. Sekarang harga = 10.Tambah 2 kepada harga。现在 harga = 10。
  7. Paparkan di skrin: RM10在屏幕上显示:RM10
  8. TAMAT: algoritma berhenti. Output: RM10. Syarat Ya, jadi satu tindakan dilaksanakan: tambah RM2.TAMAT:算法结束。输出:RM10。条件是「是」,所以执行一个动作:加 RM2。

Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。

Contoh例子 1/7 · Langkah步骤 1/8

Tip peperiksaan考试技巧

Cara cam jenis pilihan: kira bilangan tindakan. 1 tindakan = pilihan tunggal. 2 tindakan = dwipilihan. Lebih daripada 2 = pelbagai pilihan. Soalan UASA A6 ("memilih dua tindakan … sama ada satu syarat dipenuhi atau tidak") ialah dwipilihan.分辨选择种类的方法:数一数有几个动作。1 个动作 = 单一选择。2 个动作 = 双重选择。2 个以上 = 多重选择。UASA A6 题(「在两个动作中选一个……看一个条件是否成立」)是双重选择。

Cuba试试看

Tunggal, dwipilihan atau pelbagai pilihan?单一、双重还是多重选择?

Pilih jenis struktur kawalan pilihan bagi setiap situasi.为每个情况选出选择控制结构的种类。

Jawapan betul答对: 0 / 6

  1. Jika hujan, bawa payung.如果下雨,就带伞。

  2. Jika markah ≥ 40, paparkan "Lulus". Jika tidak, paparkan "Gagal".如果分数 ≥ 40,显示「Lulus」。否则显示「Gagal」。

  3. Gred A, B, C, D, E atau F mengikut skor.按照分数给 A、B、C、D、E 或 F 等。

  4. Bidak catur Cina (兵/卒): jika sudah menyeberang sungai, ia boleh bergerak ke depan, kiri atau kanan. Jika belum, ia hanya boleh ke depan.象棋的兵/卒:过了河,就可以向前、向左或向右走。还没过河,就只能向前走。

  5. Dividen 4.0%, 3.0%, 2.5% atau 0% mengikut jumlah simpanan. (UASA)按照存款总额,股息是 4.0%、3.0%、2.5% 或 0%。(UASA)

  6. Jika bateri telefon kurang daripada 20%, paparkan amaran.如果手机电量少于 20%,就显示警告。

Cuba fikir想一想

Cuba fikir: pilihan想一想:选择

Tekan → untuk langkah seterusnya dan ← untuk undur.按 → 看下一步,按 ← 返回。

SETKAN harga kepada 8. JIKA pearl = "Ya", TAMBAH 2 kepada harga. TAMAT JIKA. PAPARKAN harga. Mei memilih "Tidak". Apakah output?把价钱设为 8。如果 pearl = "Ya",价钱加 2。结束如果。显示价钱。Mei 选了 "Tidak"。输出是什么?

  1. "Tidak" = "Ya"? → Tidak"Tidak" = "Ya"? → 否(Tidak)
  2. Harga kekal 8.价钱还是 8。

Jawapan答案: RM8

  1. Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
  2. Semak syarat.检查条件。
  3. Syarat Tidak, jadi langkah TAMBAH dilangkau.条件是否,所以跳过「加」的步骤。
  4. Pilihan tunggal: jika syarat Tidak, tiada tindakan dilakukan.单一选择:如果条件是否,就什么都不做。

Contoh例子 1/5 · Langkah步骤 1/4

3.1.2

Struktur kawalan ulangan重复控制结构

Definisi untuk peperiksaan考试用的定义 Bahagian algoritma yang mengandungi langkah-langkah yang berulang dikenali sebagai gelung (loop). Setiap gelung ulangan dipanggil lelaran (iteration). Tiga jenis struktur kawalan ulangan ialah UNTUK (FOR), SELAGI (WHILE) dan ULANG–SEHINGGA (REPEAT–UNTIL).算法里会重复的步骤叫做循环(gelung,loop)。每重复一次叫做一次迭代(lelaran,iteration)。重复控制结构有三种:UNTUK(FOR)、SELAGI(WHILE)和 ULANG–SEHINGGA(REPEAT–UNTIL)。

Dalam bahasa mudah简单来说

Ulangan bermaksud membuat perkara yang sama berkali-kali, tanpa menulis langkah itu berkali-kali.重复就是同一件事做很多次,但步骤不用写很多次。

Cerita mudah简单的故事

Semasa belajar tarian K-pop, jurulatih berkata: "Ulang bahagian korus 3 kali" (UNTUK: bilangannya tetap). "Teruskan menari selagi muzik dimainkan" (SELAGI: semak muzik dahulu). "Cuba gerakan ini sehingga awak boleh" (ULANG–SEHINGGA: cuba dahulu, semak kemudian).学 K-pop 舞蹈的时候,老师说:「副歌部分跳 3 次」(UNTUK:次数固定)。「只要音乐还在播,就继续跳」(SELAGI:先检查音乐)。「这个动作一直练,直到你会为止」(ULANG–SEHINGGA:先试,后检查)。

Jenis种类Maksud (nota cikgu)意思(老师的笔记)Bila syarat diuji?什么时候测试条件?Pseudokod伪代码
UNTUK (FOR)Melaksanakan satu langkah atau satu set langkah berdasarkan pembilangan (counter) yang telah ditetapkan.按照已经设定好的计数(counter)执行一个或一组步骤。Sebelum setiap ulangan. Bilangan ulangan sudah diketahui.每次重复之前。已经知道要重复几次。UNTUK pembilang = 1 HINGGA n … TAMBAH 1 kepada pembilang
SELAGI (WHILE)Melaksanakan satu langkah atau satu set langkah selagi syarat yang diuji adalah benar.只要测试的条件成立,就执行一个或一组步骤。Sebelum langkah dalam gelung. Mungkin berjalan 0 kali.在循环的步骤之前。可能执行 0 次。SELAGI syarat … TAMAT SELAGI
ULANG–SEHINGGA (REPEAT–UNTIL)Melaksanakan satu langkah atau satu set langkah secara berulang-ulang sehingga syarat yang diuji adalah benar.一直重复执行一个或一组步骤,直到测试的条件成立。Selepas langkah dalam gelung. Berjalan sekurang-kurangnya 1 kali.在循环的步骤之后。至少执行 1 次。ULANG … SEHINGGA syarat

Langkah demi langkah一步一步看

Templat carta alir ulangan (nota cikgu)重复结构的流程图模板(老师的笔记)

Tekan → untuk langkah seterusnya dan ← untuk undur.按 → 看下一步,按 ← 返回。

Bagaimanakah kita melukis carta alir bagi algoritma ini?这个算法的流程图要怎么画?

Ya Tidak MULA Setkan pembilangkepada 1 Pembilang ≤ n? Tindakan A Tambah nilaipembilang sebanyak1 TAMAT

Pseudokod伪代码

  1. MULA
  2. SETKAN pembilang kepada 1
  3. UNTUK pembilang = 1 HINGGA n
  4. LAKSANAKAN Tindakan A
  5. TAMBAH 1 kepada pembilang
  6. TAMAT
  1. Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
  2. "MULA": guna simbol terminal (bujur) untuk MULA atau TAMAT.「MULA」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。
  3. "Setkan pembilang kepada 1": ini proses, jadi guna segi empat tepat.「Setkan pembilang kepada 1」:这是处理(过程),所以用长方形。
  4. "Pembilang ≤ n?": ini pilihan (syarat), jadi guna bentuk berlian. Ia mesti ada dua anak panah keluar: Ya dan Tidak.「Pembilang ≤ n?」:这是选择(条件),所以用菱形。它一定有两个出去的箭头:Ya(是)和 Tidak(否)。
  5. Anak panah "Ya" → "Tindakan A": ini proses, jadi guna segi empat tepat.Anak panah "Ya" → 「Tindakan A」:这是处理(过程),所以用长方形。
  6. "Tambah nilai pembilang sebanyak 1": ini proses, jadi guna segi empat tepat.「Tambah nilai pembilang sebanyak 1」:这是处理(过程),所以用长方形。
  7. Anak panah "Tidak" → "TAMAT": guna simbol terminal (bujur) untuk MULA atau TAMAT. Berlian di ATAS gelung. Ya → buat Tindakan A dan tambah 1 kepada pembilang, kemudian kembali ke berlian. Tidak → keluar ke TAMAT.Anak panah "Tidak" → 「TAMAT」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。菱形在循环的上面。Ya → 做动作 A,计数器加 1,再回到菱形。Tidak → 出去到 TAMAT。

Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。

Contoh例子 1/3 · Langkah步骤 1/7

Cuba试试看

Templat yang mana?是哪一个模板?

Baca ciri carta alir ini. Ia templat UNTUK, SELAGI atau ULANG–SEHINGGA?读这个流程图的特点。它是 UNTUK、SELAGI 还是 ULANG–SEHINGGA 的模板?

Jawapan betul答对: 0 / 5

  1. Ada kotak "Setkan pembilang kepada 1" dan "Tambah nilai pembilang sebanyak 1".有「把计数器设为 1」和「计数器加 1」的方框。

  2. Berlian "Memenuhi syarat?" di atas. Ya → Tindakan, dan anak panah kembali ke atas berlian.「符合条件吗?」的菱形在上面。Ya → 动作,箭头再回到菱形上面。

  3. Kotak Tindakan di atas, berlian di bawah. Tidak → kembali ke Tindakan.动作的方框在上面,菱形在下面。Tidak → 回到动作。

  4. Jika syarat Tidak dari awal, Tindakan tidak dibuat langsung.如果一开始条件就是 Tidak,动作一次也不做。

  5. Tindakan dibuat sekurang-kurangnya sekali.动作至少做一次。

Langkah demi langkah一步一步看

Lihat gelung berjalan, pusingan demi pusingan一圈一圈看循环怎么运行

Tekan → untuk langkah seterusnya dan ← untuk undur.按 → 看下一步,按 ← 返回。

Berapa kali "Merdeka" dilaungkan, dan apakah nilai pembilang di akhir?「Merdeka」会喊几次?最后计数器的值是多少?

Ya Tidak MULA Berdiri tegak Setkan pembilangkepada 1 Pembilang ≤ 3? Laungkan "Merdeka" Tambah 1 kepadapembilang TAMAT

Pseudokod伪代码

  1. MULA
  2. BERDIRI tegak
  3. SETKAN pembilang kepada 1
  4. UNTUK pembilang = 1 HINGGA 3
  5. LAUNGKAN "Merdeka"
  6. TAMBAH 1 kepada pembilang
  7. TAMAT

Jadual langkah demi langkah (tiada sampel data input)逐步检查表(没有输入的样本数据)

Simbol符号 pembilang Output
Berdiri tegak
Setkan pembilang kepada 1 1
Pembilang ≤ 3? → Ya 1
Laungkan "Merdeka" 1 Merdeka!
Tambah 1 kepada pembilang 2
Pembilang ≤ 3? → Ya 2
Laungkan "Merdeka" 2 Merdeka!
Tambah 1 kepada pembilang 3
Pembilang ≤ 3? → Ya 3
Laungkan "Merdeka" 3 Merdeka!
Tambah 1 kepada pembilang 4
Pembilang ≤ 3? → Tidak 4
  1. Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
  2. MULA: algoritma bermula.MULA:算法开始。
  3. Berdiri tegak.Berdiri tegak。
  4. Setkan pembilang kepada 1. Sekarang pembilang = 1.Setkan pembilang kepada 1。现在 pembilang = 1。
  5. Pembilang ≤ 3? 1 ≤ 3 → Ya. Ikut anak panah "Ya".Pembilang ≤ 3? 1 ≤ 3 → 是(Ya)。沿着「Ya」的箭头走。
  6. Paparkan di skrin: Merdeka!在屏幕上显示:Merdeka!
  7. Tambah 1 kepada pembilang. Sekarang pembilang = 2.Tambah 1 kepada pembilang。现在 pembilang = 2。
  8. Pembilang ≤ 3? 2 ≤ 3 → Ya. Ikut anak panah "Ya".Pembilang ≤ 3? 2 ≤ 3 → 是(Ya)。沿着「Ya」的箭头走。
  9. Paparkan di skrin: Merdeka!在屏幕上显示:Merdeka!
  10. Tambah 1 kepada pembilang. Sekarang pembilang = 3.Tambah 1 kepada pembilang。现在 pembilang = 3。
  11. Pembilang ≤ 3? 3 ≤ 3 → Ya. Ikut anak panah "Ya".Pembilang ≤ 3? 3 ≤ 3 → 是(Ya)。沿着「Ya」的箭头走。
  12. Paparkan di skrin: Merdeka!在屏幕上显示:Merdeka!
  13. Tambah 1 kepada pembilang. Sekarang pembilang = 4.Tambah 1 kepada pembilang。现在 pembilang = 4。
  14. Pembilang ≤ 3? 4 ≤ 3 → Tidak. Ikut anak panah "Tidak".Pembilang ≤ 3? 4 ≤ 3 → 否(Tidak)。沿着「Tidak」的箭头走。
  15. TAMAT: algoritma berhenti. Output: Merdeka!, Merdeka!, Merdeka!. Pembilang = 4 menjadikan syarat Tidak, jadi gelung berhenti. Buku teks Rajah 3.18 dan 3.19.TAMAT:算法结束。输出:Merdeka!, Merdeka!, Merdeka!。计数器 = 4 让条件变成「否」,所以循环停止。课本图 3.18 和 3.19。

Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。

Contoh例子 1/6 · Langkah步骤 1/15

Anak panah mana yang kembali ke atas?哪一个箭头往回走?

UNTUK dan SELAGI: berlian di ATAS gelung. Ya → masuk gelung, Tidak → keluar. ULANG–SEHINGGA: berlian di BAWAH gelung. Tidak → ulang semula, Ya → keluar.UNTUK 和 SELAGI:菱形在循环的上面。Ya → 进入循环,Tidak → 离开。ULANG–SEHINGGA:菱形在循环的下面。Tidak → 再重复,Ya → 离开。

Cuba试试看

A, B atau C? (soalan UASA B7)A、B 还是 C?(UASA B7 题)

Padankan setiap pernyataan dengan struktur kawalan ulangan.把每个句子配对到重复控制结构。

Jawapan betul答对: 0 / 7

  1. Melaksanakan satu langkah atau satu set langkah selagi satu syarat yang diuji adalah benar. (UASA)只要测试的条件成立,就执行一个或一组步骤。(UASA)

  2. Melaksanakan satu langkah atau satu set langkah berdasarkan pembilang yang telah ditetapkan. (UASA)按照已经设定好的计数器,执行一个或一组步骤。(UASA)

  3. Melaksanakan satu langkah atau satu set langkah secara berulang-ulang sehingga syarat yang diuji adalah benar. (UASA)一直重复执行一个或一组步骤,直到测试的条件成立。(UASA)

  4. Syarat akan diuji sebelum langkah-langkah dalam gelung dilaksanakan. (UASA)在执行循环里的步骤之前先测试条件。(UASA)

  5. SEGAK: bangkit tubi, lakukan 10 kali.SEGAK 体能测试:仰卧起坐,做 10 次。

  6. SEGAK: naik turun bangku, seberapa banyak kali yang boleh, selagi masih larat.SEGAK:踏台阶,能做几次就做几次,只要还有力气。

  7. SEGAK: tekan tubi, seberapa banyak kali yang boleh, tetapi sekurang-kurangnya sekali.SEGAK:俯卧撑,能做几次就做几次,但至少做一次。

Cuba试试看

Susun pseudokod gelung排好循环的伪代码

Seret setiap baris ke tempat yang betul, kemudian tekan Semak.把每一行拖到正确的位置,然后按「检查」。

  1. SETKAN pembilang kepada 1
  2. UNTUK pembilang = 1 HINGGA 3
  3. LAUNGKAN "Kita Boleh"
  4. TAMBAH 1 kepada pembilang

Tip peperiksaan考试技巧

Kata kunci dalam soalan: "pembilang" atau bilangan tetap → UNTUK. "Selagi" atau "diuji sebelum" → SELAGI. "Sehingga", "diuji selepas" atau "sekurang-kurangnya sekali" → ULANG–SEHINGGA.题目里的关键词:「计数器」或固定的次数 → UNTUK。「只要」或「之前测试」→ SELAGI。「直到」、「之后测试」或「至少一次」→ ULANG–SEHINGGA。

Cuba fikir想一想

Cuba fikir: ulangan想一想:重复

Tekan → untuk langkah seterusnya dan ← untuk undur.按 → 看下一步,按 ← 返回。

UNTUK pembilang = 1 HINGGA 5, PAPARKAN "Hai". Berapa kali "Hai" dipaparkan?对于 pembilang = 1 到 5,显示「Hai」。「Hai」会显示几次?

  1. pembilang = 1, 2, 3, 4, 5 → setiap satu memaparkan "Hai"pembilang = 1、2、3、4、5 → 每一次都显示「Hai」
  2. Gelung berhenti.循环停止。

Jawapan答案: 5 kali5 次

  1. Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
  2. Senaraikan nilai pembilang.列出计数器的值。
  3. Apabila pembilang = 6, syarat pembilang ≤ 5 menjadi Tidak.当 pembilang = 6,条件 pembilang ≤ 5 变成「否」。
  4. UNTUK digunakan apabila bilangan ulangan sudah diketahui.当重复的次数已经知道,就用 UNTUK。

Contoh例子 1/5 · Langkah步骤 1/4

Data数据

Pemboleh ubah, jenis data dan operator变量、数据类型和运算符

Definisi untuk peperiksaan考试用的定义 Pemboleh ubah ialah storan ingatan dalam komputer yang digunakan oleh atur cara untuk mewakili data yang perlu digunakan berulang kali. Pemboleh ubah yang diisytiharkan diberi label yang disebut pengecam.变量是电脑里给程序用的存储空间,用来表示需要重复使用的数据。宣告的变量会有一个标签,叫做标识符(pengecam)。

Dalam bahasa mudah简单来说

Pemboleh ubah ialah kotak berlabel yang menyimpan satu nilai. Nilainya boleh berubah. Pemalar pula ialah nilai yang tidak berubah, seperti Pi = 3.142.变量就是一个贴了标签的盒子,里面放一个值,这个值可以改变。常量(pemalar)是不会改变的值,比如 Pi = 3.142。

Pengecam: 2 jenis (nota cikgu)标识符:2 种(老师的笔记)Maksud意思Contoh例子
Pemboleh ubah变量Nilainya boleh berubah semasa atur cara berjalan.它的值在程序运行时可以改变。Nama = "AMANDA LAI"
Pemalar常量Nilainya tetap, tidak berubah.它的值固定,不会改变。Pi = 3.142

Cerita mudah简单的故事

Bayangkan loker di sekolah. Setiap loker ada nama, dan kita boleh menyimpan barang di dalamnya. Hari ini loker "markah" menyimpan 65; esok kita boleh tukar kepada 80. Loker itu pemboleh ubah, dan namanya ialah pengecam.想象学校的储物柜。每个柜子都有名字,可以放东西进去。今天「markah」柜子放的是 65,明天可以换成 80。柜子就是变量,柜子的名字就是标识符。

Contoh例子Jenis data数据类型Apa yang disimpan存放什么
bilPelajar = 30integerNombor bulat整数
gaji = 1500.60floatNombor perpuluhan小数
sudahBayar = FalsebooleanTrue atau False sahaja只有 True 或 False
gred = 'A'stringDalam Python, satu aksara juga string. (Sesetengah bahasa lain ada jenis khas untuk satu aksara, iaitu char.)在 Python 里,一个字符也是 string。(有些别的程序语言有专门放一个字符的类型,叫 char。)
nama = "Siti Aisyah"stringGabungan aksara (teks)一串字符(文字)
Peraturan menamakan pemboleh ubah (nota cikgu)变量命名的规则(老师的笔记)Betul对Salah错
Mesti bermula dengan huruf. (Python juga membenarkan _ di awal, tetapi dalam peperiksaan, ikut peraturan cikgu.)一定要用字母开头。(Python 也可以用 _ 开头,但考试时要照老师的规则。)pelajar, Pelajar_11Pelajar
Boleh ada digit 0 hingga 9 selepas huruf.字母后面可以有 0 到 9 的数字。nombor1, user21nombor
Tiada ruang kosong (space).不可以有空格。NamaPelajarNama pelajar
Huruf besar dan huruf kecil berbeza (case sensitive).大写和小写是不同的(区分大小写)。Pelajar, pelajar dan peLajar ialah tiga nama berbeza.Pelajar、pelajar 和 peLajar 是三个不同的名字。—
Tiada aksara istimewa, kecuali underscore (_).除了下划线(_),不可以有特殊符号。No_bilik, Bilik_3!Bilik, Bilik$, Bilik-2
Bukan kata kunci atur cara.不可以是程序的关键词。—if, else, for, while, True

Semak nota anda检查你的笔记

Dalam nota cikgu, contoh untuk "tiada ruang kosong" mungkin tertukar. Ingat: "Nama pelajar" (ada ruang) SALAH. "NamaPelajar" atau "nama_pelajar" BETUL.老师笔记里「不可以有空格」的例子可能写反了。记住:「Nama pelajar」(有空格)是错的。「NamaPelajar」或「nama_pelajar」才是对的。

Cuba试试看

Nama ini sah atau tidak?这个名字合法吗?

Bolehkah nama ini digunakan sebagai nama pemboleh ubah?这个名字可以用来当变量名称吗?

Jawapan betul答对: 0 / 8

  1. markah1

  2. 1markah

  3. jumlah_harga

  4. jumlah harga

  5. harga$

  6. while

  7. NamaIdola

  8. kata-laluan

Cuba试试看

Apakah jenis datanya?是什么数据类型?

Pilih jenis data bagi setiap nilai.为每个值选出数据类型。

Jawapan betul答对: 0 / 6

  1. bilPelajar = 30

  2. gaji = 1500.60

  3. kumpulan = "BLACKPINK"

  4. sudahBayar = False

  5. gred = 'A'

  6. Pi = 3.142

Operator aritmetik算术运算符Simbol (cara Python)符号(Python 的写法)Contoh例子
Tambah加+88 + 22 = 110
Tolak减-42 - 25 = 17
Darab乘*23 * 8 = 184
Bahagi除/11 / 2 = 5.5
Modulus (baki)取余(余数)%11 % 2 = 1
Eksponen (kuasa)次方**10 ** 3 = 1000
Floor division (hasil bahagi tanpa baki)整除(没有余数的商)//11 // 2 = 5
Operator logik逻辑运算符Maksud意思Contoh例子
AND (&&)Semua syarat mesti TRUE.所有条件都要 TRUE。(5 < 2) AND (5 > 3) → False
OR (||)Satu syarat TRUE sudah cukup.只要一个条件 TRUE 就够了。(5 < 2) OR (5 > 3) → True
NOT (!)Menterbalikkan jawapan.把答案反过来。NOT (5 < 2) → True

Simbol siapa? Nota cikgu dan Python谁的符号?老师的笔记和 Python

Jadual ini mengikut nota cikgu, dan nota cikgu mencampurkan simbol daripada beberapa bahasa pengaturcaraan. //, ** , True dan False ialah cara Python. &&, || dan ! datang daripada bahasa lain, seperti JavaScript. Dalam Python 3, tulis and, or, not, dan tulis != (bukan <>). Untuk peperiksaan, hafal jadual cikgu.这些表是照老师的笔记写的,老师的笔记把几种程序语言的符号混在一起。//、**、True 和 False 是 Python 的写法。&&、|| 和 ! 是别的程序语言(比如 JavaScript)的写法。在 Python 3 里,要写 and、or、not,还有 !=(不是 <>)。考试时,背老师的表。

Cuba试试看

TRUE atau FALSE? (jadual cikgu)TRUE 还是 FALSE?(老师的表)

Operator perbandingan membandingkan nilai 2 data. Jawapannya TRUE atau FALSE.比较运算符用来比较两个数据,答案是 TRUE 或 FALSE。

Jawapan betul答对: 0 / 7

  1. 5 == 8

  2. 5 != 8

  3. 5 <> 8

  4. 5 > 8

  5. 5 < 8

  6. 5 >= 8

  7. 5 <= 8

Cuba试试看

TRUE atau FALSE? &&, || dan !TRUE 还是 FALSE?&&、|| 和 !

Semak setiap syarat di dalam kurungan dahulu. Kemudian gabungkan: && perlukan semua TRUE, || perlukan satu TRUE, dan ! menterbalikkan jawapan.先检查每个括号里的条件。然后合起来:&& 要全部 TRUE,|| 要一个 TRUE,! 把答案反过来。

Jawapan betul答对: 0 / 10

  1. (5 < 2) && (5 > 3)

  2. (5 < 2) || (5 > 3)

  3. !(5 < 2)

  4. (5 > 2) && (5 > 3)

  5. (4 > 6) || (2 > 7)

  6. !(5 > 3)

  7. (8 == 8) && (3 > 9)

  8. (10 % 2 == 0) && (7 > 3)

  9. (markah >= 40) && (markah < 80), jika markah = 85(markah >= 40) && (markah < 80),如果 markah = 85

  10. !(markah >= 40), jika markah = 30!(markah >= 40),如果 markah = 30

Tip peperiksaan考试技巧

Ingat: % memberi BAKI, // memberi hasil bahagi TANPA baki. Bagi 11 ÷ 2 = 5 baki 1: 11 // 2 = 5 dan 11 % 2 = 1.记住:% 给出余数,// 给出没有余数的商。11 ÷ 2 = 5 余 1:11 // 2 = 5,11 % 2 = 1。

Cuba fikir想一想

Cuba fikir: pemboleh ubah dan operator想一想:变量和运算符

Tekan → untuk langkah seterusnya dan ← untuk undur.按 → 看下一步,按 ← 返回。

Berapakah 11 % 2 dan 11 // 2?11 % 2 和 11 // 2 是多少?

  1. 11 ÷ 2 = 5, baki 111 ÷ 2 = 5,余 1
  2. 11 // 2 = 5 · 11 % 2 = 1

Jawapan答案: 11 % 2 = 1, 11 // 2 = 5

  1. Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
  2. Bahagi 11 dengan 2 seperti biasa.像平常一样,用 11 除以 2。
  3. // memberi hasil bahagi tanpa baki. % memberi bakinya.// 给出没有余数的商。% 给出余数。
  4. Modulus (%) = baki. Floor division (//) = hasil bahagi tanpa baki.取余(%)= 余数。整除(//)= 没有余数的商。

Contoh例子 1/5 · Langkah步骤 1/4

3.1.3

Mengesan ralat dalam pseudokod dan carta alir找出伪代码和流程图里的错误

Definisi untuk peperiksaan考试用的定义 Ralat ialah kesilapan atau kesalahan yang menyebabkan sesuatu algoritma atau atur cara tidak berfungsi seperti yang diharapkan atau mengeluarkan output yang salah.错误(ralat)是让算法或程序不能像预期那样运作,或输出错误结果的失误。

Dalam bahasa mudah简单来说

Ralat juga dipanggil pepijat (bug). Ada tiga jenis: sintaks (salah tulis kod), masa larian (terhenti semasa berjalan) dan logik (berjalan, tetapi jawapan salah).错误也叫做 bug(虫子)。有三种:语法错误(代码写错)、运行时错误(运行时停下来)和逻辑错误(能运行,但答案错)。

Cerita mudah简单的故事

Bayangkan resipi kek. Ralat sintaks: resipi tertulis "gual" (salah ejaan), jadi awak tidak faham. Ralat masa larian: semasa membakar, ketuhar rosak dan berhenti tiba-tiba. Ralat logik: resipi menulis "garam" bukan "gula". Awak ikut semua langkah, kek siap, tetapi rasanya masin!想象一个蛋糕食谱。语法错误:食谱写错字,你看不懂。运行时错误:烤到一半,烤箱坏了,突然停下来。逻辑错误:食谱把「糖」写成「盐」。你照着每一步做,蛋糕也做好了,可是吃起来是咸的!

Jenis ralat错误种类Ciri-ciri (nota cikgu)特点(老师的笔记)Mesej ralat?有错误信息吗?
Ralat sintaks语法错误Penggunaan sintaks bahasa pengaturcaraan yang tidak betul dalam penulisan atur cara.写程序时用了不正确的程序语言语法。Ada (invalid syntax)有(invalid syntax)
Ralat masa larian运行时错误Data yang dimasukkan tidak menepati kehendak arahan. Atur cara terhenti tiba-tiba. Boleh disebabkan memori yang tidak mencukupi atau virus dan perisian hasad.输入的数据不符合指令的要求,程序突然停止。也可能是内存不够、病毒或恶意软件造成的。Ada有
Ralat logik逻辑错误Kesilapan logik pengatur cara semasa membina algoritma, sehingga output salah. Disebabkan kecuaian manusia.程序员设计算法时的逻辑错误,造成输出错误。是人的疏忽造成的。Tiada没有

Cuba试试看

Ralat yang mana? (soalan UASA B9)哪一种错误?(UASA B9 题)

Pilih jenis ralat bagi setiap ciri.为每个特点选出错误的种类。

Jawapan betul答对: 0 / 6

  1. Program dapat mengenal kod arahan tetapi menghasilkan output yang bukan diingini. (UASA)程序认得指令代码,但是输出不是想要的。(UASA)

  2. Ralat berlaku apabila sintaks yang salah atau format pengekodan yang salah digunakan. (UASA)用了错误的语法或错误的编码格式时发生的错误。(UASA)

  3. Ralat boleh disebabkan oleh perisian hasad seperti virus atau cecacing, atau ingatan yang tidak mencukupi. (UASA)错误可能是恶意软件(比如病毒或蠕虫)或内存不足造成的。(UASA)

  4. Tiada paparan mesej ralat.没有显示错误信息。

  5. Atur cara terhenti secara tiba-tiba semasa dijalankan.程序在运行时突然停止。

  6. Ada paparan mesej "invalid syntax".显示「invalid syntax」的信息。

Semakan kualiti质量检查Cara方法Sampel data input?用输入的样本数据吗?
Teknik semakan meja (desk check)桌面检查(desk check)Satu set sampel data input diproses secara manual, mengikut aliran langkah-langkah algoritma. Output dibandingkan dengan output yang dijangka.用一组输入的样本数据,按照算法的流程用手一步步处理,再把输出和预期的输出比较。Ya, guna用
Teknik langkah demi langkah (step through)逐步检查(step through)Logik aliran algoritma diperiksa secara manual, langkah demi langkah.用手一步一步检查算法流程的逻辑。Tidak guna不用

Langkah demi langkah一步一步看

Cari ralat dengan semakan meja dan langkah demi langkah用桌面检查和逐步检查找错误

Tekan → untuk langkah seterusnya dan ← untuk undur.按 → 看下一步,按 ← 返回。

Tugas: paparkan nombor yang lebih besar. Jika kedua-dua nombor sama, paparkan "Sama nilai". Adakah algoritma ini betul jika m = 7, n = 32?任务:显示比较大的数字。如果两个数字一样,就显示「Sama nilai」(一样大)。如果 m = 7, n = 32,这个算法对吗?

Ya Tidak MULA Masukkan m Masukkan n m > n? Terbesar = m Terbesar = n Paparkan terbesar TAMAT

Pseudokod伪代码

  1. MULA
  2. MASUKKAN m
  3. MASUKKAN n
  4. JIKA m > n
  5. SETKAN terbesar kepada m
  6. JIKA TIDAK
  7. SETKAN terbesar kepada n
  8. TAMAT JIKA
  9. PAPARKAN terbesar
  10. TAMAT

Jadual semakan meja (sampel data: m = 7, n = 32)桌面检查表(样本数据:m = 7, n = 32)

Simbol符号 mnterbesar Output
Masukkan m 7
Masukkan n 732
m > n? → Tidak 732
Terbesar = n 73232
Paparkan terbesar 73232 32
  1. Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
  2. MULA: algoritma bermula.MULA:算法开始。
  3. Masukkan m: 7.输入 m:7。
  4. Masukkan n: 32.输入 n:32。
  5. m > n? 7 > 32 → Tidak. Ikut anak panah "Tidak".m > n? 7 > 32 → 否(Tidak)。沿着「Tidak」的箭头走。
  6. Terbesar = n. Sekarang terbesar = 32.Terbesar = n。现在 terbesar = 32。
  7. Paparkan di skrin: 32在屏幕上显示:32
  8. TAMAT: algoritma berhenti. Output: 32. Output dijangka: 32. Output sebenar: 32. Betul! (Buku teks Rajah 3.29.)TAMAT:算法结束。输出:32。预期输出:32。实际输出:32。对了!(课本图 3.29。)

Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。

Contoh例子 1/5 · Langkah步骤 1/8

Kajian kes个案研究

Latihan cikgu (PBD TP4): cari dan baiki ralat老师的练习(PBD TP4):找出并改正错误

Tekan → untuk langkah seterusnya dan ← untuk undur.按 → 看下一步,按 ← 返回。

Latihan cikgu (PBD TP4): seorang murid mahu memaparkan jumlah semua nombor antara 5 hingga 20. Pseudokodnya: 1. Mula2. SETKAN jumlah = 53. SETKAN nombor = 54. SELAGI nombor < 205. TAMBAH nombor kepada jumlah6. Ulangkan langkah 47. Paparkan jumlah8. Tamat. Adakah ia ada ralat? Jika ada, baiki.老师的练习(PBD TP4):一个学生要显示 5 到 20 所有数字的总和。他的伪代码: 1. 开始2. 设定 jumlah = 53. 设定 nombor = 54. 只要 nombor < 205. 把 nombor 加到 jumlah6. 回到第 4 步7. 显示 jumlah8. 结束。 有没有错误?有的话,改正它。

  1. Ralat 1错误 1 jumlah = 5 sudah mengira nombor 5. Jika nombor juga mula dari 5, nombor 5 ditambah dua kali. Mula nombor dari 6.jumlah = 5 已经算了 5。如果 nombor 也从 5 开始,5 就被加了两次。nombor 要从 6 开始。
  2. Ralat 2错误 2 nombor < 20 berhenti sebelum 20, jadi 20 tidak ditambah. Tulis nombor < 21 (atau nombor ≤ 20).nombor < 20 在 20 之前就停了,所以 20 没有加进去。要写 nombor < 21(或 nombor ≤ 20)。
  3. Ralat 3错误 3 Tiada langkah yang menambah 1 kepada nombor. Nombor kekal 5, jadi gelung tidak pernah berhenti!没有把 nombor 加 1 的步骤。nombor 一直是 5,所以循环永远不会停!
  4. Pseudokod baharu新的伪代码
    1. MULA
    2. Isytiharkan pemboleh ubah jumlah dan nombor
    3. SETKAN jumlah = 5
    4. SETKAN nombor = 6
    5. SELAGI nombor < 21
    6. Kirakan jumlah = jumlah + nombor
    7. Kirakan nombor = nombor + 1
    8. Ulangkan langkah 5
    9. PAPARKAN jumlah
    10. TAMAT
  5. jumlahnomborSyarat条件jumlah = jumlah + nombornombor = nombor + 1
    566 < 21 → Ya5 + 6 = 116 + 1 = 7
    1177 < 21 → Ya11 + 7 = 187 + 1 = 8
    1888 < 21 → Ya18 + 8 = 268 + 1 = 9
    2699 < 21 → Ya26 + 9 = 359 + 1 = 10
    351010 < 21 → Ya35 + 10 = 4510 + 1 = 11
    451111 < 21 → Ya45 + 11 = 5611 + 1 = 12
    561212 < 21 → Ya56 + 12 = 6812 + 1 = 13
    681313 < 21 → Ya68 + 13 = 8113 + 1 = 14
    811414 < 21 → Ya81 + 14 = 9514 + 1 = 15
    951515 < 21 → Ya95 + 15 = 11015 + 1 = 16
    1101616 < 21 → Ya110 + 16 = 12616 + 1 = 17
    1261717 < 21 → Ya126 + 17 = 14317 + 1 = 18
    1431818 < 21 → Ya143 + 18 = 16118 + 1 = 19
    1611919 < 21 → Ya161 + 19 = 18019 + 1 = 20
    1802020 < 21 → Ya180 + 20 = 20020 + 1 = 21
    2002121 < 21 → Tidak——

Jawapan答案: jumlah = 200

  1. Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
  2. Semak nilai awal.检查起始值。
  3. Semak syarat.检查条件。
  4. Semak gelung: adakah nombor pernah berubah?检查循环:nombor 有没有改变过?
  5. Tulis pseudokod baharu, seperti jawapan cikgu.写出新的伪代码,像老师的答案一样。
  6. Buat semakan meja untuk membuktikan pseudokod baharu betul.做桌面检查,证明新的伪代码是对的。
  7. Semak: 5 + 6 + … + 20 = 200. Dalam nota, "Ulangkan langkah" mesti merujuk kepada nombor langkah SELAGI.检查:5 + 6 + …… + 20 = 200。在笔记里,「回到第几步」一定要指向 SELAGI 那一步的号码。

Contoh例子 1/2 · Langkah步骤 1/7

Cuba试试看

Susun langkah mencari ralat (soalan UASA A9)排好找错误的步骤(UASA A9 题)

Seret langkah ke tempat yang betul, kemudian tekan Semak.把步骤拖到正确的位置,然后按「检查」。

  1. Bandingkan hasil atur cara dengan algoritma.把程序的结果和算法比较。
  2. Kesan ralat dalam atur cara dengan teknik semakan meja.用桌面检查找出程序里的错误。
  3. Baiki ralat pada kod arahan yang ditemui.改正找到的指令代码错误。
  4. Uji lari atur cara semula.再运行程序测试。

Tip peperiksaan考试技巧

Ada mesej ralat? Ralat sintaks atau masa larian. Tiada mesej ralat tetapi output salah? Ralat logik. Semakan meja menggunakan sampel data; langkah demi langkah tidak.有错误信息?是语法错误或运行时错误。没有错误信息但输出错了?是逻辑错误。桌面检查用样本数据;逐步检查不用。

Cuba fikir想一想

Cuba fikir: cari ralat想一想:找错误

Tekan → untuk langkah seterusnya dan ← untuk undur.按 → 看下一步,按 ← 返回。

Buku teks (Aktiviti 3.5): SETKAN bilangan kepada 1. ULANG: INPUT nombor, TAMBAH nombor kepada jumlah, TAMBAH 1 kepada bilangan, SEHINGGA bilangan > 10. KIRA purata = jumlah ÷ bilangan. Di manakah ralatnya?课本(活动 3.5):把 bilangan 设为 1。重复:输入数字,把数字加到 jumlah,bilangan 加 1,直到 bilangan > 10。计算平均数 = jumlah ÷ bilangan。错误在哪里?

  1. Nombor ke-1 → bilangan = 2 … nombor ke-10 → bilangan = 11第 1 个数字 → bilangan = 2 …… 第 10 个数字 → bilangan = 11
  2. purata = jumlah ÷ 11 ✗
  3. Tiada SETKAN jumlah. Komputer tidak tahu jumlah bermula dari berapa. Jumlah mesti bermula dari 0.没有设定 jumlah。电脑不知道 jumlah 从几开始。jumlah 一定要从 0 开始。
  4. Pseudokod baharu新的伪代码
    SETKAN jumlah kepada 0
    SETKAN bilangan kepada 0
    ULANG
    INPUT nombor
    TAMBAH nombor kepada jumlah
    TAMBAH 1 kepada bilangan
    SEHINGGA bilangan = 10
    KIRA purata = jumlah ÷ bilangan

Jawapan答案: Ralat logik. Tambah SETKAN jumlah kepada 0. Mula dengan bilangan = 0 dan berhenti SEHINGGA bilangan = 10.逻辑错误。加上「把 jumlah 设为 0」。bilangan 要从 0 开始,并在 bilangan = 10 时停止。

  1. Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
  2. Ikut nilai bilangan selepas setiap nombor dimasukkan.跟着每输入一个数字后的 bilangan 值。
  3. Jadi jumlah dibahagi dengan 11, bukan 10!所以 jumlah 被 11 除,不是 10!
  4. Semak juga nilai awal jumlah.也要检查 jumlah 的起始值。
  5. Tulis pseudokod yang dibaiki.写出改好的伪代码。
  6. Ralat logik tiada mesej ralat, jadi kita mesti menyemak sendiri. Semakan meja ialah satu cara. Langkah demi langkah, atau menguji dengan output yang dijangka, juga boleh menjumpainya.逻辑错误没有错误信息,所以要自己检查。桌面检查是其中一个方法。逐步检查,或者用预期的输出来测试,也找得到。

Contoh例子 1/5 · Langkah步骤 1/6

3.1.4

Gabungan struktur kawalan pilihan dan ulangan选择和重复控制结构的组合

Definisi untuk peperiksaan考试用的定义 Semua algoritma mempunyai langkah-langkah dengan aliran yang berurutan. Kebanyakan algoritma mengandungi struktur kawalan pilihan dan struktur kawalan ulangan, kecuali algoritma yang paling mudah.所有算法的步骤都有顺序的流程。除了最简单的算法,大部分算法都有选择控制结构和重复控制结构。

Dalam bahasa mudah简单来说

Kita boleh meletakkan pilihan (JIKA) di dalam gelung. Setiap kali gelung berulang, soalan JIKA ditanya sekali lagi.我们可以把选择(JIKA)放在循环里面。循环每重复一次,就会再问一次「如果」。

Cerita mudah简单的故事

Dalam mahjong 3 pemain, setiap giliran (ulangan) awak mengambil satu jubin. Jika jubin itu melengkapkan set awak, awak menang. Jika tidak, buang satu jubin. Ini berulang sehingga seseorang menang. Itulah pilihan di dalam ulangan!三人麻将里,每一轮(重复)你都摸一张牌。如果这张牌让你凑齐了,你就赢。如果没有,就打出一张牌。一直重复到有人赢为止。这就是重复里面的选择!

Langkah menghasilkan pseudokod dan carta alir (nota cikgu)写伪代码和画流程图的步骤(老师的笔记)

1. Mengenal pasti masalah.2. Menentukan data input.3. Menentukan proses.4. Menentukan output.5. Mereka bentuk algoritma.6. Menulis pseudokod dan melukis carta alir. 1. 找出问题。2. 决定输入的数据。3. 决定处理步骤。4. 决定输出。5. 设计算法。6. 写伪代码和画流程图。

Langkah demi langkah一步一步看

Pilihan di dalam gelung, langkah demi langkah一步一步看循环里面的选择

Tekan → untuk langkah seterusnya dan ← untuk undur.按 → 看下一步,按 ← 返回。

Bagaimanakah kita melukis carta alir bagi algoritma ini?这个算法的流程图要怎么画?

Ya Tidak Ya Tidak MULA Setkan lulus kepada0 Setkan pembilangkepada 1 Pembilang ≤ 3? Masukkan markah Markah ≥ 40? Tambah 1 kepadalulus Tambah 1 kepadapembilang Paparkan lulus TAMAT

Pseudokod伪代码

  1. MULA
  2. SETKAN lulus kepada 0
  3. SETKAN pembilang kepada 1
  4. UNTUK pembilang = 1 HINGGA 3
  5. MASUKKAN markah
  6. JIKA markah ≥ 40
  7. TAMBAH 1 kepada lulus
  8. TAMAT JIKA
  9. TAMBAH 1 kepada pembilang
  10. PAPARKAN lulus
  11. TAMAT
  1. Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
  2. "MULA": guna simbol terminal (bujur) untuk MULA atau TAMAT.「MULA」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。
  3. "Setkan lulus kepada 0": ini proses, jadi guna segi empat tepat.「Setkan lulus kepada 0」:这是处理(过程),所以用长方形。
  4. "Setkan pembilang kepada 1": ini proses, jadi guna segi empat tepat.「Setkan pembilang kepada 1」:这是处理(过程),所以用长方形。
  5. "Pembilang ≤ 3?": ini pilihan (syarat), jadi guna bentuk berlian. Ia mesti ada dua anak panah keluar: Ya dan Tidak.「Pembilang ≤ 3?」:这是选择(条件),所以用菱形。它一定有两个出去的箭头:Ya(是)和 Tidak(否)。
  6. Anak panah "Ya" → "Masukkan markah": ini input atau output, jadi guna segi empat selari.Anak panah "Ya" → 「Masukkan markah」:这是输入或输出,所以用平行四边形。
  7. "Markah ≥ 40?": ini pilihan (syarat), jadi guna bentuk berlian. Ia mesti ada dua anak panah keluar: Ya dan Tidak.「Markah ≥ 40?」:这是选择(条件),所以用菱形。它一定有两个出去的箭头:Ya(是)和 Tidak(否)。
  8. Anak panah "Ya" → "Tambah 1 kepada lulus": ini proses, jadi guna segi empat tepat.Anak panah "Ya" → 「Tambah 1 kepada lulus」:这是处理(过程),所以用长方形。
  9. Anak panah "Tidak" → "Tambah 1 kepada pembilang": ini proses, jadi guna segi empat tepat.Anak panah "Tidak" → 「Tambah 1 kepada pembilang」:这是处理(过程),所以用长方形。
  10. Anak panah "Tidak" → "Paparkan lulus": ini input atau output, jadi guna segi empat selari.Anak panah "Tidak" → 「Paparkan lulus」:这是输入或输出,所以用平行四边形。
  11. "TAMAT": guna simbol terminal (bujur) untuk MULA atau TAMAT. Berlian JIKA berada di dalam gelung UNTUK.「TAMAT」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。「如果」的菱形在 UNTUK 循环里面。

Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。

Contoh例子 1/2 · Langkah步骤 1/11

Kajian kes个案研究

Latihan cikgu (TP5): teka kod rahsia老师的练习(TP5):猜密码

Tekan → untuk langkah seterusnya dan ← untuk undur.按 → 看下一步,按 ← 返回。

Latihan cikgu (TP5): berdasarkan contoh output ini, tulis pseudokod dan lukis carta alir. Langkah pertama: apakah yang diberitahu oleh output ini?老师的练习(TP5):根据这个样本输出,写出伪代码并画流程图。第一步:这个输出告诉了我们什么?

Diberi dalam soalan题目给的资料

Output
Sila Teka Kod Rahsia: ASK dari 1 hingga 50
Kod Rahsia: 51
51 lebih besar daripada kod rahsia.
Kod Rahsia: 3
3 kurang daripada kod rahsia.
Kod Rahsia: 11
Tahniah! Anda berjaya pecahkan kod rahsia!
  1. Input Pengguna menaip tekaan: 51, kemudian 3, kemudian 11.用户打了猜的数字:先 51,再 3,再 11。
  2. Proses dan output处理和输出 SETKAN kod_rahsia kepada 11 · PAPARKAN "Sila teka …"SETKAN kod_rahsia kepada 11 · PAPARKAN "Sila teka …"
  3. Pilihan选择 Lebih daripada dua tindakan → pelbagai pilihan (> , < , jika tidak).两个以上的动作 → 多重选择(>、<、否则)。
  4. Ulangan重复 Ulang MASUKKAN tekaan … SEHINGGA tekaan = kod_rahsia重复「输入 tekaan」……直到 tekaan = kod_rahsia

Jawapan答案: Gabungan pelbagai pilihan di dalam ulangan. Lihat carta alirnya di contoh seterusnya.重复里面有多重选择的组合。下一个例子会画出它的流程图。

  1. Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
  2. Baris yang bermula dengan "Kod Rahsia:" ialah nombor yang ditaip oleh pengguna. Perhatian: 51 di luar julat 1 hingga 50, tetapi contoh cikgu tidak menyemak julat.以「Kod Rahsia:」开头的是用户打的数字。注意:51 不在 1 到 50 里面,但是老师的例子没有检查范围。
  3. Kod rahsia sudah ditetapkan (11), dan arahan dipaparkan sekali sahaja di awal.密码已经设定好(11),说明只在开头显示一次。
  4. Ada tiga jawapan yang berbeza: terlalu besar, terlalu kecil, atau betul.有三种不同的回答:太大、太小,或猜对了。
  5. Pengguna meneka beberapa kali sehingga betul. Kita tidak tahu berapa kali.用户一直猜,直到猜对为止。我们不知道要猜几次。
  6. Nama pemboleh ubah tidak boleh ada ruang kosong, jadi dalam kod tulis kod_rahsia, bukan "kod rahsia".变量名称不可以有空格,所以在代码里要写 kod_rahsia,不是「kod rahsia」。

Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!

Contoh例子 1/3 · Langkah步骤 1/6

Cuba试试看

Susun langkah menghasilkan algoritma排好写算法的步骤

Seret langkah ke tempat yang betul, kemudian tekan Semak.把步骤拖到正确的位置,然后按「检查」。

  1. Mengenal pasti masalah.找出问题。
  2. Menentukan data input.决定输入的数据。
  3. Menentukan proses.决定处理步骤。
  4. Menentukan output.决定输出。
  5. Mereka bentuk algoritma.设计算法。
  6. Menulis pseudokod dan melukis carta alir.写伪代码和画流程图。

Tip peperiksaan考试技巧

Untuk masalah yang besar, leraikan dahulu kepada masalah kecil (ingat Bab 1). Kemudian tentukan input, proses dan output sebelum menulis pseudokod.遇到大问题,先把它分解成小问题(记得第 1 章)。然后在写伪代码之前,先决定输入、处理和输出。

Cuba fikir想一想

Cuba fikir: gabungan想一想:组合

Tekan → untuk langkah seterusnya dan ← untuk undur.按 → 看下一步,按 ← 返回。

Contoh 3.1: Paparkan harga minyak petrol dari 1 hingga 100 liter apabila diberi harga seliter. Apakah input, proses dan output?例 3.1:输入每公升的价钱,显示 1 到 100 公升汽油的价钱。输入、处理和输出是什么?

  1. Input Harga seliter minyak petrol.每公升汽油的价钱。
  2. Proses处理 Kira harga = kuantiti × harga seliter, bagi 1 hingga 100 liter.计算价钱 = 公升数 × 每公升价钱,从 1 到 100 公升。
  3. Output Harga bagi setiap kuantiti dari 1 hingga 100 liter.每一个公升数(1 到 100)的价钱。

Jawapan答案: Gunakan gelung (UNTUK kuantiti = 1 HINGGA 100), kerana ada 100 ulangan yang sudah diketahui.用循环(UNTUK kuantiti = 1 HINGGA 100),因为已经知道要重复 100 次。

  1. Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
  2. Data apakah yang diberi?给了什么数据?
  3. Apakah yang perlu dikira?要计算什么?
  4. Apakah yang dipaparkan?要显示什么?
  5. Tentukan input, proses dan output dahulu, kemudian barulah reka bentuk algoritma.先决定输入、处理和输出,然后才设计算法。

Contoh例子 1/4 · Langkah步骤 1/5

Bahagian CC 部分

Cara menjawab soalan carta alir Bahagian CC 部分流程图题的答法

UASA 2022 Bahagian C soalan 1 (10 markah) memberi satu jadual dan satu algoritma. (a) Nyatakan struktur kawalan dan berikan alasan (2 markah). (b) Lukis carta alir (8 markah).UASA 2022 C 部分第 1 题(10 分)会给一个表格和一个算法。(a) 写出控制结构并说明理由(2 分)。(b) 画流程图(8 分)。

Langkah melukis carta alir daripada algoritma根据算法画流程图的步骤

1. Bujur MULA di atas.2. Segi empat selari untuk setiap Masukkan.3. Berlian untuk setiap "Jika", ditulis sebagai soalan dengan "?".4. Dalam contoh dividen ini, Ya → ke kanan, kepada segi empat tepat (proses), dan Tidak → ke bawah, kepada berlian seterusnya. Susunan lain juga betul, asalkan setiap anak panah dilabel Ya atau Tidak dengan betul.5. Semua cabang bercantum semula sebelum langkah seterusnya (di sini, langkah Kira).6. Segi empat selari untuk Paparkan.7. Satu bujur TAMAT di bawah.8. Semak: setiap garis ada anak panah, setiap berlian ada Ya dan Tidak. 1. 上面画椭圆 MULA。2. 每个「输入」画平行四边形。3. 每个「如果」画菱形,写成有「?」的问题。4. 在这个股息的例子里,Ya → 往右,到长方形(处理);Tidak → 往下,到下一个菱形。别的画法也对,只要每个箭头都正确地写上 Ya 或 Tidak。5. 所有分支在下一步之前合起来(这里是「计算」那一步)。6. 「显示」画平行四边形。7. 下面画一个椭圆 TAMAT。8. 检查:每条线都有箭头,每个菱形都有 Ya 和 Tidak。

Kajian kes个案研究

Soalan UASA dan soalan baharu, dilukis langkah demi langkahUASA 题和新题目,一步一步画出来

Tekan → untuk langkah seterusnya dan ← untuk undur.按 → 看下一步,按 ← 返回。

Bagaimanakah kita melukis carta alir bagi algoritma ini?这个算法的流程图要怎么画?

Ya Tidak Ya Tidak Ya Tidak MULA Masukkan simpanan Simpanan ≥20000? Dividen = 4.0 Simpanan ≥10000? Dividen = 3.0 Simpanan ≥5000? Dividen = 2.5 Dividen = 0 Dividen = simpanan× dividen ÷ 100 Paparkan dividen TAMAT

Algoritma算法

  1. Masukkan jumlah simpanan.输入存款总额(simpanan)。
  2. Jika simpanan >= 20 000, setkan dividen kepada 4.0%如果存款 >= 20 000,把股息率设为 4.0%
  3. Jika simpanan >= 10 000, setkan dividen kepada 3.0%如果存款 >= 10 000,把股息率设为 3.0%
  4. Jika simpanan >= 5 000, setkan dividen kepada 2.5%如果存款 >= 5 000,把股息率设为 2.5%
  5. Jika simpanan < 5 000, setkan dividen kepada 0%如果存款 < 5 000,把股息率设为 0%
  6. Kira dividen = simpanan × dividen ÷ 100计算股息 = 存款 × 股息率 ÷ 100
  7. Paparkan dividen显示股息
  1. Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
  2. "MULA": guna simbol terminal (bujur) untuk MULA atau TAMAT.「MULA」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。
  3. "Masukkan simpanan": ini input atau output, jadi guna segi empat selari.「Masukkan simpanan」:这是输入或输出,所以用平行四边形。
  4. "Simpanan ≥ 20000?": ini pilihan (syarat), jadi guna bentuk berlian. Ia mesti ada dua anak panah keluar: Ya dan Tidak.「Simpanan ≥ 20000?」:这是选择(条件),所以用菱形。它一定有两个出去的箭头:Ya(是)和 Tidak(否)。
  5. Anak panah "Ya" → "Dividen = 4.0": ini proses, jadi guna segi empat tepat.Anak panah "Ya" → 「Dividen = 4.0」:这是处理(过程),所以用长方形。
  6. Anak panah "Tidak" → "Simpanan ≥ 10000?": ini pilihan (syarat), jadi guna bentuk berlian. Ia mesti ada dua anak panah keluar: Ya dan Tidak.Anak panah "Tidak" → 「Simpanan ≥ 10000?」:这是选择(条件),所以用菱形。它一定有两个出去的箭头:Ya(是)和 Tidak(否)。
  7. Anak panah "Ya" → "Dividen = 3.0": ini proses, jadi guna segi empat tepat.Anak panah "Ya" → 「Dividen = 3.0」:这是处理(过程),所以用长方形。
  8. Anak panah "Tidak" → "Simpanan ≥ 5000?": ini pilihan (syarat), jadi guna bentuk berlian. Ia mesti ada dua anak panah keluar: Ya dan Tidak.Anak panah "Tidak" → 「Simpanan ≥ 5000?」:这是选择(条件),所以用菱形。它一定有两个出去的箭头:Ya(是)和 Tidak(否)。
  9. Anak panah "Ya" → "Dividen = 2.5": ini proses, jadi guna segi empat tepat.Anak panah "Ya" → 「Dividen = 2.5」:这是处理(过程),所以用长方形。
  10. Anak panah "Tidak" → "Dividen = 0": ini proses, jadi guna segi empat tepat.Anak panah "Tidak" → 「Dividen = 0」:这是处理(过程),所以用长方形。
  11. "Dividen = simpanan × dividen ÷ 100": ini proses, jadi guna segi empat tepat.「Dividen = simpanan × dividen ÷ 100」:这是处理(过程),所以用长方形。
  12. "Paparkan dividen": ini input atau output, jadi guna segi empat selari.「Paparkan dividen」:这是输入或输出,所以用平行四边形。
  13. "TAMAT": guna simbol terminal (bujur) untuk MULA atau TAMAT. Inilah jawapan (b) untuk 8 markah.「TAMAT」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。这就是 (b) 的答案,8 分。

Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。

Contoh例子 1/6 · Langkah步骤 1/13

Tip peperiksaan考试技巧

Jawapan (a) bagi UASA C1: i. Struktur kawalan pelbagai pilihan. ii. Kerana ada lebih daripada dua pilihan: kadar dividen bergantung kepada empat julat jumlah simpanan. Dalam (b), setiap simbol yang betul diberi markah, jadi lukis bentuk yang betul untuk setiap langkah.UASA C1 (a) 的答案:i. 多重选择控制结构。ii. 因为有两个以上的选择:股息率取决于四个存款范围。(b) 部分每个正确的符号都有分,所以每个步骤都要画对形状。

Cuba fikir想一想

Cuba fikir: soalan (a)想一想:(a) 题

Tekan → untuk langkah seterusnya dan ← untuk undur.按 → 看下一步,按 ← 返回。

Caj penghantaran: 5 kg dan ke atas RM15, 2 kg dan ke atas RM10, kurang daripada 2 kg RM6. (a) i. Nyatakan struktur kawalan yang sesuai. ii. Berikan alasan.运费:5 公斤以上 RM15,2 公斤以上 RM10,少于 2 公斤 RM6。(a) i. 写出适合的控制结构。ii. 说明理由。

  1. RM15, RM10 atau RM6: tiga tindakan.RM15、RM10 或 RM6:三个动作。

Jawapan答案: i. Pelbagai pilihan. ii. Kerana ada lebih daripada dua pilihan: caj bergantung kepada tiga julat berat.i. 多重选择。ii. 因为有两个以上的选择:运费取决于三个重量范围。

  1. Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
  2. Kira bilangan tindakan yang mungkin.数一数可能的动作有几个。
  3. Alasan mesti menyebut "lebih daripada dua pilihan".理由一定要写「两个以上的选择」。

Contoh例子 1/4 · Langkah步骤 1/3

Gaya peperiksaan考试题型

Lengkapkan langkah完成步骤

Soalan seperti ini keluar dalam Bahagian A dan B. Cuba setiap satu sehingga semuanya betul.这类题目会出现在 A 和 B 部分。每一题都试到全部答对为止。

Lengkapkan langkah完成步骤

Lengkapkan pseudokod dwipilihan完成双重选择的伪代码

Pilih kata kunci bagi setiap tempat kosong.为每个空格选出关键词。

Jawapan betul答对: 0 / 6

  1. ___

  2. ___ markah

  3. ___ markah ≥ 40

  4. PAPARKAN "Lulus"

  5. ___

  6. ___ "Gagal"

  7. ___

  8. TAMAT

Lengkapkan langkah完成步骤

Lengkapkan jadual fasa pembangunan atur cara (soalan UASA B8)完成程序开发阶段的表格(UASA B8 题)

Jawapan betul答对: 0 / 4

  1. Menulis pseudokod dan melakar carta alir → …写伪代码和画流程图 → ……

  2. Menyediakan dokumentasi luaran dan dalaman → …准备外部和内部的文档 → ……

  3. Mengesan dan membaiki ralat → …找出并改正错误 → ……

  4. Menentukan input, proses dan output → …决定输入、处理和输出 → ……

Cuba试试看

Padanan betul atau salah? (soalan UASA B6)配对对不对?(UASA B6 题)

Tandakan Betul jika struktur kawalan dipadankan dengan maksud yang betul.如果控制结构配对到正确的意思,就选「对」。

Jawapan betul答对: 0 / 5

  1. Struktur kawalan pelbagai pilihan: memilih di antara dua tindakan atau dua set tindakan untuk dilaksanakan.多重选择控制结构:在两个动作或两组动作中选一个来执行。

  2. Struktur kawalan dwipilihan: mengandungi lebih daripada dua set tindakan yang berlainan sebagai pilihan untuk dilaksanakan.双重选择控制结构:有两组以上不同的动作可以选择执行。

  3. Struktur kawalan UNTUK: melaksanakan satu set langkah berdasarkan pembilangan yang telah ditetapkan.UNTUK 控制结构:按照已经设定的计数,执行一组步骤。

  4. Struktur kawalan pilihan tunggal: mempunyai satu pilihan untuk melaksanakan satu set tindakan yang tertentu.单一选择控制结构:只有一个选择,用来执行一组特定的动作。

  5. Struktur kawalan ULANG–SEHINGGA: syarat diuji sebelum langkah-langkah dalam gelung dilaksanakan.ULANG–SEHINGGA 控制结构:在执行循环里的步骤之前先测试条件。

Uji diri测验自己

Kuiz Bab 3第3章 小测验

Soalan objektif seperti Bahagian A. Pilih satu jawapan.像 A 部分的选择题。选一个答案。

Jawapan betul答对: 0 / 12

  1. Soalan题目 1 Apakah maksud algoritma?算法是什么意思?

  2. Soalan题目 2 Simbol berlian dalam carta alir mewakili …流程图里的菱形代表……

  3. Soalan题目 3 Struktur kawalan ini memilih dua tindakan atau dua set tindakan untuk dilaksanakan, bergantung kepada sama ada satu syarat dipenuhi atau tidak. (UASA)这个控制结构在两个动作或两组动作中选一个来执行,看一个条件是否成立。(UASA)

  4. Soalan题目 4 Susun keratan pseudokod UNTUK: I TAMBAH 1 kepada pembilang · II LAUNGKAN "Kita Boleh" · III SETKAN pembilang kepada 1 · IV UNTUK pembilang = 1 HINGGA 3. (UASA)排好 UNTUK 伪代码的顺序:I 计数器加 1 · II 喊「Kita Boleh」· III 把计数器设为 1 · IV 对于计数器 = 1 到 3。(UASA)

  5. Soalan题目 5 Antara berikut, yang manakah BUKAN nama pemboleh ubah yang sah?下面哪一个「不是」合法的变量名称?

  6. Soalan题目 6 Berapakah 17 % 5?17 % 5 是多少?

  7. Soalan题目 7 Struktur kawalan ulangan manakah yang melaksanakan langkah sekurang-kurangnya sekali?哪一种重复控制结构至少会执行一次步骤?

  8. Soalan题目 8 Susun langkah mencari ralat: I Uji lari atur cara semula · II Baiki ralat · III Kesan ralat dengan teknik semakan meja · IV Bandingkan hasil atur cara dengan algoritma. (UASA)排好找错误的步骤:I 再运行程序测试 · II 改正错误 · III 用桌面检查找错误 · IV 把程序的结果和算法比较。(UASA)

  9. Soalan题目 9 Ralat yang tidak memaparkan mesej ralat, tetapi menghasilkan output yang salah, ialah …没有显示错误信息,但输出是错的,这种错误是……

  10. Soalan题目 10 Teknik semakan meja menggunakan …桌面检查用的是……

  11. Soalan题目 11 "Menulis pseudokod dan melakar carta alir" berlaku dalam fasa … (UASA)「写伪代码和画流程图」是在哪一个阶段?(UASA)

  12. Soalan题目 12 JIKA simpanan ≥ 20000 dividen 4.0, JIKA simpanan ≥ 10000 dividen 3.0, JIKA TIDAK dividen 0. Apakah kadar dividen bagi simpanan RM12 000?如果存款 ≥ 20000 股息率 4.0,如果存款 ≥ 10000 股息率 3.0,否则 0。存款 RM12 000 的股息率是多少?

Ringkasan总结

Nota ringkas Bab 3第3章 重点笔记

Topik题目Perkara penting重点
Algoritma算法Satu siri langkah untuk menyelesaikan masalah. Jelas, urutan betul, ada kesudahan.解决问题的一系列步骤。要清楚、顺序对、有结局。
Dua perwakilan两种表示法Pseudokod (teks) dan carta alir (simbol + anak panah).伪代码(文字)和流程图(符号 + 箭头)。
Simbol符号Bujur: Mula/Tamat. Segi empat tepat: proses. Segi empat selari: input/output. Berlian: pilihan. Bulatan: penyambung.椭圆:开始/结束。长方形:处理。平行四边形:输入/输出。菱形:选择。圆圈:连接符。
Pilihan选择Tunggal: 1 tindakan. Dwipilihan: 2 tindakan. Pelbagai pilihan: lebih daripada 2.单一:1 个动作。双重:2 个动作。多重:2 个以上。
Ulangan重复UNTUK: bilangan tetap. SELAGI: uji dahulu (boleh 0 kali). ULANG–SEHINGGA: uji kemudian (sekurang-kurangnya sekali).UNTUK:次数固定。SELAGI:先测试(可以 0 次)。ULANG–SEHINGGA:后测试(至少一次)。
Jenis data数据类型integer (30), float (1500.60), boolean (True/False), string ("teks").integer(30)、float(1500.60)、boolean(True/False)、string("文字")。
Operator运算符% = baki, // = hasil bahagi tanpa baki, ** = kuasa. AND: semua TRUE. OR: satu TRUE.% = 余数,// = 没有余数的商,** = 次方。AND:全部 TRUE。OR:一个 TRUE。
Ralat错误Sintaks (salah tulis, ada mesej). Masa larian (terhenti, ada mesej). Logik (output salah, tiada mesej).语法(写错,有信息)。运行时(停止,有信息)。逻辑(输出错,没有信息)。
Semakan检查Semakan meja: guna sampel data. Langkah demi langkah: tanpa sampel data.桌面检查:用样本数据。逐步检查:不用样本数据。
Fasa阶段Analisis → Reka bentuk → Pengekodan → Pengujian → Dokumentasi.分析 → 设计 → 编码 → 测试 → 文档。