編輯大意 一 本書是一本專為普通高中 技術高中學生編寫的程式語言入門書籍, 全書以 Visual Basic 2015 Express 版的程式開發環境, 來介紹程式基礎實作, 適合首次學習程式語言及程式設計的學生使用 二 本書共分 Ⅰ Ⅱ 兩冊,Ⅰ 冊著重介紹程式設計概念與流程控制,Ⅱ 冊則著重介

Similar documents
Microsoft PowerPoint - VB14.ppt

投影片 1

Visual Basic D 3D

Excel VBA Excel Visual Basic for Application

投影片 1

05855BB03.indd

Microsoft Word - 小心翼翼的二十一點N.doc

投影片 1

<4D F736F F D B0D3B77EC3FEA7DEC3C0C476C1C9A5BFA6A1B8D5C3442DB57BA6A1B35DAD702DBEC7ACEC2E646F6378>

IsPostBack 2

Chapter 16 集合

星星排列 _for loop Protected Sub Page_Load(ByVal sender As Object, ByVal e As Dim h As Integer = 7 'h 為變數 ' Dim i, j As Integer For i = 1 To h

VB程序设计教程

Microsoft Word - 專題製作研究報告書.doc

untitled

untitled

PowerPoint Presentation

<4D F736F F D D342DA57CA7DEA447B14D2DA475B57BBB50BADEB27AC3FEB14DA447B8D5C344>

投稿類別:電子工程類

投稿類別:資訊類

05855BT05.indd

Photoshop CS3 影像創造力 基礎講堂 8 學習流程 學習重要性 學習難度 必學指令工具 實作應用範例 創造舞台燈光的漸層繪圖 延伸學習 雜訊與半透明漸層 8-1 Photoshop Photoshop 8 136

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00


05224AA11.indd

穨文件1

Microsoft PowerPoint - VB3

縣 94 學年度 上 學期 區 國民中學 Q 年級 R 領域教學計畫表 設計者:

輕鬆學 Dreamweaver CS5 網頁設計..\Example\Ch0\ \.html..\example\ch0\ \mouse.txt..\example\ch0\ \ _Ok.html 學習重點 JavaScript 複製程式碼 mouse.txt Ctrl+C Ctrl+C 0-4

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式

MVB-1001.DOC

Microsoft Word - 認識減重手術 注意後遺症.doc

1 1 Excel VBA 說明 ( ) (_) STEP4 Excel 2 STEP5 A1 1 B2 2 C3 3 STEP6 A1 STEP7 > > 1-11

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

計算機程式及實習 期末報告ppt製作 題目:南台黑心早餐店結帳系統

Microsoft Word - ACG chapter00c-3ed.docx

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

ActiveX Control

untitled

Microsoft PowerPoint - VB5

陳韻如 陳榮霖:陣列控制項技術之研究與應用.doc

2


05855BB07.indd

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e

Visual C# 2005程式設計


PowerPoint 簡報

Microsoft Word - AEL CH07

Microsoft PowerPoint - OPVB1基本VB.ppt

Microsoft PowerPoint - vb_net5

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class

05322AR13.indd

台北好客講堂

Microsoft Word - ACI chapter00-1ed.docx

untitled

05856BT09.indd

05 CHAPTER Information.IsNumeric ( ) Information.IsDate ( ) True False Date Date True False Y Y Information.IsArray ( ) True False Y Information.IsErr

多層次傳銷與獎金系統

TC35短信发送程序设计

Microsoft PowerPoint - Chapter5

05224AA15.indd

攜手拼出圓滿的幸福 2

馬孝先

Microsoft Word - before.docx

使用手冊

Microsoft PowerPoint - 第14章.ppt

VB控件教程大全

Microsoft Word - 序.DOC

2010年3月计算机等级考试四级网络工程师笔试

TwinCAT 1. TwinCAT TwinCAT PLC PLC IEC TwinCAT TwinCAT Masc

穨ac3-3.PDF


Microsoft Word - GUI design.doc

Web Form 表單與事件處理

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

untitled

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2

1-6 Access 2016 實力養成暨評量解題秘笈 102. 書籍與作者 Step1 按 建立 索引標籤 資料表 群組的 資料表設計 按鈕 Step2 由上而下分別建立下列欄位並設定資料類型 : 欄位名稱 : ID, 資料類型 : 自動編號 欄位名稱 : BName, 資料類型 :

Advanced ASP.NET Controls

2009年3月二级VB语言笔试真题

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp

ThreeDtunnel.doc

3 Driver do Microsoft Access (*.mdb) hisdata IFIX 1.4

05855BT07.indd

Microsoft Word - _m30.doc

0704

Microsoft PowerPoint - SAGE 2010

Microsoft Word - administrative-law-08.doc

05224AA12.indd

Microsoft PowerPoint - Class2.pptx

四川省普通高等学校

ZX 102 國 文 科 大 甲 高 中 朱 碧 霞 老 師 壹 前 言 貳 試 題 分 析 一 選 擇 題 1 99~101 年 試 卷 架 構

27 :OPC 45 [4] (Automation Interface Standard), (Costom Interface Standard), OPC 2,,, VB Delphi OPC, OPC C++, OPC OPC OPC, [1] 1 OPC 1.1 OPC OPC(OLE f

Microsoft Word - ACL chapter02-5ed.docx

( )

國人之健康行為初探

視窗程式設計

Transcription:

程式語言與設計 ( 全 ) Fu nc For tion Button End Next Dim Public ByVal Form Private Sub led Enab Else

編輯大意 一 本書是一本專為普通高中 技術高中學生編寫的程式語言入門書籍, 全書以 Visual Basic 2015 Express 版的程式開發環境, 來介紹程式基礎實作, 適合首次學習程式語言及程式設計的學生使用 二 本書共分 Ⅰ Ⅱ 兩冊,Ⅰ 冊著重介紹程式設計概念與流程控制,Ⅱ 冊則著重介紹模組化程式設計與常見的程式開發應用, 兩冊章節架構如下 : Ⅰ 冊 認識程式語言 資料的運算與輸出 Visual Basic 控制項 程式設計概念 選擇結構 重複結構 Ⅱ 冊 模組化程式設計 Ⅰ- 函數與副程式 模組化程式設計 Ⅱ- 參數傳遞與變數活動範圍 繪圖 功能表與工具列的設計 檔案與資料庫 程式的部署 陣列 三 本書囊括歷年四技二專統一入學測驗 技藝競賽等程式語言相關考題重點, 全書的練習題亦以歷年試題為主 考量部分試題中的程式語法, 因 Visual Basic 版本略有差異, 在不影響原試題的考試重點前提下, 編者已微幅調整這些試題中的敘述, 使之適用於 Visual Basic 2015, 並在試題後的資料來源標示 " ", 以資區別 四 本書各章文範例 上機實作 程式設計實例及習題等檔案, 皆收錄於本書之教資光碟, 可供教師複製提供學生使用 同學亦可在 旗立資訊 網站 (http://www.fisp.com.tw) 下載取得 五 本書雖經嚴謹校訂, 但恐疏漏之處仍在所難免, 尚祈先進不吝賜正, 不勝感激 編者 謹誌

本書使用指引 為了撰寫一本易教易學的程式語言教材, 本書在流程控制 陣列結構 程式設計實例及控制項介紹等單元, 特別做了精心的安排與規劃, 分別說明如下 : 一 為了方便教學與學習, 本書在流程控制及陣列結構的介紹上, 特別設計了相同的教學節奏 - 語法 舉例 範例及舉一反三 每一個語法介紹之後皆有舉例, 以方便教師對照說明 ; 並搭配 2 ~ 3 個由淺入深的類題範例, 以加強 教 學 的成效 語法介紹 舉例說明 類題演練 程式碼旁標有圖說文字方塊者, 表示 該範例將用來組成程式設計實例 184 程式語言與設計 -Visual Basic Ⅰ 第 5 章 選擇結構 153 語法 & 舉例 依月份判斷季節 ( 春夏秋冬 ) Select Case 資料或運算式 Case 條件式 1 程式區塊 Case 條件式 2 程式區塊 Case 條件式 N 程式區塊 Case Else 程式區塊 End Select Select Case m Case 1 To 3 MsgBox(" 春 ") Case 4 To 6 MsgBox(" 夏 ") Case 7 To 9 MsgBox(" 秋 ") Case 10 To 12 MsgBox(" 冬 ") Case Else MsgBox(" 不在範圍內 ") End Select ( 內文範例 "ch5-4c.sln") 例 1 判斷使用者輸入的整數, 是否能被 2 及 5 整除? 程式碼 內文範例 "ch5-1c.sln" Private Sub Form1_Load( )Handles MyBase.Load Dim i As Integer i = InputBox(" 輸入一個整數 ") If i Mod 2 = 0 And i Mod 5 = 0 Then MsgBox(i & " 可同時被 2 及 5 整除 ") End If 也可用 AndAlso 取代, 類似 And, 但若左側為 假, 即直接傳回假 InputBox() 預設將資料以 字串型別傳回給變數, 此處 i 已宣告為整數型別, 故輸 入的資料會以整數型別儲存 執行結果 說明 m 1 ~ 3 4 ~ 6 7 ~ 9 10 ~ 12 Else 顯示 " 春 " 顯示 " 夏 " 顯示 " 秋 " 顯示 " 冬 " Case 敘述的條件式, 有下表 3 種表示方式 (n m 各代表一個數值 ): 語法 數值或字串 Case 數值 ( 或字串 ) 指定範圍 關係運算子 表 5-5 Case 敘述的 3 種表示方式 Case n To m Case Is 關係運算子 n 範例 Case 1 Case 2, 3, 4 Case "A", "B" Case 0 To 5 Case 10 To 20 Case Is > 2 Case Is <=10 顯示 " 不在範圍內 " 舉一反三 : 若要讓程式判斷數值 i 是否能被 3 整除, 但不能被 7 整除, 應該如何修改上述程式?( 提示 : 修改 If Then 敘述的條件式 ) 例 2 判斷輸入的身高 (h) 及體重 (w) 是否合理 ( 假設合理的身高是介於 50 ~ 230 公分之間, 體重是介於 2 ~ 200 公斤之間 )? 若輸入的值不合理, 則顯示 警示訊息, 並清除身高與體重欄位的值 程式碼 內文範例 "ch5-1d.sln" Private Sub Button1_Click( )Handles Button1.Click Dim h, w As Single h = TextBox1.Text : w = TextBox2.Text If (h < 50 Or h > 230) Or (w < 2 Or w > 200) Then MsgBox(" 身高或體重不合理 ") TextBox1.Text = "" TextBox2.Text = "" ' 將游標停駐在 TextBox1 上 TextBox1.Focus() 可用 OrElse 取代, 類似 End If O r, 但若左側為真, 即直接傳回真 此範例將用來組成第 5-3 節 身體質 量指數 (BMI) 計算 程式設計實例 執行結果 TextBox1 TextBox2 條件式中若使用逗號, 表示 或 的意思, 例如 Case 2, 5 To 10 表示 "2 或 5~10" 透過模仿或小修類題程式, 加強程式實力 二 本書範例採用 由小到大 由淺入深 由單一變完整 來設計, 目標是要循序漸進, 降低學習程式設計的難度, 以提高整體的學習成效 例如下頁圖右側的 程式設計實例 是延續內文解說的程式範例, 經小幅增修後組成一個功能較完整的程式範例

例 2 猜數字 ( 假設答案為 7) 此範例將用來組成第 6-2 節 猜數字遊戲 程式設計實例 第 6 章 重複結構 225 程式碼 內文範例 "ch6-2c.sln" Private Sub Form1_Load( ) Handles MyBase.Load Dim n, ans As Integer ans = 7 While n <> ans n = InputBox(" 猜猜看數字是多少?(1~10)") End While MsgBox(" 猜對了!ya!") 執行結果 解析 假設輸入的數字分別 為 4 2 7 ans n n <> ans 7 4 T 2 T 7 F 內文解說的程式範例 : 猜數字遊戲程式 ( 答案固定為 7) Step3- 撰寫程式 雙按開始猜鈕 (Button1), 開啟 Button1 的 Click 事件程序之程式碼視窗, 撰寫如下的程式碼 本程式範例是由第 6-2 節的例 2 延伸而來 Private Sub Button1_Click( ) Handles Button1.Click 10 Dim n, ans As Integer 20 Randomize() 30 ans = Int(Rnd() * 100) + 1 40 While n <> ans 50 n = InputBox(" 猜猜看數字是多少?(1~100)") 60 If n > ans Then MsgBox(" 猜錯了, 再小一點 ") 70 If n < ans Then MsgBox(" 猜錯了, 再大一點 ") 80 End While 90 MsgBox(" 猜對了!ya!") 100 Label2.Text = ans 說明 10 : 宣告程式需使用的變數 n( 使用者猜的數字 ) ans( 隨機產生的亂數 ) 20 : 設定亂數的序列, 避免程式每次執行時, 皆產生相同的一組亂數 30 : 產生 1~100 之間的整數亂數, 並指定給 ans, 作為答案 40~80 : 當 n 不等於 ans( 表示沒猜中 ), 執行 While End While 迴圈 : (1) 將使用者輸入的數字指定給 n 程式設計實例 : 沿續猜數字遊戲程式, 經小幅增修後, 可隨機產生數字作為答案, 並給予使用者猜答案的提示 (2) 如果 n( 使用者輸入的數字 ) 比 ans( 答案 ) 大, 顯示 " 猜錯了, 再小一點 " (3) 如果 n( 使用者輸入的數字 ) 比 ans( 答案 ) 小, 顯示 " 猜錯了, 再大一點 " 90 : 顯示 " 猜對了!ya!" 100 : 在 Label2 顯示 ans 的值 三 本書對於用來設計程式視窗畫面的控制項, 分為以下兩部分來介紹 : 1. 基本控制項 : 為了讓學生快速學會基本控制項的使用, 本書將 Form( 表單 ) Button( 按鈕 ) Label( 標籤 ) TextBox( 文字方塊 ) 等 4 個控制項, 安排以簡易的程式範例來做介紹 ( 如下圖所示 ) 106 程式語言與設計 -Visual Basic Ⅰ 第 3 章 Visual Basic 控制項 107 範例主題 說明 標籤範例 - 井字遊戲 ( 內文範例 "ch3-2b.sln") 範例說明 : 使用 9 個標籤控制項來顯示井字遊戲中的 O 或 X 當使用者在標籤上按滑鼠左鍵一下 (Click) 時, 標籤顯示 O; 當使用者在標籤上連按滑鼠左鍵二下 (DoubleClick) 時, 標籤顯示 X( 圖 3-15) 撰寫程式碼 : 1. 在 Label1 的 Click 事件中, 設定 Label1 控制項的 Text 屬性值為 "O" 2. 在 Label1 的 DoubleClick 事件中, 設定 Label1 控制項的 Text 屬性值為 "X" 簡易程式 碼撰寫 3. 參照上述說明, 在其他標籤 (Label2 ~ Label9) 的 Click 事件中, 設 定控制項的 Text 屬性值為 "O";DoubleClick 事件中, 設定控制項的 Text 屬性值為 "X" 程式 Private Sub Label1_Click( ) Handles Label1.Click Label1.Text = "O" 在任一標籤上單按, 在任一標籤上雙按, 會顯示 O 會顯示 X 控制項佈 建與屬性 設定 圖 3-15 標籤範例的執行結果 佈建控制項及設定屬性 : 1. 在表單上佈建 9 個 Label( 標籤 ) 控制項 ( 圖 3-16) Tip Label1~Label9 所需設定的屬性皆相同, 建議先建立一個 Label 控制項, 並將其屬性設定好後, 再利用複製及貼 Private Sub Label1_DoubleClick( ) Handles Label1.DoubleClick Label1.Text = "X" Private Sub Label9_Click( ) Handles Label9.Click Label9.Text = "O" Private Sub Label9_DoubleClick( ) Handles Label9.DoubleClick Label9.Text = "X" 上, 複製出 Label2~Label9 等控制項 圖 3-16 標籤範例的表單佈建畫面 Tip 井字遊戲若加入選擇結構 ( 如第 5 章將說明的 If Then 敘述 ), 即可判斷 O 或 X 是 2. 同時選取 Label1 ~ Label9 控制項, 在屬性視窗中, 點選 Font; 並按 否連成一線 鈕, 在開啟的字型交談窗, 設定這些控制項的字型樣式為 " 粗體 " 大小為 "36"

2. 常用控制項 : 為了讓學生確實學會如何將控制項與程式設計結合使用, 本書將 Timer( 計時器 ) GroupBox( 群組方塊 ) RadioButton( 選項按鈕 ) CheckBox( 核取方塊 ) PictureBox( 圖片方塊 ) ListBox ( 清單 ) ComboBox( 下拉式方塊 ) 等常用控制項, 安排在 7 個程式設計實例中, 逐一介紹 ( 如下圖所示 ) 174 程式語言與設計 -Visual Basic Ⅰ 第 5 章 選擇結構 175 程式設計實例 身體質量指數 (BMI) 計算 2. 依下表設定控制項的相關屬性 建立 "ans5-3a.sln" 新專案, 判斷使用者輸入的身高 體重是否合理 ( 假設合理的身高應介於 50 ~ 230 公分, 合理的體重應介於 2 ~ 200 公斤 ) 若不合理, 則顯示錯誤訊息並清除已輸入的資料 ; 反之, 則依下列公式計算身體質量指數 (Body Mass Index, BMI), 並判定使用者身材 ( 圖 5-8) 身體質量指數 (BMI) 計算公式 : 體重 ( 公斤 )/ 身高 2 ( 公尺 ) 表 5-3 控制項的屬性設定 控制項名稱 屬性 設定值 控制項名稱 屬性 設定值 Form1 Text 身體質量指數 (BMI) 計算 Label5 Text ( 空白 ) Button1 Text 計算 Label6 Text ( 空白 ) Label1 Text 身高 ( 公分 ): GroupBox1 Text 性別 Label2 Text 體重 ( 公斤 ): Text 男 RadioButton1 Label3 Text BMI 值 : Checked True Label4 Text 身材判定 : RadioButton2 Text 女 男性 BMI 大於 27.8, 女性大於 27.3 即表示肥胖 圖 5-8 身體質量指數 (BMI) 計算範例的執行結果 Step1- 設計表單畫面 ( 或開啟已佈建好控制項的範例檔案 "ex5-3a.sln") 1. 在表單上佈建, 如圖 5-9 所示之控制項, 其中 2 個 RadioButton( 選項按鈕 ) 控制項, 應佈建在 GroupBox( 群組方塊 ) 內 3. 本實例將使用 RadioButton( 選項按鈕 ) 及 GroupBox( 群組方塊 ) 控制 項來區隔選項按鈕與其它控制項, 以下是這二種控制項的使用說明 延伸學習 GroupBox 及 RadioButton 控制項 GroupBox( 群組方塊 ) 控制項可用來將視窗程式上相關的控制項群組在一起 ; 好處是可將控制項分類, 且同一群組中的控制項可一起移動 RadioButton( 選項按鈕 ) 控制項可用來佈建單選式選項資料 ( 圖 5-10), 以便使用者由多個項目中選取其中一個項目 表 5-4 為此二種控制項常用的屬性 GroupBox ( 群組方塊 ) RadioButton ( 選項按鈕 ) 表 5-4 GroupBox 與 RadioButton 控制項常用的屬性 RadioButton1 RadioButton2 TextBox1 TextBox2 控制項屬性功能 GroupBox Text 顯示文字 RadioButton Text Checked 顯示文字 是否被點選, True 為點選, False 為不點選 ( 預設值 ) 圖 5-9 身體質量指數 (BMI) 計算範例的表單佈建畫面 圖 5-10 PowerPoint 定位點交談窗 (GroupBox 與 RadioButton 控制項的使用實例 ) 教師可視實際教學需要, 彈性於課堂中 講授, 或略過由同學自行研讀 四 本書各章內文中, 標有 粗體 字型樣式者, 表示該字彙為專有名詞 Visual Basic 視窗中的元件名稱或 Visual Basic 關鍵字

目錄 Ⅰ 冊 第 1 章 認識程式語言 1-1 程式語言簡介... 2 1-2 Visual Basic 簡介...15 第 2 章 資料的運算與輸出 2-1 資料型別與宣告...44 2-2 輸入與輸出...56 2-3 運算子...70 第 3 章 Visual Basic 控制項 3-1 控制項的特徵與功能...88 3-2 基本控制項...99 第 4 章 程式設計概念 4-1 演算法簡介... 126 4-2 程式設計簡介... 137 4-3 結構化程式設計... 141 第 5 章 選擇結構 5-1 If Then 判斷敘述... 152 5-2 If Then Else 判斷敘述... 156 5-3 巢狀 If 判斷敘述... 170 5-4 Select Case 判斷敘述... 184

第 6 章 重複結構 6-1 For Next 迴圈敘述... 204 6-2 While End While 迴圈敘述... 218 6-3 Do Loop 迴圈敘述... 230 6-4 巢狀迴圈敘述... 249 第 7 章 陣列 7-1 認識陣列... 268 7-2 陣列的應用... 293 Ⅱ 冊 第 8 章 模組化程式設計 Ⅰ- 函數與副程式 8-1 模組化設計的概念... 2 8-2 函數... 8 8-3 副程式...36 第 9 章 模組化程式設計 Ⅱ- 參數傳遞與變數活動範圍 9-1 參數的傳遞...56 9-2 程序的種類與活動範圍...65 9-3 變數的活動範圍與存留期...71 第 10 章 繪圖 10-1 認識 Visual Basic 的繪圖環境...90 10-2 線段與文字的繪製...95 10-3 幾何圖形的繪製... 106 10-4 點陣影像的建立... 118

第 11 章 功能表列與工具列的設計 11-1 認識功能表與工具列群組控制項... 134 11-2 功能表列... 135 11-3 快顯功能表... 143 11-4 工具列... 150 第 12 章 檔案與資料庫 12-1 檔案存取... 166 12-2 資料庫簡介... 179 12-3 資料庫程式設計... 191 第 13 章 程式的部署 13-1 程式部署的概念... 210 13-2 程式部署的方法... 210 附錄 A... 218 附錄 B... 223 索引... 236