专题五 循环结构程序设计(讲义)-《Visual Basic 程序设计》高考备考讲练测(内蒙古)

2025-10-29
| 13页
| 65人阅读
| 0人下载
精品

内容正文:

专题五 循环结构程序设计(讲义) ---《Visual Basic 程序设计》专题复习讲练测 [考纲要求] 1.For 循环 2.Do循环 3.列表框与组合框控件 4.常用算法实例 [课时安排] 2课时 [知识梳理] 一:For循环 1. 语法格式 For 循环变量 = 初值 To 终值 [step 步长] 语句块1 [Exit For] 语句块2 Next [循环变量] 功能:根据指定的循环次数执行循环体 说明: (1)循环变量的初值、终值和步长均是数值表达式。其中步长可以是正数,也可以是负数,但不能为0。当步长略去不写时,默认为1。 (2)利用Exit For语句可提前结束循环。 (3)关键字Next为循环正常结束的终端语句,Next语句中的循环变量必须与For语句中的循环变量一致。 (4)如果循环变量的值在循环体内不被改变,则循环次数由初值,终值和步长的公式为: 循环次数 = Int ((终值-初值)/步长+1) 二:Do循环 1. 前测型Do循环语句的语法格式 Do While | Until <条件> [<语句组1>] [Exit Do] [<语句组2>] Loop 说明: (1) <条件>是条件表达式,为循环的条件,其值为True或False。 (2) 前测型Do循环是先判断条件,再执行循环体。根据条件分为当型和直到型: ①当型Do While...Loop:当条件为True时执行循环体,条件为False时,终止循环。 ②直到型Do Until... Loop:当条件为False时执行循环体,直到条件为True时,终止循环。 (3)在Do循环中,可以在循环体中放置任意个数的Exit Do语句,随时跳出Do循环。 2. 后测型Do循环语句的语法格式 Do [<语句组1>] [Exit Do] [<语句组2>] Loop While | Until <条件> 说明: (1)<条件>是条件表达式,为循环的条件,其值为True或False。 (2)后测型Do循环是执行一次循环体后,再进行条件判断。根据条件分为当型和直到型: ①当型Do ... While Loop:当条件为True时继续执行循环体,条件为False时,终止循环。 ②直到型Do... Until Loop:当条件为False时继续执行循环体,直到条件为True时,终止循环。 三:列表框 列表框ListBox通过显示多个选择项,供用户选择其中一项,达到与用户对话的目的。 1. 常用属性 (1)List:设置或返回列表中选项。该属性是一个字符型数组,存储列表框的项目数据,下标是从0开始的。如:List(0)表达第一项(Listindex=0)的内容。 (2)ListIndex:为整型值,选中的项目的序号,假如列表框可多选,则为最终一次选中项目的序号,没有项目选中时为-1。 (3)ListCount:为整型值,表达项目的数量,ListCount-1是最终一项的下标。其值只能在程序中读取,不能修改。 (4)Selected属性:该属性返回或设置列表框控件中的一种项目的选择状态。该属性是一种逻辑类型的数组。如:List1.Selected(0)=True表达列表框List1的第一种项目被选中。 (5)Text:当前列表中当前选中项的文本内容。 (6)Sorted:设置列表框中的项是否按字母顺序排序,若将该属性值设置为 true,则列表框中的列表项按字母顺序排序。 (7)MultiSelect属性:用于指示是否能够在列表框控件中进行复选以及怎样进行复选。 ①0-None:禁止多项选择,这时在一个列表框中只能选择一项 ②1-Simple:简单多项选择,用鼠标单击或按空格键表示选定或取消选定的一个选择项。 ③2-Extended:扩展多项选择,按住Ctrl键,同时用鼠标单击或按空格键表示选定或取消选定一个选择项,按住Shift键,同时单击鼠标或按住Shift键并移动光标键,就可以从前一个选定的扩展项选择当前选择项,即选定多个连续项。 2. 常用方法 (1) AddItem:向列表框添加一个列表项。 (2) Clear:清空列表框中的所有项。 (3) RemoveItem:从列表框中除去一个项目。 四:组合框 组合框(ComboBox)是组合列表框和文本框的特性而成的控件。它可以像列表框一样,让用户通过鼠标选择所需的项目,也可以像文本框一样,用输入的方式选择项目,但输入的内容不能自动添加到列表框中。 1.常用属性 (1)Style:它是组合框的一个重要属性,其取值为0,1,2,它决定了组合框的3种不同的类型,即下拉组合框(默认)、简单组合框和下拉列表框。 ①0-Dropdown Combo(下拉组合框):禁止多项选择,这时在一个列表框中只能选择一项 ②1-Simple Combo(简单组合框):简单多项选择,用鼠标单击或按空格键表示选定或取消选定的一个选择项。 ③2-Dropdown List(下拉列表框):扩展多项选择,按住Ctrl键,同时用鼠标单击或按空格键表示选定或取消选定一个选择项,按住Shift键,同时单击鼠标或按住Shift键并移动光标键,就可以从前一个选定的扩展项选择当前选择项,即选定多个连续项。 (2)Text:该属性是用户所选项目的文本或直接从编辑区输入的文本。 五:常用算法实例 1. 穷举法 穷举法是指对所有可能的值进行逐一判断,找出其中符合条件要求的解。 百鸡问题:公鸡每只5文钱,母鸡每只3文钱,小鸡3只1文钱,用100文钱买100只鸡,问公鸡、母鸡、小鸡各有多少只? For x = 0 To 20 For y = 0 To 33 z = 100 - x - y If 5 * x + 3 * y + z / 3 = 100 Then Print x, y, z Next y Next x 2. 递推法 递推法”又称为“迭代法”,其基本思想是把一个复杂的计算过程转化为简单过程的多次重复。每次重复都从旧值的基础上递推出新值,并由新值代替旧值。 求斐波那契级数的前20项 Private Sub Command1_click() Dim intNum As Integer intNum = CInt(Text1.Text) If intNum = 1 Or intNum = 2 Then Print "Fibonacci数列的第"; Print intNum; "项的值为"; 1 Else Dim int1 As Integer, int2 As Integer Dim intResult As Long Dim I As Integer int1 = 1: int2 = 1 For I = 3 To intNum intResult = int1 + int2 int1 = int2 int2 = intResult Next Print "Fibonacci数列的第"; intNum; "项的值为"; intResult End If End Sub 3. 辗转相除法 用辗转相除法求两自然数m,n的最大公约数。 分析:求最大公约数的算法思想: (1)对于已知两数m,n,使得m>n; (2) m除以n得余数r; (3)若r=0,则n为最大公约数结束;否则执行(4); (4)mn,nr,再重复执行(2)。 例 求 m=14 ,n=6 的最大公约数. If 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 [真题练讲] 1.执行下面的程序段后,x的值为( ) x=10 For i=1 To 20 Step 3 x=x+i\4 Next I A.24 B.25 C.26 D.27 【答案】B 【解析】x = 10,循环变量i从 1 开始,步长为 3,循环到i ≤ 20。 2.下列程序中 s=s+j 语句共执行了( )次。 Din s As Integer Dim i As Integer, j As Integer For i=2 To 10 Step 2 For j=2 To 5 Step 2 s=s+j Next j Next i Print s A. 10 B. 15 C. 20 D.25 【答案】A 【解析】外层循环变量i从 2 到 10,步长为 2,循环次数为:(10-2)/2 + 1 = 5 次;内层循环变量j从 2 到 5,步长为 2,循环次数为:(5-2)/2 + 1 = 2 次。 3.下面程序段运行后的输出结果是( ) a=2 b=a DO Until a>=5 X=a*b Print Str(a) & "*" & Str(b) & "=" & Str(X) a=a+b b=b+a Loop A.2*1=4 3*5=15 B.2*2=4 4*4=16 C.2*2=4 4*6=24 D.2*2=4 6*4=24 【答案】C 【解析】Do Until a >= 5循环(条件为a >= 5时退出)。 4.设窗体上有一个列表框控件List1,且其中含有若干列表项,则以下能表示当前被选中的列表项内容的是( ) A. List1.ListIndex B. List1.List C. List1.Index D. List1.Text 【答案】D 【解析】本题考查列表框控件的属性。List1.Text用于获取当前选中项的内容;List1.ListIndex表示当前选中项的索引(无内容时为-1);List1.List是存储所有列表项的数组;List1.Index通常指控件在容器中的索引。因此答案选D。 5.设组合框Combo1中有3个项目,则以下能删除最后一项的语句是( ) A. Combo1.RemoveItem Text B. Combo1.RemoveItem 2 C. Combo1.RemoveItem 3 D. Combo1.RemoveItem Combo1.Listcount 【答案】B 【解析】本题考查组合框的RemoveItem方法。组合框的列表项索引从0开始,3个项目的索引分别为0、1、2,最后一项的索引为2;Listcount属性表示列表项的总数,此处为3,若使用Listcount作为参数会超出索引范围。因此答案选B。 6.如果列表框 List1 中只有一个项目被用户选定,则执行语句 debug.print list1.selected(list1.listindex)的结果是( ) A.在立即窗口输出被选定的项目的索引值 B.在立即窗口输出 true C.在窗体上输出被选定的项目的索引值 D.在窗体上输出 true 【答案】B 【解析】List1.ListIndex返回当前选中项的索引值,List1.Selected(索引)是一个布尔属性,用于判断指定索引的项目是否被选中,Debug.Print的功能是将结果输出到立即窗口,而非窗体。 [限时练习] 1.在Visual Basic中,组合框是文本框和( )特性的组合。 A.复选框 B.标签 C.列表框 D.目录列表框 【答案】C 【解析】列表框(ListBox)提供项目列表供选择,组合框的下拉列表功能正源于此,与文本框结合形成组合框。 2.以下程序输出的结果为( )。 X=1 y=4 Do Until y>4 x=x*y y=y+1 Loop Print x A.4 B.8 C.12 D.16 【答案】A 【解析】初始值:x = 1,y = 4。进入Do Until y > 4循环(条件为y > 4时退出)。 3.在过程中有语句For I=N1 To N2 Step N3,在该循环体内有下列四条语句,其中( )会影响循环执行的次数。 ①N1=N1+I ②N2=N2+N3 ③I=I+N3 ④N3=2*N3 A.①② B.①②③ C.③ D.①②③④ 【答案】C 【解析】在For I = N1 To N2 Step N3循环中,循环的起始值(N1)、终止值(N2)和步长(N3)在循环开始时已被固定,后续对这三个变量的修改(①②④)不会影响循环的执行次数。 4.假如列表框(List1)有四个数据项,那么把数据项“China”添加到列表框的最后,应使用( )语句。 A.List1.AddItem 3, "China" B.List1.AddItem "China", List1.List1Count-1 C.List1.AddItem "China", 3 D.List1.AddItem "China" 【答案】D 【解析】在 Visual Basic 中,列表框的AddItem方法用于添加项目,语法为:列表框.AddItem 项目内容 [, 索引];若省略索引参数,项目将被添加到列表的末尾。 5.以下程序段的运行结果是( )。 Private Sub Form_Click() Dim s As Long, f As Long Dim n As Integer, i As Integer f = 1 n = 4 For i = 1 To n f = f * i s = s + f Next i Print "s="; s End Sub A. 33 B. 34 C. 35 D. 36 【答案】A 【解析】初始值:s = 0(默认值),f = 1,n = 4,循环变量i从 1 到 4。 6.将数据项“China”添加到列表框(List)中成为第一项应使用( )语句。 A.List1.AddItem”China”,0 B.List1.AddItem”China”,l C.List1.AddItem 0,”China” D.List1.AddItem 1,”China” 【答案】A 【解析】索引参数指定项目插入的位置,列表项的索引号从 0 开始。 7.在下列说法中,正确的是( ) A.通过适当的设置,可以在程序运行期间,让时钟控件显示在窗体上 B.在列表框中不能进行多项选择 C.在列表框中能够将项目按字母顺序从大到小排列 D.框架也有 Click和 DblClick事件 【答案】D 【解析】时钟控件(Timer)是不可见控件;列表框(ListBox)的MultiSelect属性可设置为允许多项选择;列表框的Sorted属性仅能设置项目按字母顺序从小到大排列,无法直接设置为从大到小排列。 8.对于列表框控件,设置( )属性可以在属性窗口添加列表项。 A. List B. Caption C. ListIndex D. Text 【答案】A 【解析】List属性是一个字符串数组,用于存储列表框中的所有列表项,可在属性窗口中直接编辑添加;Caption属性用于设置控件的标题;ListIndex表示当前选中项的索引;Text表示当前选中项的文本。因此答案选A。 9.设组合框Combo1中有10个项目,则能删除最后一项的语句是( )。 A.Combo1.RemoveItem 9 B.Combo1.RemoveItem 10 C.Combo1.RemoveItem 11 D.Combo1.RemoveItem Combo1.ListCount 【答案】A 【解析】在 Visual Basic 中,组合框(ComboBox)的RemoveItem方法用于删除指定索引的项目,语法为:组合框.RemoveItem 索引;组合框中项目的索引从 0 开始,若有 10 个项目,其索引依次为 0 到 9,最后一项的索引为 9。 10.在Visual Basic中,获取组合框Combo1中最后一个列表项序号的表达式是_________。 【答案】 Combo1.ListCount-1 【解析】在 Visual Basic 中,组合框的ListCount属性用于返回列表中项目的总数。由于列表项的索引号从 0 开始。 11.如果列表框的ListCount 属性为 9,则列表框的最后一项的ListIndex值为__________。 【答案】8 【解析】在 Visual Basic 中,列表框的ListCount属性表示列表中项目的总数,而ListIndex属性表示当前选中项的索引号,索引号从 0 开始。 12.下列程序的功能是判断一个正整数是否为素数。请将程序补充完整。 Private Sub Command1_Click() Dim n As Integer n = InputBox("请输入一个大于3的正整数") s = 0 For m = 3 To ____(1)____ If n Mod m = ___(2)_____ Then s = 1 Exit For End If Next m If s = ____(3)____ Then Print n; "是一个素数" Else Print n; "不是一个素数" End If End Sub 【答案】 (1)Sqr(n)(或n-1) (2)0 (3)0 【解析】本题考查素数判断算法。素数是除1和自身外无其他因数的数,循环检查到sqrt(n)即可(效率更高);若n能被m整除(余数0),则不是素数(s=1);s=0时表示未找到因数,是素数。 [内容小结] 1.本章节是关于循环结构的知识点,关于循环结构的执行过程,可以利用程序流程图对相应知识点进行梳理总结。 2.本章节的重点是For语句、Do while语句的执行过程;组合框、列表框控件的属性和方法。 3.本章节的难点在于对循环结构的灵活应用。 4.本章节的知识点的学习对于VB知识的综合应用有重要的作用。 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

专题五 循环结构程序设计(讲义)-《Visual Basic 程序设计》高考备考讲练测(内蒙古)
1
专题五 循环结构程序设计(讲义)-《Visual Basic 程序设计》高考备考讲练测(内蒙古)
2
专题五 循环结构程序设计(讲义)-《Visual Basic 程序设计》高考备考讲练测(内蒙古)
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。