《算法与程序设计之2.1程序的选择结构.ppt》由会员分享,可在线阅读,更多相关《算法与程序设计之2.1程序的选择结构.ppt(24页珍藏版)》请在三一文库上搜索。
1、2.3程序的选择结构,东至一中信技组,编写计算机程序,是用于解决生活中的问题。但是我们的生活中不可能都是按部就班,一条路走到底的,总是这样的顺序结构,我们的人生还会碰到很多的抉择。如过马路时看红绿灯,求解一元二次方程要看情况算根等。,互动游戏,If guessprice 4 Then MsgBox (“猜高了,再试试!),如果价格小于4元,那么信息提示框提示“猜低了,再试试”,如果价格大于4元,那么信息提示框提示“猜高了,再试试”,如果价格等于4元,那么信息提示框提示“猜对了,你真厉害”,If guessprice = 4 Then MsgBox (猜对了,你真厉害!“),If guesspr
2、ice 4 Then MsgBox (“猜低了,再试试!),逐条解读,通过分析,我们可以发现: 当某个条件成立(IF)时,程序就给出相应的提示(THEN)。也就是说程序是按条件来处理事情的,条件满足就去做某事,不满足就不去做。,一、选择结构的概念,选择结构就是在程序运行时,对程序的下一步走向根据某些条件进行选择,以便决定执行哪种操作.,例1:设计一个程序求a的绝对值,(1)分析问题 这个问题中需要输入什么? 需要输出什么? 如何计算? 如果 a=0, 输出a的值 如果 a0, 输出-a的值,(2)设计算法 自然语言: 输入a的值 如果a=0,输出a的值 如果a 0,输出-a的值 结束,流程图:
3、,(3)编写程序,Private sub command1_click() Dim a as single a=inputbox(“a=”,”请输入a的值”) If a=0 then Print “绝对值为:”,a Else Print ”绝对值为:”,-a End If End sub,(4)调试程序,二、条件语句,1、Ifthen如果那么 (1)单行的ifthen 格式:if 条件 then 语句块 功能:当条件成立时就去执行语句块中的命令,例:当a大于等于0时,输出a if a=0 then print a,(一)条件语句的几种形式,(2)块形式的ifthen 格式: if 条件 the
4、n 语句块 end if 功能:当条件成立时就去执行语句块中的命令,例:当a大于等于0时,输出a if a=0 then print a end if,2、If Then Else 如果 那么 否则,(1)单行形式的 if thenelse语句 格式:if 条件 then 语句块1 else 语句块2 功能:如果成立,则执行, 否则执行。,例:求a的绝对值,当a大于等于0时,输出a;当a小于0时,输出-a。 ifa=0thenprint aelseprint -a,注:可以是关系表达式、逻辑表达式、数值表达式或字符串表达式。 和可以有多条语句,各语句之间用冒号隔开。,(2)、块形式的If th
5、enelse 当单行形式的语句块太多是,写在单行就不太适合,这时应该使用块形式的Ifthenelse语句。格式为:,if 条件 then 语句块1 else 语句块2 end if,块形式的和单行的功能相同,不过块形式的便于阅读。如上例可写成,if a=0 then print a else print -a end if,(二)条件执行语句的执行过程 条件语句的执行过程是:当条件成立时,执行then后面的语句组1,否则执行语句组2,条件语句的执行流程图如下图所示。,(三)关系表达式,关系表达式是用关系运算符连接起来的式子。,当关系表式成立时其值为真(Ture),当表达式不成立时其值则为假(F
6、alse);关系表达式的值既不是数值型量,也不是字符型量,而是一种新的数量类型逻辑型。逻辑型只有两个可能的值:假(False)和真(Ture)。,关系运算符号有:,一起练练兵: (1)5=4 (2)76 (3)7+425 (5)”a”BAC” (7)”there”that”,字符型数据比较时,参照AscII码序号大小比较。 A=65,B=66.a=97,b=98,True,False,True,False,False,False,False,(四)逻辑表达式,在实际问题中,对于一些复杂的条件,还需要几个关系表达式组合起来才能表示。例如,条件23 and 4-2 and 75 Or(或)当两个操
7、作数都为假时,结果才为假。 例:53 or 48 or 3=1,False,True,True,True,False,False,(五)表达式运算的顺序,算术运算,(1)当条件中只有逻辑运算符时,运算的顺序为:,实战练习: 求 当a=3, b=5, c=-1, d=7,时,下面表达式的值,a + b c + d And a = 5 Or Not c 0 Or d 0,(2)当条件中既有算术运算符,又有关系运算符和逻辑运算符时,运算顺序是:,NOT,(五)表达式运算的顺序,实战练习: 求 当a=3, b=5, c=-1, d=7,时,下面表达式的值,a + b c + d And a = 5 O
8、r Not c 0 Or d 0,3 + 5 -1 + 7 And 3 = 5 Or Not -1 0 Or 7 0,8 6 And 3 = 5 Or Not -1 0 Or 7 0,Ture And False Or Not False Or False,Ture And False Or True Or False,False Or True Or False,True,某商场为了对苹果进行促销,规定购买2千克以上可以在原价每千克1.5的基础上打8折。请设计一个程序计算购买x千克苹果的应付款。,1)分析问题 设买苹果的重量为x千克,应付款为y元,根据题意有:,学以致用:,2)设计算法 输入
9、苹果重量x的值 判断:如果x=2,则y=1.5 x 0.8 否则y=1.5 x 输出y的值,(3)编写程序 Private sub command1_click() Dim x As Single,y as single x = InputBox(请输入购买苹果的重量) If x = 2 Then y = 1.5 * x * 0.8 Else y = 1.5 * x End If Print 应付款; y; 元 End sub,小结,通过本节课,我们认识了选择结构,学习了条件语句格式,用它可以处理在一种条件下或两种条件下选择性地去执行相应的任务,让程序设计处理具有了一定的智能性,而不是从前往后地顺序执行。 然而,现实当中的任务并不仅仅只有一种或两种情况,也许会有两种以上的情况,这时我们又如何利用程序去解决呢?请看下面的案例,思 考,我们高二要参加高中学业水平考试,并将我们的成绩按照一定的规则,划分为A、B、C、D四个等级。成绩与等级分关系: 100分85分为A级,84分70分为B级,69分50分为C级,49分以下为D级。 请你编写一个程序,任意输入一位学生的成绩,就给 出相应的等级。,课后作业,请将书中P44页中: 实践(1) 实践(2) 按照题目要求,独立认真完成。,敬请指导!,
链接地址:https://www.31doc.com/p-7218794.html