Page 155 - SK tingkatan 5
P. 155

Rajah 3.1.26  Atur cara JavaScript dan output bagi carian perduaan (carian nombor genap)
                  Carta alir untuk Contoh 8 ditunjukkan pada Rajah 3.1.27.


                                                                    MULA
                                         Senarai nombor
                                         yang telah diisih  no = 11,23,38,48,150
                                                                   i = 0

                                                                                 PALSU
                                       i = i + 1                   i < 5?
                                                               BENAR
                                                                                 PALSU
                                      Tentukan nombor genap    no[i]%2 == 0?
                                      (nombor yang dicari)
                                                               BENAR
                                                             noGenap = no[i]
                                                             indeksAwal = 0
                                                       indeksAkhir = no.length‐1
                                       indeksTengah = Math.floor((indeksAkhir + indeksAwal)/2)


                                                                                               Selagi nombor
                                                                                    PALSU      yang dirujuk
                                                       no[indeksTengah]!= noGenap
                                                        indeksAwal < indeksAkhir?              TIDAK SAMA
                                                                                               dengan nombor
                                                                                               genap yang dicari
                                                            BENAR

                                              PALSU                       PALSU                          Jika
                          no[indeksTengah]<           no[indeksTengah]<                                 nombor
                               noGenap?                    noGenap?           PALSU                      yang
                           BENAR                        BENAR                                           dirujuk
                                                                                 no[indekstengah]        SAMA
                           indeksAkhir =               indeksAkhir =                     ==             dengan
                          indeksTengah ‐ 1            indeksTengah + 1               noGenap?           nombor
                                                                                                         genap
                                                                                                         yang
                             indeksTengah =             Kiraan semula                                    dicari
                       Math.floor((indeksAkhir +        indeksTengah                       BENAR
                             indeksAwal)/2)


                                                        Paparkan “No tengah yang dirujuk:
                                                                Paparkan noGenap
                                                       Paparkan “(Jumpa nombor genap)”           TAMAT

                                        Rajah 3.1.27  Carta alir carian perduaan (carian nombor genap)

 PB                                                                BAB 3  Pengaturcaraan Berasaskan Web 147
   150   151   152   153   154   155   156   157   158   159   160