2.3程序的选择结构
程序的选择结构教学设计

程序的选择结构(一)教材分析使用教材:广东教育出版社出版的《算法与程序设计》(选修1)。
本节课的教学内容是2.3节“程序的选择结构”第二部分内容的第二节课。
对于教材2.3节的教学内容,学生都很感兴趣(因为属于算法的三大结构之一,学生对能用代码编写出来的程序还是感到新奇,故能比较好的吸引学生的学习兴趣),但是对其中相关的知识点,学生的认识还是很模糊的,尤其是条件语句的编写,大多数同学缺乏实践经验,因此如何引导学生学会使用条件语句来控制选择结构成为本节课的重点;而难点在于如何实现多个条件语句的编写,即条件语句的嵌套,并在掌握条件语句的基础上发现有问题程序的解决方法,成功调试运行。
这节课是下节课(2.3节)“程序的选择结构”中第三部分内容——多重选择语句的基础,只有真正落实好了教学,才能为后面课程开展打好坚实的基础。
(二)学生分析教学对象为高二的学生,在前面的教学中,他们已经学习过程序的顺序结构,(通过本课程前面的学习,)对程序结构方面有了一定的概念,但是还是处于兴趣大、认识模糊,实践少的范畴之内。
(三)学习目标1、知识与技能①能够顺畅阅读条件语句程序,充分理解条件语句的意义;②掌握条件语句的书写格式、功能和执行过程;③掌握程序调试、运行、查漏的方法。
2、过程与方法①掌握使用条件语句编写程序的主要方法。
②掌握使用条件语句嵌套来实现程序选择功能的主要方法。
③体验通过查找问题条件语句掌握条件语句编制的主要过程。
3、情感态度与价值观①培养学生遇到问题,通过自主学习寻找办法解决问题的能力;②帮助学生体验计算机解决问题的过程,获取成功的快乐;③认识程序编写的多元性,帮助其建立根据需求来编写语句的概念。
(四)教学重点分析①掌握使用条件语句编写程序的主要方法。
②能够读懂条件语句,理解条件语句执行的过程及实现的功能。
③掌握程序调试、运行、查漏的方法。
(五)教学难点分析①掌握使用条件语句编写程序的主要方法。
②掌握使用条件语句嵌套来实现程序选择功能的主要方法。
2.3.3 语句与程序结构——选择结构 教案

案例语句与程序结构——选择结构1. 《课程标准》要求·掌握一种程序设计语言的基本知识,使用程序设计语言实现简单算法。
·通过解决实际问题,体验程序设计的基本流程。
2. 教学目标·通过补充程序掌握选择结构在程序语言中的基本格式。
(计算思维)·根据流程图,初步学习双分支和多分支结构的基本格式,通过编写程序,体验程序设计的基本流程,领会选择结构的核心思想。
(计算思维)·通过解决生活中的实际问题,感受计算机编程的魅力。
(信息社会责任)3. 学业要求掌握一种程序语言的基本知识,利用程序设计语言实现简单算法,解决实际问题。
4. 教学对象分析从学生的认知水平来看,高中学生的逻辑思维能力逐步趋于成熟,能够有条理地表达一个过程或规则,为进一步发展学生的计算思维创造了条件。
学生通过前面章节的学习,已经掌握了用流程图描述算法的方法,能够运用恰当的描述方法和控制结构合理地表示简单算法,初步掌握了Python语言的变量赋值和表达式的正确书写,体验了顺序结构程序实现的方法。
学生初步尝试了顺序结构解决问题的过程,学习了简单的程序语言,但基本还停留在算法思想的阶段,无法感受到计算机编程的魅力,所以学生对通过具体的程序语言来实现简单的算法有着浓厚的兴趣,期待着能用计算机解决更多问题。
5. 教学重点与难点教学重点:理解选择结构思想,能用if语句编程实现分支问题的求解。
教学难点:理解多分支结构中各分支间的逻辑关系,能根据问题选择适当的语句编程解决问题。
6. 教学方法与教学手段教学方法:以问题引导和活动探究串联整个课堂。
教学手段:体验探究、小组活动为主。
2.3程序的基本结构

程序的基本结构:
①顺序结构:按照由上到下的顺序一行一行地执行。 程序中没有分支,没有重复。 ②选择结构:根据不同的条件判断来决定程序执行走 向的结构。程序中有分支,没有重复。 ③循环结构:根据条件判断,需要重复执行某一段代
码的程序。程序中可能存在分支和重复。
顺序结构
例:如书中图所示,有两个锥形瓶,1号瓶里 面装的是溴水,2号瓶里面装的是水,如果我 们要交换两个瓶子里的液体,该怎么办? 一般情况我们是用一个空瓶子作为“中转” 来解决这个问题的。 同理,在程序设计中我们也可以使用这种方 法来交换两个变量的值。我们把该问题转化 成两个变量的值利用VB编程来实现它。
一组枚举表达式(用逗号分隔)
60 关系运算符表达式
2, 4, 6, 8
to Is 100 < 60
例如:将例3.1 使用select case…..语句来实现的程序段如 下: Select Case x Case 90 to 100 Print "优秀" Case 80 to 89 Print "良好" Case 70 to 79 Print "中等" Case 60 to 69 Print "及格" Case Else Print "不及格" End Select
2.3
3.2 循环结构
循环语句
1. For循环语句 (一般用于循环次数已 知) 形式: For 循环变量=初值 to 终值 [Step 步长] 语句块 [Exit For] 语句块 Next 循环变量 >0 初值<终值 步长 省略 <0 初值>终值 =0 死循环 =1 时,可
循环变量得初值
循环变量在终值内
2.3 程序的选择结构

6
体验2
用上面不同的语句改编“体验1”中程序试试
7
关系表达式
运算符 含义 = 等于 > 大于 >= 大于等于 < 小于 <= 小于等于 <> 不等于
像x>0就是一个关系表达式,当成立时其值为真(True),不成立时则为假 (False),其数据类型为“逻辑型(Boolean)。
数值型数据比较,按大小比较,如:3>2 其值为True,3<2 其值为False 其他类型比较,按其序号比较,如:”a”>”b” 其值为False, “a”<“b” 其值 为Ture。
8
逻辑表达式
Not(非) And(与) Or(或)
数学表示 0<x<10 x<0 或 x>10 x不大于10 VB表示 x>0 And x<10 x<0 Or x>10 Not x>10 意义 两个都成立,为True 有一个成立,为True 取相反
运算顺序 a + b>c + d a>0 And b<0 3>0 And 5>4 Or Not 1<0 先算术运算,再关系运算 先关系运算,再逻辑运算 运算顺序,Not → And → Or
9
练习
输入学生成绩,判断是属于那个等级,用vb编程实现。 a为成绩 a<60,差 60<=a<=75,中 75<a<=85,良 a>85,优
10
1、在VB中如何表述下列逻辑表达式 x大于等于3 x不等于3 a+b大于b+c 2、写出下列逻辑运算的结果(既为 Ture 或为 False ) 1)3>5 2)x>y (x=5,y=3) 3) a>0 and b>0 (a=4,b=0) 4)a>0 or b>0 (a=5,b=-5)
程序的基本结构(顺序+选择)课件

• 由键盘输入两个数a、b,输出其中较大的数。
14
用流程图描述算法
开始 输入a、b值
a>b
Y 输出a
结束
N 输出b值
15
2.3.2 选择结构
2、双分支选择结构 形式1为:
If 条件表达式 Then 语句1 形式2为:
If 条件表达式 Then 语句或语句组1
Else 语句或语句组2
End If
Else 语句2
16
练习
• 某市的士费起步价8元,可以行驶3公 里。3公里以后,按每公里1.6元计算 ,输入的士的公里数,请你计算顾客 需付费多少元?
17
练习
• 求一元二次方程 ax2+bx+c=0 (其中 a≠0 )的实数解。要求a、b、c由用 户输入,若方程有实数解,则输出x1 和x2,若方程无实数解,则输出无实 数解。
结束 5
2.3 程序的基本结构
• 顺序结构 • 在程序执行过程中,语句按先后顺序一
行一行执行,没有分支,没有重复,直到 程序结束。
6
2.3.1 顺序结构
顺序结构的特点:
1. 执行过程是按顺序从第一条语句执行到最 后一条语句。
2. 在程序运行的过程中,顺序结构程序中的 任何一条语句都要运行一次,而且也只能 运行一次。
7
程序的基本结构
• 任何正规的程序都可分解为三种基本结构, 即顺序结构、选择结构和循环结构。
8
2.3.2 选择结构
在处理实际问题时,只有顺序结构是不够的 ,经常会遇到一些条件的判断,流程根据 条件是否成立有不同的流向。
9
• 如何只抽取偶数的幸运号数?
10
用流程图描述算法
2.3程序的选择结构

编写一程序,对某次测验分数进行分类,输入一分数, 给出该分数的等级。要求如下:59分以下为D,60-69 为C,70-89为B,90-100为A+。 1、分析问题
设学生成绩为x,则需要判断x的取值范围,然后输出相应等级。
2、设计算法 (1)输入成绩x (2)判断x,如果x<59,则输出D,如果60<=x<70则 输出C,如果70<=x<90则输出B,如果90=<x<=100 则输出A。 (3)结束
3、逻辑表达式
逻辑运算符:Not、And、Or 逻辑表达式的运算值为逻辑型。
4、运算顺序
Not>And>Or 算术运算>关系运算>逻辑运算
例:a+b>c+d And a>=5 Not c>0 Or d<0
2.3 程序的选择结构
练习
P49练习(2)编写一个程序,输入三个数,输出其中的 最大数。
22..33 程程序 序的 的选 选择 择结 结构 构
2.3 程序的选择结构 多重选择语句
基本格式:
Select Case 表达式
表达式和表达式列表可
Case 表达式列表1 以是数值型或字符型。
语句组1
表达式列表又称值域, 可表示为:
Case 表达式列表2 1.表达式1,表达式
……
2,……
Case Else
2.表达式1 To 表达式2
语句组N+1 3.Is关系表达式
End Select
2.3 程序的选择结构
练习
P49练习(3)我们把字符作如下分类:大写字母A…Z; 小写字母 a…z;数字:0…9;其它字符。编写一个程 序,根据上述分类的方法,输入一个字符,报告该字 符所属的类型。
2.3程序的基本结构

程序的基本结构一、教材分析“程序的基本结构”是信息技术选修模块《算法与程序设计》第二章程序设计ABC第3节的内容,也是本章的重点内容。
课时安排: 2课时。
本节课为第1课时,主要介绍顺序结构和选择结构的If语句及If 语句的嵌套方法。
本节内容是在学习了自然语言、算法描述、流程图、基本语句和基本函数的基础上学习的。
二、教学目标1、知识目标掌握顺序、选择、循环三种基本结构。
2、能力目标通过例题教学,培养学生能够使用三种基本结构编写简单的程序解决具体问题。
3、情感目标通过本节的学习,体会用结构化方法解决总分数学问题的便捷性,明确三种控制结构的重要作用。
三、教学重点·难点重点: If语句及If语句的嵌套方法,三种结构的实现语句的格式和功能。
难点:使用三种基本结构编写简单的程序,以及同种结构的不同实现语句之间的差异。
四、教学方法教学活动是教与学的双边活动,必须充分发挥教师主导作用和学生主体地位。
根据这一教学原则和学情分析,主要用如下方法进行教学即“点拨、分析、猜想、归纳、概括”等探索式教学方法。
五、教学过程(一)创设问题情境,引导学生思考,引入课堂。
1、问题1:前面我们学习了哪些基本语句?①赋值语句②输出语句 print ③注释语句④结束语句2、问题2:学习了哪些基本的函数?①与用户交互函数InputBox()、MsgBox() ②数学函数③字符串函数④日期函数3、通过第一章的学习我们对VB编程有了初步的体验,知道了计算机解决问题的过程和三种描述算法的方法。
接下来我们应如何利用这些基本的语句及函数来实现算法和进行编程呢?由此引入课题,并板书。
课题:程序的基本结构(二)展示目标:知识目标,能力目标,情感目标。
(三)导学达标(基础知识)1、程序的基本结构:①顺序结构②选择结构③循环结构(师)我们可以用N—S流程图来进行简单描述:顺序结构:(师)提出问题:这三种结构分别都有哪些特点?(由学生回答,老师进行总结) 顺序结构:按照由上到下的顺序一行一行地执行。
2.3.2选择结构 (2)

在VB中,选择结构可用if语句来实现, if语句有如下三种:
(1)单分支选择结构(如右图): If 条件 Then 语句或语句组 End If
注意:条件可以是关系表达 式,也可以是逻辑表达式
实践1 : 输入两个数a和b,比较他们的大小,如果a大于b,我们就
进行交换并输出他们的值。那我们该如何完善这段程序呢?
程序,输入3个数值,单击“判断”按钮,即可得出最大数,该程序的正 确运行界面如图所示,但他在编写程序时遇到了一些问题,请你帮他完 善程序,让其程序运行正常。程序代码如下:(工作界面如右)
Private Sub Command1_Click() Dim a, b, c, max As Integer a = Val(Text1.Text) b = Val(Text2.Text) c = Val(Text3.Text) If ______ Then
MsgBox "成绩为B!", vbOKOnly, "结果" ElseIf _________ Then
MsgBox "成绩为C!", vbOKOnly, "结果" Else
MsgBox "成绩为D!", vbOKOnly, "结果" End If End Sub
小结:
(1)单分支选择结构: If 条件 Then 语句或语句组 End If
2.3.2程序的基本结构 ——选择结构
安庆一中 吴萍
上课之前,我们先来玩“猜数小游戏”吧,大家一 起来体验一下!工作界面如下:
游戏源代码:
Dim N As Long Dim M As Long Private Sub Form_Load()
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序的选择结构一、教学目标1、知识与技能理解程序选择结构中的条件选择语句的执行流程,掌握条件选择语句和多种选择语句的使用方法,能够编写简单的选择结构的程序,以解决生活中的一些计算问题。
2、方法与过程本节从简单的问题入手,通过一道求一个数的绝对值的题目,让学生明白条件选取择语句的执行流程及使用方法。
通过一道输入学生分数,判断该分数是属于哪种等级的题目,让学生初步接触多种选择语句的使用。
进而再做类似的练习,加强学生的理解,课程安排形成循序渐进的梯度,充分挖掘学生潜力。
3、情感态度和价值观程序设计选取的题目都是生活中遇到的例子,加强学生利用本学科解决日学生活中的问题的意识。
二、重点难点1、教学重点(1)条件选择语句和多重选择语句的使用(2)程序条件选择结构的执行流程(3)会使用条件语句和多重选择语句编写程序解决简单的应用题2、教学难点根据题目写出正确的程序三、教学环境1、教材处理教材选自《广东省普通高中信息技术选修一:算法与程序设计》第二章第三节,原教材的第一个程序例子有关矩形的计算,涉及到解二元一次方程,使用的表达式也较为复杂,授课过程中可能花的时间太多。
所以上课时,把教材的导入例子作了的简单的处理,以求一个数的绝对值作为导入,学生更易理解条件语句的执行。
至于多种选择语句,教材选用一道求恩格尔系数,从而判断生活水平的高低的题目,授新课前,就简单说明一下,再用另一道根据学生分数判断该成绩是属于哪一个等级的题目作为实践,从而与学生的学习更有联系,提高学习兴趣。
2、预备知识学生已掌握算法的概念及描述方法,定义常量与变量的方法,程序设计的四个步骤——分析问题、建立模型、设计算法和编写程序。
3、硬件要求建议本节课在多媒体电脑教室中完成,有广播教学系统或投影仪。
4、所需软件学生机要安装VB6.0或以上版本。
5、所需课时2课时(100分钟)四、教学过程导入:演示求一个数的绝对值这道题的程序,让学生明白通过程序可以解决数学中的问题,也给学生展示完整的程序代码,这道程序的功能就是靠这些代码来控制的,引起学生的注意,激发他们的求知欲。
一、演示上述的程序,并把程序代码中的各行代码的作用解释一遍,顺便把程序的执行流程说明一下,编写的程序与设计的算法是一致的。
程序2-3Private sub command1_click() ‘定义名为command1_click()的事件过程Dim A as single ‘定义求绝对值的数A为单精度实型 A=inputbox(“r=”,”请输入半径”) ‘输入A的值If A>=0 then ‘如果A>=0Print “Y=”;A ‘输出A的值ElsePrint “Y=”;-A ‘输出-A的值End ifEnd sub ‘过程结束二、条件语句在解决问题的过程中,常常需要对事物进行判断和选择,如上题中,求一个数A的绝对值,如果A>=0,则这个数的绝对值为A,否则为-A。
在程序设计中,如何实现判断和选择呢?在上述代码中,有一个用if开头的语句,这就是条件语句。
(一)条件语句的基本格式是:if 条件 then 语句组1 else 语句组2或if 条件 then语句组1else语句组2end if其中,条件是一个逻辑表达式,语句组是一组VB的语句。
(二)条件执行语句的执行过程条件语句的执行过程是:当条件成立时,执行then后面的语句组1,否则执行语句组2,条件语句的执行流程图如下图所示。
在条件语句的基本格式中有时可以省略else和语句组2,这时条件语句的执行过程是当条件成立时,执行then后面的语句组1,否则退出条件语句,执行下面的语句。
(三)关系表达式在程序2-3中,程序的第三行是一个条件语句,其中的条件A>=0表达式,一般称为关系表达式,关系表达式是用关系运算符连接起来的式子。
关系运算符号有:当关系表式成立时其值为真(Ture),当表达式不成立时其值则为假(Fals e);关系表达式的值既不是数值型量,也不是字符型量,而是一种新的数量类型——逻辑型。
逻辑型只有两个可能的值:假(False)和真(Ture)。
关系表达式的值定义如下:(1)对数值型的数据比较,是按照数值的大小来进行比较。
如13>6的值为真。
(2)对其它类型数据的比较,则按照其序号进行比较。
如"D">"B"其值为假。
2<X<(四)逻辑表达式在实际问题中,对于一些复杂的条件,还需要几个关系表达式组合起来才能表示。
例如,条件2<X<9就需要用2<X和X<9这两个表达式来表示.将多个关系表达式用逻辑运算符连接起来的式子称为逻辑表达式,逻辑表达式的运算值为逻辑型。
逻辑运算符有:Not(非)取操作数相反的值。
即当操作数为假时,结果为真;当操作数为真时,结果为假。
And(与)当两个操作数都为真时,结果才为真。
Or(或)当两个操作数都为假时,结果才为假。
(五)逻辑运算的顺序(1)当条件中只有逻辑运算符时,运算的顺序为Not、And、Or(2)当条件中既有算术运算符,又有关系运算符和逻辑运算符时,运算顺序是:算术运算符,关系运算符,逻辑运算符例如:a+b>c+d and a>=5 or not c>0 or d<0当a=5,b=7,c=2,d=1时,运算结果是真。
三、练习四、练习问题1:某商场为了对苹果进行促销,规定购买2千克以上可以在原价每千克1.5的基础上打8折。
请设计一个程序计算购买x千克苹果的应付款。
(1)分析问题设买苹果的重量为x千克,应付款为y元,如果x>=2,则y=1.5*x*0.8,否则y=1.5*x。
(2)设计算法①输入x的值②如果x>=2,则y=1.5*x*0.8③否则y=1.5*x④输出y的值(3)编写程序Private sub command1_click()Dim x as singlex=Inputbox(“请输入购买苹果的重量”)if x>=2 theny=1.5*x*0.8elsey=1.5*xend ifPrint “应付款”;y;“元”(4)调式程序五、多重选择语句问题2:输入一个成绩,如果90分以上,则输出“优秀”;80-89,则输出“良好”;70-79,则输出“中等”;60-69,则输出“及格”;60分以下则输出“不及格”,请编写程序。
如果这道题使用if语句来编写程序的话,程序如下:程序2-4Private sub command_click()X=inputbox(“请输入一个分数”)If X>=90 then print”优秀”If X>=80 and X<89 then print”良好”If X>=70 and X<79 then print”中等”If X>=60 and X<69 then print”及格”If X <60 then print”不及格”End sub在程序2-4中,使用了5个if语句来处理5种情况。
这样的程序在可读性和效率方面都是比较差的,如果再多一些情况,它的缺陷就会暴露得更加明显,如何处理这个问题呢?(一)多重选择语句格式在VB语言中,设置了一个处理多种情况的语句,称为多重选择语句,它的基本格式为:select case 表达式case 表达式列表1语句组1case 表达式列表2……case else语句组N+1end select其中(1)表达式和表达式列表可以是数值型或字符型,表达式列表还可以是多个用逗号分开的表达式。
(2)表达式列表与表达式的类型必须相同。
(3)表达式列表又称值域,它有如下三种形式:①表达式1,表达式2,……②表达式1 to表达式2③ Is关系表达式(二)多重选择语句的执行过程多重选择语句的执行过程是:当表达式的值为表达式列表1时,执行语句组1;当表达式的值为表达式列表2时,执行语句组2;……当表达式的值为表达式列表N时,执行语句组N;当表达式的值不是上述值时,执行语句组N+1;有了多重选择语句,对于多种情况的选择问题,就可以利用它来解决。
运用多重选择语句编写问题2的程序如下:Private sub command_click()X=inputbox(“请输入学生成绩”)Select case XCase Is>=90Print”优秀”Case 80 to 89Print”良好”Case 70 to 79Print”中等”Case 60 to 69Print”及格”Case elsePrint”不及格”End selectEnd sub(三)练习问题3:我们把字符作如下的分类:大写字母:A…Z;小写字母:a…z;数字:0…9;其它字符。
编写程序,根据上述分类的方法,输入一个字符,报告该字符所属的类型。
六、小结与顺序结构相比较,选择结构就是程序的执行不再完全按照语句的顺序执行,而是根据某种条件是否成立来决定程序执行的走向,它进一步体现了计算机的智能特点。
在VB语言中,选择结构通过if语句和select case语句这两个条件语句来实现,运用条件语句的关键是条件的表示,如果能够正确地表达条件,就可以简化程序,在多重选择的情况下,使用select case语句,可以使程序更直观,更准确地描述出分支的走向。
五、课外拓展问题4:编一个程序,输入三个数,输出其中的最大数。
问题5:自已上网查资料,搜集有关气象风级表的资料,比如说0级是属于无风,12级是属于飓风等,试编写程序,输入一个风级,输出相应的概况,名称,速度等。