流程控制、陣列 台南市聖功女子高級中學 毛全良.

Slides:



Advertisements
Similar presentations
Visual Basic 程序设计 第四讲.
Advertisements

計算機概論 第4章 基本視窗程式應用 4-1 程式語言簡介 4-2 演算法與流程圖 4-3 視窗程式語言設計 4-4 資料結構.
課程名稱:程式設計 授課老師:________
第四章 控制结构.
赋值语句与输入、输出语句.
程式語言(I)- Visual Basic 6.0 第 9 章 結構化程式設計
高中信息技术新课程探讨 算法与程序设计教学实践与探讨 江苏省新海高级中学  张丽.
Access数据库程序设计 总复习.
組員:4A140013張瓊云 4A1I0039石宜芬 4A1I0909許峻綱 指導老師:王立杰老師
指導老師:陳韻如 班級:幼保二甲 姓名:林靜宜 學號:4A0I0033
第五章 数组.
四 VBScript编程基础.
Visual Basic程序设计.
BLANK overview.
Chapter 1 複習.
VB內建函數與應用.
Visual Basic 2010 程式設計16堂特訓 第七堂 VB的迴圈流程控制.
課程名稱:程式設計 授課老師:________
第6章 数 组 6.1 一维数组 6.2 控件数组 6.3 二维数组.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
数组 第 6 章.
第5章 数组 Visual Basic程序设计.
1 巨集 2 資料型態 3 物件、屬性、方法與事件 4 陳述式與副函式 5 其他注意事項 6 範例
副程式 將可以重複使用的程式區塊獨立而成 寫在Private Sub 函數名稱() 副程式碼 End Sub 呼叫副程式
过程 第 7 章.
ASP动态网页设计实用教程 主讲教师: 开课单位:.
算法与程序设计.
Access VBA程序设计 本章重点 Access Basic编程语言 运算符、函数与表达式 Access Basic语句 模块的使用
第4章 程序控制结构与算法基础.
新觀念的 VB6 教本 第七章 讓程式轉彎的控制敘述.
第4章 基本的控制结构 4.1 顺序结构 4.2 选择结构程序设计 4.3 循环结构 4.4 综合实例 退出.
数学3(必修)—— 算 法 ALGORITHM 苏州大学数学科学学院 徐稼红
Timer & Format.
计算机程序设计强化复习 Visual Basic 6.0.
程式語言Visual Basic 重複結構 黃瀧輝 老師 Long Hwai,Huang.
6-1 For…Next迴圈敘述 6-2 While…End While迴圈敘述 6-3 Do…Loop迴圈敘述 6-4 巢狀迴圈敘述
第12章 VBA模块设计.
第3 章 VBScript的控制结构.
丙級電腦軟設-VB程式設計 資料來源:林文恭研究室 整理:張福生.
第5章 Visual Basic控制结构 之 常用算法举例
第 8 章 过程.
广州市教育局教学研究室编写的 初中《信息技术》第二册第二章 《程序设计初步》
Visual Basic程序设计.
算法与程序设计 周少品.
VB程序设计语言 主讲教师:王 杨.
VB程序设计语言 主讲教师:王 杨.
程式設計 Visual Basic簡介 週次:2 建國技術學院 資管系 饒瑞佶 2003年9月17日.
程式語言(I)- Visual Basic 6.0 第 8 章 模組化程式設計I-副程式與自定函數.
For x = 0 To 9 For y = 0 To 9 z = *x + 10*y …… Next y
江西财经大学信息管理学院 《数据库应用》课程组2007
小结 郭清溥.
经典算法之 冒 泡 排 序.
Visual Basic 程序设计教程.
Ch04 VB.NET的流程控制 網頁程式設計.
现代信息技术 微电子技术 计算机技术 传感技术 通信技术 处理、存储信息的技术 传感、采集技术 传递信息的技术
第二章、第三章错题分析.
Excel高级功能培训 PSMT质量部 王新民
第四章 控制结构 1、顺序控制结构 2、选择结构 3、循环结构.
本节内容 Lua基本语法.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
問題解決與流程圖 高慧君 台北市立南港高中 2006年12月22日.
1位选手参加了歌唱比赛,评委们的评分如下:
第5章 数组 5.1 数组概述 5.2 静态数组和动态数组 5.3 数组的基本操作 5.4 控件数组 5.5 数组在自定义数据类型中的应用.
随机数、数组、解析、枚举.
顺序查找与二分查找复习.
算法与Visual Basic程序基础(二)
程序调试与错误处理.
1.2.3 循环语句.
講師:劉俊民(金剛) Idea 創意應用科技有限公司
打地鼠.
Presentation transcript:

流程控制、陣列 台南市聖功女子高級中學 毛全良

前言 教案 探討

前言 主題 主要內容 說明 參考節數 三、流程控制 1.選擇敘述 1-1選擇敘述功能與用途 1-2單一條件選擇敘述 1-3多重條件選擇敘述 8-14 2.重複敘述 2-1重複敘述功能與用途 2-2計數式重複敘述使用方法 2-3條件式重複敘述使用方法 2-4重複敘述中斷方法※

主題 主要內容 說明 參考節數 四、陣列 1.一維陣列 1-1一維陣列功能與用途 1-2一維陣列記憶體配置方式 2-8 2.多維陣列※ 2-1多維陣列功能與用途 2-2多維陣列記憶體配置方式

「基礎程式設計」 教學重點 (三)流程控制 本主題重點為介紹程式語言之選擇與重複敘述等流程控制結構,並培養學生具備正確使用流程控制語法的能力。各子題教學重點分述如下:

(三)流程控制 1-1選擇敘述功能與用途:說明選擇敘述的功能,及其在程式設計中的使用時機。 1-2單一條件選擇敘述:舉例說明如何正確地使用單一選擇敘述。 1-3多重條件選擇敘述:舉例說明如何正確地使用雙重、多重條件選擇敘述、以及巢狀選擇敘述。

2-1重複敘述功能與用途:說明重複敘述的功能,及其在程式設計中的使用時機。 2-2計數式重複敘述使用方法:舉例說明如何正確地使用計數式重複敘述。 2-3條件式重複敘述使用方法:舉例說明如何正確地使用條件式重複敘述。 2-4重複敘述中斷方法:舉例說明如何正確地中斷重複敘述的執行。

(五)陣列 本主題主要在介紹陣列,以培養學生在程式設計中運用陣列的能力。授課重點除了說明陣列的用途與使用方法外,應進一步引導學生瞭解陣列與基本資料型態的關係,以及陣列在電腦內部記憶體的配置方式,並教導學生如何利用迴圈及陣列的搭配來設計演算法。各子題教學重點分述如下:

(五)陣列 1-1一維陣列功能與用途:舉例並說明一維陣列的功能,及其在程式設計中的使用時機。 1-2一維陣列記憶體配置方式:說明一維陣列的內部記憶體配置方式。 2-1多維陣列功能與用途:舉例並說明多維陣列的功能,及其在程式設計中的使用時機。 2-2多維陣列記憶體配置方式:說明多維陣列的內部記憶體配置方式。

二、教學方法 (一)本課程之教學應以「做中學」為重點,並鼓勵學生進行自主性、探索式的學習。 (二)教學活動之設計宜強調分組合作解決問題。 (三)教學單元目標之設定應重視學生的個別差異。對於學習能力較佳的學生,應鼓勵其自行進行專題研究;對於學習能力較弱的學生則應適度調整其學習內容。

(四)教師應於每學期上課前確定學校可提供教學所需之軟、硬體設備,並應使用合法授權之軟體進行教學。教師亦可視實際需要在教學中使用適當之自由軟體。 (五)對於視障、肢障或有其他特殊需求之學生,應設法協調學校或社福單位提供電腦操作輔具。

教案 流程控制、陣列

單元摘要 以猜數字遊戲複習選擇敘述,並加強亂數函數及亂數種子之使用,藉由猜數字遊戲流程分析來說明重複敘述功能與用途。 以有限制次數的猜數字遊戲來說明,計數式重複敘述及其可能遇到的問題。 以無限制的猜數字遊戲來說明,條件式重複敘述使用方法。

單元摘要 以九九乘法表來練習問題的分析、流程圖的繪製,並建立巢狀迴圈運用的觀念。 以賓果遊戲練習重複敘述,說明陣列功能的功能與用途。 以發撲克牌練習,來整合流程控制及陣列觀念。

學習目標 能夠分析程式的流程與結構化邏輯概念。 能夠撰寫、閱讀、修改程式,並且進行程式的測試、執行與除錯。 培養學生具備正確使用流程控制語法的能力。 培養學生在程式設計中運用陣列的能力,並建立正確觀念。

教學活動計畫 (一)猜數字遊戲 (二)有限制次數的猜數字遊戲 (三)無限制次數的猜數字遊戲 (四)九九乘法表 (五)賓果遊戲 (六)實作評量

(一)猜數字遊戲 1.教師以猜數字遊戲和學生互動,以引起學生注意。 2.教師告知學生,設計所需之元件及程式,並請學生練習。 3.教師以問答方式詢問學生每一行指令意義,以瞭解學生對於選擇敘述的熟悉度。

(一)猜數字遊戲 4.教師講述程式每一指令的意義,並強調亂數函數及亂數種子的用法,及複習選擇敘述的用法。 5.引導學生畫出流程圖,並請學生討論要如何才能猜數字,以引導出重複敘述的觀念及功能。

Dim a, b As Integer Randomize() b = Int(Rnd() * 100) + 1 a = Val(TextBox1.Text) If a = b Then MsgBox(“猜對了” & b) ElseIf a > b Then MsgBox(“太大” & b) Else MsgBox("太小" & b) End If

4-1.亂數函數 RND()會產生0到1之間的隨機亂數 4-2.亂數種子 Randomize()使用於亂數函數RND()之前,預設以系統時間當作亂數產生器的種子,用以避免每一次亂數所產生的數是一樣的 4-3.取整數函數 Int()能將一數值取整數並傳回 4-4.訊息視窗函數 MsgBox(訊息文字,格式碼,標題)顯示訊息,讓使用者程式互動

3.選擇敘述 If 條件式 Then 敘述區段 End If 敘述區段1 Else 敘述區段2

If 條件式1 Then 敘述區段1 ElseIf 條件式2 Then 敘述區段2 ElseIf 條件式3 Then 敘述區段3 ------------ ElseIf 條件式N Then 敘述區段N Else 敘述區段N+1 End If

(二)有限制次數的 猜數字遊戲 1.教師以問答方式幫學生複習並加強計數式重複敘述的觀念及功能。 (二)有限制次數的 猜數字遊戲 1.教師以問答方式幫學生複習並加強計數式重複敘述的觀念及功能。 2.以只能猜三次的猜數字遊戲程式來講解計數式重複敘述的使用方法。 3.請學生實作練習。

(二)有限制次數的 猜數字遊戲 4.請學生二人一組互相玩對方所設計出的猜數字遊戲,並測試對方程式是否有問題。 (二)有限制次數的 猜數字遊戲 4.請學生二人一組互相玩對方所設計出的猜數字遊戲,並測試對方程式是否有問題。 5.教師詢問學生是否有人於三次內猜對,並請學生討論如何才能讓使用者猜對為止,引導出條件式重複敘述的觀念。 6.教師講述條件式重複敘述的使用方法及觀念。

Dim a, b, i As Integer Randomize() b = Int(Rnd() Dim a, b, i As Integer Randomize() b = Int(Rnd() * 100) + 1 For i = 1 To 3 Step 1 a = Val(InputBox("請猜一個小於100的正整數", "猜數字遊戲")) If a = b Then MsgBox("猜對了" ) Exit For ElseIf a > b Then MsgBox("太大") Else MsgBox("太小" ) End If Next End Sub

4-1.文字轉數字函數 Val(Str)會將Str字串轉換成數值資料 4-2.輸入函數 InputBox(提示訊息,標題,預設值),是讓使用者輸入資料的對話視窗

3.重複敘述 For 迴圈控制變數=初值 To 終止值 Step 改變量 敘述區段 Next Do While 條件式(成立則執行迴圈) Loop

Do 敘述區段 Loop While 條件式(成立則執行迴圈) Do Until 條件式(成立則離開迴圈) Loop Loop Until 條件式(成立則離開迴圈)

(三)無限制次數的 猜數字遊戲 1.教師以問答方式幫學生複習並加強條件式重複敘述的觀念及功能。 (三)無限制次數的 猜數字遊戲 1.教師以問答方式幫學生複習並加強條件式重複敘述的觀念及功能。 2.以無限制次數的猜數字遊戲程式來講解條件式重複敘述的使用方法。 3.請學生實作練習。

(三)無限制次數的 猜數字遊戲 4.請學生二人一組互相玩對方所設計出的猜數字遊戲,並測試對方程式是否有問題,教師詢問學生是否有人都猜不出來。 (三)無限制次數的 猜數字遊戲 4.請學生二人一組互相玩對方所設計出的猜數字遊戲,並測試對方程式是否有問題,教師詢問學生是否有人都猜不出來。 5.請學生討論計數式和條件式重複敘述的優缺點及其適合的應用。 6.教師總結二者的使用方式及其適用性。

Dim a, b As Integer Randomize() b = Int(Rnd() * 100) + 1 a = 0 Do a = Val(InputBox("請猜一個小於100的正整數", "猜數字遊戲")) If a = b Then MsgBox(“猜對了”) ElseIf a > b Then MsgBox("太大“) Else MsgBox("太小") End If Loop Until a = b

實作 (1)Do While 條件式(成立則執行迴圈) 敘述區段 Loop (2) Do Loop While 條件式(成立則執行迴圈) (3) Do Until 條件式(成立則離開迴圈)

(四)九九乘法表 1.教師請學生上台背誦九九乘法表,並請學生於白板上寫出九九乘法表。 2.請學生觀察九九乘法表之規律性。 3.以一九乘法表請學生練習計數式重複敘述。

(四)九九乘法表 4.請學生思考如何由一九乘法表設計為九九乘法表,引導出巢狀重複敘述使用觀念。 5.以九九乘法表配合流程圖來講述巢狀重複敘述,並請學生練習。

一九乘法表 Dim i As Integer Label1.Text = "" For i = 1 To 9 Step 1 Label1.Text = Label1.Text & "1*" & Str(i) & "=" & Str(i) & " " Next

九九乘法表 Dim i, j As Integer Label1.Text = "" For i = 1 To 9 Step 1 For j = 1 To 9 Label1.Text = Label1.Text & Str(i) & "*" & Str(j) & "=" & str(i * j) & " " Next Label1.Text = Label1.Text & Chr(13)

5-1. 數字轉文字函數 str(number)會將number數值資料轉換成字串 5-2.指定字串格式函數 Format(運算式,格式)是將數值或字串依指定的格式轉換成字串;教師可以將程式中的str函數改為Format函數,讓顯示的文字能對齊

巢狀重複敘述 For 迴圈控制變數1 = 初值 To 終止值 Step 改變量 敘述區段1 敘述區段2 Next 敘述區段3

(五)賓果遊戲 1.教師以設計好的賓果遊戲和學生互動,以引起學生興趣。 2.說明賓果遊戲所需要的元件及程式,並請學生練習。 3.請學生討論遊戲的缺點,如:所產生的數字會重複,以引導出陣列的使用觀念。

(五)賓果遊戲 4.教師以加入陣列的賓果遊戲,講解陣列的使用,並請學生實作。 5.請學生兩人一組,互相測試對方所做的賓果遊戲。

賓果遊戲程式 Dim b, i As Integer Randomize() Label1.Text = "目前的數字有1~25" For i = 1 To 25 Step 1 b = Int(Rnd() * 25) + 1 MsgBox("數字為:" & (b)) Label1.Text = Label1.Text & Str(b) Next

賓果遊戲(不重複數字) Dim b, i As Integer Dim a(25) As Integer Randomize() Label1.Text = "目前的數字有1~25" For i = 1 To 25 Step 1 a(i) = 0 Next

For i = 1 To 25 Step 1 b = Int(Rnd() * 25) + 1 Do While a(b) = 1 Loop a(b) = 1 MsgBox("數字為:" & (b)) Label1.Text = Label1.Text & Str(b) Next

4.陣列 陣列是一個具有結構性的資料儲存空間,由元素所構成,將相同資料型態的資料或數值放在一起,並給予一個陣列名稱;是利用索引(Index)與陣列名稱來存取陣列中的元素。

4-1. 一維陣列 Dim 陣列名稱(元素個數) As 資料型別 4-2. 二維陣列 1 4-1.一維陣列 Dim 陣列名稱(元素個數) As 資料型別 4-2.二維陣列 1.Dim 陣列名稱(元素1個數,元素2個數) As 資料型別 2. Dim 陣列名稱(元素1個數,元素2個數)

(六)實作評量 1.教師以發撲克牌程式設計,要求學生以分組的方式討論並畫出流程圖並繳交。 2.教師以正確的流程圖講解發撲克牌程式的步驟。 3.學生依照教師的流程圖設計程式並繳交。 4.教師講解以正確的發撲克牌程式並對應流程圖講解。

探討 重複敘述中斷方法((二)有限制次數的猜數字遊戲) 陣列與基本資料型態的關係 陣列記憶體配置方式 如何利用迴圈及陣列的搭配來設計演算法

敬請指教