- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电大VisualBasic程序设计形考任务二答案.docx
国开学习网电大VisualBasic程序设计形考任务二答案
答案已嵌入本文,双击即可打开,下载后请重命名添加本人姓名上传即可。
请同学选择课程【第3章】-【实战演练】“实验3 冒泡排序程序”,在VB集成开发环境中认真完成实验。
实验完成后,将调试好的程序保存在以“姓名+实验名称”命名的文件夹下,并将该文件夹压缩成.rar或者.zip格式进行提交。 本次实验满分15分,提交后需要辅导教师批阅打分。
实验目的
1理解冒泡排序算法。
2掌握循环、分支结构的使用方法。
3掌握断点设置、监视跟踪等调试方法,深入分析该程序的运行过程、值的变化情况。
实验内容
本实验开发一个“冒泡排序”程序,并通过这个程序,巩固一下第2章所学的程序调试方法。这个程序的运行逻辑是:首先用户在Text1中输入一个整数,单击“添加到初始序列中”按钮后将该整数添加到“初始序列”List1中,如此多次后,再单击“排序”按钮,在List2中显示排序结果,我们期望的运行结果如图3.10所示。
图3.10 期望的程序运行结果
实验步骤
1界面设计
(1)首先请同学们参照图3.11完成排序程序的界面设计。
图3.11 排序程序的界面设计
2编写事件代码
“添加到初始序列中”按钮的Click事件:
Private Sub Command1_Click()
List1.AddItem Text.Text
End Sub
“排序”按钮的Click事件;
Private Sub Command2_Click()
Dim i, j As Integer
定义数组,以List1的项目个数为数组维数
Dim strList(List1.ListCount) As Integer
定义中间临时变量,用于数据交换
Dim strTmp As Integer
将List1中的项目导入到strList数组中
For i = 0 To List1.ListCount
strList(i) = List1.List(i)
Next i
按“冒泡”算法完成排序工作
For i = 0 To UBound(strList)
For j = i + 1 To UBound(strList)
If strList(i) strList(j) Then
strTmp = strList(i)
strList(i) = strList(j)
strList(j) = strTmp
End If
Next j
Next i
将排序结果输出到List2中
For i = 0 To UBound(strList)
List2.AddItem strList(i)
Next i
End Sub
3运行程序并调试程序语法错误
(1)运行程序,在Text1文本框中输入一个整数,比如1,然后单击“添加到初始序列中”按钮,此时会出现如图3.12所示的错误提示。
[i图3.12 实时错误
(2)单击“调试”按钮,进入中断模式,VB编译器将自动标识出引发错误的语句行,如图3.13所示窗体。
图3.13 自动定位引发错误的语句行
(3)分析错误原因,很容易发现该行语句的正确写法应该是:
List1.AddItem Text1.Text
(4)修改错误后,按F5键继续执行程序,将出现如图3.14所示界面。
图3.14 排序程序运行界面
(5)依次输入整数序列21、9、8、6后,将出现如图3.15所示界面。
图3.15 输入初始序列后的界面
(6)单击“排序”按钮后,又出现如图3.16所示的运行错误。
图3.16 编译错误
(7)单击“确定”按钮后,再次进入中断模式,编译器以加重显示的形式指出了引发错误的位置,如图3.17所示。
图3.17 以加重显示的形式定位错误
(8)分析如图3.16所示的错误提示“要求常数表达式”后,发现引用错误的原因是不能用变量作为数组的下标,即下列数组声明语句不符合VB语法约定:
Dim strList(List1.ListCount) As Integer
为此我们作如下选择,即采用动态数组声明的方法。
Dim strList() As Integer
ReDim strList(List1.ListCount) As Integer
(9)选择完成后,按F5键继续执行,又会出现如图3.18所示的错误提示。
图3.18 类型不匹配错误提示
(10)单击“调试”按钮后,错误定位如图3.19所示。
图3.19 类型不匹配错误定位
(11)分析错误原因发现,我们将数组strList()声明为Integer数据类型,而List1.List()表示的是字符型数据,VB无法进行自动类型转换,因此我们只能通过Val函数进行转换:
strList(i) = Val(List1.List(i))
(12)按F5键继续,程序
文档评论(0)