




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 5 章,循环结构程序设计,采用循环程序可以解决一些按一定规则重复执行的问题。例如,统计一个班几十名学生,甚至全校几千名学生的学期成绩,如求平均分、不及格人数等 本章主要内容,第5章 循环结构程序设计(P93),Do.Loop,For.Next,退出,循环出口语句(Exit),循环语句,多重循环,列表框与组合框,常用算法,程序举例,循环是指在指定的条件下多次重复执行一组语句 被重复执行的一组语句称为循环体 VB提供的循环语句有 For.Next Do.Loop While.Wend For Each.Next 最常用的是For.Next和Do.Loop语句,For.Next循环主要是用在知道循环次数的情况下;若事先不知道循环次数,可以使用当型循环Do.Loop 5.1.1 For.Next循环语句 (计数控制) For 循环变量初值 To 终值 Step 步长值 循环体 Next 循环变量,5.1 循环语句 示例 求S = 1 + 2 + 3 + + 8,s = 0 For k = 1 To 8 s = s + k Next k Print “s=“; s 程序运行结果如下: s36,K为循 环变量,例5.2 求S = 1 + 2 + 3 + 8,把结果显示在窗体上。 s = 0 累加器初值为0 For k = 1 To 8 s = s + k 累加器,在原有和的基础上每次加一个数 Next Print “s= “; s 程序执行结果是:s36 分析,算法:通常采用重复运算来解决问题 累加、累乘等 设置循环变量 使每次运算变量值有所不同 控制循环 计数控制或条件控制,循环结构程序的实现,求 S = 1 + 2 + 3 + + 8 s = 0 For k = 1 To 8 s = s + k Next k Print “s=“; s 把长式子改为8次加,采用Print直接在窗体上输出结果,程序代码: Private Sub Form_Load() Show t = 1 For c = 1 To 8 t = t * c Next c Print “T=“; t End Sub 程序运行结果是: T40320 语句 t=t*c 称为乘法器。先将t置1(不能置0)。 在循环程序中,常用累加和累乘来完成各种计算任务,例5.3 求T = 8! = 1238,例5.3,例5.3 T = 8! = 123 8,把结果显示在网页上。 t = 1 累乘器初值为 For c = 1 To 8 t = t * c 累乘器,在原有积的基础上每次乘一个数 Next Print “T=“; t 程序执行结果是:T40320 分析,采用Print直接在窗体上输出结果,程序代码如下: Private Sub Form_Load() Show Dim pi As Single, c As Integer, s As Integer pi = 0 s = 1 s表示加或减运算 For c = 1 To 10000 Step 2 pi = pi + s / c s = -s 交替改变加、减号 Next c Print “pi=“; pi * 4 End Sub 程序运行结果是: 3.141397,例5.4 用/41 - 1/3 + 1/5 - 1/7 + 级数求的近似值 (取前5000项来进行计算),例5.4,For t = 1 To 3 If t = 1 Then a = 3 If t = 2 Then a = 2 If t = 3 Then a = 1 Print a; Next t Print t A. 3 3 3 3 B. 1 2 3 4 C. 3 2 1 4 D. 1 1 1 4,下列程序的运行结果是?,想一想,思考题,D,5.1.2 Do While.Loop语句 (条件控制)(P96) Do While|Until 条件 循环体 Loop 掌握以下格式: Do While 条件 当条件满足的时候执行循环体 循环体 Loop 循环返回到do,示例 求S = 1 + 2 + 3 + + 8,n = 1: s = 0 Do While n = 8 s = s + n n = n + 1 Loop Print “s=“; s,专设变量n来控制循环,采用Do While.Loop语句 采用Print直接在窗体上输出结果,程序代码: Private Sub Form_Load() Dim n As Integer, s As Long Show n = 1: s = 0 Do While n = 100 s = s + n * n n = n + 1 Loop Print “s=“; s End Sub 程序运行结果: S338350,例5.5 求 S12 + 22 + + 1002,例5.5,运行下面程序后,循环体执行了_次。 i = 0: n = 1 Do While i 32 i = (i + 1) * (i + 1) n = n + 1 Loop Print n A. 2 B. 3 C. 4 D. 5,请回答问题,想一想,思考题,C,用于提前退出循环 格式: Exit For|Do 功能:直接从For循环或Do循环中退出 当程序运行时遇到Exit语句时,就不再执行循环体中的任何语句而直接退出,转到循环语句(Next、Loop)的下面继续执行,5.1.4 循环出口语句,把每次输入的数累加。当输入-1时结束程序的运行 创建应用程序的用户界面和设置对象属性 编写程序代码 Private Sub Form_Load() Show Sum = 0 Do While True 条件为真,循环无终止进行下去 x = Val(InputBox(“请输入要加入的数(-1表示结束)“, “输入数据“) If x = -1 Then Exit Do End If Sum = Sum + x Text1.Text = Sum Loop MsgBox (“累加运算结束“) End Sub 以-1作为“终止循环标志”,例5.8 设计一个“加法器”程序,例5.8,5.3 列表框与组合框(P103),列表框和组合框都能为用户提供若干个选项,供用户从中任意选择 5.3.1 列表框(ListBox) List属性:字 符型数组, 存放列表 框的表项 数组的下标从0开始。 例如,List1.List(0)的值为“教授”, List1.List(1)的值为“副教授” 。 ListCount属性:表项数目 Text属性:当前选定表项的文本内容 ListIndex属性:返回已选定表项的顺序号(索引)。若未选定任何项,则ListIndex的值为-1 Selected属性:逻辑型数组,表示列表框中某一表项是否被选中,例5.12b,假设列表框List1中有四个表项,并已选定第2项,则 有: List1.ListIndex 为1 List1.Text的值为”副教授” List1.Selected(1)为True,方法 (1) AddItem方法:用于把一个列表项加入列表框 格式: 对象.AddItem 列表项,索引 举例:List1.AddItem “海南省“ ,28 (2) Clear方法:用于清除列表框中的所有项目 (3) RemoveItem方法:用于删除指定的列表项 采用以下方法,可为列表框List1赋值: (1)在属性窗口中设置 (2)利用AddItem赋值 (3) 利用List属性赋值 List1.AddItem “教授” List1.List(0)= “教授” List1.AddItem “副教授” List1.List(1)= “副教授” List1.AddItem “讲师” List1.List(2)= “讲师” List1.AddItem “助教” List1.List(3)= “助教”,列表框表项的输出 (1) 用鼠标单击列表框内某一表项,则该表项值存放在Text属性中。 例如:x = List1.Text 把表项值存放在x变量中 (2) 指定索引号来取表项的内容,例如: List1.ListIndex = 3 x = List1.Text (3) 直接从数组List()中读取,例如: x = List1.List(5),(1)创建应用程序的用户界面和设置对象属性 用户先在左列表框(List1)选择一个或多个选修课,当单击“显示”按钮时,在右列表框(List2)中将显示出用户选中的所有课程。单击“清除”按钮时,将清除右列表框中的内容 (2)编写程序代码,例5.13 设计一个选课程序,MultiSelect属性值为2,例5.13,Private Sub Form_Load() List1.AddItem “电子商务“ List1.AddItem “网页制作“ List1.AddItem “Internet简明教程“ List1.AddItem “计算机网络基础“ List1.AddItem “多媒体技术“ End Sub Private Sub Command1_Click() “显示“按钮单击事件 List2.Clear 清除列表框的内容 For i = 0 To List1.ListCount - 1 逐项判断 If List1.Selected(i) Then 真时为选定 List2.AddItem List1.List(i) End If Next i End Sub Private Sub Command2_Click() “清除“按钮单击事件 List2.Clear End Sub,(1)分析:判别条件为 (n Mod 14=0) And (n Mod 10=8) (2)创建应用程序的用户界面和设置对象属性,例5.12 设计一程序,找出三位数中能被14整除且个位数为8的自然数,把这些自然数显示在列表框中,其个数显示在标签中。,例5.12,(3)编写程序代码 编写的“显示”按钮Click事件过程代码: Private Sub Command1_Click() “显示” List1.Clear For n = 100 To 800 If (n Mod 14 = 0) And (n Mod 10 = 8) Then List1.AddItem n End If Next n Label1.Caption = “符合条件的自然数的个数为:“ _ & List1.ListCount End Sub,允许从已有的选项中进行选择,还允许输入列表中不包括的内容 列表框和文本框的组合 具有列表框和文本框的大部分属性和方法。独有的一些属性: (1)Style属性:该属性取值为0,1或2,分别决定了组合框的三种不同类型 下拉组合框(Dropdown Combo):允许选择或输入新数据 简单组合框(Simple Combo): 允许选择或输入新数据 下拉列表框(Dropdown List): 只允许选择,不能输入新数据,5.3.2 组合框,(2)Text属性:该属性是用户所选定项目的文本或直接从文本框输入的文本,(1)创建应用程序的用户界面和设置对象属性 窗体上含有Combo1,Combo2,Combo3三个组合框,其Style属性从左至右分别为0、1和2,即除了“内存”容量大小只能从列表中选择外,其余内容既可以从列表中选择,也可以由用户输入。 在属性窗口中输入相关数据,例5.14 在窗体上设置3个组合框,用于选择微机部分配置, 包括CPU/主频、硬盘及内存。,图片框,设计界面,运行界面,例5.14,(2)编写程序代码 Private Sub Form_Load() Combo1.Text = Combo1.List(0) Combo2.Text = Combo2.List(0) Combo3.Text = Combo3.List(0) End Sub Private Sub Command1_Click() “确定”按钮的事件过程 Picture1.Cls Picture1.Print “微机的基本配置“ Picture1.Print String(20, “=“) Picture1.Print “CPU:“; Combo1.Text Picture1.Print “硬盘(GB):“; Combo2.Text Picture1.Print “内存(MB):“; Combo3.Text End Sub,(1)创建应用程序的用户界面 (2)设置对象属性 组合框的Style属性为0,TabIndex(键序)为0 两个标签;四个命令按钮; 一个文本框Text1,用来显示当前的选修课总课程数,例5.20 编制程序,把一批课程名放入组合框中,再对组合框进行项目显示、添加、删除、全部删除等操作,例5.20,(3)编写程序代码 Private Sub Form_Load() Combo1.AddItem “电子商务“ Combo1.AddItem “网页制作“ Combo1.AddItem “Internet简明教程“ Combo1.AddItem “计算机网络基础“ Combo1.AddItem “多媒体技术“ Combo1.Text = “ 置空值 Text1.Text = Combo1.ListCount 表项个数 End Sub Private Sub Command1_Click() ”添加” If Len(Combo1.Text) 0 Then Combo1.AddItem Combo1.Text Text1.Text = Combo1.ListCount End If Combo1.Text = “ Combo1.SetFocus End Sub,Pr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【教案版】小学二班级上册 球类活动2
- 2025年电气工程师中级面试实战指南及模拟题答案详解
- 2025年熔化焊接工艺考试宝典与模拟题集
- 2025年营养师中级考试指南与备考策略
- 2025年电子商务运营专家初级面试预测题与解析
- 2025年电子商务网络安全工程师面试秘籍与预测题
- 电力基础安全知识培训课件
- 2025年护士执业资格高级考试试题集及答题技巧
- 2025年烈士纪念设施保护单位招聘面试常见问题及答案
- 2025年山东省青岛李沧区中考化学二模试卷
- 公司之间罚款协议书
- T/CECS 10246-2022绿色建材评价智能坐便器
- 2025年中国铂金属制品市场现状分析及前景预测报告
- 2025-2030年中国硅酸钇镥(LYSO)市场深度调查与发展前景预测报告
- TSG 23-2021气瓶安全技术规程
- 2025年渠道管理及维护工技能资格知识考试题与答案
- CCF全国青少年信息学奥林匹克联赛NOIP 2024真题
- 社区健康教育知识讲座
- 监护学徒协议书范本
- JISG3141-2017冷轧钢板及钢带
- 2025届苏锡常镇高三语文一模作文解读及范文:我会洗碗呀
评论
0/150
提交评论