




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 4.1 顺序结构 4.2 选择结构 4.3 循环结构 4.4 其他辅助控制语句 4.5 常用算法(一) 4.6 常见错误 (顺序、条件、循环) VB采用事件驱动编程机制,但仍需要结构化程序设计方法,采用事件驱动编程机制,但仍需要结构化程序设计方法,用控制结构控制程序执行的流程。用控制结构控制程序执行的流程。程序设计三种基本结构:程序设计三种基本结构: 顺序、选择、循环顺序、选择、循环 一个计算机程序通常可分为三部分,即一个计算机程序通常可分为三部分,即输入输入、处理处理和和输出输出。 VB的输入输出有着十分丰富的内容和形式,它提供的输入输出有着十分丰富的内容和形式,它提供了多种手段,并可通过
2、各种控件实现输入输出操作,使了多种手段,并可通过各种控件实现输入输出操作,使输入输出更加灵活、多样、方便、直观。输入输出更加灵活、多样、方便、直观。4.1顺序结构功能: 先计算“=”号(称为赋值号)右边的表达式的值,然后将此值赋给赋值号左边的变量或对象属性.说明: 应符合VB的变量命名约定。可以是常量、变量、表达式及带有属性的对象。 格式:Let =1.赋值语句1) “=”赋值号与数学中的等号意义不同。例如:语句X=X+1表示将变量X的值加1后的结果值再赋给变量X,而不是表示两边的值相等.2) 赋值号左边必须是变量或对象属性.例: X=1MyStr = “Good Morning”Comman
3、d1.Caption=“确定”X+1=X (错误) 3)等号与赋值号的区别Dim a%,b%,c%a=b=c=1Print a 注意事项 :在对话框内,提示用户输入的数据的范围、作用等在对话框内,提示用户输入的数据的范围、作用等 。如果要显示多行信息,则可在各行行末用回车符。如果要显示多行信息,则可在各行行末用回车符Chr(13)Chr(13)、换、换行符行符Chr(10)Chr(10)、回车换行符的组合、回车换行符的组合, ,或系统常量或系统常量vbCrLfvbCrLf来换行。来换行。 :可选项可选项, ,运行时该参数显示在对话框的标题栏中运行时该参数显示在对话框的标题栏中 如果省略,则在标
4、题栏中显示当前的应用程序名如果省略,则在标题栏中显示当前的应用程序名 :字符串表达式,可选项。显示在对话框上的文本框字符串表达式,可选项。显示在对话框上的文本框中,在没有其他输入时作为缺省值。如果省略,则文本框为空。中,在没有其他输入时作为缺省值。如果省略,则文本框为空。 InputBox函数产生一个对话框,作为输入数据的界面,等待用户输入正文或按下按钮,并返回所输入的内容。格式:InputBox(,)1 输入框函数(InputBox) 例要在屏幕上显示如下的对话框: Dim i As String * 40, s1 As String * 40 i= InputBox( “请输入你的姓名”
5、+ vbCrLf + “然后 单击确定” , “输入框” ) 或: S1 = “请输入你的姓名” + Chr(13) + Chr(10) + “然后单击确定” i= InputBox(S1, “输入框”, , 100,100) 当键盘输入“王晓明” 后,变量i获得键盘输入的值.4.1.3 举例 使用文本框输入圆的半径,计算圆的面积并用标签输出。运行界面如下图所示。Private Sub Command1_Click() Dim r As Double,s As Double Const pi = 3.1415926 r = Val(Text1.Text) s=pi * r * r Label2
6、.Caption = “圆的面积:” & s End Sub示例在windOWS中,如果操作有误,通常会在屏幕上显示一个对话框,提示用户进行选择,然后系统根据选择确定其后的操作。 VB提供的MsgBox函数可以实现此功能,它可以向用户传送信息,并可以接收用户在对话框上的选择,以此作为程序继续执行的依据。2、消息框函数MsgBox()和Msgbox过程格式: 变量%=MsgBox(,)功能:在对话框中显示消息,等待用户单击按钮,并返回一 个整数告诉用户单击了哪个按钮。 说明: :字符串,指定显示在对话框中的信息,字符串,指定显示在对话框中的信息,要在提示信息中对文本信息进行换行,可以使用
7、回车符要在提示信息中对文本信息进行换行,可以使用回车符Chr(13)、换行符、换行符Chr(10)或是回车与换行符的组合或是回车与换行符的组合Chr(13)&Chr(10)。 :数值型数据,是可选项,用来指定对话数值型数据,是可选项,用来指定对话框中出现的按钮和图标的种类及数量,该参数的值由三框中出现的按钮和图标的种类及数量,该参数的值由三类数值相加产生,这三类数值分别表示按钮的类型、显类数值相加产生,这三类数值分别表示按钮的类型、显示图标的种类及默认按钮的位置示图标的种类及默认按钮的位置 :字符串表达式,是可选项,它显示在字符串表达式,是可选项,它显示在对话框的标题栏中,如果省略,则
8、在标题栏中显示应用对话框的标题栏中,如果省略,则在标题栏中显示应用程序名。程序名。分类按钮值系统定义符号常量含义按钮类型0vbOKOnly只显示“确定”按钮1vbOKCancel显示“确定”、“取消”按钮 2vbAbortRetryIgnore显示“终止”、“重试”、“忽略”按钮 3vbYesNoCancel显示“是”、“否”、“取消”按钮 4vbYesNo显示“是”、“否”按钮 5vbRetryCancel显示“重试”、“取消”按钮 图标类型16vbCritical显示停止图标 x 32vbQuestion显示询问图标 ? 48vbExclamation显示警告图标 !64vbInforma
9、tion显示信息图标i 默认按钮0vbDefaultButton1第一个按钮是默认按钮 256vbDefaultButton2第二个按钮是默认按钮 512vbDefaultButton3第三个按钮是默认按钮 “按钮类型”的设置值及含义例:Private Sub Command1_Click( ) a= MsgBox(“提示信息”)End SubPrivate Sub Command1_Click( ) a= MsgBox(“提示信息” & Chr(13) & “换行显示”)End Sub只显示“提示信息”提示信息换行Private Sub Command1_Click( ) a
10、= MsgBox(“提示信息” , ,“标题”)End Sub省略第二个参数“按钮类型”,但逗号不能省略Private Sub Command1_Click( ) a= MsgBox(“提示信息” ,1,“标题”)End Sub显示“确定”、“取消”按钮Private Sub Command1_Click( ) a= MsgBox(“提示信息” ,1+16,“标题”)End SubPrivate Sub Command1_Click( ) a= MsgBox(“提示信息” ,2+32+0,“标题”)End Sub显示停止图标设第一按钮是默认按钮MsgBox函数的返回值系统符号常量返回值按键vb
11、OK1确定vbCancel2取消vbAbort3终止vbRetry4重试vbIgnore5忽略vbYes6是vbNo7否若不需要返回值,则可以使用MsgBox语句, 其格式为: MsgBox ,示例4.2选择结构 1. IfThen1. IfThen语句语句( (单分支结构单分支结构) ) If Then 语句块语句块 End If 或或 If Then 例: 求一个数的绝对值 if x0 then x=-x表达式 语句块TF图1-3-7 单分支结构引入引入:两数交换两数交换已知两个数已知两个数x和和y,比较它们,比较它们的大小,的大小, 使得使得x大于大于y. If xy then t=x
12、x=y y=t end if x y t123 x y t123或或 If (xy) then t=y: y=x: x=t示例2. IfThenElse2. IfThenElse语句语句( (双分支结构双分支结构) ) If Then Else End If 例:密码识别例:密码识别If Text2.Text = 12345 Then MsgBox 密码正确, vbInformation, 欢迎 Else MsgBox “密码错误,请重新输入密码错误,请重新输入”, vbOKOnly + vbQuestion, “哈哈我怀疑你是小哈哈我怀疑你是小偷偷!” End If 表达式F图1-3-9 双
13、分支结构 语句块1T 语句块2示例3. IfThenElseIf3. IfThenElseIf语句语句( (多分支结构多分支结构) ) 形式: If Then ElseIf Then else End If ElseIf不能写成 Else If。条件1语句组1条件2语句组2条件n语句组n其他语句组 1、写出三种选择结构单分支、双分支、多分支。 2、请用inputbox输入两数,在屏幕上输出其中较大的数。 3、 4、编写一个可以为成绩分等的程序,将某门课的成绩分60以下不及格,60-70及格,70-80中,80-90良,90-100优秀,并输出。Y=-110X0X=0 5、以知x,y,z三个数,
14、使得xyz分段数学函数的分段数学函数的IF表示表示Y=-110X0X=0If x y then max=xElse max=yendif二、求三个数中的最大数,并输出。二、求三个数中的最大数,并输出。Dim x%,y%,z%,max% If x y then max=xElse max=yEnd ifIf cmax then max=c上机题目:上机题目: 1、做个聊天室简单的要求用到做个聊天室简单的要求用到 inputbox msgbox 选择结构选择结构 2、蝴蝶飞出去可以飞回来蝴蝶飞出去可以飞回来 练习练习: 课本后面及实训的所有题目课本后面及实训的所有题目 4 4、三个数排序、三个数排
15、序IfIf语句的嵌套语句的嵌套 If语句的嵌套是指If或Else后面的语句块中又包含If语句。 形式如下: If Then If Then End If End If 例:已知已知x,y,z三个数,使得三个数,使得xyz。 If xy Then t=x: x=y: y=t If yz Then t=y: y=z: z=t If xy Then t=x: x=y: y=t End If End IfIf语句的嵌套注意事项 If 与End If配对。5. Select Case5. Select Case语句语句( (情况语句情况语句) )形式:Select Case 总变量或表达式总变量或表达式
16、Case 表达式列表表达式列表1语句块语句块1Case 表达式列表表达式列表2语句块语句块2Case Else语句块语句块n+1End Select P20:与同类型的下面四种形式之一 一组枚举表达式(用逗号分隔) 2,4,6,8 表达式1 To 表达式2 “A” To “Z” Is 关系运算符表达式 Is = A And Ucase (strC) = 0 And strC = 95 Print 一等奖 Case mark1 = 100 And mark2 = 100 And mark2 = 80 End Select错误注意:注意:Select Case 后不能出现多个变量;后不能出现多个变
17、量;Case后不能出现逻辑运算符。后不能出现逻辑运算符。6.条件函数条件函数 (1)IIf函数形式是: IIf(表达式,当表达式为(表达式,当表达式为True时的值,当表达式为时的值,当表达式为False时的值)时的值) 例如,求x,y中大的数,放入Tmax变量中,语句如下: Tmax=IIf(x y,x,y) (2)Choose函数形式是: Choose(数字类型变量,值为(数字类型变量,值为1的返回值,值为的返回值,值为2的返回值的返回值) 例如,Nop是1-4的值,转换成 + 、-、运算符的语句如下: Op= Choose(Nop,+,-,) 当值为1,返回字符串“+”,然后放入Op变量
18、中,值为2,返回字符 串“-”,依次类推;当Nop是1-4的非整数,系统自动取Nop的整数办法在判断;若Nop不在1-4之间,函数返回Null值。思考:1+2+3+4+5+100 任何实现任何实现? 循环结构是结构化程序中的三种基本程序结构之一。在程序中,凡是需要重复相同或相似的操作步骤,都可以用循环结构来实现。 循环结构由两部分组成: 循环体,即要重复执行的语句序列; 循环控制部分,即用于规定循环的重复条件或重复次数,同时确定循环范围的语句。 要使计算机能够正常执行某循环,由循环控制部分所规定的循环次数必须是有限的,即循环体可以重复0次到若干次。 在已知循环要执行多少次时,最好使用ForNe
19、xt循环。在ForNext循环中使用一个起计数器作用的循环变量,每重复一次循环之后,循环变量的值就会按一定的步长增加或者减少,直到超过某规定的终值时退出循环。 格式如下: For = To Step Exit For Next For循环语句循环语句 (一般用于循环次数已知)形式 For 循环变量初值循环变量初值 to 终值终值 Step 步长步长 语句块语句块Exit For 语句块语句块 Next 循环变量循环变量 步长循环体 0 初值终值 =1 时,可省略终值=0 死循环循环次数) 1(步长初值终值Int以下面循环为例,以框图形式说明For循环执行过程:For I= to step 循环
20、体Next II=e1I超过终值e2?循环体I=I+e3NY例: For I=2 To 13 Step 3 循环执行次数 Print I , 输出I的值分别为: Next I 2 5 8 11 Print : Print “I=“, I 出了循环输出为: I=14输出金字塔输出金字塔程序程序:For i = 1 To 5 Print Tab(20 - i); String(2 * i - 1, *) Next I1、输出、输出100到到1000以内的水仙花数以内的水仙花数.4) 1(3213Int 分离位数分离位数三位数三位数 : m百位数字:百位数字:a=m100个位数字:个位数字:c=m
21、mod 10十位数字:十位数字:b=(m-a*100)10For m=100 to 1000 a=m100 c=m%10 b=(m-a*100)10 if m=a3+b3+c3 then print m end ifNext mP120 例例6.6 输出输出“水仙花数水仙花数”算法是对某个问题求解过程的描述 1.1.累加、连乘累加、连乘 1100的的 和和 Sum = 0 For i = 1 To 100 Sum = Sum + i Next i Print Sum1100的乘积的乘积 t = 1 For i =1 To 100 t = t * i Next i Print t思考:思考:若把
22、循环体前面置各变量初值的语句放在循环体内,程若把循环体前面置各变量初值的语句放在循环体内,程序运行时会产生什么情况?序运行时会产生什么情况? 1、退出循环后,循环变量的值保持退出时的值 、在循环体内对循环变量多次赋值会影响原来的循环控制规律。 程序运行结果。 循环的其他形式2. DoLoop循环语句循环语句(用于控制循环次数未知)形式1: Do While|Until 语句块语句块 Exit Do 语句块语句块 Loop形式2:Do 语句块语句块 Exit Do 语句块语句块Loop While|Until 表达式列表 1 F T F T Exit Do 语句块 语句块 Exit Do 语句块
23、 语句块 表达式列表 1 图 1-3-16 Do Loop While 图 1-3-15 Do WhileLoop 格式一 :前测式当型循环Do While Exit Do Loop格式二:前测式直到型循环Do Until Exit Do Loop格式三 :后测式当型循环Do Exit Do Loop While格式四:后测式直到型循环Do Exit Do Loop UntilDoLoop循环结构的四种格式 上机题目: 1. 计算1+3+5+999并输出结果 2. 计算1*3*7*99并输出结果 3. 输入三数,按从小到大顺序输出。 4 . 输出1到100之间能被3或7整除,但不能同时被3和7
24、整除的整数,且每七个数换一行。 先判断,后循环先判断,后循环s = 0i = 1 Do While i =10 s = s + i i = i + 1 Loop Print i, s用用while语句求语句求1+2+3+10先循环,后判断先循环,后判断s = 0i = 1 Do s = s + i i = i + 1 Loop While I=10 Print i, s先判断,后循环先判断,后循环s = 0i = 1 Do While i 1 s = s + i i = i + 1 Loop Print i, s两种两种while语句比较语句比较先循环,后判断先循环,后判断s = 0i = 1
25、 Do s = s + i i = i + 1 Loop While In; (2) m除以除以n得余数得余数r; (3)若若r=0,则,则n为最大公约数结束;否则执行为最大公约数结束;否则执行(4); (4)mn,nr,再重复执行,再重复执行(2)。 例例 求求 m=14 ,n=6 的最大公约数的最大公约数. m n r 14 6 2 6 2 0If m n Then t = m: m = n: n = t r=m mod n Do While (r 0) m=n n=r r= m mod n Loop Print 最大公约数最大公约数=, n m=m-n mnn=n-m nm m、n为公约
26、数为公约数 m=n辗转相减法辗转相减法 m n 14 6 8 6 2 6 2 4 2 2Do While m n If m n Then m = m - n Else n = n - m End If Loop例例2.判断素数判断素数 判别某数判别某数m是否为素数最简单的方法是是否为素数最简单的方法是: 对于对于m 从从i=2,3,m-1判别判别m能否被能否被i整除,只要整除,只要有一个能整除,有一个能整除,m不是素数,否则不是素数,否则m是素数。是素数。 flag=1 For i = 2 To m - 1 If (m Mod i) = 0 Then flag=0 Next I if flag
27、=0 then Print “m不是素数不是素数”Else print “m是素数是素数”endif 为提高运行速度,可将为提高运行速度,可将m-1 改为改为int(sqr(m)例:从键盘输入一正整数,判断是否是素数。输入值K=int(sqr(n)I=2Flag=0I=k且Flag=0?N能被整除吗?Flag=1I=I+1Flag=0?打印不是素数打印是素数结束开始程序代码如下:n = InputBox(n=)k = Int(Sqr(n) I = 2 flag = 0 Do While I = k And flag = 0 If n Mod I = 0 Then flag = 1 Else I = I + 1 End If Loop If flag = 0 Then Print n; is a prime umber. Else Print n; is not a prime number. End If3.求素数求素数 判别某数m是否为素数最简单的方法是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025租房合同范本(完美打印版)
- 2025共同租赁商业物业合同模板
- 农产品仓储与农业供给侧改革考核试卷
- 《2025劳务合同聘用离职人员协议》
- 洗涤机械的数字化营销策略考核试卷
- 2025年鸡肉采购销售合同范本
- 2025办公室租赁合同模板()
- 2025新签订劳动合同模板示例
- 2025年学生会公关部广告投放合同
- 瑜伽老师签约合同协议
- 河南省矿山储量动态检测技术指南
- 光学系统的像质评价和像差公差
- :AHA心肺复苏和心血管急救指南(完整版)
- 垃圾焚烧炉渣综合利用方案
- 12J1 工程做法 天津市建筑标准设计图集(2012版)
- 专卖执法人员资格考试题库
- 全要素加强化工过程安全管理
- 腹部按压技巧肠镜检查辅助技巧
- 5月业务学习第一篇输液港的使用及维护
- 肺淋巴管肌瘤病的临床及CT表现
- 金赛 说明书完整版
评论
0/150
提交评论