信息技术九年级人教新课标第二单元程序结构教案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二单元程序结构
本课主要介绍了程序设计的精髓——算法和程序的三种基本结构:顺序结构、选择结构、循环结构。

教材安排了多个编程小活动,让学生在实践中了解什么是算法,了解程序的三种基本结构并学会使用程序的三种基本结构编程。

本课建议课时2课时。

1.算法的描述
对于算法的描述,教材给出了三种方法:用自然语言描述算法、用表格描述算法和用流程图描述算法。

其中用流程图描述算法是编程人员更多采用的。

流程图又称程序框图,它是用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。

流程图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要文字说明。

构成程序框的图形符号及其作用在教材中有详细的列表介绍。

学习这部分内容的时候,要掌握各个图形的形状、作用及使用规则。

画程序框图有如下规则:(1)使用标准的图形符号。

(2)框图一般按从上到下、从左到右的方向画。

(3)除判断框外,大多数流程图符号只有一个进入点和一个退出点。

判断框具有超过一个退出点的唯一符号。

(4)判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果。

(5)在图形符号内描述的语言要非常简练清楚。

在具体画程序框图时,要注意流程线上要有标志执行顺序的前头;判断框后边的流程线应根据情况标注“是”或“否”;在循环结构中,要注意根据条件设计合理的计数变量、累加变量等。

2.程序的三种基本结构
教材详细介绍了程序的三种基本逻辑结构有顺序结构、选择结构、循环结构。

顺序结构:顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。

顺序结构在程序流程图中的体现就是用流程线将程序框自上而地连接起来,按顺序执行算法步骤。

选择结构:选择结构是指在算法中通过对条件的判断,根据条件是否成立而
选择不同流向的算法结构。

循环结构:在一些算法中,经常会出现从某处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构,反复执行的处理步骤为循环体,循环结构中一定包含条件结构。

教材中介绍了两类循环结构:“直到型”循环结构和“当型”循环结构。

在这要注意:(1)循环结构要在某个条件下终止循环,这就需要条件结构来判断。

因此,循环结构中一定包含条件结构,但不允许“死循环”。

(2)在循环结构中都有一个计数变量和累加变量。

计数变量用于记录循环次数,累加变量用于输出结果。

计数变量和累加变量一般是同步执行的,累加一次,计数一次。

三种程序结构中,顺序结构是最简单的结构,也是最基本的结构,循环结构必然包含条件结构,所以这三种基本逻辑结构是相互支撑的,它们共同构成了算法的基本结构,无论怎样复杂的逻辑结构,都可以通过这三种结构来表达。

【文本资源】
选择结构
顺序结构只能处理一些比较简单的问题,而在实际应用中,常常需要对给定的条件进行分析、比较和判断,并根据判断结果采取不同的操作,选择结构的程序即可解决这些问题。

选择结构:又称分支结构,根据给定的条件的真(即条件成立)与假,当设定条件成立时执行某些语句,条件不成立时则跳过这些语句或执行其它的语句。

选择不同的执行方向。

例如:走路时遇到多个分支的叉路口,如果选择走分支A 去了甲地,选择走分支B去了乙地,选择走分支C去了丙地……最终他们都到达了目的地。

实现选择结构的语句有:
If Then Else 、If Then Else If、 Select Case。

选择结构中要使用选择语句,有两路分支和多路分支两种情况,对应的选择语句有If语句(两路出口)和Select Case语句(多路出口)。

教材的活动任务二采用了If Then Else语句,活动任务、三、四采用了Select Case语句。

一、IF 语句:
IF 语句又分为单行格式和多行格式。

1.单行格式
1.1语法格式:
If <条件> Then <语句>
功能:如果条件为True ,执行语句组1,否则执行IF 语句的下一个语句。

<表达式>是一个条件表达式或逻辑表达式。

例如,If Data>=90 Then Print “优秀”。

例:输入一个数,如果是3的倍数则通过消息框输出。

Private Sub Form_Click()
Dim Data As Integer
Data = InputBox("请输入一个值:")
If Data Mod 3 = 0 Then MsgBox Data
End Sub
其中“Data Mod 3 =0”,即数据除以3后的商是0,可以得到3的倍数。

1.2语法格式:
If <条件> Then <语句1> Else <语句2>
功能:如果“条件”的值为True ,则执行语句组1,否则执行语句组2。

说明:
(1)“条件”通常是关系表达式或逻辑表达式。

条件语句要求在一行内书写Data>=90? 输出“优秀”
Yes
No
完毕。

(2)语句组1和语句组2可以是简单语句,也可以是用冒号分隔的多个语句。

(3)[ Else <语句组2>] 是可选项,当该项省略时,IF 语句简化为:If <条件> Then <语句>。

例如, Private Sub Form_Click()
Dim Data As Integer
Data = InputBox(“请输入成绩:")
If Data >= 90 Then Print “优秀” Else Print “合格”
Print "计算完毕"
End Sub
上例的If 语句可以改写为:
If Data < 90 Then Print "合格" Else Print "优秀"
可以让学生想一想,如何应用if 语句编写程序,设计程序,输入X 的值,当X>=0时,Y=1+X ;当X<0时,Y=1-2*X 。

计算Y 的值。

解析:If X>=0 Then
Y=1+X
Else
Y=1-2*X
Data>=90? 输出“优秀” Yes
No 输出“合格” 输出“计算完毕”
2.多行格式
语法格式:
if条件Then
语句序列1
Elseif条件Then
语句序列2
Else
语句序列3
Endif
结构如下:
If <条件> Then
<语句组1>
[Else
<语句组2>]
End If
说明:
(1)If块必须以一个End If语句结束.
(2)程序运行该语句时,首先判断<条件>: 如果条件为True,执行Then 后的语句组1,否则执行Else后的语句组2。

当执行完
Then或Else之后的语句组后,则继续执行End If后的语句。

(3)语句组可以是单个语句,也可以是多个语句。

(4)Else子句是可选项。

若有该项,Else必须单独占一行。

试一试:设计一个程序,输入成绩,如果不低于85分,输出“良好!”;如果不低于70分,输出“优秀!”;如果不低于60分,输出“及格!”;如果低于60分,输出“不及格!”。

二、 SELECT CASE语句
多种分支情况虽然可以用If语句的嵌套形式实现多分支选择,但使用系统提供的多分支选择Select Case语句,更为简单。

语法格式:
Select Case <测试表达式>
Case <表达式1>
<语句1>
Case <表达式2>
<语句2>
………
[Case Else
<语句 n+1>]
End Select
说明:<测试表达式>值的类型是数值型、字符串型、日期型等,一旦与某个Case后的<表达式>值相等,则执行这个Case中的<语句>,完成后执行End Select 后的语句。

如果所有的Case后的<表达式>都不与<测试表达式>项匹配,则执行Case Else后的<语句>。

执行过程:先对“测试条件”求值,然后顺序测试该值与哪个Case子句中的“表达式列表”相等,如果相等,执行该Case分支后的语句序列,然后执行End Select后面的语句;如果没有相等的,则执行Case Else后的语句序列,最后也执行End Select后面的语句。

功能:根据“测试条件”的值,从多个Case中选择符合条件的一个语句序列执行。

例一:学生成绩分等,代码如下:
Private Sub Form_Click()
Data = InputBox("请输入一个成绩", "成绩分等")
Select Case Int(Data / 10)
Case 10
MsgBox "满分", , "成绩分等"
Case 9
MsgBox "优秀", , "成绩分等"
Case 8
MsgBox "良好", , "成绩分等"
Case 7
MsgBox "一般", , "成绩分等"
Case 6
MsgBox "合格", , "成绩分等"
Case Else
MsgBox "不合格", , "成绩分等"
End Select
End Sub
例二:测试输入的字符,代码如下:
Private Sub Form_Click()
Char = InputBox("请输入一个字符", "测试")
Select Case Char
Case "0" To "9"
MsgBox "字符是数字", , "测试"
Case "a" To "z"
MsgBox "字符是小写字母", , "测试"
Case "A" To "Z"
MsgBox "字符是大写字母", , "测试"
Case Else
MsgBox "字符是其它符号", , "测试"
End Select
End Sub
运行后结果如图:
循环结构语句
一、For…Next语句
For…Next循环结构是一种最简单的循环结构,它属于计数型循环,常用于循环次数已知的程序结构中。

在VB中,For…Next循环结构的语法定义如下:
可以省略。

循环体:需重复执行的程序段。

例如:求1到100的自然数之和。

代码如下:
Private Sub Command1_Click()
For n = 1 To 100 Step 1
Sum = Sum + n
Next n
Print “1到100的自然数之和是:”, Sum
End Sub
可以让学生想一想如何使用循环结构编写程序:求1+3+5+7+ (99)
代码如下:
Private Sub Form_Click()
Dim Sum As Integer, I As Integer
Sum = 0 '保存累加和,先清零
For I = 1 To 99 Step 2
Sum = Sum + I
Next I
MsgBox "1+3+5+…+99=" & Sum, , "求和"
End Sub
二、Do…Loop语句
Do…Loop语句是循环结构的另一种循环语句,结构定义:
Do While|Until 条件
循环体
Loop
例如:求1到100 之间奇数的累加和。

该程序的设计步骤如下:
双击窗体,在代码窗口中输入如下代码:
Private Sub Form_Load()
Dim s As Integer, n As Integer
Show
s = 0: n = 1
Do While n <= 100
s = s + n
n = n + 2
Loop
Print "1+3+5…99="; s
End Sub
三、多重循环
循环体内又包含一个循环语句时,就形成了循环嵌套,即多重循环。

在栏目“探究”中要求学生分析“Do Until … Loop”和“Do … Loop Until”有何不同,探究的方式很多,可以让学生分别采用“Do Until … Loop”和“Do … Loop Until”编写两段代码,然后看看输出结果有何不同,从而体会两者的异同点。

下面是两种语句的比较,只作参考:。

相关文档
最新文档