国开学习网电大VisualBasic程序设计形考任务二答案加微信:(1144766066)案

  [复制链接]
查看: 922|回复: 6

4万

主题

4万

帖子

13万

积分

论坛元老

Rank: 8Rank: 8

积分
137733
发表于 2020-12-6 19:48:52 | 显示全部楼层 |阅读模式
【本人姓名】实验3冒泡排序程序.zip
售价:5 金币

下载:0 次
简介:[下载后请重命名添加本人姓名]
登录后购买 在线购买支付后即可下载资料
【上面答案加微信:(1144766066)案为下列试答案加微信:(1144766066)案,请核对试题后再购买下载】www.ybaotk.com雅宝题库
请同学选择课程【第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键继续,程序成功运行,出现如图3.20所示界面。这说明语法错误已基本排除了。但是观察运行结果,发现“排序结果”序列中多出了一个数值0。这种结果并不是我们期望的。
图3.20 有问题的运行结果(13)关闭程序,重新运行,仍然出现图3.20的问题,这说明程序中存在逻辑问题,需要进一步调试。
4设置断点,分析逻辑错误
逻辑错误是最难定位的,对于那些逻辑稍微复杂的程序,常常需要花费大量的时间和精力查找分析。一般要用到设置断点、单步执行和立即调试窗等工具或技术。
(1)单击如图3.21所示位置,设置断点。
图3.21 设置断点(2)按F5键运行程序并输入一组整数,比如5、4、3、2。单击“排序”按钮后,程序将进入中断模式,出现如图3.22所示界面。
图3.22 程序遇到断点(3)在VB集成环境的“立即”窗口中,使用“?”打印strList数组的上界和相关的值,如图3.23所示。当然也可以使用Print、Debug.Print命令,它们等效于“?”。
[图3.23 在“立即”窗中观察变量的值(4)仔细分析不难发现,List1.ListCount的最大值是4,说明数字序列中共有4个数,即5、4、3、2。但是List1.List()的下标是从0开始的,下标最大值应该为3,即:
List1.ListCount – 1
为此,我们需要选择strList()数组的上界和循环次数。
'个性数组声明
ReDim strList(List1.ListCount - 1) As Integer
'修改循环次数
For i = 0 To List1.ListCount - 1
strList(i) = Val(List1.List(i))
Next i
(5)修改后的完整代码及运行结果如图3.24、图3.25[并排这两个图]所示。
图3.24 修改后的代码
图3.25 最终的运行结果

5程序的进一步完善
这个程序经过调试能够正常运行了,但还是存在一些不足,比如我们可以在Text1中输入非整数、字符和汉字等。另外,当重新单击“排序”按钮后,数字序列会被重复添加到List2中。上述情况下,应用程序并不会报错,但这与我们的设计要求是不相符的,因此需要进一步完善程序功能,主要有以下两种措施,这些知识将在后续章节介绍。请同学们先提前思考一下。
(1)通过Keypress事件控制Text1控件的输入,使它只能接收数字。
(2)在“排序”按钮的Click事件中加入List2.Clear语句。



<div class=divbr>

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x





上一篇:电大国家开放大学思想道德修养与法律基础终结性考试一...
下一篇:国开学习网电大VisualBasic程序设计形考任务三答案加微信:(1144766066)案
回复

使用道具 举报

0

主题

3558

帖子

5338

积分

论坛元老

Rank: 8Rank: 8

积分
5338
发表于 2022-3-12 16:38:30 | 显示全部楼层
福建电大形考作业有答案吗?
回复

使用道具 举报

0

主题

3504

帖子

5256

积分

论坛元老

Rank: 8Rank: 8

积分
5256
发表于 2022-3-13 16:15:36 | 显示全部楼层
电大广东开放大学形考作业有答案吗?
回复

使用道具 举报

0

主题

3502

帖子

5254

积分

论坛元老

Rank: 8Rank: 8

积分
5254
发表于 2022-3-17 10:42:52 | 显示全部楼层
一体化电大平台形考作业可以做吗?
回复

使用道具 举报

0

主题

3643

帖子

5465

积分

论坛元老

Rank: 8Rank: 8

积分
5465
发表于 2022-3-17 23:24:33 | 显示全部楼层
奥鹏网考怎么做
回复

使用道具 举报

0

主题

3541

帖子

5312

积分

论坛元老

Rank: 8Rank: 8

积分
5312
发表于 2022-3-17 23:39:55 | 显示全部楼层
奥鹏大连理工大学电大形考作业有答案吗?
回复

使用道具 举报

0

主题

3597

帖子

5396

积分

论坛元老

Rank: 8Rank: 8

积分
5396
发表于 2022-3-19 00:08:59 | 显示全部楼层
甘肃电大形考作业可以做吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩课程推荐
|网站地图|网站地图