Page 7 - ePC11110_資訊科技_課本PDF
P. 7

範例4-19  計算 1+2+3+4+5 的結果
                   01  Sub Main()             分析引導
                   02   Dim X% = 5            在「1+2+3+4+5」的累加運算式中,
                   03   Debug.print (FA(X))   可 以 看 成 是「1+2+3+4」+「5」,
                       例如快遞公司要寄送商品,如果有 4 個地點要送,順序是 S → A → B → T,
                   04  End Sub                即 為 將「1+2+3+4」 的累 加結 果再
                   05  從出發地到下一個目的地有不同的路線,如圖 3-4.9 所示。從地點 S 到 A 有 3 條不 作
                                              加 上「5」。 因 此, 若 將 FA(n)
                      Function FA(n)
                   06  同的路徑,依照貪婪演算法,司機會選擇最短路徑 10。因此,司機走訪 4 個地點
                                              為從 1 累加到 n 的遞迴函式,則得
                       If n = 1 then
                   07  的最短路徑總和為 10+15+20=45。  出 FA(5)= FA(5-1) +5,若要計算出
                   08    Return FA = 1
                                              FA(5-1) = FA(4) 的 值, 則 將 n=4 再
                        ' 以 Return 指令回傳 FA 值  代 入 FA(n) 函 式 中, 得 出 FA(4) =
                   09   else
                   10    Return FA = n + FA(n-1)    FA(4-1) + 4。得出遞迴函式為 FA(n)
                                              = FA(n-1) + n。
                        ' 以 Return 指令回傳 FA 值
                       End If
                   11  例如圖 3-2.2 網路報名並繳款的流程圖,其中「進入系統註冊帳號」的處理動作可
                   12  End Function
                  再細分出來,流程圖如圖 3-2.3 所示。       另外,題目「1+2+3+4+5」的累加
                                              運算式從 5 累加到 1 為止,因此當
                                    圖 3-4.9 最短路徑問題
                                              累加值傳入 n=1 時,則 FA(1) = 1。
 章首學習引路燈          結果:15                                                動動腦
                  說明:1. 程式第 10 行 Return FA = n + FA(n-1),會在程序中呼叫自身程序。
 章首附有精美的大圖,提供        2. 將 X = 5 放入 FA 自定函式中,FA 的回傳運算過程如下:           用來加強說明課文的相關主題或範例,幫助學
                   假設要從地點 C 到地點 T,依照貪婪演算法              回傳
                                        執行
                             判斷
                      呼叫
                   的選擇路徑為何?請試著討論,該範例使用
 該章的學習目標,帶領學生         FA(5)  n = 5  Return 5 + FA(5-1)  FA(5) = 5 + FA(4)  生對學習內容更深一層的理解。
                   貪婪演算法是最佳解答嗎?
                      FA(4)  n = 4  Return 4 + FA(4-1)  FA(4) = 4 + FA(3)
 逐步認識新章節。             FA(3)  n = 3  Return 3 + FA(3-1)  FA(3) = 3 + FA(2)
                      FA(2)  n = 2  Return 2 + FA(2-1)  FA(2) = 2 + FA(1)
                      FA(1)  n = 1  Return 1     FA(1) = 1
                                                                      WOW !知識
                   知識
                    知識
                                                                      資訊百科
                        副程式         傳回值              呼叫時
                     Sub(子程序)  無               需使用 Call 指令
                                                                   穿插內文中,延伸學習主題,拓展學習視野。
                     Function(函式) 有,以 Return 指令回傳值  可直接輸入 Function 函式名稱
                               圖 3-2.3 「進入系統註冊帳號」模組的流程圖
                                             Chapter 04  程式設計—使用 Visual Basic        191
                                                                       數位 FUN 手做
                        數位FUN  手做   01
                        數位FUN手做
                                                                    穿插內文中,課堂實作練習,加強學習效果。
                    依據下列條件,畫出計算電費的流程圖。
                                                       Chapter 03  演算法        129
                    1.  輸入用電度數。
                    2.  若用電在 100 度 ( 含 ) 以內,每度 3 元,超過 100 度以上,超過的部分每度 4 元。
                    3.  印出應繳電費。
                 118  資訊科技 INFORMATION TECHNOLOGY  Chapter 03  課後習題
                                                                                             Chapter 01 探討活動
                       �擇題
                      3-1  (   ) 1. 關於陣列資料結構的運作原理,下列何種特性是錯誤的?                 在我們的生活中,已經有相當多的應用導入雲端運算、人工智慧與物聯網的技術,
                            (A) 包含名稱
                            (B) 包含索引                                        請試著討論下列項目使用到哪些技術?並試著說出這些應用分別使用哪些關鍵技術?
                            (C) 在記憶體中以連續的區塊儲存元素
                                                                                項目                討論項目
                            (D) 只能循序存取。
                                                                                         ●雲端運算    ●人工智慧     ○物聯網
                       (   ) 2. 關於指標資料結構的運作原理,下列何種特性是錯誤的?
                            (A) 包含資料         (B) 包含指標
                            (C) 可以隨機存取       (D) 可以減少記憶體浪費。                            1.  Gmail 是 Google 提供的雲端應用服務,屬於 SaaS 軟體即服
                                                                                        務基礎。
                       (   ) 3. 關於堆疊資料結構的運作原理,符合下列何種特性?                                2.  Google 利用機器學習技術,可有效辨識垃圾郵件與網路釣魚
                            (A) 先進先出  (B) 後進先出  (C) 只進不出  (D) 只出不進。                     郵件。
                                                                                Gmail
                       (   ) 4. 關於佇列資料結構的運作原理,符合下列何種特性?
                            (A) 先進先出  (B) 後進先出  (C) 只進不出  (D) 只出不進。
                                                                                         ○雲端運算    ○人工智慧     ○物聯網
                       (   ) 5. 關於各種資料結構的運作原理,下列何種特性是錯誤的?
                            (A) 陣列可以隨機存取     (B) 佇列較浪費記憶體
                            (C) 佇列存取在不同端     (D) 陣列存取資料在同一端。
                       (
                    課後習題                                                 探討活動
                      3-2
                          ) 6. 下列何者是演算法所必須具備的特性之一?
                                             (B) 有限性(Finiteness)
                            (A) 開放性(Openness)
                                                                               YouBike
                            (C) 一致性(Consistency)   (D) 不可分割性(Atomicity)。
                       (   ) 7. 下列有關演算法 (Algorithm)的敘述,何者不正確?
                 各章末提供習題,測驗學生學習成果,作為調                                 各章末提供探討活動,讓學生可以學會思考與
                            (A) 虛擬碼(Pseudo Code)必須遵守程式語言的語法,才能描述演算法
                                                                                         ○雲端運算
                                                                                                  ○人工智慧
                                                                                                            ○物聯網
                            (B) 流程圖(Flowchart) 為描述演算法的一種方法
                            (C) 演算法的設計必須符合有效性(Effectiveness)
                 整學習方向之參考。                                            分析問題,與他人進行探討,並選用適合的資
                            (D) 演算法的設計必須符合有限性(Finiteness)。
                       (   ) 8. 下列何者不是描述演算法的方式?
                            (A) 文字敘述  (B) 流程圖  (C) 虛擬碼  (D) 甘特圖。      訊科技合作共創。
                                                                             動態表情 Animoji
                       (   ) 9. 在流程圖中,通常以何種符號來表示決策或判斷?
                            (A)      (B)     (C)     (D)  。
                    144  資訊科技 INFORMATION TECHNOLOGY                     44  資訊科技 INFORMATION TECHNOLOGY
                                                                   v
   2   3   4   5   6   7   8   9   10   11   12