Page 105 - Buku Teks ASK Tingkatan 3 (KSSM)
P. 105

Pembangunan Algoritma   3.1

             (ii)  Mengesan dan Membaiki Ralat bagi Penyelesaian Masalah yang Melibatkan Sort




                     3.12   Pengesanan dan membaiki ralat dalam satu algoritma sort.



               Soon Huat ingin membina satu algoritma untuk mengisih satu senarai integer dalam
               urutan menaik menggunakan bubble sort. Senarai integer yang ada serta output yang
               dikehendaki oleh Soon Huat adalah seperti berikut:
               Senarai integer                          Output yang dikehendaki


                   11, 5, 77, 8, 44, 7                      5, 7, 8, 11, 44, 77


               Apabila algoritma yang dibina oleh Soon Huat disemak, didapati output yang diperoleh
               adalah seperti berikut:
               Output yang diperoleh


                   77, 44, 11, 8, 7, 5



               Bantu Soon Huat mengesan ralat pada pseudokod dan carta alir yang dihasilkannya.



             Pseudokod yang dihasilkan oleh Soon Huat

                        1  Mula
                        2  Setkan senarai L = [11, 5, 77, 8, 44, 7]
                        3  Isytihar pemboleh ubah n, i, j, temp
                        4  Setkan n = 6
                        5  Setkan i = 0
                        6  Setkan temp = 0
                        7  for i < n – 1
                            7.1 Setkan j = 0
                            7.2 for j < n – i – 1
                                7.2.1 Jika L  < L
                                               j    j + 1
                                        7.2.1.1 temp = L
                                                           j
                                        7.2.1.2 L  = L
                                                  j     j + 1
                                        7.2.1.3 L      = temp
                                                  j + 1
                                7.2.2 Tamat jika
                                7.2.3 Kira j = j + 1
                            7.3 Kira i = i + 1
                        8  Papar senarai
                        9  Tamat

                       Rajah 3.21  Pseudokod bagi mengisih senarai integer dalam urutan menarik
                                                                                                 95
   100   101   102   103   104   105   106   107   108   109   110