Page 6 - eFC10810_程式語言與設計(下)_課本PDF
P. 6

本書導覽








                           1
                             5    重複結構                    1  章首頁

                                                         前言提綱挈領,導入本章學習內容,並輔以「情境
                              5-1   迴圈基本架構
                              5-2   計數迴圈 For-Next
                              5-3   條件迴圈 Do-Loop  當程式中必須執行多次某個敘述區段時,便可
                              5-4   巢狀迴圈  以使用「重複結構」的敘述,也就是所謂的「迴  應用」圖文實例,使學生預先體會所學成效。
                              5-5   變更迴圈流程  圈」。例如:設計跑馬燈要顯示幾回、紅綠
                                        燈要閃爍幾次、帳號密碼允許輸入幾次,以及
                              5-6  Timer 控制項
                                        1+2+…+100 累加程式或動畫的延遲時間等。
                                情境應用
                                情境應用
                                           用迴圈製造 4 個亂數 1~9 的數字

                               執行迴圈,讓草群女孩跳起舞來!


                           FC10810-CH05.indd   1   2019/10/9   下午 01:38:44

                                                                                           程式打卡 4    3
                      2  語法說明                                   3. 執行程式,按「二維陣列」鈕,顯示數列值。
                                                             重複結構 5                        新增一個「Windows Form 應用程式」,檔案名稱命名為「愛心園遊會」。       5 重複結構
                                                                                          動作要求:
                                                                                          ‧ 宣告一個二維陣列用來儲存愛心園遊會三個年級各區的營業額。
                     「語法說明」介紹該單元運                                                         ‧ 設定陣列初始值如下表。 A區  B區  C區  D區
                                                                                            年級
                                                                                            高一  9600  12000  15000  8800
                                                                                            高二  15000  9000  24000  10000
                     用之指令、語法。                                                               ‧ 按下按鈕後,分別顯示高一 ~ 高三的總營業額。  12500  9500
                                                                                                   11000
                                                                                            高三
                                                                                                8000
                                                                 語法說明      2
                                                                 二維陣列初始值                 1. 表單佈置如圖所示。
                                                              6                                                6
                                                              陣列                                               陣列
                                                                   陣列初始值設定語法   語 意
                                                                Dim 陣列名稱 ( ) As 資料型態 = { 陣列初始值串列 } 宣告陣列並設定陣列元素初始值
                      3  程式打卡                                   1   宣告一個包含初始值的二維陣列:
                                                                Dim B( , ) As Integer = {{2, 4, 6, 8}, {10, 12, 14, 16}, {18, 20, 22, 24}}
                                                              7     B(0,0)=2  B(0,1)=4  B(0,2)=6  B(0,3)=8  2. 快按按鈕物件兩下,在 Button1_Click 事件中輸入下列程式碼。  7
                                                              函式    B(1,0)=10  B(1,1)=12  B(1,2)=14  B(1,3)=16  函式
                                                             與副程式                         Private Sub Button1_Click(…) Handles Button1.Click  與副程式
                                                                    B(2,0)=18  B(2,1)=20  B(2,2)=22  B(2,3)=24
                                                                                                 Dim A(,) As Integer = {{9600, 12000, 15000, 8800}, {15000,
                     「程式打卡」則藉簡單範例                               2   宣告陣列並同時設定初始值時,不可指定最大註標值,陣列大小由初始值的個數來  9000, 24000, 10000}, {8000, 11000, 12500, 9500}}  高一總營業額
                                                                決定。
                                                                                                 Label5.Text = A(0, 0) + A(0, 1) + A(0, 2) + A(0, 3)
                                                                例 2:                             Label6.Text = A(1, 0) + A(1, 1) + A(1, 2) + A(1, 3)
                                                                Dim B(,)  As Integer = {{2, 4, 6, 8},  執行結果          Label7.Text = A(2, 0) + A(2, 1) + A(2, 2) + A(2, 3)
                     練習,使學生熟悉指令用法。                              {10, 12, 14, 16}, {18, 20, 22, 24}}  X=8+20+10=38      End Sub
                                                                Dim X As Integer
                                                             綜合應用 8                                            8 綜合應用
                                                                X = (B(0, 3) + B(2, 1) + B(1, 0))
                                                              112                                              113
                                                                            4  點子追蹤
                         設定 Timer 控制項屬性初始值的方式也和其他控制項一樣,可視需要直接在屬性  表單設計
                                                                           生活化的情境設計,使學生樂於透
                        視窗上設定,或在 Form_Load() 中以敘述來設定,如表 5-1 所示。
                              表 5-1 Timer 控制項屬性初始值設定方式
                           使用屬性視窗來設定  使用程式敘述來設定
                                  Private Sub Form1_Load(sender  As
                       5                                                5
                      重複結構        Object, e  As  EventArgs)  Handles       重複結構  過實作理解程式精神。經由「執行
                                  MyBase.Load
                                      Timer1.Enabled = False
                                      Timer1.Interval = 1000
                                  End Sub                                  結果」、「表單設計」與「解碼動
                                4                  解碼動態
                          點子追蹤
                       6  點子追蹤                        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load  6
                       陣列                                 Timer1. Interval = 1000   設定 Timer1 執行間隔時間為 1 秒  陣列  態」等單元,引領學生一步步完成
                         上班上課常常遲到嗎?設計一個電子鬧鐘,隨時提醒自己。          TextBox1.Text = ""
                        動作要求:                         End Sub
                        ‧ 顯示目前電腦的時間。
                        ‧ 讓使用者輸入鬧鐘時間。                                      情境範例。
                                                      Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
                        ‧ 當鬧鐘時間一到,顯示「起床了 !!」字樣。
                                                          Timer1. Enabled = True   啟動 Timer1,每隔 1 秒自動執行 Timer1_Tick 內敘述
                          執行結果                        End Sub
                       7                                                7
                       函式                                               函式
                      與副程式                                              與副程式
                                                      Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
                                                          Label1.Text = Format(Now(), "HH:mm:ss")  顯示現在時間,並設為「時 :
                                                          If TextBox1.Text = Label1.Text Then  分 : 秒」各為兩位數的格式
                                                                 當鬧鐘設定時間等於電腦系
                                                              Timer1.Enabled = False   停止 Timer1
                                                                 統時間
                                                              Label1.Text = " 起床了 !!"
                                                          End If
                       8                                                8
                      綜合應用                            End Sub           綜合應用
                      78                                                79
          '$        ᇜኬͦ@/FX JOEE
   1   2   3   4   5   6   7   8   9   10   11