《《程序控制结构》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《程序控制结构》PPT课件.ppt(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章 VB程序控制结构n面向对象程序设计n事件驱动方法4.1 算法概述n应用程序应用程序=用户界面用户界面+程序代码程序代码n代码被组织成一个个过程代码被组织成一个个过程n过程分为过程分为事件过程事件过程和通用过程和通用过程(第六章第六章)n过程过程=操作规则操作规则+对操作对象的说明对操作对象的说明4.1 算法概述v 算法概念算法概念:广义地说,为解决一个问题而采取:广义地说,为解决一个问题而采取的方法和步骤。的方法和步骤。算法的特性1.可行性可行性:算法中的每一个步骤都应当能有效地执行,并得到确算法中的每一个步骤都应当能有效地执行,并得到确定的结果。定的结果。“比如除数不能为比如除数不能
2、为0”2.确定性确定性:算法中的每一个步骤都应当是确定的,而不应当是含算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。糊的、模棱两可的。3.有穷性有穷性:一个算法应包含有限的操作步骤,而不能是无限的。一个算法应包含有限的操作步骤,而不能是无限的。4.输入性输入性(有零个或多个输入有零个或多个输入):是指在执行算法时需要从外界取是指在执行算法时需要从外界取得必要的信息。一个算法也可以没有输入。得必要的信息。一个算法也可以没有输入。5.输出性输出性(有一个或多个输出有一个或多个输出):算法的目的是为了求解,算法的目的是为了求解,“解解”就是输出。没有输出的算法是没有意义的。就是输出
3、。没有输出的算法是没有意义的。算法的表示自然语言(汉语、英语)代码符号(VB语言)图形(流程图、PAD图、NS图)图形符号表表示与流程图其他部分相连接连接点连接各个图框,表示执行顺序流程线一个定义过的过程特定过程流程的起点和终点起止判断选择,根据条件满足与否选择不同路径判断各种形式的数据处理处理数据的输入和输出输入/输出代表的操作名称图形符号基本算法结构结构化程序设计的三种基本结构:n顺序结构n选择结构n循环结构顺序顺序结构结构eABTF选选择择结结构构n n选选择择结结构构,或或称称选选取取结结构构,或或称称分分支支结构。结构。A或或B中可以有一个是空的。中可以有一个是空的。补全下面的流程图
4、-开始(结束)输入(输出)循环结构当型当型(While型型)循环结构循环结构直到型直到型(Until型型)循环循环三种基本结构共同特点:(1)只有一个入口。只有一个入口。(2)只只有有一一个个出出口口。(注注意意,一一个个菱菱形形判判断断框框有有两两个个出出口口,而而一一个个选选择择结结构构只只有有一个出口一个出口。)。)(3)无死语句(永远执行不到的语句)。无死语句(永远执行不到的语句)。(4)无无“死循环死循环”(永远执行不完永远执行不完的循环的循环)。4.2 顺序结构程序设计n按语句出现的按语句出现的次序次序从上到下执行从上到下执行n输入输入 处理处理 输出输出处处理理输输入入输输出出输
5、入信息输入信息 计算机计算机 输出信息输出信息1.赋值语句n用于将指定的值赋给变量或对象属性用于将指定的值赋给变量或对象属性.nn=n+1 将变量将变量n的值加的值加1后的结果再赋给变后的结果再赋给变量量n Text1.fontsize=text1.fontsize+5n变量或对象属性类型应与表达式类型变量或对象属性类型应与表达式类型相容相容(x%=11/4 y%=“123.45”).相容时相容时,将将表达式的结果转换为变量的类型表达式的结果转换为变量的类型,然后再赋给左边的变量然后再赋给左边的变量.P58课下自行实践课下自行实践*建议自己写程序时尽量不要出现左右类型不符建议自己写程序时尽量不
6、要出现左右类型不符的情况的情况.逻辑型(Boolean)数据 Boolean型用于逻辑判断,它只有True和 False两个值。P58例例1 布尔与整型的关系布尔与整型的关系逻辑数据逻辑数据整型变量整型变量True 转为转为-1 False 转为转为0赋值给整型数据整型数据逻辑变量逻辑变量非非0数数转为转为 True0 转为转为 False赋值给Dim b As Boolean,n As Integerb=1Print bb=0Print bn=bPrint nb=3Print bn=bPrint n例2.求梯形面积nVal函数功能-将数字字符串转换为数值例例3 重点算法重点算法:设计算法交换
7、两个变量:设计算法交换两个变量a和和b的值的值n现有两个杯子,分别装有奶茶和水,请交换两个杯现有两个杯子,分别装有奶茶和水,请交换两个杯子里的液体。子里的液体。n输入输入a和和b的值(的值(赋值,随机数,赋值,随机数,inputbox函数函数等)等)n交换交换n输出输出a和和b的值(的值(print textBox Msgbox)思考思考:如何交换两文本框中信息如何交换两文本框中信息?如何交换两图片框中图形如何交换两图片框中图形?例4 求水仙花数n三位正整数三位正整数n各位数字立方和等于该数本身各位数字立方和等于该数本身关键:如何获得各位数字?与Print方法有关的Tab函数n为了使信息按指定
8、的格式输出,为了使信息按指定的格式输出,VB提供了几提供了几个与个与print配合使用的函数配合使用的函数格式:格式:Tab(n)把把光标光标移到参数移到参数n指定的位置开指定的位置开始输出信息。始输出信息。例如:例如:Print Tab(10);25 将在第将在第10个字符位置处输出个字符位置处输出25例例4.2 请大家在请大家在VB中输入代码理解中输入代码理解Tab与与String函数函数4.3 选择结构n对给定的条件进行分析、比较和判断,根据判对给定的条件进行分析、比较和判断,根据判断结果采取不同的操作。断结果采取不同的操作。n上述问题通过上述问题通过选择结构选择结构程序来解决,而选择结
9、程序来解决,而选择结构通过构通过条件语句条件语句来实现来实现:IF语句和语句和Select Case语句。语句。nIf语句包括语句包括:单分支结构;双分支结构;多分:单分支结构;双分支结构;多分支结构。支结构。If语句n单分支n双分支n多分支1.1.单单分支结构分支结构 一般形式如下:一般形式如下:If e Then 语句块语句块 End If等价于等价于 If e Then End If为为区别于区别于单行结构语句的特征单行结构语句的特征.其中其中e为判断条件为判断条件,可以是可以是关系表达式关系表达式、逻逻辑表达式辑表达式、数值表达式或字符串表达式。、数值表达式或字符串表达式。e语句块TF
10、单分支结构应用 【例例1】由键盘输入任一实数,若为负数,则由键盘输入任一实数,若为负数,则通过通过消息框消息框提示用户提示用户“您输入的是一个负数您输入的是一个负数”。最后在当前窗体中输出用户输入的数值。最后在当前窗体中输出用户输入的数值。双双分支结构分支结构一般形式如下:一般形式如下:If e Then Else End If等价于等价于If e Then Else【例例2】输出两整数中的输出两整数中的较大较大数数。e语句块1语句块2TF3.多多分支块结构分支块结构假如假如中了中了50万万那么那么买辆雅阁本田买辆雅阁本田另外假如另外假如中了中了100万万那么那么 买辆宝马买辆宝马另外假如另外
11、假如中了中了400万万那么那么 买辆法拉利买辆法拉利另外、反之(没中奖)另外、反之(没中奖)天天电动车天天电动车结束假如结束假如If Then ElseIf ThenEnd If ElseIf Then Else-应用时根据需要应用时根据需要对条件进行增减对条件进行增减假如假如中了中了50万万那么那么买辆雅阁本田买辆雅阁本田另外假如另外假如中了中了100万万那么那么 买辆宝马买辆宝马另外假如另外假如中了中了400万万那么那么 买辆法拉利买辆法拉利另外、反之(没中奖)另外、反之(没中奖)天天电动车天天电动车结束假如结束假如多多分支块结构分支块结构多分支结构应用【例3】给定一个百分制成绩的分数,编
12、程实现显示对应的五级制成绩。20,Is20 即一个即一个case语句中允许有多个语句中允许有多个测试项,项与项之间用逗号分隔。测试项,项与项之间用逗号分隔。本结构本结构执行方式执行方式:先求测试表达式的值,接着逐个检查每先求测试表达式的值,接着逐个检查每个个case语句的测试项,如果测试表达式的值语句的测试项,如果测试表达式的值满足某个测试项中的任意一个测试内容,系满足某个测试项中的任意一个测试内容,系统就执行该统就执行该case语句下的那组语句语句下的那组语句,然后执然后执行行End Select下面的语句;若没有一个测下面的语句;若没有一个测试项满足要求,就执行试项满足要求,就执行Case
13、 Else 下的语句。下的语句。例例5:变量变量strC中存放了一个字符,判断该字符类型。中存放了一个字符,判断该字符类型。用用SelectCase语句实现语句实现:DimstrCasstring*1如何获得如何获得strC?SelectCasestrCCaseaToz,AToZPrintstrC+是字母字符Case0To9PrintstrC+是数字字符CaseElsePrintstrC+其他字符EndSelect一个一个case语句中允许有多个测试项,项与项之间用逗号分隔。语句中允许有多个测试项,项与项之间用逗号分隔。Private Sub Command1_Click()Dim x As
14、Integer x=Val(Text1.Text)Select Case x Case Is 1 Text2.Text=这是小于这是小于1的数的数 Case 1 To 10 Text2.Text=这是这是1到到10之间的数之间的数 Case Else Text2.Text=这是大于这是大于10的数的数 End SelectEnd Sub阅读程序,若用户在文本框阅读程序,若用户在文本框1中输入了中输入了8,文本框,文本框2中显示的结果是什么?中显示的结果是什么?IF嵌套If .Then If Then else end ifEnd if完成例3的思考题。3.IIf函数n可用来执行简单的条件判断操
15、作,它是n“If Then Else”结构的简写版本。结果=IIF(条件,True部分,False部分)注意,3个参数都不能省略。要求:True部分,False部分及结果变量的类型一致。Print IIf(Combo1.Text=上午上午,上午好上午好,下午好下午好)常见错误常见错误1 1在选择结构中缺少配对的结束语句在选择结构中缺少配对的结束语句对对多行式多行式的的IfIf块语句中,应有配对的块语句中,应有配对的 End IfEnd If语语句结束。句结束。2.ElseIf2.ElseIf关键字的书写和条件表达式的表示关键字的书写和条件表达式的表示 ElseIf ElseIf 不要写成不要写成Else IfElse If;多个条件表达式多个条件表达式次序次序问题问题3.Select Case3.Select Case语句的使用语句的使用 Select CaseSelect Case 后不能出现多个变量;后不能出现多个变量;CaseCase子子句后不能出现变量句后不能出现变量
限制150内