Visual-Basic程序设计综合教程第5章-数组.ppt
《Visual-Basic程序设计综合教程第5章-数组.ppt》由会员分享,可在线阅读,更多相关《Visual-Basic程序设计综合教程第5章-数组.ppt(64页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第5章章 数组数组 在用计算机解决实际问题时,经常会遇在用计算机解决实际问题时,经常会遇到对批量数据进行处理的情况,如为了统到对批量数据进行处理的情况,如为了统计计100个学生的成绩,按简单变量来处理会个学生的成绩,按简单变量来处理会很不方便,由此引入了数组,极大的提高很不方便,由此引入了数组,极大的提高了此类问题的处理效率。本章以数组对批了此类问题的处理效率。本章以数组对批量数据的处理为例,介绍数组的概念及其量数据的处理为例,介绍数组的概念及其应用、部分常用控件列表框和组合框,及应用、部分常用控件列表框和组合框,及直线和形状控件。直线和形状控件。【主要内容主要内容】掌握数组的基本概念及其使
2、用掌握数组的基本概念及其使用掌握数组的基本概念及其使用掌握数组的基本概念及其使用 掌握控件掌握控件掌握控件掌握控件listBox,ComBoxlistBox,ComBox的常用属性及的常用属性及的常用属性及的常用属性及其方法的使用其方法的使用其方法的使用其方法的使用 掌握控件掌握控件掌握控件掌握控件Line,ShapeLine,Shape的常用属性及基本的常用属性及基本的常用属性及基本的常用属性及基本应用。应用。应用。应用。5.1 引例引例5.2 数组数组5.3 控件数组控件数组5.4 直线直线(Line)与形状与形状(Shape)5.5 列表框列表框(ListBox)与组合框与组合框(Com
3、boBox)本章小结本章小结【例例5.1】设设计计一一个个用用于于对对学学生生成成绩绩排排名名的的应应用用程序。程序运行界面如下图程序。程序运行界面如下图5.1(a)所示。)所示。5.1 引例引例图图5.1(a)【例例5.1】运行结果运行结果操作步骤:操作步骤:(1)(1)设计用户界面设计用户界面设计用户界面设计用户界面 根据界面设计要求,创建如图根据界面设计要求,创建如图根据界面设计要求,创建如图根据界面设计要求,创建如图5.15.1(b b)所示用户界)所示用户界)所示用户界)所示用户界面。将所需控件:两个标签(面。将所需控件:两个标签(面。将所需控件:两个标签(面。将所需控件:两个标签(
4、LabelLabel),两个列表框两个列表框两个列表框两个列表框(ListboxListbox)和一个命令按钮()和一个命令按钮()和一个命令按钮()和一个命令按钮(commandcommand)分别放)分别放)分别放)分别放到适当位置,进行相应的属性设置。具体控件属到适当位置,进行相应的属性设置。具体控件属到适当位置,进行相应的属性设置。具体控件属到适当位置,进行相应的属性设置。具体控件属性设置如下表性设置如下表性设置如下表性设置如下表5.15.1所示。所示。所示。所示。图图5.1(b)【例例5.1】用户界面用户界面控件名称控件名称(name)属性属性属性属性值值窗体(窗体(Form1)ca
5、ption学生成学生成绩绩排名排名标签标签(Label1)caption排名前数据排名前数据标签标签(Label2)caption排序后名次排序后名次命令按命令按钮钮(Command1)caption输输入数据并排入数据并排名名(2)(2)代码编写代码编写代码编写代码编写分析:设置好所需界面后编写相应的事件过程,本例主要事件过分析:设置好所需界面后编写相应的事件过程,本例主要事件过分析:设置好所需界面后编写相应的事件过程,本例主要事件过分析:设置好所需界面后编写相应的事件过程,本例主要事件过程是程是程是程是Command1Command1的的的的ClickClick事件。该事件要求完成:事件。
6、该事件要求完成:事件。该事件要求完成:事件。该事件要求完成:通过输入对话框输入各学生的姓名和成绩,并把当前输入通过输入对话框输入各学生的姓名和成绩,并把当前输入通过输入对话框输入各学生的姓名和成绩,并把当前输入通过输入对话框输入各学生的姓名和成绩,并把当前输入的数据显示在左列表框以便查对,输入完毕后,开始对输入的的数据显示在左列表框以便查对,输入完毕后,开始对输入的的数据显示在左列表框以便查对,输入完毕后,开始对输入的的数据显示在左列表框以便查对,输入完毕后,开始对输入的数据按成绩进行排序,最后把排序后的数据显示在右列表框内。数据按成绩进行排序,最后把排序后的数据显示在右列表框内。数据按成绩进
7、行排序,最后把排序后的数据显示在右列表框内。数据按成绩进行排序,最后把排序后的数据显示在右列表框内。此算法的关键在于如何排序,排序的方法有多种,有选择此算法的关键在于如何排序,排序的方法有多种,有选择此算法的关键在于如何排序,排序的方法有多种,有选择此算法的关键在于如何排序,排序的方法有多种,有选择法,冒泡排序法等。法,冒泡排序法等。法,冒泡排序法等。法,冒泡排序法等。对对对对n n个数个数个数个数a(1)a(1)a(na(n),),采用选择排序法的算法是:采用选择排序法的算法是:采用选择排序法的算法是:采用选择排序法的算法是:n n个数个数个数个数a(1)a(1)a(na(n),),采用选择
8、排序法的算法是:采用选择排序法的算法是:采用选择排序法的算法是:采用选择排序法的算法是:先在先在先在先在n n个数中选最小数,放在数组的第个数中选最小数,放在数组的第个数中选最小数,放在数组的第个数中选最小数,放在数组的第1 1个元素中,个元素中,个元素中,个元素中,即:取第即:取第即:取第即:取第1 1个数,与后面个数,与后面个数,与后面个数,与后面n-1n-1(即(即(即(即2 2与与与与n n)个数逐个)个数逐个)个数逐个)个数逐个比较。若第比较。若第比较。若第比较。若第1 1个数大,则个数大,则个数大,则个数大,则a(1)a(1)与参与比较的数组元与参与比较的数组元与参与比较的数组元与
9、参与比较的数组元素中的值进行互换,再将互换后的第素中的值进行互换,再将互换后的第素中的值进行互换,再将互换后的第素中的值进行互换,再将互换后的第1 1个数与剩下个数与剩下个数与剩下个数与剩下的数据比较,直到最后。的数据比较,直到最后。的数据比较,直到最后。的数据比较,直到最后。再在第再在第再在第再在第2 2至至至至n n个元素中,选最小数,放在第个元素中,选最小数,放在第个元素中,选最小数,放在第个元素中,选最小数,放在第2 2个数个数个数个数组元素中。组元素中。组元素中。组元素中。取第取第取第取第2 2个数,与后面个数,与后面个数,与后面个数,与后面n-2n-2(即(即(即(即3 3到到到到
10、n n)个数逐个比较。)个数逐个比较。)个数逐个比较。)个数逐个比较。若第若第若第若第2 2个数大,则互换,直到最后。个数大,则互换,直到最后。个数大,则互换,直到最后。个数大,则互换,直到最后。重复以上步骤,直至在最后两个数中选取最小数,重复以上步骤,直至在最后两个数中选取最小数,重复以上步骤,直至在最后两个数中选取最小数,重复以上步骤,直至在最后两个数中选取最小数,放在第放在第放在第放在第n-1n-1数组元素中。数组元素中。数组元素中。数组元素中。最后第最后第最后第最后第n n个元素已是最大数了。个元素已是最大数了。个元素已是最大数了。个元素已是最大数了。说明:说明:说明:说明:(1 1)
11、在设计界面时除了以前用过的命令按钮和标签以)在设计界面时除了以前用过的命令按钮和标签以)在设计界面时除了以前用过的命令按钮和标签以)在设计界面时除了以前用过的命令按钮和标签以外,还用到列表框(外,还用到列表框(外,还用到列表框(外,还用到列表框(LlistboxLlistbox)控件)控件)控件)控件,这个控件及其这个控件及其这个控件及其这个控件及其相关的内容将在本章作详细的讲解。相关的内容将在本章作详细的讲解。相关的内容将在本章作详细的讲解。相关的内容将在本章作详细的讲解。(2 2)编写代码时出现的)编写代码时出现的)编写代码时出现的)编写代码时出现的 Dim Dim Name(nName(
12、n)as string)as string属于属于属于属于数组的定义,具体相关数组的使用及有关概念是本数组的定义,具体相关数组的使用及有关概念是本数组的定义,具体相关数组的使用及有关概念是本数组的定义,具体相关数组的使用及有关概念是本章的主要内容之一。章的主要内容之一。章的主要内容之一。章的主要内容之一。(3 3)排序交换数据时,应让姓名和成绩同时交换,若)排序交换数据时,应让姓名和成绩同时交换,若)排序交换数据时,应让姓名和成绩同时交换,若)排序交换数据时,应让姓名和成绩同时交换,若只交换成绩,则最终结果会张冠李戴。只交换成绩,则最终结果会张冠李戴。只交换成绩,则最终结果会张冠李戴。只交换成
13、绩,则最终结果会张冠李戴。【例例5.2】在在窗窗体体上上显显示示6种种可可以以使使用用的的形形状状,通通过过控控件件数数组组来来实实现现,运运行行结结果果如如图图5.2(a)所所示:示:图图5.2(a)【例例5.2】运行结果运行结果操作步骤如下:操作步骤如下:(1 1)设计用户界面:)设计用户界面:)设计用户界面:)设计用户界面:根据程序的运行结果,用户可设计如图根据程序的运行结果,用户可设计如图根据程序的运行结果,用户可设计如图根据程序的运行结果,用户可设计如图5.25.2(b b)所示)所示)所示)所示的界面。的界面。的界面。的界面。图图5.2(b)【例例5.2】用户界面用户界面设计过程如
14、下:设计过程如下:设计过程如下:设计过程如下:先将控件先将控件先将控件先将控件ShapeShape放置在窗体上,并将其激活;放置在窗体上,并将其激活;放置在窗体上,并将其激活;放置在窗体上,并将其激活;执行复制命令(执行复制命令(执行复制命令(执行复制命令(Ctrl+CCtrl+C),将该控件复制;),将该控件复制;),将该控件复制;),将该控件复制;执行粘贴命令执行粘贴命令执行粘贴命令执行粘贴命令(Ctrl+VCtrl+V),将显示一个对话框,询,将显示一个对话框,询,将显示一个对话框,询,将显示一个对话框,询问问问问“已经有一个控件为已经有一个控件为已经有一个控件为已经有一个控件为 Sha
15、pe1Shape1,是否创建控,是否创建控,是否创建控,是否创建控件数组?件数组?件数组?件数组?”选择选择选择选择“是是是是”,窗体左上角将出现一个控件,它就,窗体左上角将出现一个控件,它就,窗体左上角将出现一个控件,它就,窗体左上角将出现一个控件,它就是控件数组的第二个元素。是控件数组的第二个元素。是控件数组的第二个元素。是控件数组的第二个元素。执行粘切命令执行粘切命令执行粘切命令执行粘切命令(Ctrl+VCtrl+V),建立控件数组的其它元,建立控件数组的其它元,建立控件数组的其它元,建立控件数组的其它元素。将其放在合适的位置并可用菜单栏的素。将其放在合适的位置并可用菜单栏的素。将其放在
16、合适的位置并可用菜单栏的素。将其放在合适的位置并可用菜单栏的“格式格式格式格式”对其进行设置对其进行设置对其进行设置对其进行设置。(2)编写代码)编写代码 在窗体中只放置控件数组,而要输入对应的在窗体中只放置控件数组,而要输入对应的标号需通过标号需通过print方法来实现,对于方法来实现,对于Shape1控件控件数组中各元素的形状由数组中各元素的形状由Shape控件的控件的Shape属性属性来完成,形状的填充由来完成,形状的填充由Shape控件的控件的FillStyle属属性实现,具体的过程如下:性实现,具体的过程如下:Private Sub Form_Click()FontSize=12Cu
17、rrentX=280Print 0;设置形状对应的标号设置形状对应的标号For i=1 To 5 Shape1(i).Left=Shape1(i-1).Left+800Shape1(i).Shape=i 设置设置shape1控件数组的控件数组的形状形状Shape1(i).FillStyle=i+2 填充填充shape1控件数组控件数组Shape1(i).Visible=True 使得使得shape1(i)可见可见CurrentX=CurrentX+500Print i;Next iEnd Sub (3)(3)运行程序,验证结果运行程序,验证结果运行程序,验证结果运行程序,验证结果 运行程序,单
18、击窗体后出现如图运行程序,单击窗体后出现如图运行程序,单击窗体后出现如图运行程序,单击窗体后出现如图5.25.2(a a)所示结)所示结)所示结)所示结果。果。果。果。说明:说明:说明:说明:(1 1)在设计界面时使用了)在设计界面时使用了)在设计界面时使用了)在设计界面时使用了ShapeShape控件控件控件控件,这个控件及这个控件及这个控件及这个控件及其相关的内容将在本章作详细的讲解。其相关的内容将在本章作详细的讲解。其相关的内容将在本章作详细的讲解。其相关的内容将在本章作详细的讲解。(2 2)编写代码使用了控件数组)编写代码使用了控件数组)编写代码使用了控件数组)编写代码使用了控件数组S
19、hape1Shape1,注意掌握,注意掌握,注意掌握,注意掌握创建数组控件的方法的使用,对于建立控件数组创建数组控件的方法的使用,对于建立控件数组创建数组控件的方法的使用,对于建立控件数组创建数组控件的方法的使用,对于建立控件数组的另一方法将在后面介绍。的另一方法将在后面介绍。的另一方法将在后面介绍。的另一方法将在后面介绍。VBVB中将具有相同名字、不同下标值的一组变量称为中将具有相同名字、不同下标值的一组变量称为中将具有相同名字、不同下标值的一组变量称为中将具有相同名字、不同下标值的一组变量称为数组。数组中的每个变量称为数组元素或下标变量。可用数组。数组中的每个变量称为数组元素或下标变量。可
20、用数组。数组中的每个变量称为数组元素或下标变量。可用数组。数组中的每个变量称为数组元素或下标变量。可用数组名和下标唯一地标识一个数组元素,如数组名和下标唯一地标识一个数组元素,如数组名和下标唯一地标识一个数组元素,如数组名和下标唯一地标识一个数组元素,如Score(5)Score(5)就表就表就表就表示数组名为示数组名为示数组名为示数组名为ScoreScore的数组中下标为的数组中下标为的数组中下标为的数组中下标为5 5的数组元素。一个数的数组元素。一个数的数组元素。一个数的数组元素。一个数组如果只用一个下标就能确定一个数组元素在数组中的位组如果只用一个下标就能确定一个数组元素在数组中的位组如
21、果只用一个下标就能确定一个数组元素在数组中的位组如果只用一个下标就能确定一个数组元素在数组中的位置,则称为一维数组,而由两个或多个下标所组成的数组置,则称为一维数组,而由两个或多个下标所组成的数组置,则称为一维数组,而由两个或多个下标所组成的数组置,则称为一维数组,而由两个或多个下标所组成的数组称为二维数组或多维数组。在其它语言中数组用来存储相称为二维数组或多维数组。在其它语言中数组用来存储相称为二维数组或多维数组。在其它语言中数组用来存储相称为二维数组或多维数组。在其它语言中数组用来存储相同类型的数据,但是在同类型的数据,但是在同类型的数据,但是在同类型的数据,但是在VBVB中数组可用来存放
22、不同类型的中数组可用来存放不同类型的中数组可用来存放不同类型的中数组可用来存放不同类型的数据。数据。数据。数据。VBVB中的数组有两种,一种是静态数组;一种是动态中的数组有两种,一种是静态数组;一种是动态中的数组有两种,一种是静态数组;一种是动态中的数组有两种,一种是静态数组;一种是动态数组。数组必须先声明后使用。数组的声明既可以在模块数组。数组必须先声明后使用。数组的声明既可以在模块数组。数组必须先声明后使用。数组的声明既可以在模块数组。数组必须先声明后使用。数组的声明既可以在模块中的声明,也可以在过程中声明。中的声明,也可以在过程中声明。中的声明,也可以在过程中声明。中的声明,也可以在过程
23、中声明。5.2 数组数组5.2.1 静态数组静态数组5.2.2 动态数组动态数组5.2.3 数组的基本操作数组的基本操作5.2.4 For Each.Next 循环语句循环语句 以一个简单的应用程序的界面为例,介绍组以一个简单的应用程序的界面为例,介绍组以一个简单的应用程序的界面为例,介绍组以一个简单的应用程序的界面为例,介绍组成菜单的基本元素(如所示)。菜单栏由多个菜成菜单的基本元素(如所示)。菜单栏由多个菜成菜单的基本元素(如所示)。菜单栏由多个菜成菜单的基本元素(如所示)。菜单栏由多个菜单名(也叫主菜单)组成,如单名(也叫主菜单)组成,如单名(也叫主菜单)组成,如单名(也叫主菜单)组成,
24、如“文件文件文件文件”、“编辑编辑编辑编辑”等都是菜单标题。某一个菜单标题下拉出一个等都是菜单标题。某一个菜单标题下拉出一个等都是菜单标题。某一个菜单标题下拉出一个等都是菜单标题。某一个菜单标题下拉出一个菜单,包含一个或者多个菜单项,如图菜单,包含一个或者多个菜单项,如图菜单,包含一个或者多个菜单项,如图菜单,包含一个或者多个菜单项,如图8.28.2 所示。所示。图图8.2 菜单的组成元素菜单的组成元素菜单标题菜单标题菜单栏菜单栏快捷键菜单项菜单项分隔线分隔线5.2.1 静态数组静态数组 所谓静态数组是指维数与下标的范围在声明所谓静态数组是指维数与下标的范围在声明所谓静态数组是指维数与下标的范
25、围在声明所谓静态数组是指维数与下标的范围在声明时就已经确定了。声明静态数组使用的语句与声时就已经确定了。声明静态数组使用的语句与声时就已经确定了。声明静态数组使用的语句与声时就已经确定了。声明静态数组使用的语句与声明变量的语句类似。对于一维数组格式为:明变量的语句类似。对于一维数组格式为:明变量的语句类似。对于一维数组格式为:明变量的语句类似。对于一维数组格式为:Dim Dim 数组名(下标说明)数组名(下标说明)数组名(下标说明)数组名(下标说明)As As 类型类型类型类型,数组名(下,数组名(下,数组名(下,数组名(下标说明)标说明)标说明)标说明)As As 类型类型类型类型.例如例如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Visual Basic 程序设计 综合 教程 数组
限制150内