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.用桌面检查和逐步检查来找出错误。
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 到 TAMAT | Dari 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?这个算法的流程图要怎么画?
Algoritma算法
- Didihkan air.把水煮开。
- Letakkan 3 sudu Milo ke dalam cawan.把 3 匙美禄放进杯子里。
- Tuang air panas ke dalam cawan.把热水倒进杯子里。
- Kacau sehingga sebati.搅拌均匀。
- Hidangkan.端出来。
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- "MULA": guna simbol terminal (bujur) untuk MULA atau TAMAT.「MULA」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。
- "Didihkan air": ini proses, jadi guna segi empat tepat.「Didihkan air」:这是处理(过程),所以用长方形。
- "Letakkan 3 sudu Milo": ini proses, jadi guna segi empat tepat.「Letakkan 3 sudu Milo」:这是处理(过程),所以用长方形。
- "Tuang air panas": ini proses, jadi guna segi empat tepat.「Tuang air panas」:这是处理(过程),所以用长方形。
- "Kacau sehingga sebati": ini proses, jadi guna segi empat tepat.「Kacau sehingga sebati」:这是处理(过程),所以用长方形。
- "Hidangkan Milo": ini input atau output, jadi guna segi empat selari.「Hidangkan Milo」:这是输入或输出,所以用平行四边形。
- "TAMAT": guna simbol terminal (bujur) untuk MULA atau TAMAT. Carta alir ini hanya ada jujukan: langkah demi langkah, tanpa cabang.「TAMAT」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。这个流程图只有顺序:一步接一步,没有分支。
❓ Bagaimanakah kita melukis carta alir bagi algoritma ini?这个算法的流程图要怎么画?
Algoritma算法
- Masukkan bilangan cawan.输入杯数(cawan)。
- Kira jumlah = cawan × 7.计算 jumlah(总价)= 杯数 × 7。
- Paparkan jumlah.显示 jumlah(总价)。
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- "MULA": guna simbol terminal (bujur) untuk MULA atau TAMAT.「MULA」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。
- "Masukkan cawan": ini input atau output, jadi guna segi empat selari.「Masukkan cawan」:这是输入或输出,所以用平行四边形。
- "Jumlah = cawan × 7": ini proses, jadi guna segi empat tepat.「Jumlah = cawan × 7」:这是处理(过程),所以用长方形。
- "Paparkan jumlah": ini input atau output, jadi guna segi empat selari.「Paparkan jumlah」:这是输入或输出,所以用平行四边形。
- "TAMAT": guna simbol terminal (bujur) untuk MULA atau TAMAT. Input → proses → output. Hampir setiap algoritma ada tiga bahagian ini.「TAMAT」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。输入 → 处理 → 输出。几乎每个算法都有这三个部分。
❓ Bagaimanakah kita melukis carta alir bagi algoritma ini?这个算法的流程图要怎么画?
Pseudokod伪代码
- MULA
- MASUKKAN cawan
- KIRA jumlah = cawan × 7
- PAPARKAN jumlah
- TAMAT
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- "MULA": guna simbol terminal (bujur) untuk MULA atau TAMAT.「MULA」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。
- "Masukkan cawan": ini input atau output, jadi guna segi empat selari.「Masukkan cawan」:这是输入或输出,所以用平行四边形。
- "Jumlah = cawan × 7": ini proses, jadi guna segi empat tepat.「Jumlah = cawan × 7」:这是处理(过程),所以用长方形。
- "Paparkan jumlah": ini input atau output, jadi guna segi empat selari.「Paparkan jumlah」:这是输入或输出,所以用平行四边形。
- "TAMAT": guna simbol terminal (bujur) untuk MULA atau TAMAT. Pseudokod dan carta alir menunjukkan algoritma yang sama, dalam dua bentuk.「TAMAT」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。伪代码和流程图用两种形式表示同一个算法。
❓ Apakah output algoritma ini jika cawan = 3?如果 cawan(杯数)= 3,这个算法的输出是什么?
Pseudokod伪代码
- MULA
- MASUKKAN cawan
- KIRA jumlah = cawan × 7
- PAPARKAN jumlah
- TAMAT
Jadual semakan meja (sampel data: cawan = 3)桌面检查表(样本数据:cawan(杯数)= 3)
| Simbol符号 | cawan | jumlah | Output |
|---|---|---|---|
| Masukkan cawan | 3 | ||
| Jumlah = cawan × 7 | 3 | 21 | |
| Paparkan jumlah | 3 | 21 | RM21 |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Masukkan cawan: 3.输入 cawan:3。
- Jumlah = cawan × 7. Sekarang jumlah = 21.Jumlah = cawan × 7。现在 jumlah = 21。
- Paparkan di skrin: RM21在屏幕上显示:RM21
- TAMAT: algoritma berhenti. Output: RM21. Semak: 3 × 7 = 21. Output RM21.TAMAT:算法结束。输出:RM21。检查:3 × 7 = 21。输出 RM21。
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.把步骤拖到正确的位置,然后按「检查」。
- ⠿ Analisis masalah分析问题
- ⠿ Reka bentuk atur cara程序设计
- ⠿ Pengekodan编码
- ⠿ Pengujian dan penyahpepijatan测试和除错
- ⠿ Dokumentasi文档
Betul! Semua langkah mengikut turutan.答对了!所有步骤的顺序都正确。
Langkah bertanda ✗ di tempat yang salah. Cuba lagi!有 ✗ 的步骤放错位置了。再试一次!
🎯 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. 去学校。 有什么问题?
- Stokin mesti dipakai sebelum kasut.袜子一定要在鞋子之前穿。
✅ Jawapan答案: Urutan langkah salah. Tukar langkah 1 dengan langkah 2.步骤顺序错了。把第 1 步和第 2 步对调。
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Semak perkara penting nombor 3: urutan langkah mesti betul.检查第 3 个重点:步骤的顺序一定要对。
- Algoritma yang betul mesti mempunyai urutan yang betul.正确的算法一定要有正确的顺序。
❓ Satu langkah berbunyi: "Pilih satu nombor yang besar." Kenapa langkah ini tidak baik?有一个步骤写着:「选一个大的数字。」为什么这个步骤不好?
- Berapa besar? 50? 1000? Setiap orang faham dengan cara yang berbeza.多大才算大?50?1000?每个人的理解都不一样。
✅ Jawapan答案: Langkah ini tidak jelas. Tulis: "Pilih satu nombor yang lebih besar daripada 100."这个步骤不清楚。要写:「选一个比 100 大的数字。」
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Semak perkara penting nombor 2: setiap langkah mesti dihuraikan dengan jelas.检查第 2 个重点:每个步骤都要写清楚。
- Komputer tidak boleh meneka. Setiap langkah mesti tepat.电脑不会猜。每个步骤都要准确。
❓ Algoritma bermain mahjong: 1. Ambil satu jubin.2. Buang satu jubin.3. Kembali ke langkah 1. Apakah masalahnya?打麻将的算法: 1. 摸一张牌。2. 打出一张牌。3. 回到第 1 步。 有什么问题?
- Langkah 3 menghantar kita ke langkah 1 selama-lamanya. Permainan tidak pernah tamat!第 3 步一直把我们送回第 1 步。游戏永远不会结束!
✅ Jawapan答案: Tiada kesudahan. Tulis: "Ulang langkah 1 dan 2 sehingga seorang pemain menang atau jubin habis."没有结局。要写:「重复第 1 和第 2 步,直到有一个人赢或牌摸完。」
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Semak perkara penting nombor 4: algoritma mesti mempunyai kesudahan.检查第 4 个重点:算法一定要有结局。
- Setiap algoritma mesti berhenti dan memberi output dalam suatu tempoh masa.每个算法都要在一段时间内停下来,并给出输出。
❓ MULA → Berjalan ke tempat perhimpunan → Berbaris → Nyanyi lagu Negaraku → TAMAT, ditulis baris demi baris. Ini pseudokod atau carta alir?MULA → 走到集会的地方 → 排队 → 唱国歌 → TAMAT,一行一行写出来。这是伪代码还是流程图?
- Tiada simbol. Hanya ayat (teks) dari MULA hingga TAMAT.没有符号,只有从 MULA 到 TAMAT 的句子(文字)。
✅ Jawapan答案: Pseudokod (bentuk teks).伪代码(文字形式)。
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Lihat bentuknya. Adakah ada simbol geometri dan anak panah?看它的样子。有没有几何符号和箭头?
- Pseudokod ialah teks. Carta alir ialah simbol geometri dan anak panah.伪代码是文字,流程图是几何符号和箭头。
❓ Dino mewakili algoritma dengan bentuk geometri yang disambung dengan anak panah. Apakah perwakilan ini?Dino 用几何图形和箭头来表示算法。这是哪一种表示法?
- Bujur, segi empat tepat, berlian, segi empat selari …椭圆、长方形、菱形、平行四边形……
✅ Jawapan答案: Carta alir.流程图。
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Bentuk geometri dan anak panah ialah kaedah grafik.几何图形和箭头是图形的方法。
- Algoritma ada dua perwakilan: pseudokod (teks) dan carta alir (simbol).算法有两种表示法:伪代码(文字)和流程图(符号)。
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
-
MULA
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Simbol untuk permulaan carta alir berbentuk bujur.流程图开始的符号是椭圆形的。
-
PAPARKAN "Lulus"
Betul!答对了! Paparkan ialah output.Paparkan(显示)是输出。
Belum tepat. Cuba lagi!还不对,再试一次! Paparkan menghantar data keluar ke skrin: simbol mana untuk data masuk dan keluar?显示是把数据送到屏幕上:数据进来和出去用哪一个符号?
-
Masukkan markah
Betul!答对了! Masukkan ialah input.Masukkan(输入)是输入。
Belum tepat. Cuba lagi!还不对,再试一次! Adakah data dibawa masuk ke dalam komputer?数据是不是被带进电脑里?
-
Setkan jumlah kepada 0
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Setkan tidak membaca atau memaparkan apa-apa, kerana ia kerja di dalam komputer.Setkan(设定)不输入也不显示,因为它是电脑里面的工作。
-
Markah ≥ 40?
Betul!答对了! Satu syarat dengan jawapan Ya atau Tidak.一个答案是 Ya 或 Tidak 的条件。
Belum tepat. Cuba lagi!还不对,再试一次! Lihat tanda ? di hujung: jawapannya Ya atau Tidak.看最后的问号 ?:答案是 Ya 或 Tidak。
-
Kira luas = panjang × lebar
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Mengira ialah kerja di dalam komputer, bukan input atau output.计算是电脑里面的工作,不是输入或输出。
-
BACA nombor akaun
Betul!答对了! Baca ialah input.Baca(读取)是输入。
Belum tepat. Cuba lagi!还不对,再试一次! BACA membawa data masuk, sama seperti MASUKKAN.BACA(读取)把数据带进来,和 MASUKKAN 一样。
-
TAMAT
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Ia guna simbol yang sama seperti MULA.它和 MULA 用一样的符号。
🌟 Tahniah! Semua betul pada cubaan pertama.恭喜!全部第一次就答对了。
✅ Semua betul! Ulang kaji soalan yang perlu dicuba lebih sekali:全部答对了!复习一下要试不止一次的题:
▶ Langkah demi langkah一步一步看
Lukis dan jalankan carta alir jujukan画出并运行顺序流程图
⌨️ Tekan → untuk langkah seterusnya dan ← untuk undur.按 → 看下一步,按 ← 返回。
❓ Bagaimanakah kita melukis carta alir bagi algoritma ini?这个算法的流程图要怎么画?
Algoritma算法
- Masukkan panjang.输入长(panjang)。
- Masukkan lebar.输入宽(lebar)。
- Kira luas = panjang × lebar.计算面积(luas)= 长 × 宽。
- Paparkan luas.显示面积(luas)。
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- "MULA": guna simbol terminal (bujur) untuk MULA atau TAMAT.「MULA」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。
- "Masukkan panjang": ini input atau output, jadi guna segi empat selari.「Masukkan panjang」:这是输入或输出,所以用平行四边形。
- "Masukkan lebar": ini input atau output, jadi guna segi empat selari.「Masukkan lebar」:这是输入或输出,所以用平行四边形。
- "Luas = panjang × lebar": ini proses, jadi guna segi empat tepat.「Luas = panjang × lebar」:这是处理(过程),所以用长方形。
- "Paparkan luas": ini input atau output, jadi guna segi empat selari.「Paparkan luas」:这是输入或输出,所以用平行四边形。
- "TAMAT": guna simbol terminal (bujur) untuk MULA atau TAMAT. Dua input, satu proses, satu output.「TAMAT」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。两个输入、一个处理、一个输出。
❓ Apakah output algoritma ini jika panjang = 8, lebar = 5?如果 panjang = 8, lebar = 5,这个算法的输出是什么?
Pseudokod伪代码
- MULA
- MASUKKAN panjang
- MASUKKAN lebar
- KIRA luas = panjang × lebar
- PAPARKAN luas
- TAMAT
Jadual semakan meja (sampel data: panjang = 8, lebar = 5)桌面检查表(样本数据:panjang = 8, lebar = 5)
| Simbol符号 | panjang | lebar | luas | Output |
|---|---|---|---|---|
| Masukkan panjang | 8 | |||
| Masukkan lebar | 8 | 5 | ||
| Luas = panjang × lebar | 8 | 5 | 40 | |
| Paparkan luas | 8 | 5 | 40 | 40 cm² |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Masukkan panjang: 8.输入 panjang:8。
- Masukkan lebar: 5.输入 lebar:5。
- Luas = panjang × lebar. Sekarang luas = 40.Luas = panjang × lebar。现在 luas = 40。
- Paparkan di skrin: 40 cm²在屏幕上显示:40 cm²
- TAMAT: algoritma berhenti. Output: 40 cm². Setiap input diisi mengikut urutan: panjang dahulu, kemudian lebar.TAMAT:算法结束。输出:40 cm²。输入按照顺序填进去:先是长,然后是宽。
❓ Apakah output algoritma ini jika cawan = 5?如果 cawan(杯数)= 5,这个算法的输出是什么?
Pseudokod伪代码
- MULA
- MASUKKAN cawan
- KIRA jumlah = cawan × 7
- PAPARKAN jumlah
- TAMAT
Jadual semakan meja (sampel data: cawan = 5)桌面检查表(样本数据:cawan(杯数)= 5)
| Simbol符号 | cawan | jumlah | Output |
|---|---|---|---|
| Masukkan cawan | 5 | ||
| Jumlah = cawan × 7 | 5 | 35 | |
| Paparkan jumlah | 5 | 35 | RM35 |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Masukkan cawan: 5.输入 cawan:5。
- Jumlah = cawan × 7. Sekarang jumlah = 35.Jumlah = cawan × 7。现在 jumlah = 35。
- Paparkan di skrin: RM35在屏幕上显示:RM35
- TAMAT: algoritma berhenti. Output: RM35. Algoritma yang sama, input berbeza, output berbeza.TAMAT:算法结束。输出:RM35。同一个算法,不同的输入,就有不同的输出。
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(读取)这几个词适合用哪一个符号?
- Data masuk = input. Data keluar = output.数据进来 = 输入。数据出去 = 输出。
✅ Jawapan答案: Simbol input/output (segi empat selari).输入/输出符号(平行四边形)。
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- BACA membawa data masuk. PAPAR dan CETAK mengeluarkan data.BACA 把数据带进来。PAPAR 和 CETAK 把数据送出去。
- Kata kunci input: MASUKKAN, BACA. Kata kunci output: PAPARKAN, CETAK.输入的关键词:MASUKKAN、BACA。输出的关键词:PAPARKAN、CETAK。
❓ Carta alir Siti ada dua simbol TAMAT: satu selepas "Lulus" dan satu selepas "Gagal". Betulkah?Siti 的流程图有两个 TAMAT:一个在「Lulus」后面,一个在「Gagal」后面。对吗?
- Hanya 1 Mula dan 1 Tamat dalam satu algoritma.一个算法只有 1 个 Mula 和 1 个 Tamat。
- Sambungkan anak panah dari "Lulus" dan dari "Gagal" kepada satu TAMAT.把「Lulus」和「Gagal」的箭头都接到同一个 TAMAT。
✅ Jawapan答案: Salah. Gabungkan kedua-dua aliran kepada satu TAMAT sahaja.错。把两条流程合并到一个 TAMAT。
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Ingat peraturan cikgu.记住老师的规则。
- Bagaimana membetulkannya?要怎么改?
- Aliran yang bercabang mesti bercantum semula.分开的流程一定要再合起来。
❓ Simbol berlian "Umur ≥ 12?" hanya ada satu anak panah keluar, iaitu Ya. Apa yang tidak kena?菱形「Umur ≥ 12?」只有一个出去的箭头:Ya。哪里不对?
- Jika umur 10, ke manakah kita pergi? Tiada jalan!如果年龄是 10,要往哪里走?没有路!
✅ Jawapan答案: Tambah anak panah Tidak. Simbol pilihan mesti ada dua laluan keluar: Ya dan Tidak.加上 Tidak 的箭头。选择符号一定有两条出去的路:Ya 和 Tidak。
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Berlian ialah soalan. Jawapannya boleh Ya, boleh juga Tidak.菱形是一个问题,答案可以是 Ya,也可以是 Tidak。
- Setiap berlian: satu anak panah masuk, dua anak panah keluar.每个菱形:一个箭头进来,两个箭头出去。
❓ Ahmad melukis "Paparkan jumlah" dalam segi empat tepat. Betulkah?Ahmad 把「Paparkan jumlah」画在长方形里。对吗?
- Output menggunakan segi empat selari, bukan segi empat tepat.输出用平行四边形,不是长方形。
✅ Jawapan答案: Salah. "Paparkan jumlah" mesti dalam segi empat selari.错。「Paparkan jumlah」一定要画在平行四边形里。
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Paparkan ialah output.Paparkan(显示)是输出。
- Segi empat tepat hanya untuk proses, seperti Setkan, Kira dan Tambah.长方形只用在处理步骤,比如 Setkan(设定)、Kira(计算)和 Tambah(加)。
❓ Carta alir dibaca mengikut arah yang mana?流程图要按照什么方向读?
- Dari MULA di atas ke TAMAT di bawah, mengikut arah anak panah.从上面的 MULA 到下面的 TAMAT,跟着箭头的方向。
✅ Jawapan答案: Dari atas ke bawah, mengikut anak panah.从上到下,跟着箭头。
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Ikut garis aliran.跟着流程线走。
- Anak panah menunjukkan aliran aktiviti.箭头表示活动的流程。
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 JIKA | Jika 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 JIKA | Markah ≥ 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 JIKA | Saiz 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",这个算法的输出是什么?
Pseudokod伪代码
- MULA
- SETKAN harga kepada 8
- MASUKKAN pearl
- JIKA pearl = "Ya"
- TAMBAH 2 kepada harga
- TAMAT JIKA
- PAPARKAN harga
- TAMAT
Jadual semakan meja (sampel data: pearl = "Ya")桌面检查表(样本数据:pearl = "Ya")
| Simbol符号 | harga | pearl | Output |
|---|---|---|---|
| Setkan harga kepada 8 | 8 | ||
| Masukkan pearl | 8 | Ya | |
| Pearl = "Ya"? → Ya | 8 | Ya | |
| Tambah 2 kepada harga | 10 | Ya | |
| Paparkan harga | 10 | Ya | RM10 |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Setkan harga kepada 8. Sekarang harga = 8.Setkan harga kepada 8。现在 harga = 8。
- Masukkan pearl: Ya.输入 pearl:Ya。
- Pearl = "Ya"? "Ya" = "Ya" → Ya. Ikut anak panah "Ya".Pearl = "Ya"? "Ya" = "Ya" → 是(Ya)。沿着「Ya」的箭头走。
- Tambah 2 kepada harga. Sekarang harga = 10.Tambah 2 kepada harga。现在 harga = 10。
- Paparkan di skrin: RM10在屏幕上显示:RM10
- TAMAT: algoritma berhenti. Output: RM10. Syarat Ya, jadi satu tindakan dilaksanakan: tambah RM2.TAMAT:算法结束。输出:RM10。条件是「是」,所以执行一个动作:加 RM2。
❓ Apakah output algoritma ini jika pearl = "Tidak"?如果 pearl = "Tidak",这个算法的输出是什么?
Pseudokod伪代码
- MULA
- SETKAN harga kepada 8
- MASUKKAN pearl
- JIKA pearl = "Ya"
- TAMBAH 2 kepada harga
- TAMAT JIKA
- PAPARKAN harga
- TAMAT
Jadual semakan meja (sampel data: pearl = "Tidak")桌面检查表(样本数据:pearl = "Tidak")
| Simbol符号 | harga | pearl | Output |
|---|---|---|---|
| Setkan harga kepada 8 | 8 | ||
| Masukkan pearl | 8 | Tidak | |
| Pearl = "Ya"? → Tidak | 8 | Tidak | |
| Paparkan harga | 8 | Tidak | RM8 |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Setkan harga kepada 8. Sekarang harga = 8.Setkan harga kepada 8。现在 harga = 8。
- Masukkan pearl: Tidak.输入 pearl:Tidak。
- Pearl = "Ya"? "Tidak" = "Ya" → Tidak. Ikut anak panah "Tidak".Pearl = "Ya"? "Tidak" = "Ya" → 否(Tidak)。沿着「Tidak」的箭头走。
- Paparkan di skrin: RM8在屏幕上显示:RM8
- TAMAT: algoritma berhenti. Output: RM8. Syarat Tidak, jadi tiada tindakan. Itulah pilihan tunggal.TAMAT:算法结束。输出:RM8。条件是「否」,所以什么都不做。这就是单一选择。
❓ Apakah output algoritma ini jika markah = 65?如果 markah = 65,这个算法的输出是什么?
Pseudokod伪代码
- MULA
- MASUKKAN markah
- JIKA markah ≥ 40
- PAPARKAN "Lulus"
- JIKA TIDAK
- PAPARKAN "Gagal"
- TAMAT JIKA
- TAMAT
Jadual semakan meja (sampel data: markah = 65)桌面检查表(样本数据:markah = 65)
| Simbol符号 | markah | Output |
|---|---|---|
| Masukkan markah | 65 | |
| Markah ≥ 40? → Ya | 65 | |
| Paparkan "Lulus" | 65 | Lulus |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Masukkan markah: 65.输入 markah:65。
- Markah ≥ 40? 65 ≥ 40 → Ya. Ikut anak panah "Ya".Markah ≥ 40? 65 ≥ 40 → 是(Ya)。沿着「Ya」的箭头走。
- Paparkan di skrin: Lulus在屏幕上显示:Lulus
- TAMAT: algoritma berhenti. Output: Lulus. Buku teks Rajah 3.10 dan 3.11.TAMAT:算法结束。输出:Lulus。课本图 3.10 和 3.11。
❓ Apakah output algoritma ini jika markah = 39?如果 markah = 39,这个算法的输出是什么?
Pseudokod伪代码
- MULA
- MASUKKAN markah
- JIKA markah ≥ 40
- PAPARKAN "Lulus"
- JIKA TIDAK
- PAPARKAN "Gagal"
- TAMAT JIKA
- TAMAT
Jadual semakan meja (sampel data: markah = 39)桌面检查表(样本数据:markah = 39)
| Simbol符号 | markah | Output |
|---|---|---|
| Masukkan markah | 39 | |
| Markah ≥ 40? → Tidak | 39 | |
| Paparkan "Gagal" | 39 | Gagal |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Masukkan markah: 39.输入 markah:39。
- Markah ≥ 40? 39 ≥ 40 → Tidak. Ikut anak panah "Tidak".Markah ≥ 40? 39 ≥ 40 → 否(Tidak)。沿着「Tidak」的箭头走。
- Paparkan di skrin: Gagal在屏幕上显示:Gagal
- TAMAT: algoritma berhenti. Output: Gagal. Dua cabang, dua tindakan: Lulus atau Gagal. Hanya satu dilaksanakan.TAMAT:算法结束。输出:Gagal。两条分支、两个动作:及格或不及格。只会执行其中一个。
❓ Apakah output algoritma ini jika markah = 40?如果 markah = 40,这个算法的输出是什么?
Pseudokod伪代码
- MULA
- MASUKKAN markah
- JIKA markah ≥ 40
- PAPARKAN "Lulus"
- JIKA TIDAK
- PAPARKAN "Gagal"
- TAMAT JIKA
- TAMAT
Jadual semakan meja (sampel data: markah = 40)桌面检查表(样本数据:markah = 40)
| Simbol符号 | markah | Output |
|---|---|---|
| Masukkan markah | 40 | |
| Markah ≥ 40? → Ya | 40 | |
| Paparkan "Lulus" | 40 | Lulus |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Masukkan markah: 40.输入 markah:40。
- Markah ≥ 40? 40 ≥ 40 → Ya. Ikut anak panah "Ya".Markah ≥ 40? 40 ≥ 40 → 是(Ya)。沿着「Ya」的箭头走。
- Paparkan di skrin: Lulus在屏幕上显示:Lulus
- TAMAT: algoritma berhenti. Output: Lulus. ≥ termasuk 40, jadi 40 masih Lulus.TAMAT:算法结束。输出:Lulus。≥ 包括 40,所以 40 分还是及格。
❓ Apakah output algoritma ini jika saiz = "M"?如果 saiz = "M",这个算法的输出是什么?
Pseudokod伪代码
- MULA
- MASUKKAN saiz
- JIKA saiz = "L"
- SETKAN harga kepada 10
- JIKA saiz = "M"
- SETKAN harga kepada 8
- JIKA TIDAK
- SETKAN harga kepada 6
- TAMAT JIKA
- PAPARKAN harga
- TAMAT
Jadual semakan meja (sampel data: saiz = "M")桌面检查表(样本数据:saiz = "M")
| Simbol符号 | saiz | harga | Output |
|---|---|---|---|
| Masukkan saiz | M | ||
| Saiz = "L"? → Tidak | M | ||
| Saiz = "M"? → Ya | M | ||
| Harga = 8 | M | 8 | |
| Paparkan harga | M | 8 | RM8 |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Masukkan saiz: M.输入 saiz:M。
- Saiz = "L"? "M" = "L" → Tidak. Ikut anak panah "Tidak".Saiz = "L"? "M" = "L" → 否(Tidak)。沿着「Tidak」的箭头走。
- Saiz = "M"? "M" = "M" → Ya. Ikut anak panah "Ya".Saiz = "M"? "M" = "M" → 是(Ya)。沿着「Ya」的箭头走。
- Harga = 8.Harga = 8。
- Paparkan di skrin: RM8在屏幕上显示:RM8
- TAMAT: algoritma berhenti. Output: RM8. Syarat disemak satu demi satu. Sebaik sahaja satu Ya, yang lain dilangkau.TAMAT:算法结束。输出:RM8。条件一个一个检查。只要有一个是「是」,其他的就跳过。
❓ Apakah output algoritma ini jika saiz = "S"?如果 saiz = "S",这个算法的输出是什么?
Pseudokod伪代码
- MULA
- MASUKKAN saiz
- JIKA saiz = "L"
- SETKAN harga kepada 10
- JIKA saiz = "M"
- SETKAN harga kepada 8
- JIKA TIDAK
- SETKAN harga kepada 6
- TAMAT JIKA
- PAPARKAN harga
- TAMAT
Jadual semakan meja (sampel data: saiz = "S")桌面检查表(样本数据:saiz = "S")
| Simbol符号 | saiz | harga | Output |
|---|---|---|---|
| Masukkan saiz | S | ||
| Saiz = "L"? → Tidak | S | ||
| Saiz = "M"? → Tidak | S | ||
| Harga = 6 | S | 6 | |
| Paparkan harga | S | 6 | RM6 |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Masukkan saiz: S.输入 saiz:S。
- Saiz = "L"? "S" = "L" → Tidak. Ikut anak panah "Tidak".Saiz = "L"? "S" = "L" → 否(Tidak)。沿着「Tidak」的箭头走。
- Saiz = "M"? "S" = "M" → Tidak. Ikut anak panah "Tidak".Saiz = "M"? "S" = "M" → 否(Tidak)。沿着「Tidak」的箭头走。
- Harga = 6.Harga = 6。
- Paparkan di skrin: RM6在屏幕上显示:RM6
- TAMAT: algoritma berhenti. Output: RM6. Semua syarat Tidak, jadi tindakan JIKA TIDAK dilaksanakan.TAMAT:算法结束。输出:RM6。所有条件都是「否」,所以执行「否则」(JIKA TIDAK)的动作。
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
-
Jika hujan, bawa payung.如果下雨,就带伞。
Betul!答对了! Satu tindakan sahaja. Jika tidak hujan, tiada apa-apa dibuat.只有一个动作。没下雨就什么都不做。
Belum tepat. Cuba lagi!还不对,再试一次! Jika tidak hujan, adakah apa-apa dibuat?如果没下雨,会做什么吗?
-
Jika markah ≥ 40, paparkan "Lulus". Jika tidak, paparkan "Gagal".如果分数 ≥ 40,显示「Lulus」。否则显示「Gagal」。
Betul!答对了! Satu syarat, dua tindakan.一个条件、两个动作。
Belum tepat. Cuba lagi!还不对,再试一次! Kira bilangan tindakan yang mungkin: 1, 2, atau lebih?数一数可能的动作有几个:1 个、2 个,还是更多?
-
Gred A, B, C, D, E atau F mengikut skor.按照分数给 A、B、C、D、E 或 F 等。
Betul!答对了! Enam tindakan: lebih daripada dua.六个动作:两个以上。
Belum tepat. Cuba lagi!还不对,再试一次! Kira bilangan tindakan yang mungkin: 1, 2, atau lebih?数一数可能的动作有几个:1 个、2 个,还是更多?
-
Bidak catur Cina (兵/卒): jika sudah menyeberang sungai, ia boleh bergerak ke depan, kiri atau kanan. Jika belum, ia hanya boleh ke depan.象棋的兵/卒:过了河,就可以向前、向左或向右走。还没过河,就只能向前走。
Betul!答对了! Satu syarat (sudah menyeberang sungai?) dengan dua tindakan.一个条件(过河了吗?)和两个动作。
Belum tepat. Cuba lagi!还不对,再试一次! Kira set tindakan, kerana "depan, kiri atau kanan" ialah satu set tindakan sahaja.数一数有几组动作,因为「向前、向左或向右」只是一组动作。
-
Dividen 4.0%, 3.0%, 2.5% atau 0% mengikut jumlah simpanan. (UASA)按照存款总额,股息是 4.0%、3.0%、2.5% 或 0%。(UASA)
Betul!答对了! Empat tindakan: lebih daripada dua.四个动作:两个以上。
Belum tepat. Cuba lagi!还不对,再试一次! Kira bilangan tindakan yang mungkin: 1, 2, atau lebih?数一数可能的动作有几个:1 个、2 个,还是更多?
-
Jika bateri telefon kurang daripada 20%, paparkan amaran.如果手机电量少于 20%,就显示警告。
Betul!答对了! Satu tindakan sahaja.只有一个动作。
Belum tepat. Cuba lagi!还不对,再试一次! Jika bateri 50%, adakah apa-apa dibuat?如果电量是 50%,会做什么吗?
🌟 Tahniah! Semua betul pada cubaan pertama.恭喜!全部第一次就答对了。
✅ Semua betul! Ulang kaji soalan yang perlu dicuba lebih sekali:全部答对了!复习一下要试不止一次的题:
🤔 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"。输出是什么?
- "Tidak" = "Ya"? → Tidak"Tidak" = "Ya"? → 否(Tidak)
- Harga kekal 8.价钱还是 8。
✅ Jawapan答案: RM8
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Semak syarat.检查条件。
- Syarat Tidak, jadi langkah TAMBAH dilangkau.条件是否,所以跳过「加」的步骤。
- Pilihan tunggal: jika syarat Tidak, tiada tindakan dilakukan.单一选择:如果条件是否,就什么都不做。
❓ JIKA markah > 40, PAPARKAN "Lulus". JIKA TIDAK, PAPARKAN "Gagal". Apakah output jika markah = 40?如果分数 > 40,显示「Lulus」。否则,显示「Gagal」。如果分数 = 40,输出是什么?
- 40 > 40? → Tidak
- PAPARKAN "Gagal"
✅ Jawapan答案: Gagal
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Baca simbol dengan teliti. > bermaksud lebih besar daripada.仔细看符号。> 的意思是「大于」。
- Ikut anak panah Tidak.沿着 Tidak 的箭头走。
- > tidak termasuk 40, tetapi ≥ (lebih besar atau sama dengan) termasuk 40.> 不包括 40,但是 ≥(大于或等于)包括 40。
❓ Buku teks: JIKA skor ≥ 80, Gred A. JIKA skor ≥ 70, Gred B. JIKA skor ≥ 60, Gred C. … JIKA TIDAK, Gred F. Apakah gred bagi skor 72?课本:如果分数 ≥ 80,A 等。如果分数 ≥ 70,B 等。如果分数 ≥ 60,C 等。……否则 F 等。72 分是什么等级?
- 72 ≥ 80? → Tidak
- 72 ≥ 70? → Ya
- Gred ialah B等级是 B
✅ Jawapan答案: Gred BB 等
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Semak syarat pertama.检查第一个条件。
- Tidak, jadi semak syarat kedua.否,所以检查第二个条件。
- Ya! Gred B. Syarat yang lain tidak disemak lagi.是!B 等。其他的条件不再检查。
- Dalam pelbagai pilihan, sebaik sahaja satu syarat Ya, syarat yang lain dilangkau.在多重选择里,只要有一个条件是「是」,其他条件就跳过。
❓ JIKA undi ≥ 1 000 000, PAPARKAN "Platinum". JIKA undi ≥ 500 000, PAPARKAN "Emas". JIKA TIDAK, PAPARKAN "Perak". Lagu kegemaran awak dapat 750 000 undi. Apakah output?如果票数 ≥ 1 000 000,显示「Platinum」(白金)。如果票数 ≥ 500 000,显示「Emas」(金)。否则显示「Perak」(银)。你最喜欢的歌得到 750 000 票。输出是什么?
- 750 000 ≥ 1 000 000? → Tidak
- 750 000 ≥ 500 000? → Ya
✅ Jawapan答案: Emas
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Semak syarat pertama.检查第一个条件。
- Semak syarat kedua.检查第二个条件。
- Ada tiga output yang mungkin, jadi ini struktur kawalan pelbagai pilihan.有三种可能的输出,所以这是多重选择控制结构。
❓ JIKA skor ≥ 40, Gred E. JIKA skor ≥ 80, Gred A. JIKA TIDAK, Gred F. Ali mendapat skor 90. Apakah gred yang dipaparkan? Adakah betul?如果分数 ≥ 40,E 等。如果分数 ≥ 80,A 等。否则 F 等。阿里考到 90 分。会显示什么等级?对吗?
- 90 ≥ 40? → Ya → Gred E
- Ali patut dapat A, tetapi algoritma memberi E.阿里应该得 A,但算法给了 E。
✅ Jawapan答案: Gred E. Ini salah (ralat logik).E 等。这是错的(逻辑错误)。
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Semak syarat pertama.检查第一个条件。
- Ini satu rantai pelbagai pilihan: syarat seterusnya disemak hanya jika syarat sebelumnya Tidak. Syarat pertama sudah Ya, jadi "skor ≥ 80" tidak pernah disemak!这是一条多重选择的「链」:只有前一个条件是「否」,才会检查下一个条件。第一个条件已经是「是」,所以「分数 ≥ 80」永远不会被检查!
- Semak syarat dari nilai yang paling besar dahulu: ≥ 80, kemudian ≥ 70, dan seterusnya.要从最大的数值开始检查:先 ≥ 80,再 ≥ 70,依此类推。
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?这个算法的流程图要怎么画?
Pseudokod伪代码
- MULA
- SETKAN pembilang kepada 1
- UNTUK pembilang = 1 HINGGA n
- LAKSANAKAN Tindakan A
- TAMBAH 1 kepada pembilang
- TAMAT
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- "MULA": guna simbol terminal (bujur) untuk MULA atau TAMAT.「MULA」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。
- "Setkan pembilang kepada 1": ini proses, jadi guna segi empat tepat.「Setkan pembilang kepada 1」:这是处理(过程),所以用长方形。
- "Pembilang ≤ n?": ini pilihan (syarat), jadi guna bentuk berlian. Ia mesti ada dua anak panah keluar: Ya dan Tidak.「Pembilang ≤ n?」:这是选择(条件),所以用菱形。它一定有两个出去的箭头:Ya(是)和 Tidak(否)。
- Anak panah "Ya" → "Tindakan A": ini proses, jadi guna segi empat tepat.Anak panah "Ya" → 「Tindakan A」:这是处理(过程),所以用长方形。
- "Tambah nilai pembilang sebanyak 1": ini proses, jadi guna segi empat tepat.「Tambah nilai pembilang sebanyak 1」:这是处理(过程),所以用长方形。
- 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。
❓ Bagaimanakah kita melukis carta alir bagi algoritma ini?这个算法的流程图要怎么画?
Pseudokod伪代码
- MULA
- SELAGI memenuhi syarat
- LAKSANAKAN Tindakan
- TAMAT SELAGI
- TAMAT
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- "MULA": guna simbol terminal (bujur) untuk MULA atau TAMAT.「MULA」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。
- "Memenuhi syarat?": ini pilihan (syarat), jadi guna bentuk berlian. Ia mesti ada dua anak panah keluar: Ya dan Tidak.「Memenuhi syarat?」:这是选择(条件),所以用菱形。它一定有两个出去的箭头:Ya(是)和 Tidak(否)。
- Anak panah "Ya" → "Tindakan": ini proses, jadi guna segi empat tepat.Anak panah "Ya" → 「Tindakan」:这是处理(过程),所以用长方形。
- Anak panah "Tidak" → "TAMAT": guna simbol terminal (bujur) untuk MULA atau TAMAT. Syarat diuji DAHULU. Ya → Tindakan, kemudian anak panah kembali ke atas berlian. Tidak → TAMAT. Jika Tidak dari awal, Tindakan tidak dibuat langsung.Anak panah "Tidak" → 「TAMAT」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。先测试条件。Ya → 做动作,箭头再回到菱形上面。Tidak → TAMAT。如果一开始就是 Tidak,动作一次也不做。
❓ Bagaimanakah kita melukis carta alir bagi algoritma ini?这个算法的流程图要怎么画?
Pseudokod伪代码
- MULA
- ULANG
- LAKSANAKAN Tindakan
- SEHINGGA memenuhi syarat
- TAMAT
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- "MULA": guna simbol terminal (bujur) untuk MULA atau TAMAT.「MULA」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。
- Anak panah "Tidak" → "Tindakan": ini proses, jadi guna segi empat tepat.Anak panah "Tidak" → 「Tindakan」:这是处理(过程),所以用长方形。
- "Memenuhi syarat?": ini pilihan (syarat), jadi guna bentuk berlian. Ia mesti ada dua anak panah keluar: Ya dan Tidak.「Memenuhi syarat?」:这是选择(条件),所以用菱形。它一定有两个出去的箭头:Ya(是)和 Tidak(否)。
- Anak panah "Ya" → "TAMAT": guna simbol terminal (bujur) untuk MULA atau TAMAT. Tindakan DAHULU, syarat kemudian. Tidak → kembali ke Tindakan. Ya → TAMAT. Jadi Tindakan dibuat sekurang-kurangnya sekali.Anak panah "Ya" → 「TAMAT」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。先做动作,后测试条件。Tidak → 回到动作。Ya → 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
-
Ada kotak "Setkan pembilang kepada 1" dan "Tambah nilai pembilang sebanyak 1".有「把计数器设为 1」和「计数器加 1」的方框。
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Templat yang mana menggunakan pembilang?哪一个模板用到计数器?
-
Berlian "Memenuhi syarat?" di atas. Ya → Tindakan, dan anak panah kembali ke atas berlian.「符合条件吗?」的菱形在上面。Ya → 动作,箭头再回到菱形上面。
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Di manakah berlian: sebelum atau selepas Tindakan?菱形在哪里:动作之前还是之后?
-
Kotak Tindakan di atas, berlian di bawah. Tidak → kembali ke Tindakan.动作的方框在上面,菱形在下面。Tidak → 回到动作。
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Templat yang mana membuat Tindakan dahulu, kemudian baru menguji?哪一个模板先做动作,然后才测试?
-
Jika syarat Tidak dari awal, Tindakan tidak dibuat langsung.如果一开始条件就是 Tidak,动作一次也不做。
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Templat yang mana menguji syarat sebelum Tindakan?哪一个模板在动作之前测试条件?
-
Tindakan dibuat sekurang-kurangnya sekali.动作至少做一次。
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Jika syarat diuji selepas Tindakan, berapa kali Tindakan pasti dibuat?如果在动作之后才测试,动作一定会做几次?
🌟 Tahniah! Semua betul pada cubaan pertama.恭喜!全部第一次就答对了。
✅ Semua betul! Ulang kaji soalan yang perlu dicuba lebih 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」会喊几次?最后计数器的值是多少?
Pseudokod伪代码
- MULA
- BERDIRI tegak
- SETKAN pembilang kepada 1
- UNTUK pembilang = 1 HINGGA 3
- LAUNGKAN "Merdeka"
- TAMBAH 1 kepada pembilang
- 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 |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Berdiri tegak.Berdiri tegak。
- Setkan pembilang kepada 1. Sekarang pembilang = 1.Setkan pembilang kepada 1。现在 pembilang = 1。
- Pembilang ≤ 3? 1 ≤ 3 → Ya. Ikut anak panah "Ya".Pembilang ≤ 3? 1 ≤ 3 → 是(Ya)。沿着「Ya」的箭头走。
- Paparkan di skrin: Merdeka!在屏幕上显示:Merdeka!
- Tambah 1 kepada pembilang. Sekarang pembilang = 2.Tambah 1 kepada pembilang。现在 pembilang = 2。
- Pembilang ≤ 3? 2 ≤ 3 → Ya. Ikut anak panah "Ya".Pembilang ≤ 3? 2 ≤ 3 → 是(Ya)。沿着「Ya」的箭头走。
- Paparkan di skrin: Merdeka!在屏幕上显示:Merdeka!
- Tambah 1 kepada pembilang. Sekarang pembilang = 3.Tambah 1 kepada pembilang。现在 pembilang = 3。
- Pembilang ≤ 3? 3 ≤ 3 → Ya. Ikut anak panah "Ya".Pembilang ≤ 3? 3 ≤ 3 → 是(Ya)。沿着「Ya」的箭头走。
- Paparkan di skrin: Merdeka!在屏幕上显示:Merdeka!
- Tambah 1 kepada pembilang. Sekarang pembilang = 4.Tambah 1 kepada pembilang。现在 pembilang = 4。
- Pembilang ≤ 3? 4 ≤ 3 → Tidak. Ikut anak panah "Tidak".Pembilang ≤ 3? 4 ≤ 3 → 否(Tidak)。沿着「Tidak」的箭头走。
- 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。
❓ Apakah output algoritma ini jika simpanan = 0 (album RM45, simpan RM15 seminggu)?如果 simpanan(存款)= 0(专辑 RM45,每星期存 RM15),这个算法的输出是什么?
Pseudokod伪代码
- MULA
- MASUKKAN simpanan
- SETKAN minggu kepada 0
- SELAGI simpanan < 45
- TAMBAH 15 kepada simpanan
- TAMBAH 1 kepada minggu
- TAMAT SELAGI
- PAPARKAN minggu
- TAMAT
Jadual semakan meja (sampel data: simpanan = 0 (album RM45, simpan RM15 seminggu))桌面检查表(样本数据:simpanan(存款)= 0(专辑 RM45,每星期存 RM15))
| Simbol符号 | simpanan | minggu | Output |
|---|---|---|---|
| Masukkan simpanan | 0 | ||
| Setkan minggu kepada 0 | 0 | 0 | |
| Simpanan < 45? → Ya | 0 | 0 | |
| Tambah 15 kepada simpanan | 15 | 0 | |
| Tambah 1 kepada minggu | 15 | 1 | |
| Simpanan < 45? → Ya | 15 | 1 | |
| Tambah 15 kepada simpanan | 30 | 1 | |
| Tambah 1 kepada minggu | 30 | 2 | |
| Simpanan < 45? → Ya | 30 | 2 | |
| Tambah 15 kepada simpanan | 45 | 2 | |
| Tambah 1 kepada minggu | 45 | 3 | |
| Simpanan < 45? → Tidak | 45 | 3 | |
| Paparkan minggu | 45 | 3 | 3 minggu |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Masukkan simpanan: 0.输入 simpanan:0。
- Setkan minggu kepada 0. Sekarang minggu = 0.Setkan minggu kepada 0。现在 minggu = 0。
- Simpanan < 45? 0 < 45 → Ya. Ikut anak panah "Ya".Simpanan < 45? 0 < 45 → 是(Ya)。沿着「Ya」的箭头走。
- Tambah 15 kepada simpanan. Sekarang simpanan = 15.Tambah 15 kepada simpanan。现在 simpanan = 15。
- Tambah 1 kepada minggu. Sekarang minggu = 1.Tambah 1 kepada minggu。现在 minggu = 1。
- Simpanan < 45? 15 < 45 → Ya. Ikut anak panah "Ya".Simpanan < 45? 15 < 45 → 是(Ya)。沿着「Ya」的箭头走。
- Tambah 15 kepada simpanan. Sekarang simpanan = 30.Tambah 15 kepada simpanan。现在 simpanan = 30。
- Tambah 1 kepada minggu. Sekarang minggu = 2.Tambah 1 kepada minggu。现在 minggu = 2。
- Simpanan < 45? 30 < 45 → Ya. Ikut anak panah "Ya".Simpanan < 45? 30 < 45 → 是(Ya)。沿着「Ya」的箭头走。
- Tambah 15 kepada simpanan. Sekarang simpanan = 45.Tambah 15 kepada simpanan。现在 simpanan = 45。
- Tambah 1 kepada minggu. Sekarang minggu = 3.Tambah 1 kepada minggu。现在 minggu = 3。
- Simpanan < 45? 45 < 45 → Tidak. Ikut anak panah "Tidak".Simpanan < 45? 45 < 45 → 否(Tidak)。沿着「Tidak」的箭头走。
- Paparkan di skrin: 3 minggu在屏幕上显示:3 minggu
- TAMAT: algoritma berhenti. Output: 3 minggu. Syarat diuji di atas, sebelum setiap ulangan.TAMAT:算法结束。输出:3 minggu。条件在上面测试,每次重复之前。
❓ Apakah output algoritma ini jika simpanan = 50 (duit raya)?如果 simpanan(存款)= 50(红包钱),这个算法的输出是什么?
Pseudokod伪代码
- MULA
- MASUKKAN simpanan
- SETKAN minggu kepada 0
- SELAGI simpanan < 45
- TAMBAH 15 kepada simpanan
- TAMBAH 1 kepada minggu
- TAMAT SELAGI
- PAPARKAN minggu
- TAMAT
Jadual semakan meja (sampel data: simpanan = 50 (duit raya))桌面检查表(样本数据:simpanan(存款)= 50(红包钱))
| Simbol符号 | simpanan | minggu | Output |
|---|---|---|---|
| Masukkan simpanan | 50 | ||
| Setkan minggu kepada 0 | 50 | 0 | |
| Simpanan < 45? → Tidak | 50 | 0 | |
| Paparkan minggu | 50 | 0 | 0 minggu |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Masukkan simpanan: 50.输入 simpanan:50。
- Setkan minggu kepada 0. Sekarang minggu = 0.Setkan minggu kepada 0。现在 minggu = 0。
- Simpanan < 45? 50 < 45 → Tidak. Ikut anak panah "Tidak".Simpanan < 45? 50 < 45 → 否(Tidak)。沿着「Tidak」的箭头走。
- Paparkan di skrin: 0 minggu在屏幕上显示:0 minggu
- TAMAT: algoritma berhenti. Output: 0 minggu. Syarat Tidak dari awal, jadi gelung SELAGI berjalan 0 kali.TAMAT:算法结束。输出:0 minggu。一开始条件就是「否」,所以 SELAGI 循环执行 0 次。
❓ Apakah output algoritma ini jika simpanan = 0?如果 simpanan(存款)= 0,这个算法的输出是什么?
Pseudokod伪代码
- MULA
- MASUKKAN simpanan
- SETKAN minggu kepada 0
- ULANG
- TAMBAH 15 kepada simpanan
- TAMBAH 1 kepada minggu
- SEHINGGA simpanan ≥ 45
- PAPARKAN minggu
- TAMAT
Jadual semakan meja (sampel data: simpanan = 0)桌面检查表(样本数据:simpanan(存款)= 0)
| Simbol符号 | simpanan | minggu | Output |
|---|---|---|---|
| Masukkan simpanan | 0 | ||
| Setkan minggu kepada 0 | 0 | 0 | |
| Tambah 15 kepada simpanan | 15 | 0 | |
| Tambah 1 kepada minggu | 15 | 1 | |
| Simpanan ≥ 45? → Tidak | 15 | 1 | |
| Tambah 15 kepada simpanan | 30 | 1 | |
| Tambah 1 kepada minggu | 30 | 2 | |
| Simpanan ≥ 45? → Tidak | 30 | 2 | |
| Tambah 15 kepada simpanan | 45 | 2 | |
| Tambah 1 kepada minggu | 45 | 3 | |
| Simpanan ≥ 45? → Ya | 45 | 3 | |
| Paparkan minggu | 45 | 3 | 3 minggu |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Masukkan simpanan: 0.输入 simpanan:0。
- Setkan minggu kepada 0. Sekarang minggu = 0.Setkan minggu kepada 0。现在 minggu = 0。
- Tambah 15 kepada simpanan. Sekarang simpanan = 15.Tambah 15 kepada simpanan。现在 simpanan = 15。
- Tambah 1 kepada minggu. Sekarang minggu = 1.Tambah 1 kepada minggu。现在 minggu = 1。
- Simpanan ≥ 45? 15 ≥ 45 → Tidak. Ikut anak panah "Tidak".Simpanan ≥ 45? 15 ≥ 45 → 否(Tidak)。沿着「Tidak」的箭头走。
- Tambah 15 kepada simpanan. Sekarang simpanan = 30.Tambah 15 kepada simpanan。现在 simpanan = 30。
- Tambah 1 kepada minggu. Sekarang minggu = 2.Tambah 1 kepada minggu。现在 minggu = 2。
- Simpanan ≥ 45? 30 ≥ 45 → Tidak. Ikut anak panah "Tidak".Simpanan ≥ 45? 30 ≥ 45 → 否(Tidak)。沿着「Tidak」的箭头走。
- Tambah 15 kepada simpanan. Sekarang simpanan = 45.Tambah 15 kepada simpanan。现在 simpanan = 45。
- Tambah 1 kepada minggu. Sekarang minggu = 3.Tambah 1 kepada minggu。现在 minggu = 3。
- Simpanan ≥ 45? 45 ≥ 45 → Ya. Ikut anak panah "Ya".Simpanan ≥ 45? 45 ≥ 45 → 是(Ya)。沿着「Ya」的箭头走。
- Paparkan di skrin: 3 minggu在屏幕上显示:3 minggu
- TAMAT: algoritma berhenti. Output: 3 minggu. Syarat diuji di bawah, selepas langkah. Syaratnya bertentangan dengan SELAGI: "≥ 45" bukan "< 45".TAMAT:算法结束。输出:3 minggu。条件在下面测试,在步骤之后。它的条件和 SELAGI 相反:「≥ 45」而不是「< 45」。
❓ Apakah output algoritma ini jika simpanan = 50?如果 simpanan(存款)= 50,这个算法的输出是什么?
Pseudokod伪代码
- MULA
- MASUKKAN simpanan
- SETKAN minggu kepada 0
- ULANG
- TAMBAH 15 kepada simpanan
- TAMBAH 1 kepada minggu
- SEHINGGA simpanan ≥ 45
- PAPARKAN minggu
- TAMAT
Jadual semakan meja (sampel data: simpanan = 50)桌面检查表(样本数据:simpanan(存款)= 50)
| Simbol符号 | simpanan | minggu | Output |
|---|---|---|---|
| Masukkan simpanan | 50 | ||
| Setkan minggu kepada 0 | 50 | 0 | |
| Tambah 15 kepada simpanan | 65 | 0 | |
| Tambah 1 kepada minggu | 65 | 1 | |
| Simpanan ≥ 45? → Ya | 65 | 1 | |
| Paparkan minggu | 65 | 1 | 1 minggu |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Masukkan simpanan: 50.输入 simpanan:50。
- Setkan minggu kepada 0. Sekarang minggu = 0.Setkan minggu kepada 0。现在 minggu = 0。
- Tambah 15 kepada simpanan. Sekarang simpanan = 65.Tambah 15 kepada simpanan。现在 simpanan = 65。
- Tambah 1 kepada minggu. Sekarang minggu = 1.Tambah 1 kepada minggu。现在 minggu = 1。
- Simpanan ≥ 45? 65 ≥ 45 → Ya. Ikut anak panah "Ya".Simpanan ≥ 45? 65 ≥ 45 → 是(Ya)。沿着「Ya」的箭头走。
- Paparkan di skrin: 1 minggu在屏幕上显示:1 minggu
- TAMAT: algoritma berhenti. Output: 1 minggu. Walaupun sudah cukup duit, gelung tetap berjalan sekali. ULANG–SEHINGGA sentiasa sekurang-kurangnya sekali.TAMAT:算法结束。输出:1 minggu。虽然钱已经够了,循环还是执行了一次。ULANG–SEHINGGA 一定至少执行一次。
❓ Apakah output algoritma ini jika kata laluan yang ditaip: abc, ask123, ASK123?如果 输入的密码:abc、ask123、ASK123,这个算法的输出是什么?
Pseudokod伪代码
- MULA
- ULANG
- MASUKKAN kata_laluan
- SEHINGGA kata_laluan = "ASK123"
- PAPARKAN "Selamat datang!"
- TAMAT
Jadual semakan meja (sampel data: kata laluan yang ditaip: abc, ask123, ASK123)桌面检查表(样本数据:输入的密码:abc、ask123、ASK123)
| Simbol符号 | kata_laluan | Output |
|---|---|---|
| Masukkan kata_laluan | abc | |
| kata_laluan = "ASK123"? → Tidak | abc | |
| Masukkan kata_laluan | ask123 | |
| kata_laluan = "ASK123"? → Tidak | ask123 | |
| Masukkan kata_laluan | ASK123 | |
| kata_laluan = "ASK123"? → Ya | ASK123 | |
| Paparkan "Selamat datang!" | ASK123 | Selamat datang! |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Masukkan kata_laluan: abc.输入 kata_laluan:abc。
- kata_laluan = "ASK123"? "abc" = "ASK123" → Tidak. Ikut anak panah "Tidak".kata_laluan = "ASK123"? "abc" = "ASK123" → 否(Tidak)。沿着「Tidak」的箭头走。
- Masukkan kata_laluan: ask123.输入 kata_laluan:ask123。
- kata_laluan = "ASK123"? "ask123" = "ASK123" → Tidak. Ikut anak panah "Tidak".kata_laluan = "ASK123"? "ask123" = "ASK123" → 否(Tidak)。沿着「Tidak」的箭头走。
- Masukkan kata_laluan: ASK123.输入 kata_laluan:ASK123。
- kata_laluan = "ASK123"? "ASK123" = "ASK123" → Ya. Ikut anak panah "Ya".kata_laluan = "ASK123"? "ASK123" = "ASK123" → 是(Ya)。沿着「Ya」的箭头走。
- Paparkan di skrin: Selamat datang!在屏幕上显示:Selamat datang!
- TAMAT: algoritma berhenti. Output: Selamat datang!. "ask123" tidak sama dengan "ASK123": huruf besar dan huruf kecil berbeza.TAMAT:算法结束。输出:Selamat datang!。「ask123」和「ASK123」不一样:大写和小写是不同的。
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
-
Melaksanakan satu langkah atau satu set langkah selagi satu syarat yang diuji adalah benar. (UASA)只要测试的条件成立,就执行一个或一组步骤。(UASA)
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Cari kata kunci dalam ayat: "selagi", "pembilang" atau "sehingga"?在句子里找关键词:「selagi」(只要)、「pembilang」(计数器)还是「sehingga」(直到)?
-
Melaksanakan satu langkah atau satu set langkah berdasarkan pembilang yang telah ditetapkan. (UASA)按照已经设定好的计数器,执行一个或一组步骤。(UASA)
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Cari kata kunci dalam ayat: "selagi", "pembilang" atau "sehingga"?在句子里找关键词:「selagi」(只要)、「pembilang」(计数器)还是「sehingga」(直到)?
-
Melaksanakan satu langkah atau satu set langkah secara berulang-ulang sehingga syarat yang diuji adalah benar. (UASA)一直重复执行一个或一组步骤,直到测试的条件成立。(UASA)
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Cari kata kunci dalam ayat: "selagi", "pembilang" atau "sehingga"?在句子里找关键词:「selagi」(只要)、「pembilang」(计数器)还是「sehingga」(直到)?
-
Syarat akan diuji sebelum langkah-langkah dalam gelung dilaksanakan. (UASA)在执行循环里的步骤之前先测试条件。(UASA)
Betul!答对了! SELAGI menguji dahulu. ULANG–SEHINGGA menguji selepas.SELAGI 先测试,ULANG–SEHINGGA 后测试。
Belum tepat. Cuba lagi!还不对,再试一次! Gelung mana yang menguji syarat dahulu, sebelum langkah?哪一种循环先测试条件,再做步骤?
-
SEGAK: bangkit tubi, lakukan 10 kali.SEGAK 体能测试:仰卧起坐,做 10 次。
Betul!答对了! Bilangan tetap: 10 kali.次数固定:10 次。
Belum tepat. Cuba lagi!还不对,再试一次! Adakah bilangan ulangan sudah diketahui?重复的次数已经知道了吗?
-
SEGAK: naik turun bangku, seberapa banyak kali yang boleh, selagi masih larat.SEGAK:踏台阶,能做几次就做几次,只要还有力气。
Betul!答对了! Bilangan tidak diketahui, dan "masih larat?" disemak dahulu.次数不知道,而且先检查「还有力气吗?」。
Belum tepat. Cuba lagi!还不对,再试一次! Bilakah "masih larat?" disemak: sebelum atau selepas setiap kali?什么时候检查「还有力气吗?」:每次之前还是之后?
-
SEGAK: tekan tubi, seberapa banyak kali yang boleh, tetapi sekurang-kurangnya sekali.SEGAK:俯卧撑,能做几次就做几次,但至少做一次。
Betul!答对了! "Sekurang-kurangnya sekali" → ULANG–SEHINGGA.「至少一次」→ ULANG–SEHINGGA。
Belum tepat. Cuba lagi!还不对,再试一次! Gelung mana yang pasti berjalan sekurang-kurangnya sekali?哪一种循环一定至少执行一次?
🌟 Tahniah! Semua betul pada cubaan pertama.恭喜!全部第一次就答对了。
✅ Semua betul! Ulang kaji soalan yang perlu dicuba lebih sekali:全部答对了!复习一下要试不止一次的题:
✋ Cuba试试看
Susun pseudokod gelung排好循环的伪代码
Seret setiap baris ke tempat yang betul, kemudian tekan Semak.把每一行拖到正确的位置,然后按「检查」。
- ⠿ SETKAN pembilang kepada 1
- ⠿ UNTUK pembilang = 1 HINGGA 3
- ⠿ LAUNGKAN "Kita Boleh"
- ⠿ TAMBAH 1 kepada pembilang
Betul! Semua langkah mengikut turutan.答对了!所有步骤的顺序都正确。
Langkah bertanda ✗ di tempat yang salah. Cuba lagi!有 ✗ 的步骤放错位置了。再试一次!
- ⠿ SETKAN n kepada 1
- ⠿ SELAGI n ≤ 3
- ⠿ PAPARKAN n
- ⠿ TAMBAH 1 kepada n
- ⠿ TAMAT SELAGI
Betul! Semua langkah mengikut turutan.答对了!所有步骤的顺序都正确。
Langkah bertanda ✗ di tempat yang salah. Cuba lagi!有 ✗ 的步骤放错位置了。再试一次!
- ⠿ ULANG
- ⠿ MASUKKAN kata_laluan
- ⠿ SEHINGGA kata_laluan = "ASK123"
- ⠿ PAPARKAN "Selamat datang!"
Betul! Semua langkah mengikut turutan.答对了!所有步骤的顺序都正确。
Langkah bertanda ✗ di tempat yang salah. Cuba lagi!有 ✗ 的步骤放错位置了。再试一次!
🎯 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」会显示几次?
- pembilang = 1, 2, 3, 4, 5 → setiap satu memaparkan "Hai"pembilang = 1、2、3、4、5 → 每一次都显示「Hai」
- Gelung berhenti.循环停止。
✅ Jawapan答案: 5 kali5 次
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Senaraikan nilai pembilang.列出计数器的值。
- Apabila pembilang = 6, syarat pembilang ≤ 5 menjadi Tidak.当 pembilang = 6,条件 pembilang ≤ 5 变成「否」。
- UNTUK digunakan apabila bilangan ulangan sudah diketahui.当重复的次数已经知道,就用 UNTUK。
❓ Algoritma "Merdeka" menetapkan pembilang kepada 1 dan menyemak pembilang ≤ 3. Jika pembilang bermula dengan 2, apakah syarat baharu supaya "Merdeka" masih dilaungkan 3 kali?「Merdeka」算法把计数器设为 1,检查 pembilang ≤ 3。如果计数器从 2 开始,新的条件要怎么写,才能还是喊 3 次「Merdeka」?
- pembilang = 2, 3, 4
✅ Jawapan答案: pembilang ≤ 4
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Kita mahu 3 nilai pembilang, bermula dari 2.我们要计数器有 3 个值,从 2 开始。
- Jika nilai permulaan pembilang berubah, syaratnya juga mesti berubah.如果计数器的起始值改了,条件也一定要改。
❓ Dalam mahjong 3 pemain, pemain mengambil satu jubin dan membuang satu jubin, berulang-ulang sehingga seseorang menang. Setiap pemain bermain sekurang-kurangnya sekali. Struktur kawalan ulangan yang manakah sesuai?三人麻将里,玩家摸一张牌、打一张牌,一直重复到有人赢为止。每个玩家至少会玩一次。哪一种重复控制结构最适合?
- Tidak. Jadi bukan UNTUK.不知道。所以不是 UNTUK。
- "sehingga" + "sekurang-kurangnya sekali"「直到」+「至少一次」
✅ Jawapan答案: ULANG–SEHINGGA
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Adakah bilangan pusingan diketahui?知道要玩几轮吗?
- Langkah dibuat dahulu, kemudian baru disemak: sudah menang?先做步骤,然后才检查:赢了吗?
- ULANG–SEHINGGA menguji syarat selepas langkah, jadi langkah dibuat sekurang-kurangnya sekali.ULANG–SEHINGGA 在步骤之后才检查条件,所以步骤至少做一次。
❓ SELAGI masih ada tiket, jual satu tiket. TAMAT SELAGI. Pada pagi itu, tiket sudah habis sebelum kaunter dibuka. Berapa tiket yang dijual?只要还有门票,就卖一张。结束只要。那天早上,柜台还没开门票就卖完了。卖了几张票?
- Masih ada tiket? → Tidak还有门票吗?→ 否(Tidak)
- Gelung berjalan 0 kali.循环执行了 0 次。
✅ Jawapan答案: 0 tiket0 张
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- SELAGI menguji syarat dahulu.SELAGI 先检查条件。
- Syarat Tidak dari awal, jadi langkah di dalam gelung tidak dibuat langsung.一开始条件就是「否」,所以循环里的步骤一次也不做。
- SELAGI boleh berjalan 0 kali. ULANG–SEHINGGA tidak boleh.SELAGI 可以执行 0 次,ULANG–SEHINGGA 不可以。
❓ SETKAN n kepada 0. SELAGI n < 3: PAPARKAN n, TAMBAH 1 kepada n. TAMAT SELAGI. Apakah output?把 n 设为 0。只要 n < 3:显示 n,n 加 1。结束只要。输出是什么?
-
n n < 3? Output 0 Ya 0 1 Ya 1 2 Ya 2 3 Tidak —
✅ Jawapan答案: 0, 1, 2
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Buat semakan meja: catat n setiap kali.做桌面检查:每一次都记下 n。
- Nombor 3 tidak dipaparkan, kerana 3 < 3 ialah Tidak.3 不会显示,因为 3 < 3 是「否」。
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 = 30 | integer | Nombor bulat整数 |
| gaji = 1500.60 | float | Nombor perpuluhan小数 |
| sudahBayar = False | boolean | True atau False sahaja只有 True 或 False |
| gred = 'A' | string | Dalam Python, satu aksara juga string. (Sesetengah bahasa lain ada jenis khas untuk satu aksara, iaitu char.)在 Python 里,一个字符也是 string。(有些别的程序语言有专门放一个字符的类型,叫 char。) |
| nama = "Siti Aisyah" | string | Gabungan 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_1 | 1Pelajar |
| Boleh ada digit 0 hingga 9 selepas huruf.字母后面可以有 0 到 9 的数字。 | nombor1, user2 | 1nombor |
| Tiada ruang kosong (space).不可以有空格。 | NamaPelajar | Nama 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
-
markah1
Betul!答对了! Bermula dengan huruf, kemudian digit.用字母开头,后面是数字。
Belum tepat. Cuba lagi!还不对,再试一次! Semak setiap peraturan: huruf pertama, ruang kosong, simbol dan kata kunci.检查每一条规则:第一个字、空格、符号和关键词。
-
1markah
Betul!答对了! Tidak boleh bermula dengan digit.不可以用数字开头。
Belum tepat. Cuba lagi!还不对,再试一次! Lihat aksara pertama: huruf atau digit?看第一个字符:是字母还是数字?
-
jumlah_harga
Betul!答对了! Underscore (_) dibenarkan.可以用下划线(_)。
Belum tepat. Cuba lagi!还不对,再试一次! Simbol manakah yang dibenarkan dalam nama pemboleh ubah?变量名称里可以用哪一个符号?
-
jumlah harga
Betul!答对了! Ada ruang kosong.有空格。
Belum tepat. Cuba lagi!还不对,再试一次! Lihat di antara dua perkataan itu.看看两个词的中间。
-
harga$
Betul!答对了! Aksara istimewa $ tidak dibenarkan.不可以用特殊符号 $。
Belum tepat. Cuba lagi!还不对,再试一次! Adakah aksara terakhir itu huruf, digit atau _?最后一个字符是字母、数字或 _ 吗?
-
while
Betul!答对了! while ialah kata kunci atur cara.while 是程序的关键词。
Belum tepat. Cuba lagi!还不对,再试一次! Ingat peraturan terakhir dalam jadual: kata kunci atur cara.记得表里最后一条规则:程序的关键词。
-
NamaIdola
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Semak setiap peraturan: huruf pertama, ruang kosong, simbol dan kata kunci.检查每一条规则:第一个字、空格、符号和关键词。
-
kata-laluan
Betul!答对了! Tanda - tidak dibenarkan. Tulis kata_laluan.不可以用「-」。要写 kata_laluan。
Belum tepat. Cuba lagi!还不对,再试一次! Adakah tanda di antara "kata" dan "laluan" itu _?「kata」和「laluan」中间的符号是 _ 吗?
🌟 Tahniah! Semua betul pada cubaan pertama.恭喜!全部第一次就答对了。
✅ Semua betul! Ulang kaji soalan yang perlu dicuba lebih sekali:全部答对了!复习一下要试不止一次的题:
✋ Cuba试试看
Apakah jenis datanya?是什么数据类型?
Pilih jenis data bagi setiap nilai.为每个值选出数据类型。
Jawapan betul答对: 0 / 6
-
bilPelajar = 30
Betul!答对了! Nombor bulat.整数。
Belum tepat. Cuba lagi!还不对,再试一次! Nombor ini ada titik perpuluhan atau tidak?这个数字有没有小数点?
-
gaji = 1500.60
Betul!答对了! Nombor perpuluhan.小数。
Belum tepat. Cuba lagi!还不对,再试一次! Nombor ini ada titik perpuluhan atau tidak?这个数字有没有小数点?
-
kumpulan = "BLACKPINK"
Betul!答对了! Teks di dalam tanda petik.引号里面的文字。
Belum tepat. Cuba lagi!还不对,再试一次! Lihat tanda petik di sekeliling nilai itu.看这个值的两边有没有引号。
-
sudahBayar = False
Betul!答对了! Hanya True atau False.只有 True 或 False。
Belum tepat. Cuba lagi!还不对,再试一次! False bukan nombor, dan ia tiada tanda petik.False 不是数字,也没有引号。
-
gred = 'A'
Betul!答对了! Dalam Python, satu aksara di dalam tanda petik juga string.在 Python 里,引号里面的一个字符也是 string。
Belum tepat. Cuba lagi!还不对,再试一次! Lihat tanda petik, walaupun di dalamnya hanya satu huruf.看引号,虽然里面只有一个字母。
-
Pi = 3.142
Betul!答对了! Nombor perpuluhan. Pi ialah pemalar.小数。Pi 是常量。
Belum tepat. Cuba lagi!还不对,再试一次! Pemalar juga ada jenis data, jadi lihat titik dalam nombor itu.常量也有数据类型,所以看这个数字里的点。
🌟 Tahniah! Semua betul pada cubaan pertama.恭喜!全部第一次就答对了。
✅ Semua betul! Ulang kaji soalan yang perlu dicuba lebih sekali:全部答对了!复习一下要试不止一次的题:
| 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
-
5 == 8
Betul!答对了! == bermaksud sama dengan. 5 tidak sama dengan 8.== 的意思是等于。5 不等于 8。
Belum tepat. Cuba lagi!还不对,再试一次! == bertanya: adakah kedua-dua nombor sama?== 问的是:两个数字一样吗?
-
5 != 8
Betul!答对了! != bermaksud tidak sama dengan.!= 的意思是不等于。
Belum tepat. Cuba lagi!还不对,再试一次! != bertanya: adakah kedua-dua nombor TIDAK sama?!= 问的是:两个数字「不」一样吗?
-
5 <> 8
Betul!答对了! Dalam nota cikgu, <> juga bermaksud tidak sama dengan. (Python 3 hanya menerima !=.)在老师的笔记里,<> 也是不等于的意思。(Python 3 只接受 !=。)
Belum tepat. Cuba lagi!还不对,再试一次! <> ialah cara lain menulis !=.<> 是 != 的另一种写法。
-
5 > 8
Betul!答对了! 5 tidak lebih besar daripada 8.5 不比 8 大。
Belum tepat. Cuba lagi!还不对,再试一次! Baca dengan kuat: adakah 5 lebih besar daripada 8?读出来:5 比 8 大吗?
-
5 < 8
Betul!答对了! 5 lebih kecil daripada 8, jadi TRUE.5 比 8 小,所以是 TRUE。
Belum tepat. Cuba lagi!还不对,再试一次! Baca dengan kuat: adakah 5 lebih kecil daripada 8?读出来:5 比 8 小吗?
-
5 >= 8
Betul!答对了! 5 tidak lebih besar, dan tidak sama dengan 8.5 不比 8 大,也不等于 8。
Belum tepat. Cuba lagi!还不对,再试一次! >= betul jika lebih besar ATAU sama, jadi semak kedua-duanya.>= 在「大于」或「等于」时成立,所以两个都要检查。
-
5 <= 8
Betul!答对了! 5 lebih kecil daripada 8, jadi TRUE.5 比 8 小,所以是 TRUE。
Belum tepat. Cuba lagi!还不对,再试一次! <= betul jika lebih kecil ATAU sama, dan satu sudah cukup.<= 在「小于」或「等于」时成立,一个成立就够了。
🌟 Tahniah! Semua betul pada cubaan pertama.恭喜!全部第一次就答对了。
✅ Semua betul! Ulang kaji soalan yang perlu dicuba lebih sekali:全部答对了!复习一下要试不止一次的题:
✋ 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
-
(5 < 2) && (5 > 3)
Betul!答对了! 5 < 2 ialah FALSE. && perlukan semua syarat TRUE, jadi jawapannya FALSE. (Contoh nota cikgu.)5 < 2 是 FALSE。&& 要全部条件 TRUE,所以答案是 FALSE。(老师笔记的例子。)
Belum tepat. Cuba lagi!还不对,再试一次! Semak setiap kurungan dahulu, kemudian ingat && perlukan kedua-dua syarat benar.先检查每个括号,再记住 && 要两个条件都成立。
-
(5 < 2) || (5 > 3)
Betul!答对了! 5 > 3 ialah TRUE. || cukup dengan satu syarat TRUE, jadi jawapannya TRUE. (Contoh nota cikgu.)5 > 3 是 TRUE。|| 只要一个条件 TRUE,所以答案是 TRUE。(老师笔记的例子。)
Belum tepat. Cuba lagi!还不对,再试一次! Semak setiap kurungan dahulu, kemudian ingat || cukup dengan satu syarat benar.先检查每个括号,再记住 || 只要一个条件成立就够了。
-
!(5 < 2)
Betul!答对了! 5 < 2 ialah FALSE, dan ! menterbalikkannya menjadi TRUE. (Contoh nota cikgu.)5 < 2 是 FALSE,! 把它反过来,变成 TRUE。(老师笔记的例子。)
Belum tepat. Cuba lagi!还不对,再试一次! Cari jawapan di dalam kurungan dahulu, kemudian ! menterbalikkannya.先找出括号里的答案,再用 ! 把它反过来。
-
(5 > 2) && (5 > 3)
Betul!答对了! 5 > 2 TRUE dan 5 > 3 TRUE. Kedua-duanya TRUE, jadi && memberi TRUE.5 > 2 是 TRUE,5 > 3 也是 TRUE。两个都是 TRUE,所以 && 得到 TRUE。
Belum tepat. Cuba lagi!还不对,再试一次! Adakah kedua-dua syarat benar?两个条件是不是都成立?
-
(4 > 6) || (2 > 7)
Betul!答对了! 4 > 6 FALSE dan 2 > 7 FALSE. Tiada satu pun yang TRUE, jadi || memberi FALSE.4 > 6 是 FALSE,2 > 7 也是 FALSE。一个 TRUE 都没有,所以 || 得到 FALSE。
Belum tepat. Cuba lagi!还不对,再试一次! || perlukan sekurang-kurangnya satu syarat yang benar: adakah satu pun yang benar?|| 至少要一个条件成立:有没有一个是成立的?
-
!(5 > 3)
Betul!答对了! 5 > 3 ialah TRUE, dan ! menterbalikkannya menjadi FALSE.5 > 3 是 TRUE,! 把它反过来,变成 FALSE。
Belum tepat. Cuba lagi!还不对,再试一次! Adakah 5 > 3 benar, dan apakah yang ! lakukan kepadanya?5 > 3 成立吗?! 会对它做什么?
-
(8 == 8) && (3 > 9)
Betul!答对了! 8 == 8 ialah TRUE, tetapi 3 > 9 FALSE. && perlukan semua TRUE, jadi satu FALSE membuat jawapannya FALSE.8 == 8 是 TRUE,但是 3 > 9 是 FALSE。&& 要全部 TRUE,所以一个 FALSE 就让答案变成 FALSE。
Belum tepat. Cuba lagi!还不对,再试一次! Semak kedua-dua syarat: adakah kedua-duanya benar?检查两个条件:是不是两个都成立?
-
(10 % 2 == 0) && (7 > 3)
Betul!答对了! 10 % 2 = 0 (baki 0), jadi 0 == 0 TRUE. 7 > 3 juga TRUE. Kedua-duanya TRUE, jadi && memberi TRUE.10 % 2 = 0(余数是 0),所以 0 == 0 是 TRUE。7 > 3 也是 TRUE。两个都是 TRUE,所以 && 得到 TRUE。
Belum tepat. Cuba lagi!还不对,再试一次! Kira 10 % 2 dahulu (ingat, % memberi baki).先算 10 % 2(记住,% 给出余数)。
-
(markah >= 40) && (markah < 80), jika markah = 85(markah >= 40) && (markah < 80),如果 markah = 85
Betul!答对了! 85 >= 40 TRUE, tetapi 85 < 80 FALSE. && perlukan semua TRUE, jadi FALSE: 85 bukan dalam julat 40 hingga 79.85 >= 40 是 TRUE,但是 85 < 80 是 FALSE。&& 要全部 TRUE,所以是 FALSE:85 不在 40 到 79 之间。
Belum tepat. Cuba lagi!还不对,再试一次! Gantikan markah dengan 85 dalam kedua-dua syarat dahulu.先把两个条件里的 markah 换成 85。
-
!(markah >= 40), jika markah = 30!(markah >= 40),如果 markah = 30
Betul!答对了! 30 >= 40 ialah FALSE, dan ! menterbalikkannya menjadi TRUE. Jadi syarat ini bertanya: adakah murid itu gagal?30 >= 40 是 FALSE,! 把它反过来,变成 TRUE。所以这个条件问的是:这个学生不及格吗?
Belum tepat. Cuba lagi!还不对,再试一次! Adakah 30 >= 40, dan apakah yang ! lakukan kepada jawapan itu?30 >= 40 吗?! 会对这个答案做什么?
🌟 Tahniah! Semua betul pada cubaan pertama.恭喜!全部第一次就答对了。
✅ Semua betul! Ulang kaji soalan yang perlu dicuba lebih sekali:全部答对了!复习一下要试不止一次的题:
🎯 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 是多少?
- 11 ÷ 2 = 5, baki 111 ÷ 2 = 5,余 1
- 11 // 2 = 5 · 11 % 2 = 1
✅ Jawapan答案: 11 % 2 = 1, 11 // 2 = 5
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Bahagi 11 dengan 2 seperti biasa.像平常一样,用 11 除以 2。
- // memberi hasil bahagi tanpa baki. % memberi bakinya.// 给出没有余数的商。% 给出余数。
- Modulus (%) = baki. Floor division (//) = hasil bahagi tanpa baki.取余(%)= 余数。整除(//)= 没有余数的商。
❓ Selepas bermain mahjong, 40 biji gula-gula dibahagi sama banyak kepada 3 pemain. Berapa biji setiap orang dapat, dan berapa biji yang tinggal? Tulis dengan // dan %.打完麻将后,40 颗糖果平分给 3 个玩家。每人分到几颗?剩下几颗?用 // 和 % 写出来。
- 40 // 3 = 13
- 40 % 3 = 1
✅ Jawapan答案: Setiap orang 13 biji, tinggal 1 biji.每人 13 颗,剩下 1 颗。
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Setiap orang dapat hasil bahagi.每个人分到的是商。
- Yang tinggal ialah baki.剩下的是余数。
- Semak: 13 × 3 + 1 = 40.检查:13 × 3 + 1 = 40。
❓ Apakah hasil (5 < 2) AND (5 > 3), dan (5 < 2) OR (5 > 3)?(5 < 2) AND (5 > 3) 和 (5 < 2) OR (5 > 3) 的结果是什么?
- 5 < 2 → False · 5 > 3 → True
- False AND True → False · False OR True → True
✅ Jawapan答案: AND → False, OR → True
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Semak setiap syarat dahulu.先检查每个条件。
- AND: semua mesti True. OR: satu True sudah cukup.AND:全部都要 True。OR:一个 True 就够了。
- Nota cikgu: AND perlukan semua syarat TRUE. OR perlukan satu syarat TRUE sahaja.老师的笔记:AND 一定要所有的条件 TRUE,OR 只要其中一个条件 TRUE。
❓ Kenapa "Nama pelajar" bukan nama pemboleh ubah yang sah? Betulkannya.为什么「Nama pelajar」不是合法的变量名称?把它改对。
- Ada ruang kosong (space) di antara "Nama" dan "pelajar".「Nama」和「pelajar」之间有空格。
✅ Jawapan答案: Tidak sah kerana ada ruang kosong. Tulis NamaPelajar atau nama_pelajar.不合法,因为有空格。要写 NamaPelajar 或 nama_pelajar。
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Semak peraturan menamakan pemboleh ubah.检查变量命名的规则。
- Nama pemboleh ubah tidak boleh mengandungi ruang kosong.变量名称不可以有空格。
❓ Antara berikut, bentuk data manakah yang boleh disimpan dalam pemboleh ubah? I. Teks II. Simbol III. Carta alir IV. Nilai berangka下面哪些数据形式可以存在变量里?I. 文字 II. 符号 III. 流程图 IV. 数值
- Teks ✓ · Nilai berangka ✓文字 ✓ · 数值 ✓
- Carta alir ✗流程图 ✗
✅ Jawapan答案: I dan IVI 和 IV
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Pemboleh ubah menyimpan data, seperti nama dan nombor.变量存放数据,比如名字和数字。
- Carta alir ialah cara mewakili algoritma, bukan data.流程图是表示算法的方法,不是数据。
- Jenis data: integer dan float (nombor), string (teks), boolean (True atau False).数据类型:integer 和 float(数字)、string(文字)、boolean(True 或 False)。
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
-
Program dapat mengenal kod arahan tetapi menghasilkan output yang bukan diingini. (UASA)程序认得指令代码,但是输出不是想要的。(UASA)
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Kod berjalan tetapi jawapannya salah: ralat mana yang tiada mesej ralat?代码能运行,但答案错了:哪一种错误没有错误信息?
-
Ralat berlaku apabila sintaks yang salah atau format pengekodan yang salah digunakan. (UASA)用了错误的语法或错误的编码格式时发生的错误。(UASA)
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Ralat ini tentang cara kod ditulis, iaitu peraturan tulisan kod.这个错误和代码的写法有关,也就是写代码的规则。
-
Ralat boleh disebabkan oleh perisian hasad seperti virus atau cecacing, atau ingatan yang tidak mencukupi. (UASA)错误可能是恶意软件(比如病毒或蠕虫)或内存不足造成的。(UASA)
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Virus dan ingatan penuh mengganggu atur cara semasa ia sedang berjalan.病毒和内存不够,会在程序运行的时候干扰它。
-
Tiada paparan mesej ralat.没有显示错误信息。
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Dua jenis ralat ada mesej ralat, tetapi satu jenis tiada.有两种错误会显示错误信息,但有一种不会。
-
Atur cara terhenti secara tiba-tiba semasa dijalankan.程序在运行时突然停止。
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Bila ia berlaku: semasa menulis kod, atau semasa atur cara berjalan?什么时候发生:写代码的时候,还是程序运行的时候?
-
Ada paparan mesej "invalid syntax".显示「invalid syntax」的信息。
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Apakah maksud perkataan Inggeris dalam mesej itu?信息里的英文词是什么意思?
🌟 Tahniah! Semua betul pada cubaan pertama.恭喜!全部第一次就答对了。
✅ Semua betul! Ulang kaji soalan yang perlu dicuba lebih sekali:全部答对了!复习一下要试不止一次的题:
| 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,这个算法对吗?
Pseudokod伪代码
- MULA
- MASUKKAN m
- MASUKKAN n
- JIKA m > n
- SETKAN terbesar kepada m
- JIKA TIDAK
- SETKAN terbesar kepada n
- TAMAT JIKA
- PAPARKAN terbesar
- TAMAT
Jadual semakan meja (sampel data: m = 7, n = 32)桌面检查表(样本数据:m = 7, n = 32)
| Simbol符号 | m | n | terbesar | Output |
|---|---|---|---|---|
| Masukkan m | 7 | |||
| Masukkan n | 7 | 32 | ||
| m > n? → Tidak | 7 | 32 | ||
| Terbesar = n | 7 | 32 | 32 | |
| Paparkan terbesar | 7 | 32 | 32 | 32 |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Masukkan m: 7.输入 m:7。
- Masukkan n: 32.输入 n:32。
- m > n? 7 > 32 → Tidak. Ikut anak panah "Tidak".m > n? 7 > 32 → 否(Tidak)。沿着「Tidak」的箭头走。
- Terbesar = n. Sekarang terbesar = 32.Terbesar = n。现在 terbesar = 32。
- Paparkan di skrin: 32在屏幕上显示:32
- TAMAT: algoritma berhenti. Output: 32. Output dijangka: 32. Output sebenar: 32. Betul! (Buku teks Rajah 3.29.)TAMAT:算法结束。输出:32。预期输出:32。实际输出:32。对了!(课本图 3.29。)
❓ Tugas: paparkan nombor yang lebih besar. Jika kedua-dua nombor sama, paparkan "Sama nilai". Adakah algoritma ini betul jika m = 15, n = 15?任务:显示比较大的数字。如果两个数字一样,就显示「Sama nilai」(一样大)。如果 m = 15, n = 15,这个算法对吗?
Pseudokod伪代码
- MULA
- MASUKKAN m
- MASUKKAN n
- JIKA m > n
- SETKAN terbesar kepada m
- JIKA TIDAK
- SETKAN terbesar kepada n
- TAMAT JIKA
- PAPARKAN terbesar
- TAMAT
Jadual semakan meja (sampel data: m = 15, n = 15)桌面检查表(样本数据:m = 15, n = 15)
| Simbol符号 | m | n | terbesar | Output |
|---|---|---|---|---|
| Masukkan m | 15 | |||
| Masukkan n | 15 | 15 | ||
| m > n? → Tidak | 15 | 15 | ||
| Terbesar = n | 15 | 15 | 15 | |
| Paparkan terbesar | 15 | 15 | 15 | 15 |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Masukkan m: 15.输入 m:15。
- Masukkan n: 15.输入 n:15。
- m > n? 15 > 15 → Tidak. Ikut anak panah "Tidak".m > n? 15 > 15 → 否(Tidak)。沿着「Tidak」的箭头走。
- Terbesar = n. Sekarang terbesar = 15.Terbesar = n。现在 terbesar = 15。
- Paparkan di skrin: 15在屏幕上显示:15
- TAMAT: algoritma berhenti. Output: 15. Output dijangka: "Sama nilai", kerana soalan berkata begitu untuk nombor yang sama. Output sebenar: 15. Nombor 15 memang betul, tetapi algoritma tidak memaparkan "Sama nilai" seperti yang diminta. Ini ralat logik!TAMAT:算法结束。输出:15。预期输出:「Sama nilai」(一样大),因为题目说两个数一样时要这样显示。实际输出:15。15 这个数没有错,但是算法没有照题目的要求显示「Sama nilai」。这是逻辑错误!
❓ Apakah output algoritma ini jika m = 15, n = 15?如果 m = 15, n = 15,这个算法的输出是什么?
Pseudokod伪代码
- MULA
- MASUKKAN m
- MASUKKAN n
- JIKA m > n
- PAPARKAN m
- JIKA n > m
- PAPARKAN n
- JIKA TIDAK
- PAPARKAN "Sama nilai"
- TAMAT JIKA
- TAMAT
Jadual semakan meja (sampel data: m = 15, n = 15)桌面检查表(样本数据:m = 15, n = 15)
| Simbol符号 | m | n | Output |
|---|---|---|---|
| Masukkan m | 15 | ||
| Masukkan n | 15 | 15 | |
| m > n? → Tidak | 15 | 15 | |
| n > m? → Tidak | 15 | 15 | |
| Paparkan "Sama nilai" | 15 | 15 | Sama nilai |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Masukkan m: 15.输入 m:15。
- Masukkan n: 15.输入 n:15。
- m > n? 15 > 15 → Tidak. Ikut anak panah "Tidak".m > n? 15 > 15 → 否(Tidak)。沿着「Tidak」的箭头走。
- n > m? 15 > 15 → Tidak. Ikut anak panah "Tidak".n > m? 15 > 15 → 否(Tidak)。沿着「Tidak」的箭头走。
- Paparkan di skrin: Sama nilai在屏幕上显示:Sama nilai
- TAMAT: algoritma berhenti. Output: Sama nilai. Satu lagi pilihan (n > m?) membolehkan algoritma mengesan nilai yang sama. (Buku teks Rajah 3.30.)TAMAT:算法结束。输出:Sama nilai。多加一个选择(n > m?),算法就能发现两个数一样大。(课本图 3.30。)
❓ Algoritma ini sepatutnya memaparkan 1 + 2 + 3 + 4 = 10. Adakah ia betul?这个算法应该显示 1 + 2 + 3 + 4 = 10。它对吗?
Pseudokod伪代码
- MULA
- SETKAN jumlah kepada 0
- SETKAN nombor kepada 0
- SELAGI nombor < 4
- TAMBAH nombor kepada jumlah
- TAMBAH 1 kepada nombor
- TAMAT SELAGI
- PAPARKAN jumlah
- TAMAT
Jadual langkah demi langkah (tiada sampel data input)逐步检查表(没有输入的样本数据)
| Simbol符号 | jumlah | nombor | Output |
|---|---|---|---|
| Setkan jumlah kepada 0 | 0 | ||
| Setkan nombor kepada 0 | 0 | 0 | |
| Nombor < 4? → Ya | 0 | 0 | |
| Tambah nombor kepada jumlah | 0 | 0 | |
| Tambah 1 kepada nombor | 0 | 1 | |
| Nombor < 4? → Ya | 0 | 1 | |
| Tambah nombor kepada jumlah | 1 | 1 | |
| Tambah 1 kepada nombor | 1 | 2 | |
| Nombor < 4? → Ya | 1 | 2 | |
| Tambah nombor kepada jumlah | 3 | 2 | |
| Tambah 1 kepada nombor | 3 | 3 | |
| Nombor < 4? → Ya | 3 | 3 | |
| Tambah nombor kepada jumlah | 6 | 3 | |
| Tambah 1 kepada nombor | 6 | 4 | |
| Nombor < 4? → Tidak | 6 | 4 | |
| Paparkan jumlah | 6 | 4 | 6 |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Setkan jumlah kepada 0. Sekarang jumlah = 0.Setkan jumlah kepada 0。现在 jumlah = 0。
- Setkan nombor kepada 0. Sekarang nombor = 0.Setkan nombor kepada 0。现在 nombor = 0。
- Nombor < 4? 0 < 4 → Ya. Ikut anak panah "Ya".Nombor < 4? 0 < 4 → 是(Ya)。沿着「Ya」的箭头走。
- Tambah nombor kepada jumlah. Sekarang jumlah = 0.Tambah nombor kepada jumlah。现在 jumlah = 0。
- Tambah 1 kepada nombor. Sekarang nombor = 1.Tambah 1 kepada nombor。现在 nombor = 1。
- Nombor < 4? 1 < 4 → Ya. Ikut anak panah "Ya".Nombor < 4? 1 < 4 → 是(Ya)。沿着「Ya」的箭头走。
- Tambah nombor kepada jumlah. Sekarang jumlah = 1.Tambah nombor kepada jumlah。现在 jumlah = 1。
- Tambah 1 kepada nombor. Sekarang nombor = 2.Tambah 1 kepada nombor。现在 nombor = 2。
- Nombor < 4? 2 < 4 → Ya. Ikut anak panah "Ya".Nombor < 4? 2 < 4 → 是(Ya)。沿着「Ya」的箭头走。
- Tambah nombor kepada jumlah. Sekarang jumlah = 3.Tambah nombor kepada jumlah。现在 jumlah = 3。
- Tambah 1 kepada nombor. Sekarang nombor = 3.Tambah 1 kepada nombor。现在 nombor = 3。
- Nombor < 4? 3 < 4 → Ya. Ikut anak panah "Ya".Nombor < 4? 3 < 4 → 是(Ya)。沿着「Ya」的箭头走。
- Tambah nombor kepada jumlah. Sekarang jumlah = 6.Tambah nombor kepada jumlah。现在 jumlah = 6。
- Tambah 1 kepada nombor. Sekarang nombor = 4.Tambah 1 kepada nombor。现在 nombor = 4。
- Nombor < 4? 4 < 4 → Tidak. Ikut anak panah "Tidak".Nombor < 4? 4 < 4 → 否(Tidak)。沿着「Tidak」的箭头走。
- Paparkan di skrin: 6在屏幕上显示:6
- TAMAT: algoritma berhenti. Output: 6. Output 6, bukan 10! Nombor bermula dari 0 dan berhenti sebelum 4. Buku teks Rajah 3.31 ada ralat yang sama (0 hingga 9).TAMAT:算法结束。输出:6。输出 6,不是 10!数字从 0 开始,在 4 之前就停了。课本图 3.31 也有一样的错误(0 到 9)。
❓ Nombor kini bermula dari 1 dan syaratnya ≤ 4. Apakah outputnya sekarang?现在数字从 1 开始,条件是 ≤ 4。现在的输出是什么?
Pseudokod伪代码
- MULA
- SETKAN jumlah kepada 0
- SETKAN nombor kepada 1
- SELAGI nombor ≤ 4
- TAMBAH nombor kepada jumlah
- TAMBAH 1 kepada nombor
- TAMAT SELAGI
- PAPARKAN jumlah
- TAMAT
Jadual langkah demi langkah (tiada sampel data input)逐步检查表(没有输入的样本数据)
| Simbol符号 | jumlah | nombor | Output |
|---|---|---|---|
| Setkan jumlah kepada 0 | 0 | ||
| Setkan nombor kepada 1 | 0 | 1 | |
| Nombor ≤ 4? → Ya | 0 | 1 | |
| Tambah nombor kepada jumlah | 1 | 1 | |
| Tambah 1 kepada nombor | 1 | 2 | |
| Nombor ≤ 4? → Ya | 1 | 2 | |
| Tambah nombor kepada jumlah | 3 | 2 | |
| Tambah 1 kepada nombor | 3 | 3 | |
| Nombor ≤ 4? → Ya | 3 | 3 | |
| Tambah nombor kepada jumlah | 6 | 3 | |
| Tambah 1 kepada nombor | 6 | 4 | |
| Nombor ≤ 4? → Ya | 6 | 4 | |
| Tambah nombor kepada jumlah | 10 | 4 | |
| Tambah 1 kepada nombor | 10 | 5 | |
| Nombor ≤ 4? → Tidak | 10 | 5 | |
| Paparkan jumlah | 10 | 5 | 10 |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Setkan jumlah kepada 0. Sekarang jumlah = 0.Setkan jumlah kepada 0。现在 jumlah = 0。
- Setkan nombor kepada 1. Sekarang nombor = 1.Setkan nombor kepada 1。现在 nombor = 1。
- Nombor ≤ 4? 1 ≤ 4 → Ya. Ikut anak panah "Ya".Nombor ≤ 4? 1 ≤ 4 → 是(Ya)。沿着「Ya」的箭头走。
- Tambah nombor kepada jumlah. Sekarang jumlah = 1.Tambah nombor kepada jumlah。现在 jumlah = 1。
- Tambah 1 kepada nombor. Sekarang nombor = 2.Tambah 1 kepada nombor。现在 nombor = 2。
- Nombor ≤ 4? 2 ≤ 4 → Ya. Ikut anak panah "Ya".Nombor ≤ 4? 2 ≤ 4 → 是(Ya)。沿着「Ya」的箭头走。
- Tambah nombor kepada jumlah. Sekarang jumlah = 3.Tambah nombor kepada jumlah。现在 jumlah = 3。
- Tambah 1 kepada nombor. Sekarang nombor = 3.Tambah 1 kepada nombor。现在 nombor = 3。
- Nombor ≤ 4? 3 ≤ 4 → Ya. Ikut anak panah "Ya".Nombor ≤ 4? 3 ≤ 4 → 是(Ya)。沿着「Ya」的箭头走。
- Tambah nombor kepada jumlah. Sekarang jumlah = 6.Tambah nombor kepada jumlah。现在 jumlah = 6。
- Tambah 1 kepada nombor. Sekarang nombor = 4.Tambah 1 kepada nombor。现在 nombor = 4。
- Nombor ≤ 4? 4 ≤ 4 → Ya. Ikut anak panah "Ya".Nombor ≤ 4? 4 ≤ 4 → 是(Ya)。沿着「Ya」的箭头走。
- Tambah nombor kepada jumlah. Sekarang jumlah = 10.Tambah nombor kepada jumlah。现在 jumlah = 10。
- Tambah 1 kepada nombor. Sekarang nombor = 5.Tambah 1 kepada nombor。现在 nombor = 5。
- Nombor ≤ 4? 5 ≤ 4 → Tidak. Ikut anak panah "Tidak".Nombor ≤ 4? 5 ≤ 4 → 否(Tidak)。沿着「Tidak」的箭头走。
- Paparkan di skrin: 10在屏幕上显示:10
- TAMAT: algoritma berhenti. Output: 10. Output 10. Jika nilai permulaan berubah, semak syaratnya juga.TAMAT:算法结束。输出:10。输出 10。如果起始值改了,也要检查条件。
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. 结束。 有没有错误?有的话,改正它。
- 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 开始。
- 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)。
- Ralat 3错误 3 Tiada langkah yang menambah 1 kepada nombor. Nombor kekal 5, jadi gelung tidak pernah berhenti!没有把 nombor 加 1 的步骤。nombor 一直是 5,所以循环永远不会停!
-
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 -
jumlah nombor Syarat条件 jumlah = jumlah + nombor nombor = nombor + 1 5 6 6 < 21 → Ya 5 + 6 = 11 6 + 1 = 7 11 7 7 < 21 → Ya 11 + 7 = 18 7 + 1 = 8 18 8 8 < 21 → Ya 18 + 8 = 26 8 + 1 = 9 26 9 9 < 21 → Ya 26 + 9 = 35 9 + 1 = 10 35 10 10 < 21 → Ya 35 + 10 = 45 10 + 1 = 11 45 11 11 < 21 → Ya 45 + 11 = 56 11 + 1 = 12 56 12 12 < 21 → Ya 56 + 12 = 68 12 + 1 = 13 68 13 13 < 21 → Ya 68 + 13 = 81 13 + 1 = 14 81 14 14 < 21 → Ya 81 + 14 = 95 14 + 1 = 15 95 15 15 < 21 → Ya 95 + 15 = 110 15 + 1 = 16 110 16 16 < 21 → Ya 110 + 16 = 126 16 + 1 = 17 126 17 17 < 21 → Ya 126 + 17 = 143 17 + 1 = 18 143 18 18 < 21 → Ya 143 + 18 = 161 18 + 1 = 19 161 19 19 < 21 → Ya 161 + 19 = 180 19 + 1 = 20 180 20 20 < 21 → Ya 180 + 20 = 200 20 + 1 = 21 200 21 21 < 21 → Tidak — —
✅ Jawapan答案: jumlah = 200
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Semak nilai awal.检查起始值。
- Semak syarat.检查条件。
- Semak gelung: adakah nombor pernah berubah?检查循环:nombor 有没有改变过?
- Tulis pseudokod baharu, seperti jawapan cikgu.写出新的伪代码,像老师的答案一样。
- Buat semakan meja untuk membuktikan pseudokod baharu betul.做桌面检查,证明新的伪代码是对的。
- Semak: 5 + 6 + … + 20 = 200. Dalam nota, "Ulangkan langkah" mesti merujuk kepada nombor langkah SELAGI.检查:5 + 6 + …… + 20 = 200。在笔记里,「回到第几步」一定要指向 SELAGI 那一步的号码。
❓ Soalan baharu: Mei mahu memaparkan jumlah nombor 1 hingga 5. Pseudokodnya: 1. Mula2. SETKAN jumlah = 13. SETKAN nombor = 14. SELAGI nombor < 55. Kirakan jumlah = jumlah + nombor6. Kirakan nombor = nombor + 17. Ulangkan langkah 48. Paparkan jumlah9. Tamat. Cari dan baiki ralatnya.新题:Mei 要显示 1 到 5 的总和。她的伪代码: 1. 开始2. 设定 jumlah = 13. 设定 nombor = 14. 只要 nombor < 55. 计算 jumlah = jumlah + nombor6. 计算 nombor = nombor + 17. 回到第 4 步8. 显示 jumlah9. 结束。 找出并改正错误。
- Ralat 1错误 1 jumlah = 1 dan nombor = 1: nombor 1 ditambah dua kali. Mula jumlah dari 0.jumlah = 1,nombor 也 = 1:1 被加了两次。jumlah 要从 0 开始。
- Ralat 2错误 2 nombor < 5 berhenti sebelum 5. Tulis nombor < 6 (atau nombor ≤ 5).nombor < 5 在 5 之前就停了。要写 nombor < 6(或 nombor ≤ 5)。
-
jumlah nombor Syarat条件 jumlah = jumlah + nombor nombor = nombor + 1 0 1 1 < 6 → Ya 0 + 1 = 1 1 + 1 = 2 1 2 2 < 6 → Ya 1 + 2 = 3 2 + 1 = 3 3 3 3 < 6 → Ya 3 + 3 = 6 3 + 1 = 4 6 4 4 < 6 → Ya 6 + 4 = 10 4 + 1 = 5 10 5 5 < 6 → Ya 10 + 5 = 15 5 + 1 = 6 15 6 6 < 6 → Tidak — —
✅ Jawapan答案: jumlah = 15
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Semak nilai awal.检查起始值。
- Semak syarat.检查条件。
- Semakan meja bagi pseudokod yang dibaiki (jumlah = 0, nombor < 6).改好的伪代码的桌面检查(jumlah = 0,nombor < 6)。
- Pseudokod asal memberi 1 + 1 + 2 + 3 + 4 = 11, bukan 15. Ini ralat logik: tiada mesej ralat, tetapi jawapan salah.原来的伪代码得到 1 + 1 + 2 + 3 + 4 = 11,不是 15。这是逻辑错误:没有错误信息,但答案错了。
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.把步骤拖到正确的位置,然后按「检查」。
- ⠿ Bandingkan hasil atur cara dengan algoritma.把程序的结果和算法比较。
- ⠿ Kesan ralat dalam atur cara dengan teknik semakan meja.用桌面检查找出程序里的错误。
- ⠿ Baiki ralat pada kod arahan yang ditemui.改正找到的指令代码错误。
- ⠿ Uji lari atur cara semula.再运行程序测试。
Betul! Semua langkah mengikut turutan.答对了!所有步骤的顺序都正确。
Langkah bertanda ✗ di tempat yang salah. Cuba lagi!有 ✗ 的步骤放错位置了。再试一次!
🎯 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。错误在哪里?
- Nombor ke-1 → bilangan = 2 … nombor ke-10 → bilangan = 11第 1 个数字 → bilangan = 2 …… 第 10 个数字 → bilangan = 11
- purata = jumlah ÷ 11 ✗
- Tiada SETKAN jumlah. Komputer tidak tahu jumlah bermula dari berapa. Jumlah mesti bermula dari 0.没有设定 jumlah。电脑不知道 jumlah 从几开始。jumlah 一定要从 0 开始。
-
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 时停止。
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Ikut nilai bilangan selepas setiap nombor dimasukkan.跟着每输入一个数字后的 bilangan 值。
- Jadi jumlah dibahagi dengan 11, bukan 10!所以 jumlah 被 11 除,不是 10!
- Semak juga nilai awal jumlah.也要检查 jumlah 的起始值。
- Tulis pseudokod yang dibaiki.写出改好的伪代码。
- 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.逻辑错误没有错误信息,所以要自己检查。桌面检查是其中一个方法。逐步检查,或者用预期的输出来测试,也找得到。
❓ Atur cara meminta umur dalam bentuk nombor. Mei menaip "dua belas". Atur cara terhenti tiba-tiba dan memaparkan mesej ralat. Apakah jenis ralat ini?程序要输入数字形式的年龄。Mei 打了「dua belas」(十二)。程序突然停止,还显示错误信息。这是哪一种错误?
- Terhenti semasa atur cara sedang berjalan.在程序运行的时候停止。
✅ Jawapan答案: Ralat masa larian运行时错误
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Kod arahan ditulis dengan betul, tetapi data yang dimasukkan tidak menepati kehendak arahan.程序代码写对了,但是输入的数据不符合指令的要求。
- Ralat masa larian berlaku semasa atur cara berjalan, dan ada mesej ralat.运行时错误在程序运行时发生,而且会显示错误信息。
❓ Pengatur cara menulis print("Hai" tanpa kurungan penutup. Komputer memaparkan "invalid syntax". Apakah jenis ralat ini?程序员写了 print("Hai",少了右括号。电脑显示「invalid syntax」。这是哪一种错误?
- Ada mesej ralat: invalid syntax有错误信息:invalid syntax
✅ Jawapan答案: Ralat sintaks语法错误
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Peraturan tulisan bahasa pengaturcaraan (sintaks) tidak diikut.没有遵守程序语言的书写规则(语法)。
- Ralat sintaks seperti salah ejaan atau tatabahasa dalam kod.语法错误就像代码里的错别字或文法错误。
❓ Cikgu mahu "Lulus" bagi markah 40 dan ke atas. Algoritma menulis JIKA markah > 40. Atur cara berjalan tanpa mesej ralat, tetapi markah 40 mendapat "Gagal". Apakah jenis ralat ini?老师要 40 分以上(包括 40)都「Lulus」。算法写的是「如果分数 > 40」。程序运行时没有错误信息,但是 40 分得到「Gagal」。这是哪一种错误?
- Tiada mesej ralat. Output salah.没有错误信息,输出错了。
✅ Jawapan答案: Ralat logik. Tukar > kepada ≥.逻辑错误。把 > 改成 ≥。
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Atur cara berjalan dengan lancar, tetapi output salah.程序顺利运行,但是输出错了。
- Ralat logik disebabkan kesilapan manusia semasa membina algoritma.逻辑错误是人在设计算法时犯的错误。
❓ Algoritma robot mencari jalan keluar dari pagar sesat tidak mempunyai data input. Teknik semakan yang manakah sesuai: semakan meja atau langkah demi langkah?机器人走出迷宫的算法没有输入数据。适合用哪一种检查方法:桌面检查还是逐步检查?
- Tiada data input → semakan meja tidak sesuai.没有输入数据 → 不适合桌面检查。
✅ Jawapan答案: Langkah demi langkah逐步检查
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Semakan meja memerlukan sampel data input.桌面检查需要输入的样本数据。
- Semakan meja: guna sampel data. Langkah demi langkah: tidak guna sampel data.桌面检查:用样本数据。逐步检查:不用样本数据。
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?这个算法的流程图要怎么画?
Pseudokod伪代码
- MULA
- SETKAN lulus kepada 0
- SETKAN pembilang kepada 1
- UNTUK pembilang = 1 HINGGA 3
- MASUKKAN markah
- JIKA markah ≥ 40
- TAMBAH 1 kepada lulus
- TAMAT JIKA
- TAMBAH 1 kepada pembilang
- PAPARKAN lulus
- TAMAT
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- "MULA": guna simbol terminal (bujur) untuk MULA atau TAMAT.「MULA」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。
- "Setkan lulus kepada 0": ini proses, jadi guna segi empat tepat.「Setkan lulus kepada 0」:这是处理(过程),所以用长方形。
- "Setkan pembilang kepada 1": ini proses, jadi guna segi empat tepat.「Setkan pembilang kepada 1」:这是处理(过程),所以用长方形。
- "Pembilang ≤ 3?": ini pilihan (syarat), jadi guna bentuk berlian. Ia mesti ada dua anak panah keluar: Ya dan Tidak.「Pembilang ≤ 3?」:这是选择(条件),所以用菱形。它一定有两个出去的箭头:Ya(是)和 Tidak(否)。
- Anak panah "Ya" → "Masukkan markah": ini input atau output, jadi guna segi empat selari.Anak panah "Ya" → 「Masukkan markah」:这是输入或输出,所以用平行四边形。
- "Markah ≥ 40?": ini pilihan (syarat), jadi guna bentuk berlian. Ia mesti ada dua anak panah keluar: Ya dan Tidak.「Markah ≥ 40?」:这是选择(条件),所以用菱形。它一定有两个出去的箭头:Ya(是)和 Tidak(否)。
- Anak panah "Ya" → "Tambah 1 kepada lulus": ini proses, jadi guna segi empat tepat.Anak panah "Ya" → 「Tambah 1 kepada lulus」:这是处理(过程),所以用长方形。
- Anak panah "Tidak" → "Tambah 1 kepada pembilang": ini proses, jadi guna segi empat tepat.Anak panah "Tidak" → 「Tambah 1 kepada pembilang」:这是处理(过程),所以用长方形。
- Anak panah "Tidak" → "Paparkan lulus": ini input atau output, jadi guna segi empat selari.Anak panah "Tidak" → 「Paparkan lulus」:这是输入或输出,所以用平行四边形。
- "TAMAT": guna simbol terminal (bujur) untuk MULA atau TAMAT. Berlian JIKA berada di dalam gelung UNTUK.「TAMAT」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。「如果」的菱形在 UNTUK 循环里面。
❓ Apakah output algoritma ini jika tiga markah: 65, 32, 80?如果 三个分数:65、32、80,这个算法的输出是什么?
Pseudokod伪代码
- MULA
- SETKAN lulus kepada 0
- SETKAN pembilang kepada 1
- UNTUK pembilang = 1 HINGGA 3
- MASUKKAN markah
- JIKA markah ≥ 40
- TAMBAH 1 kepada lulus
- TAMAT JIKA
- TAMBAH 1 kepada pembilang
- PAPARKAN lulus
- TAMAT
Jadual semakan meja (sampel data: tiga markah: 65, 32, 80)桌面检查表(样本数据:三个分数:65、32、80)
| Simbol符号 | lulus | pembilang | markah | Output |
|---|---|---|---|---|
| Setkan lulus kepada 0 | 0 | |||
| Setkan pembilang kepada 1 | 0 | 1 | ||
| Pembilang ≤ 3? → Ya | 0 | 1 | ||
| Masukkan markah | 0 | 1 | 65 | |
| Markah ≥ 40? → Ya | 0 | 1 | 65 | |
| Tambah 1 kepada lulus | 1 | 1 | 65 | |
| Tambah 1 kepada pembilang | 1 | 2 | 65 | |
| Pembilang ≤ 3? → Ya | 1 | 2 | 65 | |
| Masukkan markah | 1 | 2 | 32 | |
| Markah ≥ 40? → Tidak | 1 | 2 | 32 | |
| Tambah 1 kepada pembilang | 1 | 3 | 32 | |
| Pembilang ≤ 3? → Ya | 1 | 3 | 32 | |
| Masukkan markah | 1 | 3 | 80 | |
| Markah ≥ 40? → Ya | 1 | 3 | 80 | |
| Tambah 1 kepada lulus | 2 | 3 | 80 | |
| Tambah 1 kepada pembilang | 2 | 4 | 80 | |
| Pembilang ≤ 3? → Tidak | 2 | 4 | 80 | |
| Paparkan lulus | 2 | 4 | 80 | 2 orang lulus |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Setkan lulus kepada 0. Sekarang lulus = 0.Setkan lulus kepada 0。现在 lulus = 0。
- Setkan pembilang kepada 1. Sekarang pembilang = 1.Setkan pembilang kepada 1。现在 pembilang = 1。
- Pembilang ≤ 3? 1 ≤ 3 → Ya. Ikut anak panah "Ya".Pembilang ≤ 3? 1 ≤ 3 → 是(Ya)。沿着「Ya」的箭头走。
- Masukkan markah: 65.输入 markah:65。
- Markah ≥ 40? 65 ≥ 40 → Ya. Ikut anak panah "Ya".Markah ≥ 40? 65 ≥ 40 → 是(Ya)。沿着「Ya」的箭头走。
- Tambah 1 kepada lulus. Sekarang lulus = 1.Tambah 1 kepada lulus。现在 lulus = 1。
- Tambah 1 kepada pembilang. Sekarang pembilang = 2.Tambah 1 kepada pembilang。现在 pembilang = 2。
- Pembilang ≤ 3? 2 ≤ 3 → Ya. Ikut anak panah "Ya".Pembilang ≤ 3? 2 ≤ 3 → 是(Ya)。沿着「Ya」的箭头走。
- Masukkan markah: 32.输入 markah:32。
- Markah ≥ 40? 32 ≥ 40 → Tidak. Ikut anak panah "Tidak".Markah ≥ 40? 32 ≥ 40 → 否(Tidak)。沿着「Tidak」的箭头走。
- Tambah 1 kepada pembilang. Sekarang pembilang = 3.Tambah 1 kepada pembilang。现在 pembilang = 3。
- Pembilang ≤ 3? 3 ≤ 3 → Ya. Ikut anak panah "Ya".Pembilang ≤ 3? 3 ≤ 3 → 是(Ya)。沿着「Ya」的箭头走。
- Masukkan markah: 80.输入 markah:80。
- Markah ≥ 40? 80 ≥ 40 → Ya. Ikut anak panah "Ya".Markah ≥ 40? 80 ≥ 40 → 是(Ya)。沿着「Ya」的箭头走。
- Tambah 1 kepada lulus. Sekarang lulus = 2.Tambah 1 kepada lulus。现在 lulus = 2。
- Tambah 1 kepada pembilang. Sekarang pembilang = 4.Tambah 1 kepada pembilang。现在 pembilang = 4。
- Pembilang ≤ 3? 4 ≤ 3 → Tidak. Ikut anak panah "Tidak".Pembilang ≤ 3? 4 ≤ 3 → 否(Tidak)。沿着「Tidak」的箭头走。
- Paparkan di skrin: 2 orang lulus在屏幕上显示:2 orang lulus
- TAMAT: algoritma berhenti. Output: 2 orang lulus. Dua daripada tiga markah ≥ 40, jadi 2 orang lulus.TAMAT:算法结束。输出:2 orang lulus。三个分数里有两个 ≥ 40,所以 2 个人及格。
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! |
- Input Pengguna menaip tekaan: 51, kemudian 3, kemudian 11.用户打了猜的数字:先 51,再 3,再 11。
- Proses dan output处理和输出 SETKAN kod_rahsia kepada 11 · PAPARKAN "Sila teka …"SETKAN kod_rahsia kepada 11 · PAPARKAN "Sila teka …"
- Pilihan选择 Lebih daripada dua tindakan → pelbagai pilihan (> , < , jika tidak).两个以上的动作 → 多重选择(>、<、否则)。
- 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.重复里面有多重选择的组合。下一个例子会画出它的流程图。
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- 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 里面,但是老师的例子没有检查范围。
- Kod rahsia sudah ditetapkan (11), dan arahan dipaparkan sekali sahaja di awal.密码已经设定好(11),说明只在开头显示一次。
- Ada tiga jawapan yang berbeza: terlalu besar, terlalu kecil, atau betul.有三种不同的回答:太大、太小,或猜对了。
- Pengguna meneka beberapa kali sehingga betul. Kita tidak tahu berapa kali.用户一直猜,直到猜对为止。我们不知道要猜几次。
- Nama pemboleh ubah tidak boleh ada ruang kosong, jadi dalam kod tulis kod_rahsia, bukan "kod rahsia".变量名称不可以有空格,所以在代码里要写 kod_rahsia,不是「kod rahsia」。
❓ Bagaimanakah kita melukis carta alir bagi algoritma ini?这个算法的流程图要怎么画?
Algoritma算法
- Mula开始
- Isytiharkan pemboleh ubah kod rahsia宣告变量 kod rahsia(密码)
- Setkan kod rahsia = 11设定 kod rahsia = 11
- Paparkan "Sila teka kod rahsia: ASK dari 1 hingga 50"显示「请猜密码:ASK 从 1 到 50」
- Pengguna masukkan tekaan用户输入猜的数字(tekaan)
- Jika tekaan > kod rahsia, paparkan tekaan "lebih besar daripada kod rahsia", dan ulang langkah 5如果 tekaan > kod rahsia,显示「比密码大」,再回到第 5 步
- Jika tekaan < kod rahsia, paparkan tekaan "lebih kecil daripada kod rahsia", dan ulang langkah 5如果 tekaan < kod rahsia,显示「比密码小」,再回到第 5 步
- Jika tidak, paparkan "Tahniah! Anda berjaya pecahkan kod rahsia!"否则,显示「恭喜!你成功破解密码!」
- Tamat结束
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- "MULA": guna simbol terminal (bujur) untuk MULA atau TAMAT.「MULA」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。
- "Isytiharkan kod_rahsia": ini proses, jadi guna segi empat tepat.「Isytiharkan kod_rahsia」:这是处理(过程),所以用长方形。
- "Setkan kod_rahsia = 11": ini proses, jadi guna segi empat tepat.「Setkan kod_rahsia = 11」:这是处理(过程),所以用长方形。
- "Paparkan "Sila teka kod rahsia …"": ini input atau output, jadi guna segi empat selari.「Paparkan "Sila teka kod rahsia …"」:这是输入或输出,所以用平行四边形。
- "Masukkan tekaan": ini input atau output, jadi guna segi empat selari.「Masukkan tekaan」:这是输入或输出,所以用平行四边形。
- "Tekaan > kod_rahsia?": ini pilihan (syarat), jadi guna bentuk berlian. Ia mesti ada dua anak panah keluar: Ya dan Tidak.「Tekaan > kod_rahsia?」:这是选择(条件),所以用菱形。它一定有两个出去的箭头:Ya(是)和 Tidak(否)。
- Anak panah "Ya" → "Paparkan tekaan, "lebih besar"": ini input atau output, jadi guna segi empat selari.Anak panah "Ya" → 「Paparkan tekaan, "lebih besar"」:这是输入或输出,所以用平行四边形。
- Anak panah "Tidak" → "Tekaan < kod_rahsia?": ini pilihan (syarat), jadi guna bentuk berlian. Ia mesti ada dua anak panah keluar: Ya dan Tidak.Anak panah "Tidak" → 「Tekaan < kod_rahsia?」:这是选择(条件),所以用菱形。它一定有两个出去的箭头:Ya(是)和 Tidak(否)。
- Anak panah "Ya" → "Paparkan tekaan, "lebih kecil"": ini input atau output, jadi guna segi empat selari.Anak panah "Ya" → 「Paparkan tekaan, "lebih kecil"」:这是输入或输出,所以用平行四边形。
- Anak panah "Tidak" → "Paparkan "Tahniah! …"": ini input atau output, jadi guna segi empat selari.Anak panah "Tidak" → 「Paparkan "Tahniah! …"」:这是输入或输出,所以用平行四边形。
- "TAMAT": guna simbol terminal (bujur) untuk MULA atau TAMAT. Anak panah dari "lebih besar" dan "lebih kecil" kembali ke "Masukkan tekaan": itulah ulangan. Dalam nota cikgu ia ditulis "ulang langkah".「TAMAT」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。「比较大」和「比较小」的箭头回到「输入 tekaan」:这就是重复。老师的笔记把它写成「回到第几步」。
❓ Apakah output algoritma ini jika pengguna meneka 51, kemudian 3, kemudian 11?如果 用户先猜 51,再猜 3,再猜 11,这个算法的输出是什么?
Pseudokod伪代码
- MULA
- ISYTIHARKAN kod_rahsia dan tekaan
- SETKAN kod_rahsia kepada 11
- PAPARKAN "Sila teka kod rahsia: ASK dari 1 hingga 50"
- ULANG
- MASUKKAN tekaan
- JIKA tekaan > kod_rahsia
- PAPARKAN tekaan, "lebih besar daripada kod rahsia"
- JIKA tekaan < kod_rahsia
- PAPARKAN tekaan, "lebih kecil daripada kod rahsia"
- JIKA TIDAK
- PAPARKAN "Tahniah! Anda berjaya pecahkan kod rahsia!"
- TAMAT JIKA
- SEHINGGA tekaan = kod_rahsia
- TAMAT
Jadual semakan meja (sampel data: pengguna meneka 51, kemudian 3, kemudian 11)桌面检查表(样本数据:用户先猜 51,再猜 3,再猜 11)
| Simbol符号 | kod_rahsia | tekaan | Output |
|---|---|---|---|
| Isytiharkan kod_rahsia | |||
| Setkan kod_rahsia = 11 | 11 | ||
| Paparkan "Sila teka kod rahsia …" | 11 | Sila teka kod rahsia: ASK dari 1 hingga 50 | |
| Masukkan tekaan | 11 | 51 | |
| Tekaan > kod_rahsia? → Ya | 11 | 51 | |
| Paparkan tekaan, "lebih besar" | 11 | 51 | 51 lebih besar daripada kod rahsia. |
| Masukkan tekaan | 11 | 3 | |
| Tekaan > kod_rahsia? → Tidak | 11 | 3 | |
| Tekaan < kod_rahsia? → Ya | 11 | 3 | |
| Paparkan tekaan, "lebih kecil" | 11 | 3 | 3 lebih kecil daripada kod rahsia. |
| Masukkan tekaan | 11 | 11 | |
| Tekaan > kod_rahsia? → Tidak | 11 | 11 | |
| Tekaan < kod_rahsia? → Tidak | 11 | 11 | |
| Paparkan "Tahniah! …" | 11 | 11 | Tahniah! Anda berjaya pecahkan kod rahsia! |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Isytiharkan kod_rahsia.Isytiharkan kod_rahsia。
- Setkan kod_rahsia = 11. Sekarang kod_rahsia = 11.Setkan kod_rahsia = 11。现在 kod_rahsia = 11。
- Paparkan di skrin: Sila teka kod rahsia: ASK dari 1 hingga 50在屏幕上显示:Sila teka kod rahsia: ASK dari 1 hingga 50
- Masukkan tekaan: 51.输入 tekaan:51。
- Tekaan > kod_rahsia? 51 > 11 → Ya. Ikut anak panah "Ya".Tekaan > kod_rahsia? 51 > 11 → 是(Ya)。沿着「Ya」的箭头走。
- Paparkan di skrin: 51 lebih besar daripada kod rahsia.在屏幕上显示:51 lebih besar daripada kod rahsia.
- Masukkan tekaan: 3.输入 tekaan:3。
- Tekaan > kod_rahsia? 3 > 11 → Tidak. Ikut anak panah "Tidak".Tekaan > kod_rahsia? 3 > 11 → 否(Tidak)。沿着「Tidak」的箭头走。
- Tekaan < kod_rahsia? 3 < 11 → Ya. Ikut anak panah "Ya".Tekaan < kod_rahsia? 3 < 11 → 是(Ya)。沿着「Ya」的箭头走。
- Paparkan di skrin: 3 lebih kecil daripada kod rahsia.在屏幕上显示:3 lebih kecil daripada kod rahsia.
- Masukkan tekaan: 11.输入 tekaan:11。
- Tekaan > kod_rahsia? 11 > 11 → Tidak. Ikut anak panah "Tidak".Tekaan > kod_rahsia? 11 > 11 → 否(Tidak)。沿着「Tidak」的箭头走。
- Tekaan < kod_rahsia? 11 < 11 → Tidak. Ikut anak panah "Tidak".Tekaan < kod_rahsia? 11 < 11 → 否(Tidak)。沿着「Tidak」的箭头走。
- Paparkan di skrin: Tahniah! Anda berjaya pecahkan kod rahsia!在屏幕上显示:Tahniah! Anda berjaya pecahkan kod rahsia!
- TAMAT: algoritma berhenti. Output: Sila teka kod rahsia: ASK dari 1 hingga 50, 51 lebih besar daripada kod rahsia., 3 lebih kecil daripada kod rahsia., Tahniah! Anda berjaya pecahkan kod rahsia!. Outputnya sama seperti contoh output dalam soalan ("lebih kecil" sama maksud dengan "kurang"). Carta alir ini betul! Tekaan 51 di luar julat 1 hingga 50, tetapi algoritma ini tidak menyemak julat. Ia hanya membandingkan tekaan dengan kod rahsia. Dalam soalan baharu, guna tekaan dari 1 hingga 50, kecuali soalan meminta awak menyemak julat.TAMAT:算法结束。输出:Sila teka kod rahsia: ASK dari 1 hingga 50, 51 lebih besar daripada kod rahsia., 3 lebih kecil daripada kod rahsia., Tahniah! Anda berjaya pecahkan kod rahsia!。输出和题目的样本输出一样(「lebih kecil」和「kurang」意思一样)。这个流程图是对的!猜的 51 不在 1 到 50 里面,但是这个算法不检查范围,它只是把猜的数字和密码比较。新的题目要用 1 到 50 的数字来猜,除非题目要你检查范围。
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.把步骤拖到正确的位置,然后按「检查」。
- ⠿ Mengenal pasti masalah.找出问题。
- ⠿ Menentukan data input.决定输入的数据。
- ⠿ Menentukan proses.决定处理步骤。
- ⠿ Menentukan output.决定输出。
- ⠿ Mereka bentuk algoritma.设计算法。
- ⠿ Menulis pseudokod dan melukis carta alir.写伪代码和画流程图。
Betul! Semua langkah mengikut turutan.答对了!所有步骤的顺序都正确。
Langkah bertanda ✗ di tempat yang salah. Cuba lagi!有 ✗ 的步骤放错位置了。再试一次!
🎯 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 公升汽油的价钱。输入、处理和输出是什么?
- Input Harga seliter minyak petrol.每公升汽油的价钱。
- Proses处理 Kira harga = kuantiti × harga seliter, bagi 1 hingga 100 liter.计算价钱 = 公升数 × 每公升价钱,从 1 到 100 公升。
- 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 次。
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Data apakah yang diberi?给了什么数据?
- Apakah yang perlu dikira?要计算什么?
- Apakah yang dipaparkan?要显示什么?
- Tentukan input, proses dan output dahulu, kemudian barulah reka bentuk algoritma.先决定输入、处理和输出,然后才设计算法。
❓ SETKAN terkecil kepada a. JIKA b < terkecil, terkecil = b. TAMAT JIKA. JIKA c < terkecil, terkecil = c. TAMAT JIKA. JIKA d < terkecil, terkecil = d. TAMAT JIKA. PAPARKAN terkecil. Cuba dengan a = 7, b = 3, c = 9, d = 1.把 terkecil(最小)设为 a。如果 b < 最小,最小 = b。结束如果。如果 c < 最小,最小 = c。结束如果。如果 d < 最小,最小 = d。结束如果。显示最小。试试 a = 7、b = 3、c = 9、d = 1。
-
Langkah步骤 Syarat条件 terkecil SETKAN — 7 JIKA b 3 < 7 → Ya 3 JIKA c 9 < 3 → Tidak 3 JIKA d 1 < 3 → Ya 1
✅ Jawapan答案: 1
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Buat semakan meja, satu JIKA pada satu masa.做桌面检查,一次一个「如果」。
- Ini tiga pilihan tunggal berturut-turut. Setiap JIKA ada TAMAT JIKA sendiri, jadi setiap syarat disemak. Jika ditulis sebagai satu rantai (satu TAMAT JIKA di hujung), c dan d tidak disemak selepas b Ya, dan jawapannya menjadi 3. Salah!这是连续三个单一选择。每个「如果」都有自己的 TAMAT JIKA,所以每个条件都会检查。如果写成一条「链」(最后只有一个 TAMAT JIKA),b 是「是」之后,c 和 d 就不会检查,答案会变成 3。错了!
❓ SETKAN menang kepada 0. UNTUK perlawanan = 1 HINGGA 5: MASUKKAN keputusan. JIKA keputusan = "Menang", TAMBAH 1 kepada menang. TAMAT JIKA. Keputusan: Menang, Kalah, Menang, Seri, Menang. Apakah nilai menang?把 menang 设为 0。对于第 1 到第 5 局:输入结果。如果结果 = "Menang"(赢),menang 加 1。结束如果。结果:赢、输、赢、和、赢。menang 是多少?
-
Perlawanan第几局 Keputusan结果 menang Mula开始 — 0 1 Menang 1 2 Kalah 1 3 Menang 2 4 Seri 2 5 Menang 3
✅ Jawapan答案: menang = 3
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Mula dengan menang = 0. Setiap ulangan, soalan JIKA ditanya sekali lagi.从 menang = 0 开始。每重复一次,就再问一次「如果」。
- Pilihan (JIKA) di dalam ulangan (UNTUK): ini gabungan struktur kawalan.重复(UNTUK)里面有选择(JIKA):这就是控制结构的组合。
❓ Kedai bubble tea memberi diskaun 10% jika membeli 5 cawan atau lebih. Secawan RM7. Apakah input, proses dan output bagi algoritma bayaran?珍珠奶茶店买 5 杯或以上打九折(10% 折扣)。一杯 RM7。付款算法的输入、处理和输出是什么?
- Input Bilangan cawan.杯数。
- Proses处理 Jumlah = cawan × 7. Jika cawan ≥ 5, tolak 10%.总价 = 杯数 × 7。如果杯数 ≥ 5,减 10%。
- Output Bayaran.要付的钱。
✅ Jawapan答案: Input: cawan · Proses: jumlah dan diskaun · Output: bayaran输入:杯数 · 处理:总价和折扣 · 输出:付款
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Apakah yang pelanggan beritahu?顾客会告诉我们什么?
- Apakah yang perlu dikira dan disemak?要计算和检查什么?
- Apakah yang dipaparkan?要显示什么?
- Ada satu syarat dengan dua tindakan (diskaun atau tiada diskaun), jadi ia dwipilihan.有一个条件和两个动作(打折或不打折),所以是双重选择。
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?这个算法的流程图要怎么画?
Algoritma算法
- Masukkan jumlah simpanan.输入存款总额(simpanan)。
- Jika simpanan >= 20 000, setkan dividen kepada 4.0%如果存款 >= 20 000,把股息率设为 4.0%
- Jika simpanan >= 10 000, setkan dividen kepada 3.0%如果存款 >= 10 000,把股息率设为 3.0%
- Jika simpanan >= 5 000, setkan dividen kepada 2.5%如果存款 >= 5 000,把股息率设为 2.5%
- Jika simpanan < 5 000, setkan dividen kepada 0%如果存款 < 5 000,把股息率设为 0%
- Kira dividen = simpanan × dividen ÷ 100计算股息 = 存款 × 股息率 ÷ 100
- Paparkan dividen显示股息
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- "MULA": guna simbol terminal (bujur) untuk MULA atau TAMAT.「MULA」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。
- "Masukkan simpanan": ini input atau output, jadi guna segi empat selari.「Masukkan simpanan」:这是输入或输出,所以用平行四边形。
- "Simpanan ≥ 20000?": ini pilihan (syarat), jadi guna bentuk berlian. Ia mesti ada dua anak panah keluar: Ya dan Tidak.「Simpanan ≥ 20000?」:这是选择(条件),所以用菱形。它一定有两个出去的箭头:Ya(是)和 Tidak(否)。
- Anak panah "Ya" → "Dividen = 4.0": ini proses, jadi guna segi empat tepat.Anak panah "Ya" → 「Dividen = 4.0」:这是处理(过程),所以用长方形。
- 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(否)。
- Anak panah "Ya" → "Dividen = 3.0": ini proses, jadi guna segi empat tepat.Anak panah "Ya" → 「Dividen = 3.0」:这是处理(过程),所以用长方形。
- 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(否)。
- Anak panah "Ya" → "Dividen = 2.5": ini proses, jadi guna segi empat tepat.Anak panah "Ya" → 「Dividen = 2.5」:这是处理(过程),所以用长方形。
- Anak panah "Tidak" → "Dividen = 0": ini proses, jadi guna segi empat tepat.Anak panah "Tidak" → 「Dividen = 0」:这是处理(过程),所以用长方形。
- "Dividen = simpanan × dividen ÷ 100": ini proses, jadi guna segi empat tepat.「Dividen = simpanan × dividen ÷ 100」:这是处理(过程),所以用长方形。
- "Paparkan dividen": ini input atau output, jadi guna segi empat selari.「Paparkan dividen」:这是输入或输出,所以用平行四边形。
- "TAMAT": guna simbol terminal (bujur) untuk MULA atau TAMAT. Inilah jawapan (b) untuk 8 markah.「TAMAT」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。这就是 (b) 的答案,8 分。
❓ Apakah output algoritma ini jika simpanan = 15000?如果 simpanan = 15000,这个算法的输出是什么?
Pseudokod伪代码
- MULA
- MASUKKAN simpanan
- JIKA simpanan ≥ 20000
- SETKAN dividen kepada 4.0
- JIKA simpanan ≥ 10000
- SETKAN dividen kepada 3.0
- JIKA simpanan ≥ 5000
- SETKAN dividen kepada 2.5
- JIKA TIDAK
- SETKAN dividen kepada 0
- TAMAT JIKA
- KIRA dividen = simpanan × dividen ÷ 100
- PAPARKAN dividen
- TAMAT
Jadual semakan meja (sampel data: simpanan = 15000)桌面检查表(样本数据:simpanan = 15000)
| Simbol符号 | simpanan | dividen | Output |
|---|---|---|---|
| Masukkan simpanan | 15000 | ||
| Simpanan ≥ 20000? → Tidak | 15000 | ||
| Simpanan ≥ 10000? → Ya | 15000 | ||
| Dividen = 3.0 | 15000 | 3 | |
| Dividen = simpanan × dividen ÷ 100 | 15000 | 450 | |
| Paparkan dividen | 15000 | 450 | RM450 |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Masukkan simpanan: 15000.输入 simpanan:15000。
- Simpanan ≥ 20000? 15000 ≥ 20000 → Tidak. Ikut anak panah "Tidak".Simpanan ≥ 20000? 15000 ≥ 20000 → 否(Tidak)。沿着「Tidak」的箭头走。
- Simpanan ≥ 10000? 15000 ≥ 10000 → Ya. Ikut anak panah "Ya".Simpanan ≥ 10000? 15000 ≥ 10000 → 是(Ya)。沿着「Ya」的箭头走。
- Dividen = 3.0. Sekarang dividen = 3.Dividen = 3.0。现在 dividen = 3。
- Dividen = simpanan × dividen ÷ 100. Sekarang dividen = 450.Dividen = simpanan × dividen ÷ 100。现在 dividen = 450。
- Paparkan di skrin: RM450在屏幕上显示:RM450
- TAMAT: algoritma berhenti. Output: RM450. Semak: 15 000 × 3.0 ÷ 100 = 450. Carta alir ini betul.TAMAT:算法结束。输出:RM450。检查:15 000 × 3.0 ÷ 100 = 450。这个流程图是对的。
❓ Bagaimanakah kita melukis carta alir bagi algoritma ini?这个算法的流程图要怎么画?
Algoritma算法
- Masukkan harga barang.输入货品的价钱(harga)。
- Masukkan berat bungkusan (kg).输入包裹的重量(berat,公斤)。
- Jika berat ≥ 5, setkan caj kepada 15.如果重量 ≥ 5,把运费(caj)设为 15。
- Jika berat ≥ 2, setkan caj kepada 10.如果重量 ≥ 2,把运费设为 10。
- Jika berat < 2, setkan caj kepada 6.如果重量 < 2,把运费设为 6。
- Kira bayaran = harga + caj.计算付款(bayaran)= 价钱 + 运费。
- Paparkan bayaran.显示付款。
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- "MULA": guna simbol terminal (bujur) untuk MULA atau TAMAT.「MULA」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。
- "Masukkan harga": ini input atau output, jadi guna segi empat selari.「Masukkan harga」:这是输入或输出,所以用平行四边形。
- "Masukkan berat": ini input atau output, jadi guna segi empat selari.「Masukkan berat」:这是输入或输出,所以用平行四边形。
- "Berat ≥ 5?": ini pilihan (syarat), jadi guna bentuk berlian. Ia mesti ada dua anak panah keluar: Ya dan Tidak.「Berat ≥ 5?」:这是选择(条件),所以用菱形。它一定有两个出去的箭头:Ya(是)和 Tidak(否)。
- Anak panah "Ya" → "Caj = 15": ini proses, jadi guna segi empat tepat.Anak panah "Ya" → 「Caj = 15」:这是处理(过程),所以用长方形。
- Anak panah "Tidak" → "Berat ≥ 2?": ini pilihan (syarat), jadi guna bentuk berlian. Ia mesti ada dua anak panah keluar: Ya dan Tidak.Anak panah "Tidak" → 「Berat ≥ 2?」:这是选择(条件),所以用菱形。它一定有两个出去的箭头:Ya(是)和 Tidak(否)。
- Anak panah "Ya" → "Caj = 10": ini proses, jadi guna segi empat tepat.Anak panah "Ya" → 「Caj = 10」:这是处理(过程),所以用长方形。
- Anak panah "Tidak" → "Caj = 6": ini proses, jadi guna segi empat tepat.Anak panah "Tidak" → 「Caj = 6」:这是处理(过程),所以用长方形。
- "Bayaran = harga + caj": ini proses, jadi guna segi empat tepat.「Bayaran = harga + caj」:这是处理(过程),所以用长方形。
- "Paparkan bayaran": ini input atau output, jadi guna segi empat selari.「Paparkan bayaran」:这是输入或输出,所以用平行四边形。
- "TAMAT": guna simbol terminal (bujur) untuk MULA atau TAMAT. Bentuknya sama seperti soalan dividen, tetapi dengan dua berlian sahaja, kerana hanya ada tiga caj.「TAMAT」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。样子和股息题一样,只是只有两个菱形,因为只有三种运费。
❓ Apakah output algoritma ini jika harga = 89, berat = 3?如果 harga(价钱)= 89,berat(重量)= 3,这个算法的输出是什么?
Pseudokod伪代码
- MULA
- MASUKKAN harga
- MASUKKAN berat
- JIKA berat ≥ 5
- SETKAN caj kepada 15
- JIKA berat ≥ 2
- SETKAN caj kepada 10
- JIKA TIDAK
- SETKAN caj kepada 6
- TAMAT JIKA
- KIRA bayaran = harga + caj
- PAPARKAN bayaran
- TAMAT
Jadual semakan meja (sampel data: harga = 89, berat = 3)桌面检查表(样本数据:harga(价钱)= 89,berat(重量)= 3)
| Simbol符号 | harga | berat | caj | bayaran | Output |
|---|---|---|---|---|---|
| Masukkan harga | 89 | ||||
| Masukkan berat | 89 | 3 | |||
| Berat ≥ 5? → Tidak | 89 | 3 | |||
| Berat ≥ 2? → Ya | 89 | 3 | |||
| Caj = 10 | 89 | 3 | 10 | ||
| Bayaran = harga + caj | 89 | 3 | 10 | 99 | |
| Paparkan bayaran | 89 | 3 | 10 | 99 | RM99 |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Masukkan harga: 89.输入 harga:89。
- Masukkan berat: 3.输入 berat:3。
- Berat ≥ 5? 3 ≥ 5 → Tidak. Ikut anak panah "Tidak".Berat ≥ 5? 3 ≥ 5 → 否(Tidak)。沿着「Tidak」的箭头走。
- Berat ≥ 2? 3 ≥ 2 → Ya. Ikut anak panah "Ya".Berat ≥ 2? 3 ≥ 2 → 是(Ya)。沿着「Ya」的箭头走。
- Caj = 10.Caj = 10。
- Bayaran = harga + caj. Sekarang bayaran = 99.Bayaran = harga + caj。现在 bayaran = 99。
- Paparkan di skrin: RM99在屏幕上显示:RM99
- TAMAT: algoritma berhenti. Output: RM99. 3 kg: caj RM10. Bayaran = 89 + 10 = RM99.TAMAT:算法结束。输出:RM99。3 公斤:运费 RM10。付款 = 89 + 10 = RM99。
❓ Bagaimanakah kita melukis carta alir bagi algoritma ini?这个算法的流程图要怎么画?
Algoritma算法
- Masukkan bilangan cawan.输入杯数(cawan)。
- Kira jumlah = cawan × 7.计算总价(jumlah)= 杯数 × 7。
- Jika cawan ≥ 10, setkan diskaun kepada 20%.如果杯数 ≥ 10,把折扣(diskaun)设为 20%。
- Jika cawan ≥ 5, setkan diskaun kepada 10%.如果杯数 ≥ 5,把折扣设为 10%。
- Jika cawan < 5, setkan diskaun kepada 0%.如果杯数 < 5,把折扣设为 0%。
- Kira potongan = jumlah × diskaun ÷ 100.计算扣除的钱(potongan)= 总价 × 折扣 ÷ 100。
- Kira bayaran = jumlah − potongan.计算付款(bayaran)= 总价 − 扣除的钱。
- Paparkan bayaran.显示付款。
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- "MULA": guna simbol terminal (bujur) untuk MULA atau TAMAT.「MULA」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。
- "Masukkan cawan": ini input atau output, jadi guna segi empat selari.「Masukkan cawan」:这是输入或输出,所以用平行四边形。
- "Jumlah = cawan × 7": ini proses, jadi guna segi empat tepat.「Jumlah = cawan × 7」:这是处理(过程),所以用长方形。
- "Cawan ≥ 10?": ini pilihan (syarat), jadi guna bentuk berlian. Ia mesti ada dua anak panah keluar: Ya dan Tidak.「Cawan ≥ 10?」:这是选择(条件),所以用菱形。它一定有两个出去的箭头:Ya(是)和 Tidak(否)。
- Anak panah "Ya" → "Diskaun = 20": ini proses, jadi guna segi empat tepat.Anak panah "Ya" → 「Diskaun = 20」:这是处理(过程),所以用长方形。
- Anak panah "Tidak" → "Cawan ≥ 5?": ini pilihan (syarat), jadi guna bentuk berlian. Ia mesti ada dua anak panah keluar: Ya dan Tidak.Anak panah "Tidak" → 「Cawan ≥ 5?」:这是选择(条件),所以用菱形。它一定有两个出去的箭头:Ya(是)和 Tidak(否)。
- Anak panah "Ya" → "Diskaun = 10": ini proses, jadi guna segi empat tepat.Anak panah "Ya" → 「Diskaun = 10」:这是处理(过程),所以用长方形。
- Anak panah "Tidak" → "Diskaun = 0": ini proses, jadi guna segi empat tepat.Anak panah "Tidak" → 「Diskaun = 0」:这是处理(过程),所以用长方形。
- "Potongan = jumlah × diskaun ÷ 100": ini proses, jadi guna segi empat tepat.「Potongan = jumlah × diskaun ÷ 100」:这是处理(过程),所以用长方形。
- "Bayaran = jumlah − potongan": ini proses, jadi guna segi empat tepat.「Bayaran = jumlah − potongan」:这是处理(过程),所以用长方形。
- "Paparkan bayaran": ini input atau output, jadi guna segi empat selari.「Paparkan bayaran」:这是输入或输出,所以用平行四边形。
- "TAMAT": guna simbol terminal (bujur) untuk MULA atau TAMAT. Ada proses sebelum dan selepas pilihan. Ikut nombor langkah algoritma.「TAMAT」:用终端符号(椭圆形)表示开始(MULA)或结束(TAMAT)。选择的前面和后面都有处理步骤。照着算法的步骤号码画。
❓ Apakah output algoritma ini jika cawan = 6?如果 cawan(杯数)= 6,这个算法的输出是什么?
Pseudokod伪代码
- MULA
- MASUKKAN cawan
- KIRA jumlah = cawan × 7
- JIKA cawan ≥ 10
- SETKAN diskaun kepada 20
- JIKA cawan ≥ 5
- SETKAN diskaun kepada 10
- JIKA TIDAK
- SETKAN diskaun kepada 0
- TAMAT JIKA
- KIRA potongan = jumlah × diskaun ÷ 100
- KIRA bayaran = jumlah − potongan
- PAPARKAN bayaran
- TAMAT
Jadual semakan meja (sampel data: cawan = 6)桌面检查表(样本数据:cawan(杯数)= 6)
| Simbol符号 | cawan | jumlah | diskaun | potongan | bayaran | Output |
|---|---|---|---|---|---|---|
| Masukkan cawan | 6 | |||||
| Jumlah = cawan × 7 | 6 | 42 | ||||
| Cawan ≥ 10? → Tidak | 6 | 42 | ||||
| Cawan ≥ 5? → Ya | 6 | 42 | ||||
| Diskaun = 10 | 6 | 42 | 10 | |||
| Potongan = jumlah × diskaun ÷ 100 | 6 | 42 | 10 | 4.2 | ||
| Bayaran = jumlah − potongan | 6 | 42 | 10 | 4.2 | 37.8 | |
| Paparkan bayaran | 6 | 42 | 10 | 4.2 | 37.8 | RM37.80 |
- Baca soalan di atas. Cuba fikir dahulu, kemudian tekan Seterusnya untuk melihat jawapan.读上面的题目。先想一想,再按「下一步」看答案。
- MULA: algoritma bermula.MULA:算法开始。
- Masukkan cawan: 6.输入 cawan:6。
- Jumlah = cawan × 7. Sekarang jumlah = 42.Jumlah = cawan × 7。现在 jumlah = 42。
- Cawan ≥ 10? 6 ≥ 10 → Tidak. Ikut anak panah "Tidak".Cawan ≥ 10? 6 ≥ 10 → 否(Tidak)。沿着「Tidak」的箭头走。
- Cawan ≥ 5? 6 ≥ 5 → Ya. Ikut anak panah "Ya".Cawan ≥ 5? 6 ≥ 5 → 是(Ya)。沿着「Ya」的箭头走。
- Diskaun = 10.Diskaun = 10。
- Potongan = jumlah × diskaun ÷ 100. Sekarang potongan = 4.2.Potongan = jumlah × diskaun ÷ 100。现在 potongan = 4.2。
- Bayaran = jumlah − potongan. Sekarang bayaran = 37.8.Bayaran = jumlah − potongan。现在 bayaran = 37.8。
- Paparkan di skrin: RM37.80在屏幕上显示:RM37.80
- TAMAT: algoritma berhenti. Output: RM37.80. 6 × 7 = 42. Diskaun 10% = 4.20. Bayaran = RM37.80.TAMAT:算法结束。输出:RM37.80。6 × 7 = 42。折扣 10% = 4.20。付款 = RM37.80。
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. 说明理由。
- 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. 因为有两个以上的选择:运费取决于三个重量范围。
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Kira bilangan tindakan yang mungkin.数一数可能的动作有几个。
- Alasan mesti menyebut "lebih daripada dua pilihan".理由一定要写「两个以上的选择」。
❓ Mei mahu menghantar mesej "Selamat Hari Jadi" kepada 5 orang kawan dalam satu kumpulan. (a) i. Nyatakan struktur kawalan yang sesuai. ii. Berikan alasan.Mei 要把「生日快乐」的信息发给群里的 5 个朋友。(a) i. 写出适合的控制结构。ii. 说明理由。
- Ya, tepat 5 kali.知道,刚好 5 次。
✅ Jawapan答案: i. Struktur kawalan ulangan UNTUK. ii. Kerana bilangan ulangan sudah ditetapkan, iaitu 5 kali.i. 重复控制结构 UNTUK。ii. 因为重复的次数已经定好了,就是 5 次。
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Adakah bilangan ulangan diketahui?知道要重复几次吗?
- Bilangan tetap → UNTUK.次数固定 → UNTUK。
❓ Tekan butang lif, kemudian semak sama ada pintu sudah terbuka. Ulang sehingga pintu terbuka. (a) i. Nyatakan struktur kawalan. ii. Berikan alasan.按电梯按钮,然后检查门开了没有。一直重复,直到门打开。(a) i. 写出控制结构。ii. 说明理由。
- Tekan dahulu (sekurang-kurangnya sekali), semak kemudian.先按(至少按一次),之后才检查。
✅ Jawapan答案: i. ULANG–SEHINGGA. ii. Kerana langkah dilaksanakan dahulu, kemudian syarat diuji sehingga syarat benar.i. ULANG–SEHINGGA。ii. 因为先执行步骤,再检查条件,一直到条件成立。
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Langkah dibuat dahulu, kemudian syarat disemak.先做步骤,再检查条件。
- "Sehingga" dan "sekurang-kurangnya sekali" → ULANG–SEHINGGA.「直到」和「至少一次」→ ULANG–SEHINGGA。
❓ Jika umur kurang daripada 12 tahun, harga tiket RM8. Jika tidak, harga tiket RM15. (a) i. Nyatakan struktur kawalan. ii. Berikan alasan.如果年龄小于 12 岁,票价 RM8。否则票价 RM15。(a) i. 写出控制结构。ii. 说明理由。
- Satu syarat (umur < 12), dua tindakan (RM8 atau RM15).一个条件(年龄 < 12),两个动作(RM8 或 RM15)。
✅ Jawapan答案: i. Dwipilihan. ii. Kerana memilih satu daripada dua tindakan, bergantung kepada sama ada syarat dipenuhi atau tidak.i. 双重选择。ii. 因为要在两个动作中选一个,看条件是否成立。
- Baca soalan. Cuba fikir dahulu sebelum melihat jawapan!读题目。看答案之前,先自己想一想!
- Ada berapa syarat dan berapa tindakan?有几个条件、几个动作?
- Satu syarat, dua tindakan → dwipilihan.一个条件、两个动作 → 双重选择。
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
-
___
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Ini baris pertama pseudokod.这是伪代码的第一行。
-
___ markah
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Markah mesti dibawa masuk dahulu sebelum disemak: input atau output?分数要先输入才能检查:是输入还是输出?
-
___ markah ≥ 40
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Syarat ini disemak sekali sahaja, jadi ia pilihan, bukan gelung.这个条件只检查一次,所以它是选择,不是循环。
PAPARKAN "Lulus"
-
___
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Baris ini memulakan cabang kedua, untuk markah kurang daripada 40.这一行开始第二条路,给少于 40 分的人。
-
___ "Gagal"
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! "Gagal" ditunjukkan di skrin: input atau output?「Gagal」显示在屏幕上:是输入还是输出?
-
___
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Pilihan yang dibuka dengan JIKA mesti ditutup sebelum TAMAT.用 JIKA 打开的选择,在 TAMAT 之前一定要关上。
TAMAT
🌟 Tahniah! Semua betul pada cubaan pertama.恭喜!全部第一次就答对了。
✅ Semua betul! Ulang kaji soalan yang perlu dicuba lebih sekali:全部答对了!复习一下要试不止一次的题:
✍️ Lengkapkan langkah完成步骤
Lengkapkan jadual fasa pembangunan atur cara (soalan UASA B8)完成程序开发阶段的表格(UASA B8 题)
Jawapan betul答对: 0 / 4
-
Menulis pseudokod dan melakar carta alir → …写伪代码和画流程图 → ……
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Kek hari jadi: ini seperti menulis resipi, sebelum membakar.生日蛋糕:这就像在烤之前先写食谱。
-
Menyediakan dokumentasi luaran dan dalaman → …准备外部和内部的文档 → ……
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Kek hari jadi: ini seperti menyimpan resipi supaya boleh dibuat lagi.生日蛋糕:这就像把食谱存起来,下次还能再做。
-
Mengesan dan membaiki ralat → …找出并改正错误 → ……
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Kek hari jadi: ini seperti merasa kek, kemudian membaikinya.生日蛋糕:这就像尝一尝蛋糕,再把它改好。
-
Menentukan input, proses dan output → …决定输入、处理和输出 → ……
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Kek hari jadi: ini seperti bertanya dahulu, kek untuk siapa dan berapa besar?生日蛋糕:这就像先问,蛋糕给谁吃、要多大?
🌟 Tahniah! Semua betul pada cubaan pertama.恭喜!全部第一次就答对了。
✅ Semua betul! Ulang kaji soalan yang perlu dicuba lebih sekali:全部答对了!复习一下要试不止一次的题:
✋ Cuba试试看
Padanan betul atau salah? (soalan UASA B6)配对对不对?(UASA B6 题)
Tandakan Betul jika struktur kawalan dipadankan dengan maksud yang betul.如果控制结构配对到正确的意思,就选「对」。
Jawapan betul答对: 0 / 5
-
Struktur kawalan pelbagai pilihan: memilih di antara dua tindakan atau dua set tindakan untuk dilaksanakan.多重选择控制结构:在两个动作或两组动作中选一个来执行。
Betul!答对了! Ini maksud dwipilihan.这是双重选择的意思。
Belum tepat. Cuba lagi!还不对,再试一次! Kira tindakan dalam ayat: dua, atau lebih daripada dua?数一数句子里的动作:两个,还是两个以上?
-
Struktur kawalan dwipilihan: mengandungi lebih daripada dua set tindakan yang berlainan sebagai pilihan untuk dilaksanakan.双重选择控制结构:有两组以上不同的动作可以选择执行。
Betul!答对了! Ini maksud pelbagai pilihan.这是多重选择的意思。
Belum tepat. Cuba lagi!还不对,再试一次! Kira tindakan dalam ayat: dua, atau lebih daripada dua?数一数句子里的动作:两个,还是两个以上?
-
Struktur kawalan UNTUK: melaksanakan satu set langkah berdasarkan pembilangan yang telah ditetapkan.UNTUK 控制结构:按照已经设定的计数,执行一组步骤。
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Ingat kata kunci UNTUK dalam jadual: bilangan ulangan sudah diketahui.记得表里 UNTUK 的关键词:已经知道要重复几次。
-
Struktur kawalan pilihan tunggal: mempunyai satu pilihan untuk melaksanakan satu set tindakan yang tertentu.单一选择控制结构:只有一个选择,用来执行一组特定的动作。
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Adakah ayat ini sepadan dengan "tunggal", iaitu satu sahaja?这个句子配得上「Tunggal」(只有一个)吗?
-
Struktur kawalan ULANG–SEHINGGA: syarat diuji sebelum langkah-langkah dalam gelung dilaksanakan.ULANG–SEHINGGA 控制结构:在执行循环里的步骤之前先测试条件。
Betul!答对了! ULANG–SEHINGGA menguji selepas. SELAGI menguji sebelum.ULANG–SEHINGGA 后测试,SELAGI 先测试。
Belum tepat. Cuba lagi!还不对,再试一次! ULANG–SEHINGGA menguji syarat sebelum atau selepas langkah?ULANG–SEHINGGA 是在步骤之前,还是之后测试条件?
🌟 Tahniah! Semua betul pada cubaan pertama.恭喜!全部第一次就答对了。
✅ Semua betul! Ulang kaji soalan yang perlu dicuba lebih sekali:全部答对了!复习一下要试不止一次的题:
Uji diri测验自己
Kuiz Bab 3第3章 小测验
Soalan objektif seperti Bahagian A. Pilih satu jawapan.像 A 部分的选择题。选一个答案。
Jawapan betul答对: 0 / 12
-
Soalan题目 1 Apakah maksud algoritma?算法是什么意思?
Betul!答对了! Definisi nota cikgu.老师笔记里的定义。
Belum tepat. Cuba lagi!还不对,再试一次! Ingat cerita Milo: algoritma seperti resipi.记得冲美禄的故事:算法就像食谱。
-
Soalan题目 2 Simbol berlian dalam carta alir mewakili …流程图里的菱形代表……
Betul!答对了! Berlian menguji syarat: Ya atau Tidak.菱形测试条件:Ya 或 Tidak。
Belum tepat. Cuba lagi!还不对,再试一次! Berlian ada dua anak panah keluar, Ya dan Tidak: apakah yang dibuat di situ?菱形有两个出去的箭头 Ya 和 Tidak:在那里要做什么?
-
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)
Betul!答对了! "Dua tindakan" = dwipilihan.「两个动作」= 双重选择。
Belum tepat. Cuba lagi!还不对,再试一次! Ini pilihan, bukan ulangan, jadi kira tindakan dalam soalan.这是选择,不是重复,所以数一数题目里的动作。
-
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)
Betul!答对了! Setkan dahulu, kemudian UNTUK, tindakan, dan akhir sekali tambah 1.先设定,再 UNTUK,然后动作,最后加 1。
Belum tepat. Cuba lagi!还不对,再试一次! Apakah yang mesti dibuat sebelum gelung bermula, dan bilakah pembilang ditambah?循环开始前要先做什么,计数器又是什么时候加 1?
-
Soalan题目 5 Antara berikut, yang manakah BUKAN nama pemboleh ubah yang sah?下面哪一个「不是」合法的变量名称?
Betul!答对了! Mengikut peraturan cikgu, nama pemboleh ubah mesti bermula dengan huruf.照老师的规则,变量名称一定要用字母开头。
Belum tepat. Cuba lagi!还不对,再试一次! Semak aksara pertama setiap nama.检查每个名字的第一个字符。
-
Soalan题目 6 Berapakah 17 % 5?17 % 5 是多少?
Betul!答对了! 17 ÷ 5 = 3 baki 2. % memberi baki.17 ÷ 5 = 3 余 2。% 给出余数。
Belum tepat. Cuba lagi!还不对,再试一次! % memberi baki, bukan hasil bahagi.% 给的是余数,不是商。
-
Soalan题目 7 Struktur kawalan ulangan manakah yang melaksanakan langkah sekurang-kurangnya sekali?哪一种重复控制结构至少会执行一次步骤?
Betul!答对了! Syarat diuji selepas langkah dilaksanakan.在执行步骤之后才测试条件。
Belum tepat. Cuba lagi!还不对,再试一次! Gelung mana yang menguji syarat SELEPAS langkah?哪一种循环在步骤之后才测试条件?
-
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)
Betul!答对了! Bandingkan → kesan → baiki → uji lari semula.比较 → 找出 → 改正 → 再测试。
Belum tepat. Cuba lagi!还不对,再试一次! Kita mesti tahu ada ralat dahulu, baru boleh mencari dan membaikinya.要先知道有错误,才能去找、去改。
-
Soalan题目 9 Ralat yang tidak memaparkan mesej ralat, tetapi menghasilkan output yang salah, ialah …没有显示错误信息,但输出是错的,这种错误是……
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Atur cara berjalan sampai habis, tetapi jawapannya salah kerana langkah algoritma salah.程序一直运行到最后,但是因为算法的步骤错了,所以答案错了。
-
Soalan题目 10 Teknik semakan meja menggunakan …桌面检查用的是……
Betul!答对了! Langkah demi langkah pula tidak menggunakan sampel data.逐步检查就不用样本数据。
Belum tepat. Cuba lagi!还不对,再试一次! Ingat beza dua teknik semakan: satu guna data contoh, satu tidak.记得两种检查方法的不同:一种用样本数据,一种不用。
-
Soalan题目 11 "Menulis pseudokod dan melakar carta alir" berlaku dalam fasa … (UASA)「写伪代码和画流程图」是在哪一个阶段?(UASA)
Betul!答对了!
Belum tepat. Cuba lagi!还不对,再试一次! Pseudokod dan carta alir dibuat selepas memahami masalah, tetapi sebelum menulis kod sebenar.伪代码和流程图是在了解问题之后、写真正的代码之前做的。
-
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 的股息率是多少?
Betul!答对了! 12000 ≥ 20000? Tidak. 12000 ≥ 10000? Ya → 3.0.12000 ≥ 20000?否。12000 ≥ 10000?是 → 3.0。
Belum tepat. Cuba lagi!还不对,再试一次! Semak syarat satu demi satu dari atas, dan berhenti pada syarat pertama yang Ya.从上面开始一个一个检查条件,在第一个「是」的条件停下来。
🌟 Tahniah! Semua betul pada cubaan pertama.恭喜!全部第一次就答对了。
✅ Semua betul! Ulang kaji soalan yang perlu dicuba lebih sekali:全部答对了!复习一下要试不止一次的题:
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.分析 → 设计 → 编码 → 测试 → 文档。 |