VB程序设计-第4章VisualBasic语言程序结构.ppt_第1页
VB程序设计-第4章VisualBasic语言程序结构.ppt_第2页
VB程序设计-第4章VisualBasic语言程序结构.ppt_第3页
VB程序设计-第4章VisualBasic语言程序结构.ppt_第4页
VB程序设计-第4章VisualBasic语言程序结构.ppt_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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赋给变量x Text1.text=“hello!“ 把字符串“hello!“赋给文本框Text1的text属性,第四章 Visual Basic语言程序结构,4.1 顺序结构程序设计 4.1.2 数据输入 用户主要通过三种方式实现数据输入:使用文本框控件,使用系统提供的InputBox函数,使用磁盘数据文件。本节主要介绍InputBox函数。函数格式如下: 变量名$=InputBox(提示信息,对话框标题,缺省值) 功能:弹出输入对话框,供用户输入一个数据。 其中: 提示信息:是一个字符串表达式,最大长度不超过1024个字符,要来提示用户输入相关内容,可使用chr(13)+chr(10)实现换行。 对话框标题:是字符串表达式,可省略,默认为应用程序名。 缺省值:是显示在对话框输入区的默认值。,例如,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,“#%“) Print 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项组成,是整型表达式,决定信息框按钮数目、出现在信息框上的图标类型及操作模式如表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 String a = “111111“ b = InputBox(“请输入密码:“, “密码对话框“) If a = b Then MsgBox (“密码正确“) End If End Sub,2)IfThenElse语句(双分支结构) 格式1: If Then Else End If 格式2: If Then Else ,例4.5 计算下列分段函数的值 分析:对于此分段函数,由于包含X=0 和X= 0 Then y = (1 - x) 2 Else y = x 2 - 1 End If Print “y=“; y End Sub,3)IfThenElseIf语句(多分支结构) 使用形式: If Then ElseIf Then Else 语句块 n+1 End If,例4.6 输入一学生成绩,评定其等级。方法是:90100分为“优秀”,8089分为“良好”,7079分为“中等”,6069分为“及格”,60分以下以为“不合格”。 Private Sub Form_Click() Dim x As Integer x = Val(InputBox(“请输入成绩:“) If x = 90 Then Print “优秀“ ElseIf x = 80 Then Print “良好“ ElseIf x = 70 Then Print “中等“ ElseIf x = 60 Then Print “及格“ Else Print “不及格“ End If End Sub,第四章 Visual Basic语言程序结构,4.2 选择结构程序设计 4.2.2 Select Case语句 Select Case 条件表达式 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 Case Else 语句块n+1 End 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(InputBox(“请输入成绩:“) Select Case x Case 90 To 100 Print “优秀“ Case 80 To 89 Print “良好“ Case 70 To 79 Print “中等“ Case 60 To 69 Print “及格“ Case Else Print “不及格“ End Select End Sub,第四章 Visual Basic语言程序结构,4.2 选择结构程序设计 4.2.3 选择结构的嵌套 如果在选择结构中又出现IF语句或select语句,就是选择结构的嵌套 (1) IF Then IF Then Else End If Else IF Then Else End If End IF,(2) IF Then Select Case 条件1_1 Case 值1_1 IF Then Else End If Case值1_2. End Select . End IF,例4.7 在文本框中输入1100之间的数字,如果输入非数字,或数字超界,给予提示,并重新输入。 Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then 回车键的ascii码值是13 If IsNumeric(Text1.Text) Then x = Val(Text1.Text) If x 100 Then Text1.Text = “ Text1.SetFocus Label1.Caption = “数字超界,重输入!“ Else Label1.Caption = “数字输入正确!“ End If Else Text1.Text = “ Text1.SetFocus Label1.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(,) 例如: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循环结构程序设计 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 * m If m 0) m = n n = r r = m Mod n Loop Print “最大公约数=“, n Print “最小公倍数=“, 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 * m If m n Then t = m: m = n: n = t r = m Mod n Do Until (r = 0) m = n n = r r = m Mod n Loop Print “最大公约数=“, n Print “最小公倍数=“, nm / n End Sub,第四章 Visual 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 100 S = S + I Next I Print “ S=“; Format(S, “0000“) End 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 Integer n = 0 c = InputBox(“ 输入字符:“) While Not (c = “#“) n = n + 1 c = 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.12 打印九九乘法表。 程序代码如下: Private Sub Form_Click() Dim i%, j%, jj$ For i = 1 To 9 For j = 1 To 9 jj = i Next j Picture1.Print Next i End Sub,例4.13 使用循环语句在窗体上输出有*组成的简单图形 Private Sub Form_Click() Dim n As Integer, i%, j% Cls 清屏 n = Val(Text1.Text) 输入组成图形的行数 For i = 1 To n Print Tab(20); For j = 1 To i Print “*“; Next j Print Next i End Sub,图4.14 例4.13运行结果,第四章 Visual Basic语言程序结构,4.3循环结构程序设计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论