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