收藏 分享(赏)

VB程序设计-第4章VisualBasic语言程序结构课件.ppt

上传人:Facebook 文档编号:9674865 上传时间:2019-08-22 格式:PPT 页数:49 大小:266KB
下载 相关 举报
VB程序设计-第4章VisualBasic语言程序结构课件.ppt_第1页
第1页 / 共49页
VB程序设计-第4章VisualBasic语言程序结构课件.ppt_第2页
第2页 / 共49页
VB程序设计-第4章VisualBasic语言程序结构课件.ppt_第3页
第3页 / 共49页
VB程序设计-第4章VisualBasic语言程序结构课件.ppt_第4页
第4页 / 共49页
VB程序设计-第4章VisualBasic语言程序结构课件.ppt_第5页
第5页 / 共49页
点击查看更多>>
资源描述

1、VB程序设计,第四章 Visual Basic语言程序结构,第四章 Visual Basic语言程序结构,本章知识点: 顺序结构、选择结构和循环结构,常用算法的应用等。,第四章 Visual Basic语言程序结构,4.1 顺序结构程序设计 4.2 选择结构程序设计 4.3 循环结构程序设计 4.4 常用算法举例,第四章 Visual Basic语言程序结构,4.1 顺序结构程序设计 4.1.1 赋值语句 赋值语句一般形式如下: 变量名=表达式 对象.属性=表达式 功能:完成表达式的计算,将计算结果赋值给等号左侧的变量或对象的属性。例如:x=1 把1赋给变量xText1.text=“hello

2、!“ 把字符串“hello!“赋给文本框Text1的text属性,第四章 Visual Basic语言程序结构,4.1 顺序结构程序设计 4.1.2 数据输入用户主要通过三种方式实现数据输入:使用文本框控件,使用系统提供的InputBox函数,使用磁盘数据文件。本节主要介绍InputBox函数。函数格式如下:变量名$=InputBox(提示信息,对话框标题,缺省值) 功能:弹出输入对话框,供用户输入一个数据。 其中: 提示信息:是一个字符串表达式,最大长度不超过1024个字符,要来提示用户输入相关内容,可使用chr(13)+chr(10)实现换行。 对话框标题:是字符串表达式,可省略,默认为应

3、用程序名。 缺省值:是显示在对话框输入区的默认值。,例如,Dim x% x= Val(InputBox(“请输入一个数“ ,“输入框“,“100 “) 在屏幕上显示如图4.2所示的对话框:,图4.2 InputBox对话框,第四章 Visual Basic语言程序结构,4.1 顺序结构程序设计 4.1.3 数据输出 1)Print方法 Print方法的一般格式如下:对象名.PrintSpc(n)|Tab(n),|; 例如:Print Format(1234.5,“00000.00“)Print Format(3.14159,“#.#“)Print Format(3.14159,“#%“)Pri

4、nt Format(3.14159,“$(#.#)“)Print Format(12345.6,“#.#E+“)Print Format(0.123 ,“#.#e-“)Print Format(date,“mm-dd-yy“)Print Format(date,“yy年mm月dd“),图4 3例4.2执行结果,2. MsgBox函数和MsgBox方法 函数形式: 变量% = MsgBox(提示信息,对话框类型 ,标题) (1)“标题”和“提示信息”与InputBox函数中对应的参数相同; (2)对话框类型由“按钮图标 +缺省按钮+模式”4项组成,是整型表达式,决定信息框按钮数目、出现在信息框上

5、的图标类型及操作模式如表4.1所示。,表4.1,例如:i=Msgbox(“注意:你输入的数据不正确”,2+48+0+0,“错误提示”),结果如图4.4所示。,第四章 Visual Basic语言程序结构,4.2 选择结构程序设计 4.2.1 IF语句 1)IfThen语句(单分支结构)If Then语句块End If或:If Then ,图4.5 选择结构流程图,例4.4 设密码。用IF语句来判定输入密码的正确性。 Private Sub Command1_Click()Dim a As String, b As Stringa = “111111“b = InputBox(“请输入密码:“,

6、 “密码对话框“)If a = b ThenMsgBox (“密码正确“)End If End Sub,2)IfThenElse语句(双分支结构) 格式1: If ThenElseEnd If 格式2:If Then Else ,例4.5 计算下列分段函数的值分析:对于此分段函数,由于包含X=0 和X= 0 Theny = (1 - x) 2Elsey = x 2 - 1End IfPrint “y=“; y End Sub,3)IfThenElseIf语句(多分支结构)使用形式: If ThenElseIf Then Else 语句块 n+1 End If,例4.6 输入一学生成绩,评定其等

7、级。方法是:90100分为“优秀”,8089分为“良好”,7079分为“中等”,6069分为“及格”,60分以下以为“不合格”。 Private Sub Form_Click()Dim x As Integerx = Val(InputBox(“请输入成绩:“)If x = 90 ThenPrint “优秀“ElseIf x = 80 ThenPrint “良好“ElseIf x = 70 ThenPrint “中等“ElseIf x = 60 ThenPrint “及格“ElsePrint “不及格“End If End Sub,第四章 Visual Basic语言程序结构,4.2 选择结构

8、程序设计 4.2.2 Select Case语句 Select Case 条件表达式Case 表达式列表1语句块1Case 表达式列表2语句块2Case Else语句块n+1End Select 说明:与是同类型的,为下面3种形式之一: (1) 一组枚举表达式(用逗号分隔):例如, 2, 4, 6, 8。 (2) 表达式1 To 表达式2 :例如,60 to 100。 (3) Is 关系运算符表达式:例如,Is 60。,将例4.6 使用Select Case语句来实现。 程序段如下: Private Sub Form_Click() Dim x As Integer x = Val(Input

9、Box(“请输入成绩:“) Select Case xCase 90 To 100Print “优秀“Case 80 To 89Print “良好“Case 70 To 79Print “中等“Case 60 To 69Print “及格“Case ElsePrint “不及格“ End Select End Sub,第四章 Visual Basic语言程序结构,4.2 选择结构程序设计 4.2.3 选择结构的嵌套如果在选择结构中又出现IF语句或select语句,就是选择结构的嵌套 (1)IF Then IF ThenElse End IfElseIF ThenElseEnd IfEnd IF

10、,(2)IF Then Select Case 条件1_1Case 值1_1IF ThenElseEnd IfCase值1_2.End Select.End IF,例4.7 在文本框中输入1100之间的数字,如果输入非数字,或数字超界,给予提示,并重新输入。 Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then 回车键的ascii码值是13If IsNumeric(Text1.Text) Thenx = Val(Text1.Text)If x 100 ThenText1.Text = “Text1.SetFo

11、cusLabel1.Caption = “数字超界,重输入!“ElseLabel1.Caption = “数字输入正确!“End IfElseText1.Text = “Text1.SetFocusLabel1.Caption = “不是输入的数字!“End If End If End Sub,图 4.7 例4.7运行结果,第四章 Visual Basic语言程序结构,4.2 选择结构程序设计 4.2.4 条件函数 VB提供的条件函数:IIF函数和Choose函数,用于简单的判断场合,IIF函数可代替IF语句,Choose函数可代替select case语句。 1)IIF函数 语法格式:IIF

12、(,)例如:x=-2: y= IIF (x=0,x,-x) y是x的绝对值。,第四章 Visual Basic语言程序结构,4.2 选择结构程序设计 4.2.4 条件函数 2)Choose函数 语法格式: Choose(,.,) 功能:根据的值来确定返回值列表中某个值。的值为1,返回,如果的值为2,返回,以此类推。 例如: x = Val(InputBox(“请输入1-6之间整数“) Print Choose(x, “red“, “yellow“, “blue“, “green“, “black“, “white“) 用数字表示颜色。,第四章 Visual Basic语言程序结构,4.3循环结

13、构程序设计 4.3.1 Do loop循环 1)形式1:(当型循环) Do While|Until 语句块Exit Do语句块Loop 2)形式2:(直到循环)Do 语句块Exit Do语句块Loop While|Until ,例4.8 用辗转相除法求两个自然数的最大公约数(gcd)和最小公倍数(lcm)。 Private Sub Form_Click()Dim n%, m%, nm%, r%m = Val(InputBox(“m=“)n = Val(InputBox(“n=“)nm = n * mIf m 0)m = nn = rr = m Mod nLoopPrint “最大公约数=“,

14、nPrint “最小公倍数=“, nm / n End Sub,用Do UntilLoop 循环来实现例4.8,程序代码如下: Private Sub Form_Click()Dim n%, m%, nm%, r%m = Val(InputBox(“m=“)n = Val(InputBox(“n=“)nm = n * mIf m n Then t = m: m = n: n = tr = m Mod nDo Until (r = 0)m = nn = rr = m Mod nLoopPrint “最大公约数=“, nPrint “最小公倍数=“, nm / n End Sub,第四章 Visu

15、al Basic语言程序结构,4.3循环结构程序设计 4.3.2 FORNEXT循环语句 For 循环变量初值 to 终值 Step 步长 语句块Exit For Next 循环变量 说明:语句块叫循环体。步长0时,初值终值;步长=0时,死循环,循环次数计算公式为:Exit for :退出循环,执行next后的下一条语句,例4.9 编程计算:S=1+2+3+100 Private Sub Form_Click() Dim S%, I% S = 0 累加前变量S为0 For I = 1 To 100S = S + I Next I Print “ S=“; Format(S, “0000“) E

16、nd Sub,第四章 Visual Basic语言程序结构,4.3循环结构程序设计 4.3.3 WhileWend循环 使用格式如下: While Wend 说明:该语句的功能与Do While Loop实现的循环完全相同。,例4.11 从键盘输入一些字符数据,对输入的字符数据进行计数。当输入的字符为“#”,停止计数并输出结果。 分析:因为输入次数不定,故不使用for 循环。 代码如下: Private Sub Form_click()Dim c As String, n As Integern = 0c = InputBox(“ 输入字符:“)While Not (c = “#“)n = n

17、 + 1c = InputBox(“ 输入字符:“)Wend Print “字符数是:“; n; “个“ End Sub,第四章 Visual Basic语言程序结构,4.3循环结构程序设计 4.3.4 For EachNext循环 语法格式: For Each 成员 In 数组语句块Exit For Next 成员 具体使用将在“数组”章节讲解,第四章 Visual Basic语言程序结构,4.3循环结构程序设计 4.3.5循环嵌套多重循环结构 如果在一个循环内完整地包含另一个循环结构,则称为多重循环,或循环嵌套,嵌套的层数可以根据需要而定,嵌套一层称为二重循环,嵌套二层称为三重循环。,例4

18、.12 打印九九乘法表。 程序代码如下: Private Sub Form_Click() Dim i%, j%, jj$ For i = 1 To 9For j = 1 To 9jj = i Next jPicture1.PrintNext i End Sub,例4.13 使用循环语句在窗体上输出有*组成的简单图形 Private Sub Form_Click()Dim n As Integer, i%, j%Cls 清屏n = Val(Text1.Text) 输入组成图形的行数For i = 1 To nPrint Tab(20);For j = 1 To iPrint “*“;Next

19、jPrintNext i End Sub,图4.14 例4.13运行结果,第四章 Visual Basic语言程序结构,4.3循环结构程序设计 4.3.6循环的退出 语句格式:Exit For 强制退出For Next循环 Exit Do 强制退出Do Loop循环例4.15 用ForNext循环结构计算1100之和,当和大于等于2000时终止循环,并输出实际循环的次数。,Private Sub Command1_Click()Dim s%, i%s = 0 累加前变量S为0For i = 1 To 100s = s + iIf s = 2000 Then Exit ForNext iLabe

20、l2.Caption = sLabel4.Caption = i End Sub,图4.16 例4.15运行结果,第四章 Visual Basic语言程序结构,4.3循环结构程序设计 4.3.7几种循环语句比较,第四章 Visual Basic语言程序结构,4.4 常用算法举例 4.4.1 找最大值、最小值 例4.17 随机产生10个100-200之间整数,求最大值。程序运行结果如图4.17所示。 分析:先产生一个随机数假设这一个数是最大数(变量取名max),然后再产生一个随机数,与max比较,大者存入max,反复(循环)操作产生随机数、比较,这样比较完每个数后,max中就放的是最大数了。,P

21、rivate Sub Form_Click()Dim I As Integer, x As Integer, max As IntegerRandomize 初始化随机数的种子数x = Int(Rnd * 100 + 100)max = xFor I = 2 To 10Print x;x = Int(Rnd * 100 + 100)If x max Then max = xNext IPrintPrint “max=“; max End Sub,第四章 Visual Basic语言程序结构,4.4 常用算法举例 4.4.2 素数问题 例4.18 求200以内的素数。 分析:判定某个数是否素数,

22、然后是对于找某范围内的数据的判定,用2重循环来实现:内循环是判定某数是否素数,外循环一次列举该范围内的每个数。判定素数方法是:利用素数定义,从2 到 n-1 之间整数一次去除n,如果都不能整除,n是素数,反之,有一个除尽,n 就不是素数。,Private Sub Form_Click()Dim i%, j%, n%Form1.Caption = “求200以内的素数“Print 2, 2是特例输出n = 1 记素数的个数For i = 3 To 200 Step 2For j = 2 To i - 1If i Mod j = 0 ThenExit ForEnd IfNext jIf j = i

23、 Then 这个条件表示i一次也没被除尽,是素数Print i,n = n + 1If n Mod 5 = 0 Then PrintEnd If Next i End Sub,第四章 Visual Basic语言程序结构,4.4 常用算法举例 4.4.3 穷举法 穷举方法的实现主要依赖于以下两个基本要点: 搜寻可能值的范围如何确定。 被搜寻可能值的判定方法。,例4.19 “百鸡百钱”问题。“鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一;百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?”编写程序,给出结果。 分析:设x、y、z分别表示鸡翁、鸡母、鸡雏的数目,根据题意,100钱最多买鸡翁20只、买鸡母33

24、只,鸡雏数为100 -鸡翁数 -鸡母数,搜寻值得判定式为:5 * x + 3 * y + (z / 3) = 100。,程序代码如下: Private Sub form_Click() Dim x, y, z As Integer For x = 1 To 20For y = 1 To 33z = 100 - x - yIf 5 * x + 3 * y + (z / 3) = 100 ThenPrint “公鸡,母鸡,小鸡的数目分别为:“Print x, y, zEnd IfNext y Next x End Sub,第四章 Visual Basic语言程序结构,4.4 常用算法举例 4.4.

25、4 迭代法 一个不断地由变量的旧值按照一定的规律推出变量的新值的过程,迭代亦称为递推。 迭代一般与三个因素有关,它们是:初始值,迭代公式,迭代结束条件(迭代次数)。 例4.21 求菲波拉契(Fibonacci)数列。已知一对小兔出生一个月后变成一对成兔,两个月后这对成兔就会生出一对小兔,三个月后这对成兔将生出第二对小兔,而第一对小兔又长大变成一对成兔,即一月成熟,二月生育,如此类推。请编程求解一对小兔经n月后将繁衍成多少对兔子?,分析:设f1、f2和f3表示相邻的3个裴波那契数据项,根据题意有f1、f2的初始值为1,即迭代的初始条件为:f1=f2=1;迭代的公式为:f3=f1+f2。 程序代码

26、如下:Private Sub Form_Click()Dim f1, f2, f3, i, n As Integerf1 = 1: f2 = 1n = Text1.TextFor i = 3 To nf3 = f1 + f2f1 = f2f2 = f3图4.22 例4.22运行结果Next iPrintPrint Tab(5); “经过“ f3 & “对兔子“ End Sub,第四章 Visual Basic语言程序结构,例4.22 用迭代法求一个数的平方根 。已知求平方根的迭代公式为:程序代码如下: Private Sub Form_Click()Dim x0, x1, x, i As Integer, a As SingleConst q As Single = 0.000001a = Val(Text1.Text)If Abs(a) qx0 = x1x1 = (x0 + a / x0) / 2Loopx = x1End IfPrint Tab(5); a Format(x, “#.#“) End Sub,本章结束,谢 谢 !,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报