Visual Basic.NET程序设计实验实训指导 教学课件 ppt 作者 邱炳城 实验6 数值排序

上传人:E**** 文档编号:89397387 上传时间:2019-05-24 格式:PPT 页数:27 大小:136KB
返回 下载 相关 举报
Visual Basic.NET程序设计实验实训指导 教学课件 ppt 作者  邱炳城 实验6 数值排序_第1页
第1页 / 共27页
Visual Basic.NET程序设计实验实训指导 教学课件 ppt 作者  邱炳城 实验6 数值排序_第2页
第2页 / 共27页
Visual Basic.NET程序设计实验实训指导 教学课件 ppt 作者  邱炳城 实验6 数值排序_第3页
第3页 / 共27页
Visual Basic.NET程序设计实验实训指导 教学课件 ppt 作者  邱炳城 实验6 数值排序_第4页
第4页 / 共27页
Visual Basic.NET程序设计实验实训指导 教学课件 ppt 作者  邱炳城 实验6 数值排序_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《Visual Basic.NET程序设计实验实训指导 教学课件 ppt 作者 邱炳城 实验6 数值排序》由会员分享,可在线阅读,更多相关《Visual Basic.NET程序设计实验实训指导 教学课件 ppt 作者 邱炳城 实验6 数值排序(27页珍藏版)》请在金锄头文库上搜索。

1、2019年5月24日星期五,Visual Basic.NET程序设计实验 实验6 数值排序,2019年5月24日星期五,【功能描述】,从程序窗口的文本框中任意输入的用逗号分隔的十个数值,程序能将它们从小到大进行排序,并在窗口的文本标签中输出排序结果。,2019年5月24日星期五,【实验内容】,1Do-Loop语句及For-Next语句的应用。 2On Error语句的运用。 3Array对象及其应用。,2019年5月24日星期五,【实验目的】,1掌握Do-Loop语句的格式、功能及运用。 2熟悉On Error语句的格式、功能及运用。 3熟悉Array类的属性、方法及其应用。 4掌握字符串的处

2、理方法。,2019年5月24日星期五,【预备知识】,1On Error语句 2Array类 3相关函数,2019年5月24日星期五,【实验步骤】,1创建及保存项目 2“即时”窗口的使用 3窗体设计 4程序设计 5程序调试 6程序改进,2019年5月24日星期五,【问题与思考】-1,1通过联机帮助学习Err对象的有关属性与方法。 2改写如图6-3所示的程序代码中的第16-20行,使数值从大到小排列。 3字符串对象String有Split()和Join()两个方法,试比较它们与Split()和Join()函数的功能及使用方法的异同。,2019年5月24日星期五,【问题与思考】-2,4下面代码实现的

3、功能与如图6-3所示的程序代码实现的功能相同,试分析两者实现方法的异同。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim a(9) As Double, i As Integer Dim b() As String = Split(TextBox1.Text, “,“, 10) Dim x As String = “排序结果:“ & vbCrLf For i = 0 To 9 a(i) = Val(b(i) Next A

4、rray.Sort(a) For i = 0 To 9 x &= a(i) & “, “ Next Label2.Text = Mid(x, 1, x.Length - 2) TextBox1.Focus() End Sub,2019年5月24日星期五,【问题与思考】-3,5通过联机帮助或互联网查询有关资料,采用正则表达式处理字符串的方法,使程序的运行结果如图6-4所示。,2019年5月24日星期五,On Error语句,在实验1中已学习过结构化异常处理的Try语句,除此之外,对于异常处理,还可以使用非结构化异常处理语句On Error来保证程序的正常运行。On Error语句用于指示当程序运

5、行发生错误时应当如何处理。 On Error语句的常用格式是: On Error Resume Next 该语句通常放在一个过程的开始位置,指示程序运行时如果发生错误,则跳过有错误的语句,继续执行下一句。 一般会预测有可能出错的语句,然后调用错误对象Err的错误号属性Number进行异常处理。错误号是一个整数。没有错误时,Err.Number=0。发生错误时,Err.Number0,可由If语句或Select Case语句进行判断并处理。,2019年5月24日星期五,On Error语句 示例,如果用户在文本框TextBox1.Text中输入的内容不是数字,则语句“y = TextBox1.T

6、ext”会发生错误。这时,Err.Number0,由If语句判断处理并退出当前过程。 On Error Resume Next Dim y As Integer y = TextBox1.Text If Err.Number 0 Then MsgBox(“请输入一个数!“) Exit Sub End If 通常,当处理完错误后,如果不使用Exit Sub或Exit Function退出当前过程,则应使用Clear()方法清除Err对象,即执行语句Err.Clear()。,2019年5月24日星期五,Array类,Array类提供创建、操作、搜索和排序数组的方法。 Clear()方法 将数组中的

7、一系列元素设置为默认值。调用格式为: Array.Clear(array, index, length) 其中 array 要进行操作的数组。 index 从第几个元素开始。要求:0 index array.length - 1 length 要处理几个元素。要求:length 0 且 index + length array.length - 1)。 例如,数组A有20个元素,现需要将后面的13个元素设置为默认值,则可使用这样的语句: Array.Clear(A, 7, 13) Copy()方法 将一个数组的一部分元素复制到另一个数组中。常用格式为: Array.Copy (array1,

8、array2, length) 其中,array1为源数组,array2为目标数组,length为要复制的元素个数。例如,将数组A的前10个元素复制到数组B中,则可使用这样的语句: Array.Copy(A, B, 10) Sort()方法 对一维数组中的元素进行排序。常用有格式为: Array.Sort(array),2019年5月24日星期五,Array类 示例,下面代码随机产生20个两位整数,并将它们从小到大排列。 Dim x(19) As Integer For i As Integer = 0 To 19 x(i) = Int(Rnd() * 90 + 10) Next Array.

9、Sort(x),2019年5月24日星期五,Split()函数,将一个字符串按分隔符拆分为一个一维数组。调用格式为: Split(string, delimiter, limit, compare) 其中 string 要拆分的字符串表达式。 delimiter 指定string中的分隔符。默认值为空格。 limit 限制最多拆分出多少个元素。默认值为-1,表示全部。 compare 使用的比较模式。默认值为0(CompareMethod.Binary)。 例如: Split(“62,:89,:15“, “,“) 返回值:“62“ , “:89“ , “:15“ Split(“62,:89,:

10、15“, “:“) 返回值:“62,“ , “89,“ , “15“ Split(“62,:89,:15“, “,:“) 返回值:“62“ , “89“ , “15“ Split(“62,:89,:15“, “,:“, 2) 返回值:“62“ , “89,:15“ Split(“62,:89,:15“, “,:“, 20) 返回值:“62“ , “89“, “15“ Split(““, “, 2) 返回值:“name“, ““,2019年5月24日星期五,Join()函数,与Split()函数相对应,Join()函数的功能是将一维字符串数组按指定分隔符连接成字符串。调用格式为: Join(ar

11、ray, delimiter) 其中,array为要连接的数组,delimiter为分隔符。delimiter可以是任意字符串,默认为空格。 例如,下面代码运行后,变量y的值为“A-B-C“。 Dim p As String() = “A“, “B“, “C“ Dim y As String = Join(p, “-“),2019年5月24日星期五,创建及保存项目,(1)创建项目。启动Microsoft Visual Studio 2005,单击菜单“文件”“新建项目”,打开“新建项目”对话框,在“项目类型”中选择Visual Basic,在“模板”列表中选择“Windows 应用程序”,在“

12、名称”框中输入项目的名称,输入:06_数值排序 ,然后单击“确定”按钮创建项目,如图1-2所示。若项目创建成功,则系统自动为项目添加一个名为Form1的窗体(Form1.vb)。 (2)保存项目。单击菜单“文件”“全部保存”,打开“保存项目”对话框,在“位置”框中输入项目的保存位置,或单击“浏览”按钮选择项目的保存位置。对于较为简单的项目,没有必要单独为解决方案创建目录,因此不选择“创建解决方案的目录”选项。最后单击“保存”按钮保存项目,如图1-3所示。,2019年5月24日星期五,“即时”窗口的使用,按Ctrl+G或单击菜单“调试”“窗口”“即时”,进入“即时”窗口,分别输入下面命令,并观察

13、显示结果。 s = “a,ab,abc,abcd“ y = Split(s, “,“) ? y ? Split(s, “a“) ? Split(s, “ab“) ? Split(s, “,“, 3) ? Join(y) ? Join(y, “=“),2019年5月24日星期五,窗体设计,用户在文本框TextBox1中输入用逗号隔开的数值,然后单击确定按钮Button1,程序对用户输入的内容进行处理,将数值从小到大排列,结果显示在标签Label2中。如果用户按Esc键或单击退出按钮Button2,则关闭程序窗口。,2019年5月24日星期五,“数值排序”窗体及控件的属性设置,2019年5月24日

14、星期五,程序设计Button1的Click事件,当用户单击开始按钮Button1时,声明数组a(9)来保存10个数。首先用变量x来获取用户的输入,然后用Do循环语句将x中的数值逐一取出并保存在数组a中。 为了取出字符串x中的数据,设置两个变量k、p,变量k指向前一个逗号后一字符,变量p指向后一个逗号,那么两个逗号间有p-k个字符,用Mid()函数取出两个逗号间的字符。如图6-2所示。 Mid(x, k, p - k)x = “,234,6789,59,“kp = InStr(k, x, “,“) 取出一个数后,将k移到p后面一个字符,即k = p + 1,然后再搜索下一个逗号,即p = InS

15、tr(k, x, “,“) ,如此往复,直到搜索不到逗号。 数组a初始化完成后,应用Array类的Sort()方法对数组a进行排序。最后用For循环语句将数组a的全部元素连接成字符串再显示在标签Label2中。,2019年5月24日星期五,程序设计字符串的搜索与截取,取出一个数后,将k移到p后面一个字符,即k = p + 1,然后再搜索下一个逗号,即p = InStr(k, x, “,“) ,如此往复,直到搜索不到逗号。,2019年5月24日星期五,程序设计Button1的Click事件代码,2019年5月24日星期五,程序设计Button2的Click事件,用户单击开始按钮Button2时关

16、闭窗体。 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Close() End Sub,2019年5月24日星期五,程序调试,(1)按F5运行程序,检查程序窗口是否不能改变大小,不能最大化,可以最小化。 (2)任意输入3个数,如“34,21,18”,然后单击确定按钮Button1,观察程序运行结果,检查排序结果是否正确。 (3)在输入的最后加逗号,即“34,21,18,”,然后单击确定按钮Button1,观察程序运行结果,检查排序结果是否正确。 (4)任意输入15个数,然后单击确定按钮Button1,观察程序运行结果,检查排序结果是否正确。,2019年5月24日星期五,程序改进,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号