程序的选择结构(二).ppt

程序的选择结构(二).ppt

程序的选择结构(二) 合作探究 等边三角形 等腰三角形 一般三角形 如何根据三角形的边长判断三角形的类型呢? 这里只考虑边的情况,所以不会出现“直角三角形”等以角来分类的三角形的情况 三角形的判断 设三条边分别为a,b和c,根据边长的值进行判断 判断过程 情况分析 判断结果 情况一:三条边都相等 情况二:两条边相等, 第三条与这两条不相等 情况三:三条边都不相等 等边三角形 等腰三角形 一般三角形 逻辑运算符的运算规则 逻辑运算符: AND(与):所联结的关系运算式必须同时成立才为真; OR(或):所联结的关系运算式只要有一个为真,即为真; NOT(非):将原来的逻辑值取反。 0b10 a5或者a10 a是正偶数 a不是正偶数 (b0) and (b10) a5 or a10 (a0) and (a mod 2 =0) Not((a0) and (a mod 2 =0)) 逻辑运算的真值表 A B A AND B A OR B NOT A NOT B 真 真 真 假 假 真 假 假 真 真 假 假 假 真 假 真 假 真 真 假 假 假 真 真 逻辑表达式的运算次序 如以下表达式,其中a=5,b=3,c=-2,d=8 a-c b+d OR cd AND ABS(c) =a OR NOT c d+5 711 OR cd AND 2=a OR NOT c13 假 OR 假 AND 假 OR NOT 假 假 OR 假 OR 真 一个逻辑表达式一般包括逻辑运算符、关系 表达式或其他运算量: 算术运算 关系运算 逻辑运算 (NOT AND OR) 真 条件组的写法——三种三角形的判断条件 等边三角形 等腰三角形 一般三角形 三条边相等 a=b=c 两边相等, 一边不等 a=b,b≠c a=c,c≠b b=c,c≠a 三条边不相等 a≠b≠c (a=b) and (b=c) (a=b and b≠c) or (a=c and c≠b) or (b=c and c≠a) (ab) and (bc) 上机任务 设计一个程序,输入三角形的三边,判断是何类型的三角形,界面设计如下: 参考代码: 条件书写太复杂,有没有改进的算法? 一个简单的If语句最多实现两个分支,而用简单If语句的嵌套可以实现如图所示的多分支程序结构 多分支If语句的格式为: If 条件1 Then 语句块1 ElseIf 条件2 Then 语句块2 …… ElseIf 条件n Then 语句块n Else 语句块n+1 Endif 改进判断三角形的程序 如何表示“a,b,c能构成三角形这个条件”? 任意两边之和大于第三边 a+bc AND a+cb AND b+ca 合作探究——成绩分布问题 学生的成绩单实行评价制,即把百分制成绩改写为A、B、C、和D,编写一个程序完成 自动转换工作,转换规则如下:60分以下为D;60到69为C;70到89为B;90以上为A 定义几个变量?分别是什么? 分情况讨论的范围是多少? 成绩分布问题 Label1 Text1 Text2 Command1 输入:变量名=text1.text 输出:text2.text=评价结果 成绩分布问题 成绩分布问题 这里的X能不能改写成其他形式? 如果这样改写X X X \ 10 那么后面的case语句要怎么相应的改变? 改写程序 思考 如果程序要求改成如右图这样的分布的话,那么你使用第一种(60 To 74)还是第二种(X\10)结构来解决这个问题,为什么? Select Case语句流程图: 多重选择——Select Case语句 格式 Select Case 表达式 Case 表达式列表1 语句组1 Case 表达式列表2 …… Case Else 语句组N+1 End Select 你所要讨论的对象 这个对象 取值的情况1 针对这个取值 情况对应的操作1 其他情况 对应这种 情况的操作N+1 多重选择的起止 多重选择语句 注意: Select Case 表达式 Case 表达式列表1 语句组1 Case 表达式列表2 …… Case Else 语句组N+1 End Select Dim X As Integer Select Case X Case 1,2,3 Dim X As Integer Select Case X Case 3.5 √ × 1、表达式和表达式列表可以是数值型或字符

文档评论(0)

1亿VIP精品文档

相关文档