VB第3章_控制结构
VB编程序的基本结构

Case 9, 10
Msgbox ("Greater than 8“)
Case Else
Msgbox ("Not between 1 and 10“)
End Select
例:编写程序,当输入X的值后用 Selct Case语句 计算输出Y的值。
Private Sub Button1_Click(ByVal _ sender As System.Object, ByVal e As _ System.EventArgs) Handles _ Button1.Click
InputBox的功能是等待并提示用户为程序运行 输入指定的数据,简称“输入对话框”。
MsgBox的功能是进行提示,用以确认某种程 序的操作,简称“消息框”。
本书目录
6
1. InputBox (输入对话框函数)
输入对话框一般由标题、提示信息、“确定” 按钮、“取消”按钮和一个供用户输入的文本框组 成。当用户将输入信息输入到文本框,并单击“确 定”按钮后,函数返回用户输入的字符串数据。当 单击“取消”按钮时,返回一个空字符串。
语法格式:变量名 = 表达式
功能: 计算赋值号“=”右边表达式的值,然后赋给赋
值号“=”左边的变量。
给变量赋值和设定属性是VB编程中常见的两个任务
如以下语句,
n=n+1
'计数累加
Label1.Text = "欢迎使用VB "
以下语句形式很常用:
• dim sum% , x%
sum=100 : x=5
Select语句举例
Dim Number% Number = Val(InputBox("输入整数"))
vb简单的课程设计

vb简单的课程设计一、课程目标知识目标:1. 让学生掌握VB(Visual Basic)编程语言的基本语法和结构;2. 培养学生运用VB编写简单的程序,解决实际问题;3. 让学生了解VB编程中的顺序结构、选择结构和循环结构;4. 使学生掌握VB中常用的内部函数和控件。
技能目标:1. 培养学生独立设计、编写和调试简单VB程序的能力;2. 培养学生运用VB编程解决实际问题的思维方法和技巧;3. 提高学生的逻辑思维能力和编程实践能力。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣和热情,激发学生的学习积极性;2. 培养学生良好的编程习惯,注重代码规范和可读性;3. 培养学生团队协作精神,学会与他人共同解决问题。
课程性质:本课程为信息技术学科,以实践操作为主,注重培养学生的编程技能和逻辑思维能力。
学生特点:六年级学生具备一定的计算机操作基础,对编程有好奇心,但注意力容易分散,需要结合实际案例和趣味性教学。
教学要求:结合学生特点,采用任务驱动法,引导学生主动探索,注重理论与实践相结合,提高学生的编程实践能力。
通过课程学习,使学生达到上述课程目标,并为后续学习打下坚实基础。
二、教学内容1. VB编程环境介绍:认识VB集成开发环境,熟悉工具栏、菜单栏、属性窗口等基本组成部分。
教材章节:第一章 VB概述2. VB基本语法:掌握变量、常量、数据类型和运算符的使用。
教材章节:第二章 VB编程基础3. VB程序结构:学习顺序结构、选择结构(If条件语句)和循环结构(For、While循环语句)。
教材章节:第三章 程序控制结构4. 内部函数和控件:学习常用内部函数(如数学函数、字符串函数等),了解常用控件(如文本框、按钮等)的使用。
教材章节:第四章 内部函数与控件5. 编程实例分析:分析并编写简单的VB程序,如计算器、九九乘法表等。
教材章节:第五章 实例分析6. 程序调试与优化:学习查找程序中的错误,掌握调试技巧,提高程序质量。
第三章 VB 语言基础

只有两个值True或False 代表真或假 如:1>4为False 40<100为True
1、基本数据类型
货币型:Currency
表示钱款,精确到小数点后4位 如:12.02, 1.27
1、基本数据类型
日期型:Date
表示100/1/1至9999/12/31的日期和时间,必 须用#号括起来。 如: #1999/01/01# #2007/3/18 12:00:00#
2、数值常量
货币型常数
货币数据类型是为表示钱款而设臵的。 精确到小数点后4位(小数点前有15位) 。
如:23.03@
2、数值常量
浮点数(实数)
单精度实型(Single),双精度实型(Double) 1)十进制小数形式: 例如0.123、.123、122.0、123!、123#等 2)指数形式: 例如1.25E+3 和 1.25D+3, 相当于1250.0 或者 1.25×103
乘,除(浮点)x*y,5/3=1.66666667 取余数(模
4+6
算术运算符的优先级
高 ^ 指数
*,/
1、优先级是运算的 先后次序。 取负 2、同级,从左到右。 乘,除(浮点) 3、先计算括号内
\
Mod 低 +,-
整数除
取余数(模) 加法,减法 3+5*6/(1+2)
[Public | Private] Enum类型名称 成员名[=常数表达式] 成员名[=常数表达式] End Enum [] 内的参量为可选参量
三 运算符和表达式
运算符对操作数(常量,变量,函数值)的运算,组
成了表达式 运算符的定义与数学上不完全一致 哪个运算符先运算的问题就是优先级 x = 8*Count+2,x = Sum/Count (算术) 如果 x>=10 ,打印x (关系) 如果 (I>0) And (I<100),打印I (逻辑)
第三章 三种基本程序控制结构

12
• 例3-5设计一个信息录入窗体(见图3-6),录入
学生的基本信息。包括学号、姓名、系别、班级、 生日、家庭住址。单击保存按钮后,录入的基本信 息由MsgBox显示。
Visual Basic程序设计教程
13
Private Sub Command1_Click() Dim s_en As Single, s_sp As Single, s_pro As Single 3.3 选 择 结 构 Dim ave As Single, msg As String s_en = Val(Trim(Text2.Text)) 例3-6一个简化了的奖学金评审规则:三门课程的 s_sp = Val(Trim(Text3.Text)) 90分以上(包含90分)者可以获得奖 s_pro平均成绩在 = Val(Trim(Text4.Text)) Visual ave =学金。编写一个 (s_en + s_sp + s_pro) / 3Basic程序,看谁能拿到 ave =奖学金。 Fix(ave * 100 + 0.5) / 100 ‟结果保留小数点后两位 ‟奖学金评审,使用IF选择结构 分析:解决该问题的关键是学生的平均分与90的 If ave >= 90 Then 关系,求取平均分后,即可进行判断。判断过程用 msg = Label5.Caption & Text1.Text & "的平均分为:" & ave选择结构实现。程序界面使用四个文本框,用来输 & ",可获得奖学金" Else 入学生姓名和三门课程的成绩,一个标签用来显示 msg = Label5.Caption & Text1.Text & "的平均分为:" 判断结果。 & ave & ",不能获得奖学金" End If ‟输出评审结果 Label5.Caption = msg 14 Visual Basic程序设计教程 End Sub
028 VB中的辅助控制结构GoTo、With...End With、End和Exit语句

本文介绍VB中的辅助控制结构GoTo、With...End With、End和Exit语句。
跳转语句GOTO语法格式如下:含义:当程序执行到该语句时,将会无条件跳转到指定位置。
注意:1,GoTo语句后面必要参数(行标签),需要自行定义,以英文开头命名的符合VB 规则的名称,然后以冒号“:”结尾,并放在行的开头位置。
2,GoTo语句只能跳转到所在过程,不能跨过程跨事件。
3,不建议使用太多的GoTo语句,会导致程序阅读和调试困难。
4,除非特殊情况下,尽量少使用GoTo语句。
举例:利用GoTo语句随机3个在1-6内的不重复数字。
程序界面如下图:代码如下:程序解释:首先,利用rnd函数产生3个范围在1-6之间的数字,然后判断三个数字有无重复,如果有重复,则说明不满足要求,利用GoTo语句跳转到L1处,即重新随机三个数,直到三个数字满足要求。
复用语句With...End With语法格式:作用:使用With语句可以对同一个对象一次执行一系列的操作。
注意:1,对象是必要参数,表示在复用语句内的方法和属性的操作对象2,语句块中,调用方法或属性时,省略对象名称,直接写点号"."3,With语句也可以嵌套使用。
通俗来讲,就是对一个对象而言,由于每次调用对象的属性或者方法都会涉及到对其加载和卸载过程,这个过程我们是看不见的,但是对于计算机而言,它是必须的过程,并且这个过程是需要占用大量cpu资源的,且执行时间比较长。
而如果使用With语句,那么整个过程仅需要执行一次加载和卸载过程。
因此对于同一个对象,如需多次调用方法或属性时,可以使用With复用语句,这样可以节约大量的cpu资源,并会提升程序执行效率。
举个例子:修改窗体的外形尺寸,可以按照如下代码设置:退出语句ExitExit语句用来在中途退出某些过程或语句,例如前面已经学习过的For循环语句、Do循环语句,以及以后将要学习的子过程Sub、函数过程Function和属性过程Property。
vb备考课件 精品难点第三章 第四章_OK

执行过程:先求表达式的值,然后将值赋值给左边的变量。 如: x = x + 1
注意:虽然赋值号与关系运算符等于号都用“=”表示,
VB系统会根据所处的位置自动判断是何种意义的符号
2021/8/22
3
赋值符号“=” 右边可以是变量、常量、函数调用等特殊的表达式。
左边一定只能是变量名或对象的属性引用。 下面的赋值语句都是错的: 5=X
1)
循环执行次数 Int(1332 1) 4
输出为:2 5 8 11 I=14
程序:
Private Sub Form_Click()
For i = 1 To 5
Print Tab(i); String(6 - I, "▼");
Print Spc(6); String(I, "▲")
Next i
2021/8/22
n=0 n=1 n=2 n=3 n=4
2021/8/22
16
函数计算
Select Case n
Case 0
p=1
Case 1
p=x
Case 2
p = (3 * x * x - 1) / 2
Case 3
p = (5 * x * x - 3) * x / 2
Case 5
p = ((35 * x * x - 30) * x * x + 3) / 8
End Select
2021/8/22
<表达式列表>: 与<变量或表达式>同
类型的下面四种形式之 一:
• 表达式 如: “A”
• 一组枚举表达式(用
逗号分隔) 如:2,4,6
• 表达式1 To 表达式2
第三章 VB基本语法

Dim a(10) As Integer
2、多维数组
如:student.strname表示学生姓名
3.3 变量与常量 命名规则: (1)必须以字母或汉字开头,由字母、汉字、 数字或下划线组成,长度小于255个字符; (2)不能用VB中关键字; (3)不区分大小写字母; (4)最好在变量名前加可以用来表明变量数据 类型的前缀。
1、变量: 在程序运行的过程中可以变化的量。 声明方式: (1)用Dim语句 Dim 变量名 [As 类型] 注意: 若省略“As 类型”,则为变体类 型 变量名后可以加类型符来代替“As 类型” 一条Dim语句可以同时定义多个变量。
5、Select Case语句(情况语句)
Select Case 变量或表达式 Case 表达式列表1 语句块1 语句块2 · · · · · · · · · · · · · · [Case Else 语句块n+1] End Select
可以是数值 型或字符型
用逗号分隔的枚举表达式;
Байду номын сангаас
Case 表达式列表2 表达式1 To 表达式2; Is 关系运算符表达式。
所有的变量都具有数据类型,变量的数据类型 决定了如何把变量的值存储到计算机的内存中。 3.2.1 标准数据类型 3.2.2 自定义类型 定义正确数据类型的意义: 1、减少错误发生
2、节省内存
1、数值数据类型
Visual Basic 的数值型数据分为整型数和浮点数 两类。其中整型数又分为整数和长整数,浮点 数分为单精度浮点数和双精度浮点数。 (1)整型数(integer): 不带小数点和指数符号的数。
Else
<语句块2>
语句块1
VB 程序设计04-2

s=1 s=1 * s s=2 * s … s=n * s
初值 乘1 再乘2 … 再乘n
s=i * s i=i+1 循环条件: 循环条件: i≤n
用VB语言求阶乘 语言求阶乘
示例: 求 示例:VB求S=n! for...next: : s=1 for i=1 to n s=s * i next i 为什么没有i=i+1 为什么没有 do...loop: : i=1 : s=1 do while i<=n s=s * i i=i+1 能否去掉i=i+1 能否去掉 loop
(2)
a=2
y=iif(x>=0, 5*x, x+1)
选择结构总结
问题3 用两种形式改写如下程序段(3) (3): 问题3:用两种形式改写如下程序段(3):1、多分 if结构 结构, 多分支Select结构。 Select结构 支if结构,2、多分支Select结构。
If x>0 then y= -1 If x=0 then y= 0 If x<0 then y= 1
步骤
另一种实现方法: 另一种实现方法:
Private Sub Form_Load() Dim n%, i%, s# n = Val(InputBox("请输入一个正整数 "计算阶乘 请输入一个正整数", 计算阶乘 计算阶乘")) 请输入一个正整数 s=1 For i = 1 To n s=s*i Next i MsgBox "计算结果为 " & vbCrLf & n & "!=" & s, 64, "提示 计算结果为: 提示" 计算结果为 提示 End Sub
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8
type参数及功能
常数 vbOKOnly VbOKCancel VbAbortRetryIgnore VbYesNoCancel 值 0 1 2 3 显示OK按钮 显示OK及Cancel 按钮 显示Abort、Retry 及 Ignore 按钮 显示显示 Yes、No 及 Cancel 按钮 功能描述
Print "B" Else Print "C" End If ElseIf score >= 60 Then Print "D" Else Print "E" End If End Sub
'此处为小于70分的情况
22
3.2.3 Select Case语句
格式:
说明: 变量或表达式:数值型或字符表达 式 表达式列表:与“变量或表达式” 的类型必须相同,可以是下面4种类型
End Sub
28
求和运行结果
29
例3.10 实现计算器函数区中求阶乘(n!) Private Sub Cmd_n_Click( ) Dim i, n, s As Long s=1 n = Val(InputBox("输入n(1-12)", "求n!")) For i = 1 To n s=s*i Next MsgBox s, 0, "n!" End Sub
7
3.1.2 数据的输入、输出函数
2. 输出函数MsgBox
格式 :MsgBox(prompt [,type][,title][,helpFile,context]) 说明:
① prompt是字符串类型,提示
② type是一个整数值或符号常量,用来控制在对话 框内显示的按钮、图标的类型。 如上例中输出: MsgBox s, 0, "Area"
32
3.3.3 Do Until循环语句
(A) Do Until 条件 语句块 Loop
(A) sum =0 k=1 Do Until k>100 sum=sum+ k k=k+1 Loop
(B) Do 语句块 Loop Until 条件
(B)
sum=0 : k=1 DO sum=sum+ narray(k) k=k+1 Loop Until k>100
第 3 章 VB控制结构
顺序结构 选择结构 循环结构
综合应用
2
3.1 顺序结构
本章主要围绕计算器函数区中常用算法的实现展开学习
3
3.1 顺序结构
引例
例3.1 编程实现半径为r的圆
面积。
方法1: ① 输入半径r; ② 函数区Area命令按钮的单 击事件求圆的面积 ③ 输出圆的面积
Private Sub CmdCirc_Click( ) Dim r As Single r = Val(Text1.Text) Text2.Text = 3.1415926 * r * r End Sub
Select Case 变量或表达式
Case 表达式列表1 语句块1
Case 表达式列表2
语句块2 …
① 表达式。
Case 1,2,3 ③ 表达式1 To 表达式2: Case "a" to "z" ④ Is关系运算符表达式: Case Is<10
23
② 一组枚举表达式(用逗号分隔),如:
[Case Else
32
48 64 0 256 512
显示Warning Query
显示Warning Message 显示Information Message 第一个按钮是默认值 第二个按钮是默认值 第三个按钮是默认值
9
例3.2 MsgBox "是否暂停打印!",16,"提示"
type参数为16,分解成: 16=0+16+0,显示“确定”
33
直到循环流程
34
例3.11 分别用Do Loop和Do Until完成求n!
Private Sub Cmd_n_Click( ) Dim i, n, s As Long n = Val(InputBox("输入n", "n!")) i = 1: s = 1 Do s=s*i i=i+1 Loop While i <= n MsgBox s, 0, "n!" End Sub 调试程序并改为Do Until
25
3.3 循环结构
3.3.1 For循环语句 格式如下: For 循环变量=初值 To 终值[Step 步长] 语句块 [Exit For] 语句块 Next 循环变量 说明如下: ① 循环变量:必须为数值型。 ② 步长:一般为正,初值<终值;若为负,初值>终值; 默认步长为1,步长不能为0。 ③ Exit For:表示当遇到该语句时,退出循环。 ④ 终止循环条件是“循环变量值超过终值” 不是等于终 值。 ⑤ 循环次数=INT((循环终值-循环初值)/步长+1)。
③ 单行结构的If语句必须写在同一行。
11
12
例3.3 实现计算器函数区中Abs功能
Private Sub Command10_Click( ) Dim x As Single x = Val(Text1.Text) If x > 0 Then Text2.Text = x Else Text2.Text = -x
'单行结构条件语句
End Sub 或 If x < 0 Then Text2.Text =- x
13
3.2.2 块结构条件语句 1. 一般格式
格式: 说明: ① 执行时先判断条件,如为
If <条件> Then
<语句块1> Else
真,则执行<语句块1>,否
则执行<语句块2> ② Else部分可省略
顺序结构
4
3.1 顺序结构
在VB编程环境中实现上图功能
5
方法2: Private Sub CmdCirc_Click( ) Dim r As Single r = InputBox("输入半径r", "Area") Text1.Text= r Text2.Text = 3.1415926 * r * r End Sub
19
例3.6 输入一个百分制的学生成绩,将其转换 成A、B、C、D、E 5个等级
Private Sub Command1_Click( ) Dim score As single score=val(InputBox("输入一个成绩(0-100):")) If score>=90 Then Print "A" ElseIf score>=80 Then Print "B" ElseIf score>=70 Then Print "C" ElseIf score>=60 Then Print "D" Else Print "E" End If End Sub
输出改为: MsgBox s, 0, "Area"
6
3.1.2 数据的输入、输出函数
1.输入函数InputBox
格式:InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])
说明:
① prompt:必需,提示信息。
30
图3-12 输入n
图3-13 输出n!
31
3.3.2 Do Loop循环语句 (A) Do While 条件 语句块 Loop
(B) Do 语句块 Loop While 条件
例如:求1~100之和
(A) sum=0 k=1 Do While k<=100 sum=sum+k k=k+1 Loop (B) sum=0 :k=1 Do sum=sum+ k k=k+1 Loop While k<=100
VbYesNo
VbRetryCancel VbCritical
4
5 16
显示Yes 及 No 按钮
显示Retry 显示Critical Message
VbQuestion
VbExclamation VbInformation vbDefaultButton1 vbDefaultButton2 vbDefaultButton3
35
3.3.4 循环嵌套 例3.12 在窗体上输出九九乘法表
分析以上结果特点
36
Private Sub Command1_Click( ) Dim m%, n% For m = 1 To 9 'm表示行 For n = 1 To m 'n表示列 Print m; “*”; n; “=”; m * n, '分析语句后逗号作 用 Next n Print '输出换行 Next m End Sub
语句块n+1] End Select
Select Case执行过程
24
例3.8 用Select Case完成例3.6的操作。
Private Sub Command1_Click( ) Dim Score As Single Score=val(InputBox("输入一个成绩(1-100):")) Select Case Score Case 90 to 100 Print "A" Case 80 to 89 Print "B" Case 70 to 79 Print "C" Case 60 to 69 Print "D" Case Else Print "E" End Select End Sub 调试程序 思考题:用Select Case结构实现例3.5的功能