Ringkasan Pengajaran
Pengajaran ini memperkenalkan struktur kawalan ulangan gelung 'while' dalam pengaturcaraan asas Python.
ASK Tingkatan 1
4.1.3 Menghasilkan aturcara yang melibatkan penggunaan ulangan.
4.1.4 Membangunkan aturcara yang melibatkan penggunaan pelbagai pilihan, ulangan, pemboleh ubah dan operator Matematik.
ASK Tingkatan 2
3.2.1 Menghasilkan aturcara yang melibatkan:
(i) struktur kawalan jujukan dalam penyelesaian masalah.
(ii) struktur kawalan pilihan dalam penyelesaian masalah.
(iii) struktur kawalan pilihan bersarang dalam penyelesaian masalah.
(iv) struktur kawalan ulangan dalam penyelesaian masalah.
ASK Tingkatan 4
1.4.2 Menulis aturcara menggunakan struktur kawalan pilihan dengan menggabungkan operator hubungan dan operator logik.
1.4.3 Menerangkan aliran struktur kawalan ulangan:
(i) for.
(ii) while.
(iii) do-while.
1.4.4 Menulis aturcara menggunakan struktur kawalan ulangan yang melibatkan:
(i) operator increment (++) dan decrement (--).
(ii) class Math (method random).
(iii) Boolean.
1.5.3 Mengenalpasti nilai bagi pemboleh ubah pada bahagian tertentu aturcara.
Peringatan cara untuk mengikut video:
Tonton video
Pause apabila terdapat praktis dalam video
Cuba bina dan uji aturcara Python sendiri
Ulang langkah 1 - 3 sehingga akhir video
Transkrip
Hello world! Bayangkan anda mempunyai 24 buah epal dan perlu membahagikannya kepada longgokan epal secara sama rata. Bagaimanakah anda akan bahagikannya? Terdapat banyak cara untuk melakukan pembahagian tersebut. Sebagai contoh, kita boleh pecahkan kepada dua longgokan dengan 12 epal setiap longgokan atau tiga longgokan berlapan, 4 longgokan berenam dan sebagainya.
Sekarang, cuba bayangkan jika saya meminta anda untuk bahagikan 23 biji epal secara sama rata. Hanya terdapat satu cara untuk melakukannya iaitu 1 longgokan dengan semua 23 biji epal di dalamnya.
23 adalah nombor perdana. Nombor perdana adalah nombor yang hanya boleh dibahagikan dengan diri sendiri atau satu. Di sini adalah senarai 100 nombor perdana yang pertama.
4 bukanlah nombor perdana kerana ianya boleh dibahagikan kepada 2. 77 juga bukan nombor perdana kerana ianya boleh dibahagikan dengan diri sendiri dan 11. Jika diberikan suatu nombor, bagaimanakah anda hendak mengenalpasti sama ada nombor itu merupakan nombor perdana atau bukan?
Nombor perdana merupakan salah satu jenis nombor terpenting dalam Sains Komputer. Kryptografi, bidang Sains Komputer yang berurusan untuk memastikan komunikasi selamat, bergantung kepada nombor perdana untuk berfungsi.
Hari ini kita akan belajar cara untuk mencipta algoritma yang akan menentukan sama ada sesuatu nombor diberi adalah nombor perdana atau tidak. Cara paling mudah adalah dengan membahagikan nombor tersebut dengan 2 hingga ke nombor itu sendiri Jika nombor tersebut boleh dibahagikan dengan nombor lain selain 1 dan nombor itu sendiri, maka ianya bukanlah nombor perdana.
Jom cuba nombor 6. OK, nombor 6 boleh dibahagikan dengan 2, maka kita boleh rumuskan 6 bukanlah nombor perdana kerana ianya boleh dibahagikan dengan 2 dan diri sendiri. Jom kita cuba nombor 7.
Kita cuba bahagikan 7 dengan 2, tak boleh, ada baki 1; nombor 3, baki 1 juga. Kita ulangi proses pembahagian ini dengan menambahkan 1 kepada nombor pembahagi setiap kali. Sampailah ke nombor 7 iaitu nombor yang dimasukkan, maka kita boleh rumuskan bahawa 7 adalah nombor perdana. Nampak tak, dalam cara ini, terdapat langkah yang diulangi. Kita ulangkan langkah membahagi nombor kita dengan pembahagi.
Dalam aturcara, kita boleh arahkan komputer untuk mengulangi sesuatu aturcara dengan menggunakan struktur kawalan ulangan. Perhatikan kod berikut. Apakah yang dapat anda lihat apabila anda melaksanakan kod tersebut? Kod akan ulang “Hello” sebanyak mana yang telah anda masukkan dalam aturcara.
Jom bandingkan aturcara ini dengan carta alir. Struktur kawalan ulangan ini dikenali sebagai loop atau gelung “while”. Gelung ini mempunyai 4 langkah iaitu permulaan, penyemakan, tindakan dan kemas kini.
Di sini kita mempunyai pemulaan keadaan di mana kita menetapkan X sama dengan input daripada pengguna. Kemudian kita menyemak jika syarat dipenuhi atau tidak – iaitu syarat x tidak sama dengan 0. Kemudian kita bergerak ke dalam gelung. Lihat bagaimana kandungan loop mempunyai indentasi yang lebih ke kanan? Dalam kod ini, kita mahu “print hello” untuk berulang. Ini adalah tindakan kod kita.
Di sini, tindakan kod kita hanya 1 sahaja. Anda boleh mempunyai tindakan yang lebih dari 1, atau struktur kawalan pilihan di sini mahupun struktur kawalan ulangan di dalam. Akhir sekali, kita perlu mengemaskini syarat menggunakan penambahan atau penolakan nilai pembolehubah kiraan, di mana kita tetapkan nilai baru bagi menggantikan nilai lama.
Di setiap langkah, kita tolak x dengan 1. Ini merupakan langkah yang paling penting di dalam loop. Tanpa langkah kemas kini, gelung kita boleh menjadi tak terhingga ataupun dalam Bahasa inggeris 'Infinite loop'.
Jom kita lihat apa akan berlaku apabila kita keluarkan langkah kemaskini ini. Seperti mana yang anda lihat, loop kita menjadi tak terhingga dan tiada pengakhiran.
Jom lihat contoh gelung yang satu lagi. Mari kita jejak pelaksanaan gelung ini bersama. Kita bermula dengan memasukkan nilai input 3. Dalam langkah pertama, y adalah 1, x masih 3, jadi syarat adalah benar, kita akan paparkan y, iaitu 1. Kemudian kita tambah 1 kepada y, sekarang y menjadi 2. Y masih kurang daripada X yang 3, jadi syarat itu masih benar, kita akan paparkan y, yang sekarangnya sudah jadi nilai 2. Kemudian kita tambahkan 1 kepada y, sekarang y sudah menjadi 3.Sekarang y adalah sama dengan x jadi syarat itu masih benar, kita akan paparkan outputnya 3. Kemudian kita tambah 1 hingga y, sekarang y menjadi 4. Syarat y lebih kecil atau sama dengan X adalah palsu. Maka aturcara akan berakhir di sini.
Carta Alir Struktur Kawalan Ulangan
Contohnya:
Sintaks struktur kawalan ulangan gelung 'while'