2013教科版选修1《选择结构程序》.ppt
《2013教科版选修1《选择结构程序》.ppt》由会员分享,可在线阅读,更多相关《2013教科版选修1《选择结构程序》.ppt(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 程序流程有三种最基本的程序流程有三种最基本的控制结构,即顺序结构、选择控制结构,即顺序结构、选择结构和循环结构。结构和循环结构。在一个过程中,程序通常是在一个过程中,程序通常是按照由上而下的顺序来执行各按照由上而下的顺序来执行各个语句的,直到整个过程结束。个语句的,直到整个过程结束。引入选择结构和循环结构,可引入选择结构和循环结构,可以改变程序执行的流程。以改变程序执行的流程。选择程序结构用于选择程序结构用于判断给定的条件判断给定的条件判断给定的条件判断给定的条件,根据,根据判断的结判断的结判断的结判断的结果果果果来控制程序的流程来控制程序的流程 本章主要内容条件表达式条件表达式 关系表达式
2、关系表达式/逻辑表达式逻辑表达式条件语句条件语句 If.Then/If.Then.Else 条件语句的嵌套条件语句的嵌套多分支语句多分支语句 select case 选择性控件选择性控件 单选单选按钮按钮/复选框复选框 列表框列表框/组合框组合框计时器控件计时器控件程序举例程序举例关系运算符符号:符号:大于大于 =大于或等于大于或等于=小于或等于小于或等于 =等于等于 不等于不等于适用的类型和结果类型:适用的类型和结果类型:关系运算符适用于数值型、字符型、日期型和逻辑型关系运算符适用于数值型、字符型、日期型和逻辑型数据,结果只能为逻辑型(真值数据,结果只能为逻辑型(真值True和假值和假值Fa
3、lse)运算符两侧必须是同类型的量或表达式运算符两侧必须是同类型的量或表达式 若不是,系统会自动进行强制类型转换若不是,系统会自动进行强制类型转换 “5”4 0(10)若判断的结论是成立,则结果为逻辑真值若判断的结论是成立,则结果为逻辑真值(True),否则为逻辑假值否则为逻辑假值(False)True的值等于的值等于-1,False的值等于的值等于0关系运算符运算运算符符名名 称称示示 例例说说 明明小于小于“3”4值为:值为:True,强制转换为强制转换为数值型数值型=小于或等小于或等于于3大于大于0(10)值为:值为:True,强制转换为强制转换为数值型数值型=大于或等大于或等于于“aa
4、”=“ab”值为:值为:False=等于等于1=True值为:值为:False,强制转换为强制转换为数值型数值型不不等于等于11值为:值为:False关系表达式运算次序:先分别求出运算符两侧表达式的值,运算次序:先分别求出运算符两侧表达式的值,然后再将二者进行比较然后再将二者进行比较 其中:数值型数据按照数值大小比较其中:数值型数据按照数值大小比较 2+36 3=0 523 字符型数据按照字符的字符型数据按照字符的ASCII码值大小比较码值大小比较 “1”“2”“a”“a”日期型数据按照前后顺序比较日期型数据按照前后顺序比较#01/01/2003#12/31/2002#关系表达式的格式:关系表
5、达式的格式:关系表达式练习数值型数据按照数值大小比较数值型数据按照数值大小比较字符型数据按照字符的字符型数据按照字符的ASCII码值大小比较码值大小比较日期型数据按照前后顺序比较日期型数据按照前后顺序比较?2/33/42/33/4?“a”“b”?“a”“b”?3=5?3=5?True=-1?True=-1?#01/12/91#=#02/01/91#?#01/12/91#=#02/01/91#?“?“abcabc”=“”=“abbabb”?“?“abab”=“”“b”AND 12 False?“a”“b”OR 12 True?NOT 2*511 False?233 AND 510 False表示
6、一个数是偶数表示一个数是偶数 x Mod 2=0 或或 int(x/2)=x/2表示一个数表示一个数X能被能被3或或5或或7整除整除x Mod 3=0 OR x Mod 5=0 OR x Mod 7=0表示身高不在表示身高不在1.65米以上或不是女生米以上或不是女生身高身高1.65OR性别性别“女女”NOT(身高身高1.65AND性别性别“女女”)布尔表达式练习?321 Falsea=3:b=4:c=5?a=b=c False表示一个数表示一个数x是能被是能被3整除的奇数整除的奇数x Mod 3=0 and x Mod 20 x Mod 2=1 and x Mod 20表示一个数表示一个数x2
7、,5 x2 and x5表示一个数表示一个数x不在不在2,5区间内区间内x2 or x5运算符的优先顺序算术运算符算术运算符字符串运算符:字符串运算符:关系运算符:关系运算符:、布尔运算符:布尔运算符:Not And Or优优 先先 级级 依依 次次 降降 低低运算符的优先顺序练习设变量设变量设变量设变量x=4x=4,y=-1y=-1,a=7.5a=7.5,b=-6.2b=-6.2,求表达式求表达式求表达式求表达式 x+yx+y a+ba+b And Not yb And Not yb的值的值的值的值 TrueTruey y表示年号,用一个表达式表示该年是否是闰年表示年号,用一个表达式表示该年
8、是否是闰年表示年号,用一个表达式表示该年是否是闰年表示年号,用一个表达式表示该年是否是闰年 (y Mod 4=0 AND y Mod 1000)OR (y Mod(y Mod 4=0 AND y Mod 1000)OR (y Mod 400=0 AND y Mod 100=0)400=0 AND y Mod 100=0)(y Mod 4=0 AND y Mod 1000)OR y Mod (y Mod 4=0 AND y Mod 1000)OR y Mod 400=0400=0判断闰年的科学依据地球公转一周的时间为:地球公转一周的时间为:365365天天天天5 5小时小时小时小时4848分分分
9、分5656秒秒秒秒每经过每经过4年,剩余的时间为:年,剩余的时间为:5 5小时小时小时小时4848分分分分5656秒秒秒秒442323小时小时小时小时1515分分分分4444秒秒秒秒则每则每4年都要多加年都要多加2424小时小时小时小时 2323小时小时小时小时1515分分分分4444秒秒秒秒4444分分分分1616秒秒秒秒每经过每经过100年,就会多加年,就会多加4444分分分分1616秒秒秒秒25251818小时小时小时小时2626分分分分4040秒秒秒秒比较接近一天,所以每到比较接近一天,所以每到100年,就将这多加的近似一天的时间减去,年,就将这多加的近似一天的时间减去,即停止追加一天
10、即停止追加一天而实际上又少加了而实际上又少加了2424小时小时小时小时 1818小时小时小时小时2626分分分分4040秒秒秒秒5 5小时小时小时小时3333分分分分2020秒秒秒秒每经过每经过400年,就会少加年,就会少加4 54 5小时小时小时小时3333分分分分2020秒秒秒秒 2424小时小时小时小时所以每过所以每过400年,就应该再补加一天年,就应该再补加一天故:每故:每4年闰年出现一次;每年闰年出现一次;每400年,闰年再出现一次年,闰年再出现一次其它的整其它的整100年,闰年停止出现一次年,闰年停止出现一次选择控制结构选择控制结构又称分支结构选择控制结构又称分支结构它体现了程序运
11、行过程中的自我判断能力它体现了程序运行过程中的自我判断能力程序可以根据当前执行的某个条件,进行比较、判断,并程序可以根据当前执行的某个条件,进行比较、判断,并依据判断的结果(成立与否)来决定下一步做什么,不做什依据判断的结果(成立与否)来决定下一步做什么,不做什么(在两条或多条程序路径中选择一条来执行,即只执行程么(在两条或多条程序路径中选择一条来执行,即只执行程序中的一部分语句)序中的一部分语句)可见,在此结构的可见,在此结构的程序运行过程中程序运行过程中,有些语句会执行一次,有些语句会执行一次,有些语句有些语句在此次程序运行过程中在此次程序运行过程中没有机会执行。即:没有机会执行。即:“无
12、论无论分支多寡,必选其一;纵然分支众多,仅选其一分支多寡,必选其一;纵然分支众多,仅选其一”VBVB中的选择语句有:中的选择语句有:双分支语句双分支语句 多分支语句多分支语句(Select Case)(Select Case)单行单行(IF-THEN-ELSE)(IF-THEN-ELSE)块结构块结构(IF-THEN-ELSE-END IF)(IF-THEN-ELSE-END IF)选择结构(IF-THEN)语句格式:语句格式:IF IF THEN THEN 条件条件N语句序列语句序列下一语句下一语句Y执行过程:执行过程:判断给定的条件判断给定的条件如果成立如果成立(其值为其值为True),T
13、rue),执行所给语执行所给语句序列,然后执行下一条语句句序列,然后执行下一条语句否则否则(其值为其值为False)False),跳过所给语句跳过所给语句序列,直接执行下一条语句序列,直接执行下一条语句示例:示例:输入一个数,如果是正数,就输出输入一个数,如果是正数,就输出x=Val(Text1.text)x=Val(Text1.text)x=Val(Text1.text)x=Val(Text1.text)IfIfIfIf x0 x0 x0 x0 ThenThenThenThen Label1.Caption=x Label1.Caption=x Label1.Caption=x Label1
14、.Caption=x问题:如果不是问题:如果不是正数正数,应该显示应该显示“不是正数不是正数”语句格式:语句格式:IF IF THEN THEN ELSE ELSE 2执行过程:执行过程:判断给定的条件判断给定的条件如果成立如果成立(其值为其值为True),True),执行所给执行所给语句序列语句序列1 1,然后执行下一条语句,然后执行下一条语句否则否则(其值为其值为False)False),执行所给语执行所给语句序列句序列2 2,然后执行下一条语句,然后执行下一条语句选择结构(IF-THEN-ELSE)条件条件命令序列命令序列1命令序列命令序列2下一语句下一语句NY(IF-THEN-ELSE
15、)举例例二:例二:根据用户输入的一个成绩,判断是否及格根据用户输入的一个成绩,判断是否及格Dim x As SingleDim x As SingleDim x As SingleDim x As SingleX=X=X=X=Val(InputBoxVal(InputBoxVal(InputBoxVal(InputBox(请输入一个成绩:请输入一个成绩:请输入一个成绩:请输入一个成绩:,输入输入输入输入,0),0),0),0)IFIFIFIF X=60X=60X=60X=60 THEN THEN THEN THEN Label1.Caption=Label1.Caption=Label1.Ca
16、ption=Label1.Caption=“及格及格及格及格”Else Else Else Else Label1.Caption=Label1.Caption=Label1.Caption=Label1.Caption=“不及不及不及不及格格格格”使用使用使用使用IIFIIFIIFIIF函数,也可以实现相应的判断函数,也可以实现相应的判断函数,也可以实现相应的判断函数,也可以实现相应的判断格式:格式:格式:格式:IIF(IIF(IIF(IIF(条件,条件为真时的值,条件为假时的值条件,条件为真时的值,条件为假时的值条件,条件为真时的值,条件为假时的值条件,条件为真时的值,条件为假时的值)例一
17、:例一:输入一个数,如果是正数,就输出;否则显示非正数输入一个数,如果是正数,就输出;否则显示非正数Dim x As SingleDim x As Singlex=Val(Text1.text)x=Val(Text1.text)IfIf x0 x0 ThenThen Label1.Caption=xLabel1.Caption=x ElseElse Label1.Caption=Label1.Caption=“非正数非正数 IIF函数的使用Dim x As SingleDim x As Singlex=Val(Text1.text)x=Val(Text1.text)IfIfIfIf x0 x0
18、 x0 x0 ThenThenThenThen Label1.Caption=xLabel1.Caption=xLabel1.Caption=xLabel1.Caption=x ElseElseElseElse Label1.Caption=Label1.Caption=Label1.Caption=Label1.Caption=“非正数非正数非正数非正数”Label1.Caption=Label1.Caption=Label1.Caption=Label1.Caption=IIf(xIIf(xIIf(xIIf(x0,x,0,x,0,x,0,x,“非正数非正数非正数非正数”)Dim x As
19、SingleDim x As SingleDim x As SingleDim x As SingleX=X=X=X=Val(InputBoxVal(InputBoxVal(InputBoxVal(InputBox(请输入一个成绩:请输入一个成绩:请输入一个成绩:请输入一个成绩:,输入输入输入输入,0),0),0),0)IFIFIFIF X=60X=60X=60X=60 THENTHENTHENTHEN Label1.Caption=Label1.Caption=Label1.Caption=Label1.Caption=“及格及格及格及格”ElseElseElseElse Label1.Ca
20、ption=Label1.Caption=Label1.Caption=Label1.Caption=“不及不及不及不及格格格格”Label1.Caption=Label1.Caption=Label1.Caption=Label1.Caption=IIf(xIIf(xIIf(xIIf(x=60,=60,=60,=60,“及格及格及格及格”,“不及格不及格不及格不及格”)语句格式:语句格式:IF IF THEN THEN 1ELSEELSE 2END IFEND IF执行过程:执行过程:判断给定的条件判断给定的条件如果成立如果成立(其值为其值为True),True),执行所给执行所给y y语句
21、序列语句序列1 1,然后执行下一条语句,然后执行下一条语句否则否则(其值为其值为False)False),执行所给语执行所给语句序列句序列2 2,然后执行下一条语句,然后执行下一条语句块结构(IF-THEN-ELSE-END IF)条件条件命令序列命令序列1命令序列命令序列2下一语句下一语句NY(IF-THEN-ELSE-END IF)举例示例:示例:根据用户输入的一个成绩,判断是否及格根据用户输入的一个成绩,判断是否及格Dim x As SingleDim x As Singlex=x=Val(InputBoxVal(InputBox(请输入一个成绩请输入一个成绩:,:,输入输入,0),0)
22、If If x=60 x=60 ThenThen Label1.Caption=Label1.Caption=及格及格 ElseElse Label1.Caption=Label1.Caption=不及格不及格 End IfEnd If(IF-THEN-ELSE-END IF)举例示例:示例:输入输入ABCABC的值,判断能否构成三角形,如果能,计算三的值,判断能否构成三角形,如果能,计算三角形的面积角形的面积Dim a As Single,b As Single,c As SingleDim a As Single,b As Single,c As SingleDim a As Single
23、,b As Single,c As SingleDim a As Single,b As Single,c As Singlea=Val(Text1.Text):b=Val(Text2.Text):c=Val(Text3.Text)a=Val(Text1.Text):b=Val(Text2.Text):c=Val(Text3.Text)a=Val(Text1.Text):b=Val(Text2.Text):c=Val(Text3.Text)a=Val(Text1.Text):b=Val(Text2.Text):c=Val(Text3.Text)s=(a+b+c)/2s=(a+b+c)/2s=(
24、a+b+c)/2s=(a+b+c)/2If If If If a+ba+ba+ba+bc And c0 And c And c0 And c And c0 And c And c0 And a+ca+ca+ca+cb And b0 And b And b0 And b And b0 And b And b0 And b+cb+cb+cb+ca And a0 a And a0 a And a0 a And a0 ThenThenThenThenarea=area=area=area=Sqr(sSqr(sSqr(sSqr(s*(s-a)*(s-b)*(s-c)*(s-a)*(s-b)*(s-c)*
25、(s-a)*(s-b)*(s-c)*(s-a)*(s-b)*(s-c)Label1.Caption=Label1.Caption=Label1.Caption=Label1.Caption=能构成三角形能构成三角形能构成三角形能构成三角形,&,&,&,&三角形面积为:三角形面积为:三角形面积为:三角形面积为:&Str(areaStr(areaStr(areaStr(area)ElseElseElseElseLabel1.Caption=Label1.Caption=Label1.Caption=Label1.Caption=不能构成三角形不能构成三角形不能构成三角形不能构成三角形 End If
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 选择结构程序 2013 教科版 选修 选择 结构 程序
限制150内