計算機概論 第4章 基本視窗程式應用 4-1 程式語言簡介 4-2 演算法與流程圖 4-3 視窗程式語言設計 4-4 資料結構
程式語言簡介 4-1 圖4-1 程式的三個部分 圖4-2 程式語言的類別
程式語言簡介 4-1 (2)高階語言 圖4-4 程式的編譯流程
程式語言簡介 4-1 ●程序性語言 表4-1 常見的程序導向語言
程式語言簡介 4-1 ●物件導向語言 表4-2 常見的物件導向語言
程式語言簡介 4-1 ●應用軟體語言 表4-3 常見的應用軟體語言 3程式開發流程 STEP1.定義問題 STEP2.思考解決問題的邏輯 表4-3 常見的應用軟體語言 3程式開發流程 STEP1.定義問題 STEP2.思考解決問題的邏輯 STEP3.設計操作界面及撰寫程式碼 STEP4.測試與除錯 STEP5.編譯與封裝 STEP6.製作說明文件
圖4-8 「計算成績總分、平均與是否及格」的演算法 演算法與流程圖 4-2 1演算法 演算法除了要達成解決問題的目的外,其表示方法亦須符合下列幾點特性: ●對於解題方法的每一個步驟,必須明確且有意義。 ●每個步驟間必須有固定的次序或邏輯關係。 ●必須在有限的步驟內完成,否則會產生無窮的迴路。 ●依步驟執行,會產生正確的輸出結果。 圖4-8 「計算成績總分、平均與是否及格」的演算法
圖4-9 「計算成績總分、平均與是否及格」的流程圖 演算法與流程圖 4-2 2流程圖 圖4-9 「計算成績總分、平均與是否及格」的流程圖
演算法與流程圖 4-2 表4-4 常用的流程圖符號
圖4-10 「計算成績總分、平均與是否及格」的虛擬碼 演算法與流程圖 4-2 3虛擬碼 使用演算法的優點: 1.便於相關工作人員的研討、分析與溝通。 2.提高程式的編寫效率或問題的處理成效。 3.程式或問題的除錯(Debug)工作更容易進行。 4.便於程式或系統的維護或使用。 5.複雜問題的解決,藉由流程圖可以輔助我們的邏輯思考程序。 圖4-10 「計算成績總分、平均與是否及格」的虛擬碼
視窗程式語言設計 4-3 圖4-12 VB的工作環境
視窗程式語言設計 4-3 圖4-13 VB標準控制項說明
視窗程式語言設計 4-3 圖4-14 專案總管 圖4-15 屬性視窗 圖4-16 表單配置視窗
視窗程式語言設計 4-3 (6)即時運算視窗 圖4-17 即時運算視窗 2程式的基本要素 圖4-18 程式的基本要素
視窗程式語言設計 4-3 圖4-19 A=8的運算過程 圖4-20 A=A+2的運算過程
視窗程式語言設計 4-3 3資料型態與宣告 表4-6 數值資料型態 表4-7 浮點數表示表
視窗程式語言設計 4-3 表4-8 常用的資料型態
視窗程式語言設計 4-3
視窗程式語言設計 4-3 4程式的運算 (1)算術運算子 表4-9 算術運算子
視窗程式語言設計 4-3 (2)比較運算子 表4-10 比較運算子
視窗程式語言設計 4-3 (3)邏輯運算子 表4-12 邏輯運算的真值表 (4)串接運算子 表4-12 邏輯運算的真值表 (4)串接運算子 串接運算(又稱連結運算)是用來串接兩個不同的資料,將之合併為一個字串,其運算子符 號為「+」或「&」,「+」只能連結字串與字串;而「&」可連結不同類型的資料型態。
視窗程式語言設計 4-3 5常用的內建函數 (1)數學函數 表4-13 常用的數學函數
視窗程式語言設計 4-3 (2)字串函數 表4-14 常用的字串函數
視窗程式語言設計 4-3 (3)日期與時間函數 表4-15 常用的日期與時間函數
視窗程式語言設計 4-3 (4)資料型態函數 表4-16 常用資料型態函數
視窗程式語言設計 4-3 (5)輸入/輸出函數 語法.MsgBox(訊息內容 [, 回覆按鈕] [, 視窗標題]) 語法.函數中第二、三個引數用中括號括起來,表示可省略項目,第二個引數值說明見表4-17,可使用常數或數值,如vbYesNo+vbQuestion的話,就相當於數值4+32=36。 圖4-31 訊息視窗的四個部分
視窗程式語言設計 4-3 表4-17 MsgBox函數第二個引數值說明
視窗程式語言設計 4-3 圖4-32 Msgbox的程式範例 表4-18 MsgBox函數的傳回值
視窗程式語言設計 4-3 ●InputBox函數 語法.InputBox(提示訊息[, 視窗標題] [, 預設值]) 語法.函數中第二、三個引數用中括號括起來,表示可省略項目,第三個引數為輸入區的預設值。 圖4-34 InputBox的程式範例
視窗程式語言設計 4-3 6控制物件 圖4-37 物件屬性的表示法
視窗程式語言設計 4-3 表4-19 常見的物件屬性說明
視窗程式語言設計 4-3 (2)方法 圖4-39 物件的方法(顯示另一個表單的方法)
視窗程式語言設計 4-3 表4-21 表單常用的方法
視窗程式語言設計 4-3 (3)事件 表4-22 常用的事件
視窗程式語言設計 4-3 7VB的流程控制 (1)循序結構 圖4-43 循序結構 (2)條件結構 If…Then…Else敘述 圖4-43 循序結構 (2)條件結構 If…Then…Else敘述 圖4-44 If條件結構 圖4-45 If三種表示法
圖4-48 Select Case結構 圖4-49 Select Case語法 視窗程式語言設計 4-3 ●Select Case敘述 圖4-48 Select Case結構 圖4-49 Select Case語法
圖4-52 For Next重覆結構 圖4-53 For Next語法 視窗程式語言設計 4-3 (3)重覆結構 ● For…Next 圖4-52 For Next重覆結構 圖4-53 For Next語法
視窗程式語言設計 4-3 ●巢狀迴圈 執行一次則內迴圈執行許多次,執行過程如圖4-56所示。 圖4-56 巢狀迴圈執行過程
視窗程式語言設計 4-3 ●Do…Loop 圖4-61 Do…Loop結構
視窗程式語言設計 4-3 8結構化程式設計 圖4-67 校務行政系統樹狀圖
視窗程式語言設計 4-3 模組化程式設計的優點如下: ●模組可以重覆使用,不但提升程式開發的效率,亦可以降低成本。 ●大型程式由一人開發費時費力,分割成不同的模組交由不同人分別進行,省時又省力。 ●模組已經分割成適當大小,針對單一模組的測試與除錯會更加容易。 ●當某些模組有問題時,只要直接更換新模組即可,可簡化系統的維護工作。 圖4-68 專案、模組、程序的關係圖
視窗程式語言設計 4-3 (2)副程式 ●定義副程式 語法.Sub 副程式名稱(引數1 As 資料型態 , 引數2 As 資料型態 , …) 程式區段 End Sub ● 呼叫副程式 語法.Call 副程式名稱(引數1 , 引數2 , …) 圖4-69 程序間的呼叫關係
視窗程式語言設計 4-3 圖4-71 傳址呼叫示意圖 圖4-72 傳值呼叫示意圖 (4)自定函數 ●定義函數 圖4-71 傳址呼叫示意圖 圖4-72 傳值呼叫示意圖 (4)自定函數 ●定義函數 語法.Function 函數名稱(引數1 , 引數2 ,…) As 函數的資料型態 : 函數名稱=欲回傳的資料 End Function ●呼叫函數 語法.回傳變數=函數名稱(引數1 , 引數2 ,…)
視窗程式語言設計 4-3 (5)變數的範圍 圖4-78 全域變數與區域變數 9VB的常用控制項 (1)TextBox文字方塊
視窗程式語言設計 4-3 圖4-79 使用者登入程式
視窗程式語言設計 4-3 (2)Frame框架 圖4-80 框架使用範例
視窗程式語言設計 4-3 (3)CheckBox核取方塊 表4-26 CheckBox的Value屬性值
視窗程式語言設計 4-3 (4)OptionButton選項按鈕 圖4-82 控制項陣列由Index屬性做區別
視窗程式語言設計 4-3 圖4-83 字型設定效果程式
視窗程式語言設計 4-3 (5)ListBox清單方塊 圖4-85 清單方塊與下拉式清單使用範例
圖4-89 使用ComboBox的字型設定效果程式 視窗程式語言設計 4-3 圖4-87 簡易的選課系統 (6)ComboBox下拉式清單 圖4-89 使用ComboBox的字型設定效果程式
視窗程式語言設計 4-3 (7)Timer計時器 圖4-90 簡易鬧鐘程式
視窗程式語言設計 4-3 (8)PictureBox與Image控制項 圖4-91 撲克牌猜大小遊戲
資料結構 4-4 1陣列 圖4-94 陣列表示法 (1)陣列的宣告與使用 語法.Dim 陣列名稱(索引上限) As 資料型態 圖4-94 陣列表示法 (1)陣列的宣告與使用 語法.Dim 陣列名稱(索引上限) As 資料型態 範例1.Dim A(5) As Integer 表示有A(0)~A(5)共六個整數型元素 範例2.Dim A(1 to 5) As Integer 表示有A(1)~A(5)共五個整數型元素
資料結構 4-4 (2)多維陣列 表4-30 陣列的宣告及圖例
資料結構 4-4 2堆疊 圖4-98 堆疊示意圖(後進先出) 3佇列 圖4-100 佇列示意圖(先進先出)
資料結構 4-4 4排序 由圖4-103可知,五個資料排序要經過四個循環,共比較(4+3+2+1)=10次,便可完成排 序。以此類推,N個資料做排序需經過(N-1)輪循環,比較(N-1)+(N-2)+(N-3)+…+2+1= 次才可完成排序工作。 圖4-103 氣泡排序過程
資料結構 4-4 5搜尋 搜尋是指在一堆資料中找出指定的資料,如何能夠在最短時間內找到所需的資料,是電腦 科學中重要的研究課題,以下將介紹最簡單的循序搜尋法。 循序搜尋法是所有搜尋方法中最簡單的,但不一定是最快的方法,因為它是由資料的最開 頭一個一個往下找,直到所要的資料被找到,或是全部資料被找完為止。一般來說,N筆 資料平均要作次的比較,所以此種方法常用於搜尋少量資料或是未經排序過的資料。