第4章-vb程序设计基础-课件.ppt

上传人:可****阿 文档编号:73765509 上传时间:2023-02-22 格式:PPT 页数:60 大小:2.11MB
返回 下载 相关 举报
第4章-vb程序设计基础-课件.ppt_第1页
第1页 / 共60页
第4章-vb程序设计基础-课件.ppt_第2页
第2页 / 共60页
点击查看更多>>
资源描述

《第4章-vb程序设计基础-课件.ppt》由会员分享,可在线阅读,更多相关《第4章-vb程序设计基础-课件.ppt(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Visual Basic程序设计4.1 结构化程序设计4.2 顺序结构4.3 选择结构4.4 循环结构4.5 综合应用程序举例第4章 VB程序设计概述Visual Basic程序设计4.1 结构化程序设计程序设计方法经历了手工编程、结构化程序设计方法和面向对象的程序设计方法几个阶段。VB作为一种面向对象的程序设计语言,既继承了结构化程序设计的优点,又采用了面向对象、事件驱动的编程机制。就整个工程来说,它是由许多面向对象的事件过程组成的,程序运行过程中通过触发事件,驱动执行相应的事件过程来实现程序员的意图。Visual Basic程序设计4.1.1 算法及其表示 算法是解决问题的方法和步骤。要用

2、计算机来解决一个实际问题,编程时,首先要设计解决这个问题的算法(方法和步骤)。例 将两个变量x和y的值进行交换,设x=10,y=20。分析:变量是存储单元的代名词,存储器可以反复地“读”,“写”,如果直接交换,即x=y:y=x,则x原来的值被覆盖其结果x和y的值都是20。在此可借助一个中间变量t作为一个临时的“容器”。算法为:步骤1:将x的值暂存在t中;步骤2:将y的值存入x中;步骤3:将t的值存入y中。Visual Basic程序设计4.1.1 算法及其表示例 求N!其算法可描述如下:步骤1:给出N的值步骤2:设两个变量R、I,I为大于等于零的整数,R=I!。令I=0,R=1。步骤3:I=I

3、+1,R=RI步骤4:判断I60 Then Text2=及格 Else Text2=不及格End subVisual Basic程序设计4.3.2 4.3.2 多行结构选择语句多行结构选择语句 在解决实际问题时,常常遇到在多种情况中选择其一的情况。因为多分支的If语句写在多行,所以也称为多行形式的If语句。格式:例:判断学生成绩的等级If条件1 Then语句块1ElseIf 条件2 Then语句块2ElseIf 条件3 Then语句块3Else语句块nEnd If执行流程Visual Basic程序设计Visual Basic程序设计4.3.2 多行结构选择语句 例 编程求符号函数sgn(x)

4、的值。程序代码如下:用户界面及运行结果:Private Sub Command1_Click()x=Val(Text1.Text)If x 0 Then Text2.Text=1 ElseIf x=0 Then Text2.Text=0 Else Text2.Text=-1 End IfEnd SubVisual Basic程序设计4.3.2 4.3.2 多行结构选择语句多行结构选择语句注意注意:单行形式If语句与多行形式的If语句的区别。前者适用于简单的二叉分支的情况,后者适用于多分支的情况。前者可以改写为后者的形式。前者必须写在一行中;后者必须写成多行,并且在关键字“Then”后面必须回车

5、。后者必须是If开头,End If结束,两者必须成对出现。但是,前者没有End If。后者中“ElseIf”是一个关键字,不能写成“Else If”。在多行形式的If语句中,代码的排版推荐使用缩进方式,这样不仅有利于阅读程序,也有利于发现错、排除错误。Visual Basic程序设计4.3.3 Select Case4.3.3 Select Case语句语句格式:Select Case测试表达式 Case表达式表列1语句块1 Case表达式表列2 语句块2 Case Else 语句块nEnd Select 其功能是根据“测试表达式”的值,从多个语句块中选择符合条件的一个语句块执行。Visual

6、 Basic程序设计4.3.3 Select Case语句注意事项:(1)执行过程:先对“测试表达式”求值,然后从上到下顺序地测试该值与哪一个Case子句中的“表达式表列”相匹配;一旦找到,则执行该Case分支的语句块,然后把控制转移到End Select后面的语句块;如果没找到,则执行Case Else分支的语句块,然后把控制转移到End Select后面的语句块。(2)“测试表达式”可以是数值表达式或字符串表达式,通常为变量或常量。(3)每个Case子句中的语句块可以是一行或多行VB语句。(4)“表达式表列”中的表达式必须与测试表达式的类型相同。Visual Basic程序设计4.3.3

7、Select Case4.3.3 Select Case语句语句(5)“表达式表列”称为域值,可以是下列形式之一:表达式1,表达式2 当“测试表达式”的值与其中之一相同时,就执行该Case子句中的语句块。例 Case 2,4,6,8,10表达式1 To 表达式2 当“测试表达式”的值落在表达式1和表达式2之间时(含表达式1和表达式2的值),则执行该Case子句中的语句块。书写时,必须把较小值写在前面。例 Case 2 To 10 Is关系表达式 当“测试表达式”的值满足“关系表达式”指定条件时,执行该Case子句中的语句块。Visual Basic程序设计4.3.3 Select Case4.

8、3.3 Select Case语句语句 例 判断学生成绩的等级,用Select Case结构书写,代码如下:Private Sub Command1_Click()Select Case Val(Text1.Text)根据Text1中用户输入的值来判断 Case Is 0 Text2.text=不合理的成绩“Case Is 60 Text2.text=不及格 Case 60,61,62,63,64,65,66,67,68,69 Text2.text=及格 Case 70 To 89 Text2.text=良好 Case Is=100 Text2.text=优秀Case else Text2.t

9、ext=不合理的成绩End SelectEnd SubVisual Basic程序设计4.3.4 4.3.4 选择结构的嵌套选择结构的嵌套 在选择结构的每个分支中,可以是任何语句,也可以再是一个分支结构。这种分支结构中包含另一个分支结构的情况称为分支嵌套。在分支嵌套中应注意的问题:每个结构必须完整。外层结构必须完全包住内层结构,不能交叉。内层结构应采用缩进格式,以使层次清楚。例:完善问候程序,要求输出:xx先生/女士,下午/下午/晚上好!Visual Basic程序设计4.4 4.4 循环结构循环结构所谓循环是指对同一个程序段重复执行若干次,被重复执行的部分称为循环体,由若干语句构成。循环必须

10、是有穷的,其循环控制有两种情况:当已知循环次数时,可用循环次数控制。有些问题,编程时并不知道循环体的执行次数,此时,必须根据某个条件来判断何时结束循环。在VB中有多种语句可实现循环结构,包括For循环、Do循环、While循环和GoTo循环。Visual Basic程序设计4.4.1 For4.4.1 For循环(计数循环)循环(计数循环)For循环适用于循环的次数已知的场合。语法格式如下:For 循环变量初值 To 终值 Step步长 循环体 Exit For Next循环变量 功能:For循环按确定的次数执行循环体,该次数是由循环变量的初值、终值、步长及循环体中Exit For 前的条件共

11、同确定。例 输出1-10之间的奇数。输出1-10之间的不大于7的奇数。For i=1 To 10 Step 2 For i=1 To 10 Step 2 Print i If i=100 Then GoTo Ending GoTo Start Ending:Print“s=”;s End Sub 该程序是通过GoTo语句完成循环的,其中Start与Ending是两个标号,本程序实现的是求 1+2+3+100的值。由于GoTo语句易破坏程序的结构,因此一般不提倡使用。Visual Basic程序设计4.5 综合应用程序举例 本节主要考虑常用算法程序设计,因此所有的程序均只在Form或Comman

12、d控件的单击事件中编写,而不考虑介面设计与属性设置。一般步骤如下:第一步:分析问题 确定要使用的数据(输入、输出),确定相关变量。确定算法,从有限步的输入中获取输出。确定操作顺序,以便在有限步内解决问题。第二步:画出程序的基本轮廓对一个简单的程序来说,可列出程序顺序执行的动作。第三步:实现程序 根据实际情况可以适当简化或调整以上步骤。Visual Basic程序设计4.5 综合应用程序举例例1 求两个数的最小公倍数、最大公约数.分析:可用“穷举法”试除进行求解。设这两个数为m、n,最大公约数为Gcd、最小公倍数为Lcm。算法:用单重循环,Gcd从m开始到1,步长为-1,能被m、n同时整除的Gc

13、d就是最大公约数,Lcm=m*n/Gcd。程序代码:n=Val(txtN):m=Val(txtM)For i=n To 1 Step-1 If n Mod i=0 And m Mod i=0 Then Gcd=i:Exit For End If Next i Lcm=n*m/Gcd:txtMax=Gcd:txtMin=LcmVisual Basic程序设计4.5 综合应用程序举例例2 算经中有一题:“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何?”分析:可用“穷举法”求解。设x,y,z分别为鸡翁、鸡母和鸡雏。算法:用两重循环,鸡翁从1只到100,鸡母也从1只

14、到100程序代码:Private Sub Form_Click()Print Cock,Hen,ChickenFor x=1 To 98For y=1 To 98 Z=100-x-y If 5*x+3*y+z/3=100 Then Print x,y,zNext yNext xEnd Sub类似的有水仙花数、换散钱等。Visual Basic程序设计4.5 4.5 综合应用程序举例综合应用程序举例例3 输入一个大于1的正整数,判断是否为的素数。分析:数的判断方法很多,根据素数的定义,我们可用“穷举法”、否定的方法进行求解。算法:用单层循环设计。程序:Dim n As Integer,i As

15、Integer Dim Flag As Boolean n=Val(InputBox(请输入n=)Flag=True For i=2 To n-1 If n Mod i=0 Then Flag=False End If Next i If Flag=True Then Print n;是素数!Else Print n;不是素数!End IfVisual Basic程序设计4.5 4.5 综合应用程序举例综合应用程序举例例4 求200,900 内同时满足以下两个条件的十进制数的个数:(1)其个位数字与十位数字之和除以10所得的余数是百位数字;(2)该数是素数。分析:本例采用双层循环设计。外层循环

16、从200到900循环,先将每一个数的各位数字分离出来,然后判断第一个条件是否满足。若第一个条件满足,则进入内层循环判断第二个条件是否满足,内层循环计算出一个数是否为素数,若是素数即第二个条件也满足,则找到了一个符合条件的数,计数器加1。若第一个条件不满足,则第二个条件无须判断,即内层循环不执行。Visual Basic程序设计4.5 4.5 综合应用程序举例综合应用程序举例程序:Private Sub Form_Click()number=0For i=200 To 900g=i 1 Mod 10 截取个位数字s=i 10 Mod 10 截取十位数字b=i 100 Mod 10 截取百位数字I

17、f(b=(g+s)Mod 10)Then 判断满足第一个条件isprime=TrueFor j=2 To i 1 判断满足第二个条件(素数)If(i Mod j=0)Then isprime=False:Exit ForEnd IfNext jIf isprime Then number=number+1End IfNext iPrint 这样的数的个数是:;numberEnd SubVisual Basic程序设计4.5 4.5 综合应用程序举例综合应用程序举例例5:利用随机函数产生10个50,100内的随机正整数,求其最大值、最小值、平均值。分析:随机数的产生方法 Int(Rnd*51+5

18、0)算法:确定变量 s:和 N_max:最大数 N_min:最小数。可用单层循环先在循环外产生一个所需数n,则最小、最大都是它,并将n加到s中,再进入循环产生其它数,每个数均与最小、最大数进行比较,求出新的最小最大数,并求所有数的和。Visual Basic程序设计4.5 4.5 综合应用程序举例综合应用程序举例 n=Int(Rnd*51+50)s=n:N_max=n:N_min=n For i=2 To 10 n=Int(Rnd*51+50):Print n;If n N_max Then N_max=n If n N_min Then N_min=n s=s+n Next i Print:Print:Print Print 平均值,最大值,最小值 Print Print s/10,n_max,N_min程序:Visual Basic程序设计本章小结 本章介绍了结构化程序设计的基本概念与方法,以及VB程序设计语言的控制结构,即结构化程序设计的三种基本结构:顺序结构程序设计、选择结构程序设计、循环结构程序设计。本章提供了大量的例题,主要是为了让同学们能够接触一些算法分析,但是光听、光看是远远不够的,大家一定要多加练习,多进行实践,才能不断提高自己的编程能力。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁