ImageVerifierCode 换一换
格式:PPT , 页数:34 ,大小:1.82MB ,
资源ID:291158      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-291158.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第1章基础知识 - 涞源职教中心.ppt)为本站会员(创****公)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

第1章基础知识 - 涞源职教中心.ppt

1、Visual Basic程序设计,第6章 循环结构程序设计, 6.1 For.Next语句 6.2 DoLoop循环语句 6.2.1 前测型DoLoop循环语句 6.1.2 后测型DoLoop循环语句 6.3 列表框与组合框 6.1.3 列表框控件 6.1.4 组合框控件 习题 6, 6.1 For.Next语句 1. For.Next语句的语法格式 For.Next语句的语法格式为:For 循环变量=初值 To 终值 Step 步长 语句组1 Exit For 语句组2Next 循环变量2. For.Next语句的执行过程 3. For.Next循环的循环次数循环体不被执行:l 当步长为正数

2、时,初值大于终值。l 当步长为负数时,初值小于终值。通过下式计算: 循环次数=INT(终值初值)步长1),4. For.Next语句使用示例【例6-1】用For.Next语句求1 + 2 + 3 + + 100的值。设计步骤如下: 1) 建立应用程序用户界面与设置对象属性,如图6-3所示。 2) 编写事件代码。编写“计算”命令按钮Command1的Click(单击)事件代码:Private Sub Command1_Click() Dim s As Integer, n As Integer s = 0 累加器赋初值0 For n = 1 To 100 初值为1,终值为100,步长为1(省略)

3、 s = s + n 进行累加 Next n Text1.Text = s 输出累加结果 End Sub,【例6-2】输出1000以内所有能被37整除的自然数。 设计步骤如下: 1) 建立用户界面。在新建的窗体中增加一个文本框Text1、一个命令按钮Command1和一个框架Fram1。选中Frame1,在其中增加一个标签Label1,用来显示程序的说明。如图6-6(左)所示。 2) 设置对象属性 3) 编写事件代码,编写“开始”命令按钮Command1的Click(单击)事件代码:Private Sub Command1_Click() a = For n = 1 To 1000 If n

4、Mod 37 = 0 Then a = a & Str(n) & Chr(13) & Chr(10) 用Chr(13) & Chr(10)设置行断点 End If Next Text1.Text = aEnd Sub5. For.Next语句的嵌套 For.Next循环可以嵌套使用,嵌套层数没有具体限制,其基本要求是:l 每个循环必须有一个唯一的变量名作为控制变量。l 内层循环必须完全放在外循环体内,内外循环不得互相交叉骑跨。 例如,下面的嵌套是错误的: For a=1 To 5 For b=3 To 9 . Next a Next b,Next b For.Next循环的嵌套通常有以下3种形

5、式: 1) 一般嵌套形式。 For a1=. For a2=. For a3=. . Next a3 Next a2 Next a1 2) 上式中Next后面的a1、a2、a3可以省略不写。 3) 当内层循环与外层循环有相同的终点时,可共用一个Next语句。但是,控制变量名不能省略。例如: For a=1 To 2 For b=2 To 3 For c=3 To 4 Print a , b , c Next c , b , a 【例6-3】打印出如图6-7所示的乘法“九九表”。,直接在窗体上输出。窗体Form的Load(载入)事件代码为:Private Sub Form_Load() Show

6、 FontSize = 12 设置字号 Print Tab(25); 九九表 输出标题 Print 输出空行 Print * ; For i = 1 To 9 输出第一行数字(19) Print Tab(i * 6); i; 每列空5格,定位输出 Next i Print 换行 For j = 1 To 9 外层循环 Print j; ; For k = 1 To 9 内层循环,m = j * k 计算乘积 Print Tab(k * 6); m; ; 定位输出 Next k Print 换行 Next jEnd Sub 6.2 DoLoop循环语句 6.2.1 前测型DoLoop循环语句1.

7、 前测型DoLoop的语法格式 其语法格式为:Do While | Until 条件 语句组1 Exit Do 语句组2Loop3. 前测型DoLoop使用示例,【例6-4】用DoLoop语句,计算1 + 2 + 3 + + 100的值。 设计步骤如下: 1) 建立用户界面与设置对象属性,如图6-9所示。 2) 设置对象属性,参见图6-10所示。 3) 编写事件代码。 采用当型循环结构编写“计算”命令按钮Command1的Click(单击)事件代码为:Private Sub Command1_Click() Dim s As Integer, n As Integer s = 0 : n =

8、1 累加器s赋初值0,计数器n赋初值1 Do While n 100 直到型循环 s = s + n n = n + 1 Loop Label2.Caption = sEnd Sub 该事件代码还可以利用Exit Do来编写:Private Sub Command1_Click() Dim s As Integer , n As Integers = 0 : n = 1 Do s = s + n n = n + 1,If n 100 Then Exit Do 如果n100,则跳出循环 Loop Label2.Caption = sEnd Sub【例6-5】已知s = 123n,计算出s不大于5

9、000时的最大n值。 设计步骤如下: 1) 建立用户界面和设置对象属性,如图6-11所示。 2) 编写事件代码。编写“计算”命令按钮Command1的Click(单击)事件代码:Private Sub Command1_Click() Dim n As Integer, s As Long CurrentY = Label2.Height + 200 确定输出位置 n = 1 计数器赋初值1 s = 1 累乘器赋初值1 Do While s = 5000 循环条件 n = n + 1 计数器累加1 s = s * n 累乘 Print n, s 通过本行可以看到循环过程 Loop,Label1

10、.Caption = n = & Str(n 1)End Sub【例6-6】输入一个正整数,利用Do循环判断是否素数。 设计步骤如下: 1) 建立用户界面和设置对象属性,如图6-13所示。 2) 编写事件代码。编写“判定素数”命令按钮Command1的Click(单击)事件代码:Private Sub Command1_Click() Dim n As Long Select Case Val(Text1.Text) Case Is 2147483647 MsgBox 此数太大!, vbInformation + vbOKOnly, 注意 Case Else n = Val(Text1.Tex

11、t) s = 0: i = 2 Do While i 200 If x Mod 3 0 Then Text1.Text = Text1.Text & Str(x) & Chr(13) & Chr(10) End If x = x + 1 LoopEnd Sub 编写“清除”命令按钮Command2的Click(单击)事件代码:Private Sub Command2_Click() Text1.Text = End Sub 6.1.2 后测型DoLoop循环语句,1. 后测型DoLoop的语法格式 后测型DoLoop循环结构的语法格式为:Do 语句组1 Exit Do 语句组2Loop Whi

12、le | Until 条件2. 后测型DoLoop的执行过程分为当型和直到型:l 当型DoWhile Loop:当条件为真(True)时继续执行循环体,条件为假(False)时,终止循环。l 直到型DoUntil Loop:当条件为假时继续执行循环体,直到条件为真时,终止循环。 在DoLoop中,可以在循环体中放置任意个Exit Do语句,随时跳出DoLoop循环 3. 后测型DoLoop使用示例,【例6-8】输入有效数字的位数,利用下述公式计算圆周率的近似值:设计步骤如下: 1) 建立应用程序用户界面与设置对象属性,如图6-17所示 2) 编写程序代码。 根据流程图,可以写出“计算”命令按钮

13、Command1的Click事件代码为:Private Sub Command1_Click() Dim m As Integer m = Val(Text1.Text) p = 0#: s = 2#: e = 0.1 m Do t = s : p = Sqr(2 + p) : s = s * 2 / p Loop Until Abs(t - s) 0.1 m f = String(m - 1, #) Text2.Text = Format(s, 0. & f) Text1.SetFocusEnd Sub,文本框Text1的GotFocus事件代码:Private Sub Text1_GotF

14、ocus() Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text)End Sub【例6-9】输入两个正整数,求它们的最大公约数。设计步骤如下: 1) 建立应用程序用户界面与设置对象属性,如图6-19所示。,2) 编写程序代码。根据流程图,编写“计算”命令按钮Command1的Click事件代码为:Private Sub Command1_Click() Dim m As Integer, n As Integer m = Val(Text1.Text) n = Val(Text2.Text) If m n Then t = m: m = n:

15、 n = t 交换数据,使大数在前,小数在后 End If Do 求最大公约数 If n = 0 Or m = 0 Then 检验数据范围 MsgBox 请重新输入数据! Exit Do End If,r = m Mod n m = n n = r Loop While r 0 当r0时辗转相除 Label3.Caption = m 输出结果End Suab【例6-10】设华氏温度为h,摄氏温度为s,已知将华氏温度转换为温度的公式为:窗体Form1的Load(载入)事件代码为:Private Sub Form_Load() Dim h As String, s As Single, ts As

16、 String Do,h = InputBox(请输入华氏温度, 华氏温度) 利用输入对话框输入华氏温度 If h Then s = Int(h - 32) * 5 / 9) 计算摄氏温度 MsgBox 摄氏温度为 & Str(s), 0 + 48 + 256, 转换为摄氏温度 End If Loop While h 若输入框中的值不为空,反复计算End Sub 6.3 列表框与组合框 6.1.3 列表框控件1. 列表框的属性 (1) 基本属性 列表框的常用属性有Name、Enabled、Visible、Index等。,(2) List属性 (3) Text属性 (4) ListCount属性

17、 (5) ListIndex属性 (6) Selected属性 (7) Sorted属性 (8) MultiSelect属性2. 列表框的方法AddItem方法 形式如下:对象. AddItem 字符串表达式,位置 (2) Clear方法形式如下:对象. Clear(3) RemoveItem方法。形式如下:对象. RemoveItem 位置3. 列表框使用示例【例6-11】在列表框中,显示200以内能被6整除的自然数。设计步骤如下: 1) 建立用户界面与设置对象属性,2) 编写事件代码。 编写“显示”命令按钮Command1的Click(单击)事件代码:Private Sub Command

18、1_Click() List1.Clear 清空列表框的内容 For n = 1 To 200 If n Mod 6 = 0 Then List1.AddItem n 若n能被6整除,则添到列表框中 Next nEnd Sub 编写“关闭”命令按钮Command2的Click(单击)事件代码:,Private Sub Command2_Click() Unload MeEnd Sub【例6-12】从文本框中输入或从列表框中选择姓名,并且显示结果,如图6-25所示。 设计步骤如下: 1) 建立应用程序用户界面与设置对象属性,2) 编写程序代码。 编写列表框List1的Click事件代码:Priv

19、ate Sub List1_Click() Text1.Text = List1.TextEnd Sub 编写文本框Text1的Change事件代码:Private Sub Text1_Change() Label1.Caption = 您所选择的代表是:End Sub 编写命令按钮Command1的Click事件代码:Private Sub Command1_Click() Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) Label1.Caption = 您所选择的代表是: + Text1.TextEnd Sub,【例6-13】在列表

20、框之间移动数据,如图6-26所示。 设计步骤如下: 1) 建立应用程序用户界面与设置对象属性。 2) 编写程序代码。 编写窗体的Load事件代码:Private Sub Form_Load() List1.AddItem 青菜 List1.AddItem 罗卜 List1.AddItem 豆腐 List1.AddItem 苹果 List1.AddItem 香蕉 List1.AddItem 桔子End Sub 编写命令按钮Command1的Click事件代码:Private Sub Command1_Click() List2.AddItem List1.Text List1.RemoveIte

21、m List1.ListIndexEnd Sub,编写命令按钮Command2的Click事件代码:Private Sub Command2_Click() List1.AddItem List2.Text List2.RemoveItem List2.ListIndexEnd Sub【例6-14】修改例6-13,允许从一个列表框中将选中的多项选项移至另一个列表框,如图6-27所示。2) 修改程序代码。 命令按钮Command1的Click事件代码:Private Sub Command1_Click() i = 0 Do While i List1.ListCount - 1 If List

22、1.Selected(i) = True Then List2.AddItem List1.List(i) List1.RemoveItem i Else i = i + 1 End If LoopEnd Sub,命令按钮Command2的Click事件代码:Private Sub Command2_Click() i = 0 Do While i List2.ListCount - 1 If List2.Selected(i) = True Then List1.AddItem List2.List(i) List2.RemoveItem i Else i = i + 1 End If Lo

23、opEnd Sub 6.1.4 组合框控件 1. 下拉组合框 2. 简单组合框,3. 下拉列表框4. 组合框使用示例【例6-15】利用组合框设计“自动抽奖机”。 设计步骤如下: (1) 建立应用程序用户界面与设置对象属性。 (2) 编写事件代码。 编写组合框Combo1的KeyPress(按键)事件代码:Private Sub Combo1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then 按Enter键 Combo1.AddItem Combo1.Text, 0 接受输入的号码 Combo1.SelStart = 0 设置组合框的起始位置

24、 Combo1.SelLength = Len(Combo1.Text) 设置选择组合框的长度 End If If KeyAscii = 27 Then 按Esc键 If Combo1.ListIndex -1 Then Combo1.RemoveItem Combo1.ListIndex 移去选项 End If End IfEnd Sub,编写“自动抽奖”命令按钮Command1的Click(单击)事件代码,使之可以随机地抽取奖号:Private Sub Command1_Click() Randomize n = Combo1.ListCount 求组合框中的项目数 a = Int(Rnd

25、 * n) 利用随机数函数求随机序号 Combo1.ListIndex = a Label2.Caption = 中奖的号码是: & Chr(13) & Combo1.TextEnd Sub 编写“退出”命令按钮Command2的Click(单击)事件代码:Private Sub Command2_Click() Unload MeEnd Sub,【例6-16】将例6-13中的左列表框改为组合框(下拉列表框),如图6-30所示。 习题 6 6.1 输入初始值,输出100个不能被3整除的数。 6.2 设计程序,求s = 1 + (1 + 2) + (1 + 2 + 3) + + (1 + 2 +

26、 3 + + n)的值。 6.3 设s = 112233nn,求s不大于400000时最大的n。 6.4 设有一张厚为x毫米,面积足够大的纸,将它不断地对折。试问对折多少次后,其厚度可达珠穆朗玛峰的高度(8848米)。 6.5 我国古代数学家张丘建在“算经”里提出一个世界数学史上有名的百鸡问题:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问鸡翁、母、雏各几何?请编写程序,求出结果。 6.6 打印乘法“九九表”,输出结果分别如图6-31所示。,6.7 “水仙花数”是指一个三位数,其各位数的立方和等于该数,如:153 = 13 + 53 + 33 编写程序,输出所有的“水仙花数”(

27、如图6-32所示)。 提示:此题的关键是把任意三位数的每一位数分离出来。设a,b,c分别是三位整数n的百位数、十位数、个位数,则: a = Int(n / 100) b = Int(n a * 100) / 10) c = n a * 100 b * 106.8 求从1000到1100之间的所有素数(如图6-33所示)。,6.9 利用下述公式计算圆周率的近似值:当最后一项的绝对值小于0.000001时停止计算。 6.10 在窗体上输出如图6-34所示的图形。 6.11 马克思曾经做过这样一道趣味数学题:有30个人在一家小饭馆里用餐,其中有男人、女人和小孩。每个男人花了3先令,每个女人花了2先令,每个小孩花了1先令,一共花去50先令。问男人、女人和小孩各有几人(如图6-35所示)? 6.12 利用循环在窗体中显示不同字型大小。显示窗体如图6-36所示。,6.13 用1、2、3、4这4个数字可以组成一个4位数。编写程序,打印出所有可能的4位数(4个数字可以相同),并统计出所组成的4位数的个数。 6.14 用“筛法”找1100之间的全部素数,如图6-37所示。 6.15 利用列表框,编写能对本学期选修课程进行课程添加、修改和删除的应用程序,如图6.18所示。,

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。