VB实验六 数组(1)学生

合集下载

VB综合实验报告

VB综合实验报告

华北科技学院计算机学院综合性实验实验报告课程名称程序设计语言(VB)实验学期 2015 至 2016 学年第二学期学生所在系部安全工程学院年级 2015级班级安卓B151 学生姓名徐艳强学号 201510044218 任课教师李冬艳实验成绩计算机学院制《程序设计语言(VB)》课程综合性实验报告题目描述如下:在“数学运算”窗体上有一个名称为cmd1、标题为“计算”的命令按钮;两个水平滚动条,名称为hs1和hs2,其max属性均为100,min属性为1;四个标签,名称为lab1、lab2、lab3和lab4,标题分别为“运算数1”、“运算数2”、“运算结果”和空白;此外包含四个单选按钮,标题为“+”、“-”、“*”和“/”。

程序运行后,移动两个滚动条中的滚动框,用滚动条的当前值作为运算数,如果选中一个单选按钮,然后单击命令按钮,相应的计算结果将显示在label4中。

6.单击“退出”菜单,退出程序运行。

四.实验结果及分析1.菜单(1)功能主要功能就是把每个小程序串联起来,使其连续、具有整体性。

分为数组应用、控件应用、过程应用、和退出四个一级菜单。

在数组应用一级菜单下有数组操作二级菜单、控件应用一级菜单下有选择器和数学运算两个二级菜单、过程应用一级菜单下有字符转换二级菜单。

其中一级菜单中,单击退出后实现结束程序的目的,二级菜单对应每个程序,单击二级菜单会实现出现对相应的程序窗体。

(2)界面抓取(3)实现代码Private Sub 数学运算_Click()数学运算窗体.ShowEnd SubPrivate Sub 数组操作_Click()数组操作窗体.ShowEnd SubPrivate Sub 退出_Click()EndEnd SubPrivate Sub 选择器_Click()选择器窗体.ShowEnd SubPrivate Sub 字符转换_Click()字符转换窗体.ShowEnd Sub2.初始界面(1)功能人员分工介绍。

vb6.0实验六习题与答案

vb6.0实验六习题与答案

vb6.0实验六习题与答案实验六专业_1、认识常用控件:单选按钮、复选框、框架、列表框、组合框、滚动条、滑动器(slider)、时钟、图形控件;2.学习在表单中创建常用控件2、学习在属性窗口和在程序代码中设置属性3、学习调用控件的方法4.学习编写每个控件、鼠标和键盘的事件过程。

二、实验内容1、单选按钮、复选框、框架1)将表格F1的标题设置为“复选框、框架和单选按钮”;将表格中复选框ch1、ch2ch1和CH2的高度和宽度分别设置为360和1000;程序运行时,check2处于非零状态。

FR1帧包含单选按钮OP1和op2。

2)设计窗体,要求①标题为“设置字体”;② 带边框的标签控件Label1以表格形式设置,高度和宽度分别为450和3800,标题为“欢迎VB”,字体大小为“4”,并显示在中间;③标题为“字体”框架包含两个标题分别为“楷体_gb2312”和“华文新魏”的单选按钮op1和op2;④ 标题为“Italic”的框架包含两个标题为“是”和“否”的单选按钮。

⑤ 编写相应控件的事件进程,使程序运行时,点击“Kaiti_gb2312”,标签控件的字体为Kaiti_gb2312,点击“Chinese New Wei”,标签控件的字体为Chinese New Wei;单击Yes,label控件的字体将为斜体。

单击“否”取消标签控件字体的斜体化。

privatesuboption1_click()标签1。

fontname=option1。

说明文字endsubprivatesuboption2_uu单击()label1.fontname=option2.captionendsubprivatesuboption3_click()label1.fontitalic=trueendsubprivatesuboption4_click()label1.fontitalic=falseendsub3)在窗体是设置设置框text1,其中文字为:黑体、四号、居中;设置单选按钮option1和option2,标题分别为“福州大学”和“阳光学院”,编写行当的事件过程,使得程序时,单击“福州大学”或“阳光学院”,在文本框中显示“福州大学”或“阳光学院”。

VB实验6 动态数组

VB实验6 动态数组

实验6 动态数组
实验6-1 找因子
1. 功能
找出10~100之间含因子数最多的数,并显示所有的因子(包含1和本身)。

如图6-1所示。

图6-1
2. 要求
(1)在“查找”按钮中设计程序,查找10~100之间含因子数最多的数,并按图6-1所示格式在文本框中显示所有因子。

(2)单击“退出”按钮,将结束应用程序的运行。

3. 保存工程和窗体,并生成EXE文件
将工程保存为P6-1.vbp,窗体保存为F6-1.frm。

将以上工程生成EXE文件,文件名为E6-1.exe。

实验6-2 删除重复数
1. 功能
删除一个数组中的重复数。

如图6-2所示。

图6-2
2. 要求
(1)在“生成”按钮中设计程序,随机生成10个一位正整数,显示在文本框中。

(2)在“删除”按钮中设计程序,删除其中所有的重复数后,将数组元素重新显示在另一个文本框中。

(3)单击“清除”按钮,将清除两个文本框对象。

(4)单击“退出”按钮,将结束应用程序的运行。

3. 保存工程和窗体,并生成EXE文件
将工程保存为P6-2.vbp,窗体保存为F6-2.frm。

将以上工程生成EXE文件,文件名为E6-2.exe。

VB第6章 数组

VB第6章 数组

教案讲稿第六章数组[旧课复习]:复习内容:1.循环语句2.多重循环使用复习目的:学生掌握两种基本循环结构语句的使用以便在数组中能正确使用循环语句复习时长:大约5分钟[新课导入]:导入方式:引入日常生活中的实例让学生理解数组的功能导入目的:增强学生的理解能力导入时长:大约10分钟[新课讲授]:重点:静态数组、动态数组的基本操作及列表框和组合框的使用难点:控件数组方法:运用多媒体辅助教学,采用讲授法和启发式教学法6.1数组的概念6.1.1数组概念数组并不是一种数据类型,而是一组相同类型数据的集合。

用一个统一的名字(数组名)代表逻辑上相关的一批数据,每个元素用下标变量来区分;下标变量代表元素在数组中的位置。

数组中的各个变量称为数组元素,数组中的每个元素用一个唯一的下标(索引)来标识。

如m(5),表示名为m的数组中下标为5的那个元素。

数组元素的个数称为数组的长度(大小)。

数组的各个元素在内存中是连续存放的,如图6-1所示。

数组名表示这个连续数据区域的起始位置,下标表示对应元素在内存区域中的相对位置。

图6-1 数组在内存中的存放方式6.1.2数组的分类Visual Basic中的数组,按不同的方式可分为以下几类:按数组的大小(元素个数)是否可以改变分为:静态(定长)数组、动态(可变长)数组。

按元素的数据类型可分为:数值型数组、字符串数组、日期型数组、变体数组等。

按数组的维数可分为:一维数组、二维数组、多维数组。

对象数组:菜单对象数组、控件数组。

6.2静态数组6.2.1 静态数组的声明1.一维数组静态一维数组的声明格式如下:Dim数组名(下标) [ As <类型> ]说明:(1)数组的命名与简单变量的命名规则相同。

(2)下标的格式为:[<下界> to <上界>]<下界>和<上界>不能使用变量,必须是常量,常量可以是直接常量、符号常量,一般是整型常量。

VB实验报告(示例)

VB实验报告(示例)

华北科技学院计算机系综合性实验实验报告课程名称计算机技术基础(VB)实验学期 2014 至 2015 学年第 2 学期学生所在系部安全工程学院年级大一专业班级安卓B141 学生姓名曾发镔学号 201401054209 任课教师狐为民算法正确(A)(B)(C)(D) 操作熟练(A)(B)(C)(D)报告规范(A)(B)(C)(D) 程序结构合理(A)(B)(C)(D)实验结果正确(A)(B)(C)(D)实验成绩《计算机技术基础(VB )》课程综合性实验报告开课实验室: 基础实验室 年 月 日 实验题目 : Visual Basic 综合应用程序开发 一、实验目的 1、 掌握数组的应用: (1)数组的定义(2)数组的基本操作,包括数组的输入输出、数组元素的比较、求平均值、数组的排序等。

2、 会使用过程编程和字符串操作 (1)sub 过程的定义与调用 (2)function 过程的定义调用 (3)字符串的大小写转换操作 3、 掌握基本控件的使用包括常用标准控件的使用,如标签、按钮、文本框、单选按钮、滚动条等。

4、 掌握菜单和工具栏的使用 二、设备与环境 硬件:多媒体计算机软件:Windows 2000以上的操作系统、Visual Basic 集成开发环境 三、实验内容一、先进入欢迎界面,在屏幕上显示"欢迎您使用本程序"。

如(图1)。

并弹出密码框,等待输入密码。

如(图2)。

(图1) (图2)题一的程序代码如下:二、密码正确后进入系统主界面,主界面包括“数组应用”、“过程应用”、“控件应用”和“退出”等菜单,并提供相关工具栏或命令按钮。

如(图3)(图4)(图5)(图3) (图6) 题二的程序代码如下:三、 “数组应用”菜单中包括“数组操作”子菜单,单击此菜单,弹出“数组操作”对话框,如 (图3)所示。

① 开始启动工程时,界面上除“输入”及“返回”按钮之外,其他按钮均不可用(灰色显示)。

VB实验案例(数组)

VB实验案例(数组)

实验五数组一、控件属性的设置 (滚动条)1、在名称为Forml的窗体上添加一个名称为H1水平滚动条,请在属性窗口中设置它的属性值,满足下列要求:它的最小刻度值为1,最大刻度值为100,在程序运行时鼠标单击滚动条上滚动框以外的区域(不包括两边按钮),滚动框移动10个刻度。

再在滚动条下面画两个名称分别为L1、L2的标签,并分别显示1、100,运行时的窗体如图5-1所示。

工程文件名保存为sy5-1.vbp,窗体文件名为sy5-1.frm。

2、在名称为Form1的窗体上添加一个名称为HS1的水平滚动条,其刻度值范围为1 -100;添加一个命令按钮,名称为C1,标题为"移动滚动框"。

请编写适当的事件过程,使得在程序运行时,每单击命令按钮一次(假定单击次数不多于10次),滚动框向右移动10个刻度。

程序运行时的窗体如图5-2所示。

要求程序中不得使用变量,事件过程中只能写一条语句。

工程文件名保存为sy5-2.vbp,窗体文件名保存为sy5-2.frm。

3、在名称为Form1的窗体上画一个图片框,其名称为Picture1、一个水平滚动条,名称为HScroll1,和一个命令按钮,名称为Command1,标题为"设置属性",通过属性窗口在图片框中装入一个图形(文件名为pic1.jpg,位于考生目录下),图片框的高度与图形的高度相同,图片框的宽度任意(如图1所示)。

编写适当的事件过程,程序运行后,如果单击命令按钮,则设置水平滚动条的如下属性:Min 100Max 1500LargeChange 100SmallChange 10之后就可以通过移动滚动条上的滚动块来放大或缩小图片框。

程序运行后的窗体如图5-3所示。

要求程序中不得使用任何变量。

工程文件名为sy5-3.vbp,窗体文件名为sy5-3.frm。

4、在控件属性1文件夹下有一个工程文件sy5-4.vbp,窗体上有一个圆和一个矩形,还有水平和垂直滚动条各一个。

大学vb 实验作业6 选择结构程序设计

大学vb  实验作业6 选择结构程序设计
实验名称
实验六选择结构程序设计
实验时间
实验目的
(1)掌握由IF语句构成的选择结构
(2)掌握由SELECT CASE语句4)学会编写选择结构程序解决实际问题
(5)掌握多重窗体的设计
实验环境
硬件:微型计算机
软件:Microsoft Visual Basic 6.0
实验内容
1、编写程序求出四个数中的最小数(要求用“打擂算法”)。
2、设计程序,分别用IF语句和Select语句实现判断从键盘上输入的某个字符为哪类字符(大写字母、小写字母、数字字符和其它字符)
3、编程实现系统登录程序。(用户名:班级;密码:学号后两位)
4、窗体运行时,鼠标光标是箭头形状,每单击一次窗体,鼠标就变换一种鼠标光标的形状,依次显示鼠标光标的15种形状。
提示:窗体上鼠标光标的形状由窗体的MousePointer属性值决定。
实验小结

VB实验报告1-9

VB实验报告1-9

实验一:设计简单的VB 应用程序一、实验目的1.掌握Visual Basic 启动和退出的方法。

2.熟悉Visual Basic 的集成开发环境。

3.掌握Visual Basic 程序设计的基本步骤,了解VB 程序的编写、保存和编译的方法过程。

4.初步了解几个常用基本控件控件(标签、命令按钮和文本框)的使用方法。

二、实验类型综合三、实验时间:2013-3-8四、实验任务1、启动Visual Basic ,然后创建一个“标准 EXE ”工程(保存在D 盘以自己学号命名的文件夹中,文件名和窗体名均为SJT ),并了解Visual Basic 集成开发环境下各组成部分及其作用。

2、编一程序,计算任意输入的正整数的平方根。

3、编写一个应用程序,界面如图1-1所示。

窗体中文字“VB 应用程序!”为一标签控件,单击标题为“放大”的命令按钮,则“VB 应用程序!”的字号放大一号,单击“缩小”按钮则反之;同时,窗体中还有4个含某种指向图案的按钮,若单击某个按钮,则使“VB 应用程序!”向该按钮所指向的方向移动50Twip 。

(提示:四种指向的图案可以在Visual Basic 安装目录中的“…graphics\icon\Arrows ”子目录中找到,名称分别为arw07dn.ico 、arw07lt.ico 、arw07rt.ico 和arw07up.ico )五、实验要求 写出实验报告,内容是:1、第1小题的操作步骤2、第2、3题1).程序的界面设计。

2).程序主要代码。

3).运行结果(输入与输出)。

4).实验总结。

(写上你自己的总结。

可以从以下几个方面来总结:你在编程过程中花时多少?时间是怎么分配的?多少时间在思考问题?遇到了哪些难题?你是怎么克服的?你对你的程序的评价?你的收获有哪些?)图1-1 实验1-2程序运行实验二:数据的输入和输出一、实验目的1.掌握常量和变量、表达式的基本概念和正确书写格式。

2.掌握基本语句(Print语句、赋值语句、Dim语句等)的使用;3、掌握常用函数的正确使用方法;4、掌握数据的动态输入InputBox和信息提示MsgBox的基本使用方法。

VB实验报告 实验六 2

VB实验报告 实验六 2

仲恺农业工程学院实验报告纸化学化工(院、系)化工专业112 班《VB语言程序设计》实验六数组1 实验目的1.1 掌握数组的声明、数组元素的应用1.2 掌握静态数组和动态数组的使用差别1.3 应用数组解决与数组有关的常用算法2 实验要求2.1本实验要求每个同学单独完成;2.2调试程序要记录调试过程中出现的问题及解决办法,并写入到实验总结和心得;2.3对于算法设计题目,根据要求给出每个问题的算法或画出流程图;2.4编写程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成环境的掌握及应用,不断积累编程及调试经验;2.5完成实验后直接在题目后面把程序运行界面截图,源码、结果分析。

3 实验设备、环境奔腾以上计算机,装有VusualBase 6.0中文版软件4 实验内容4.1教程第313页实验5.1实验代码:Private Sub Command1_Click()Dim a(0 To 9)RandomizeDim sum As Integer, min As Integer, max As Integersum = 0: min = 100: max = 30For i = 0 To 9a(i) = Int(30 + (71 * Rnd)) sum = sum + a(i)If a(i) < min Then min = a(i) If a(i) > max Then max = a(i) Print a(i),Next iPrint vbCrLf & "最大值:"; max Print "最小值:"; minPrint "平均值:"; sum / 10 End Sub运行截图:4.2教程第313页实验5.2实验代码:Private Sub Command1_Click()Dim s(19), a(4), i, temp As Integer Me.AutoRedraw = TrueClsFor i = 0 To 19Randomizes(i) = Int(Rnd * 101)temp = Int(s(i) / 10)If temp = 10 Thena(4) = a(4) + 1ElseIf temp < 5 Thena(0) = a(0) + 1Elsea(temp - 5) = a(temp - 5) + 1 End IfPrint s(i)NextPrintPrint "各分数段人数分别是:" & Join(a, " ") End Sub运行截图:5 实验总结与心得5.1知识点掌握总结(请详细叙述你通过该实验掌握的知识点)在这次的实验我基本掌握了数组的声明、数组元素的应用,掌握静态数组和动态数组的使用差别,应用数组解决与数组有关的常用算法,vb程序的使用效率也有进一步的提高!5.2实验体会心得(请详细叙述你通过该实验得到的心得,比如对错误的解决办法等)实验需要的不仅仅是基础,技术,耐心,还需要合作,做任何的事情,不可能什么都靠自己,有时候需要团队,同学的帮忙才能让事情完成得更快更好,既不浪费时间也不浪费人力,又能促进友谊增加感情!。

VB程序设计实验指导书

VB程序设计实验指导书

VB程序设计实验指导书实验项目名称:数组(一) 实验环境(硬件):普通PC机房软件:VB6.0 序号:_7实验时数:2学时实验地点:计科系实验室一、实验目的:1、掌握静态数组和动态数组的概念及定义方法。

2、掌握一维和二维数组元素的引用、赋值、输入、输出方法。

3、掌握使用一重或二重循环结构控制数组元素的下标,按一定规律变化来处理一维数组元素和二维数组元素的程序设计方法。

二、实验类型:(验证性、演示性、综合性、设计性、操作性)验证性三、实验内容及基本要求:1、随机产生20个1~100的正整数放入数组中,显示产生的数,并求平均值以及高于平均值的数有多少个。

运行界面如图所示:【要求】在窗体上单击,即产生如图所示结果,编写出程序代码,正确运行程序。

并以文件名sy7-1.frm和sy7-1.vbp保存在F:盘或D:盘自己的姓名文件夹中。

2、编程:(程序存盘文件名sy7-2.vbp、sy7-2.frm)程序运行界面如下图所示:在窗口中有两个文本框和两个按钮。

当单击“随机产生”按钮时,在text1中随机产生20个100~ 1000之间的整数,当单击“查找素数”按钮时,找出这20个整数中的所有素数,并显示在text2中。

3、如下图运行界面所示,单击命令按钮输入整数n,显示出具有n行的杨辉三角形:分析:从一组数据中找规律,找通项,这是循环和数组相结合的优点。

杨辉三角形的形成可分为三部分数据:第1列全为1;主对角线全为1;从第3行第2列起到主对角线前一元素的各个元素为上一行前一列和本列元素之和。

如:'第1列和主对角线元素为1For i = 1 To na(i, 1) = 1: a(i, i) = 1Next i'从第3行第2列起到主对角线前一元素的各元素为上一行前一列和本列元素之和For i = 3 To nFor j = 2 To i - 1a(i, j) = a(i - 1, j - 1) + a(i - 1, j)Next jNext i【要求】设计界面,编写出程序代码(注意动态数组的使用),正确运行程序。

VB数组——精选推荐

VB数组——精选推荐

‘ 将数组声明中缺省<下界>下标
4.<下界>和<上界>不能使用变量,必须是常量,常 量可以是直接常量、符号常量,一般是整型常量。
Const Num As Integer =10 Dim N As Integer N=Val(InputBox(“Enter N=?”))
Dim A9(N) As Integer
‘ 一维数组 ‘ 二维数组 ‘ 三维数组
数组中的每一个数据称为数组元素,用 数组名和该数据在数组中的序号来标识。序 号又称为下标,数组元素又称为下标变量。 例如,S(2)是一个数组元素,其中的S称为 数组名,2是下标。在使用数组元素时,必 须把下标放在一对紧跟在数组名之后的括号 中。S(3)是一个数组元素,而S3是一个简单 变量。
一维数组形式:
Dim 数组名([<下界>To]<上界>)[As <数据类型>] 或: Dim 数组名[<数据类型符>]([<下界>To]<上界>) 例:Dim a(1 to 10) As Integer
1是下标的下界
10是下标的上界
与上面声明等价形式:
数组元数的数 据类型
Dim a% (1 to 10)
Dim X(Num) As Long
5.如果省略As子句,则数组的类型为变体类型。
Dim B(10)
6.数组中各元素在内存占一片连续的存储空间。
A(0) A(1) A(2) ….
A(n)
一维数组在内存中存放的顺序
5.2.2.一维数组的引用
使用形式: 数组名(下标)
其中:下标可以是整型变量、常量或表达式。
冒泡算法示意

VB教程第6章数组

VB教程第6章数组

第6章 数组和用户自定义类型 章
6.1数组的概念 ■数组、数组元素 数组、 数组是用统一的名字,不同下标、顺序排列的一组变量。 数组是用统一的名字,不同下标、顺序排列的一组变量。 数组中的成员(每个变量)称为数组元素。数组元素通过 数组中的成员(每个变量)称为数组元素。 不同的下标来加以区分。因此数组元素又称为下标变量。 不同的下标来加以区分。因此数组元素又称为下标变量。 可以用数组名和下标来唯一地识别一个数组中的某个具体 元素。 元素。 例如a(5)表示名称为 的数组中的序号为 的那个元素。 表示名称为a的数组中的序号为 的那个元素。 例如 表示名称为 的数组中的序号为5的那个元素
第6章 数组和用户自定义类型 章
6.1数组的概念
类型:基本数据类型和构造数据类型。到目前为止, 两种数据类型:基本数据类型和构造数据类型。到目前为止, 我们使用的数据都属于基本数据类型,如数值型、逻辑型、 我们使用的数据都属于基本数据类型,如数值型、逻辑型、 字符型等。该类数据具有一个共同的特点: 字符型等。该类数据具有一个共同的特点:在程序运行的 任一时刻,每个变量名代表一个确定的数据, 任一时刻,每个变量名代表一个确定的数据,用户可以通 过变量名访问该变量的值。 过变量名访问该变量的值。本章我们学习构造数据类型数 数组和用户自定义类型的数据。 据——数组和用户自定义类型的数据。数组是一组相同类 数组和用户自定义类型的数据 型的数据的有序集合; 型的数据的有序集合;而用户自定义类型数据由若干基本 数据类型可不同的元素组成。 数据类型可不同的元素组成。
第6章 数组和用户自定义类型 章
第6章 数组和用户自定义类型 章 6.1数组的概念 数组的概念 6.2定长数组和动态数组的定义 定长数组和动态数组的定义 6.3 数组的基本操作 6.4控件数组 控件数组 6.5滚动条控件 滚动条控件(ScrollBar) 滚动条控件 6.6用户自定义类型和用户自定义 用户自定义类型和用户自定义 类型数组

vb实验报告范本doc

vb实验报告范本doc

(此文档为word格式,下载后您可任意编辑修改!) 福建农林大学计算机与信息学院(程序设计类课程)实验报告课程名称:Visual Basic程序设计教程姓名:洪景泉系:计算机与信息学院专业:计算机应用技术年级:05级学号:指导教师:黄红兵职称:讲师2007年6月 2 日实验项目列表系:计算机与信息学院专业:计算机应用技术年级: 05级姓名:洪景泉学号:计算机号 67实验时间: 2007、3、28 实验地点:综南附307 指导教师签字:黄红兵实验一Visual Basic环境和程序设计的初步一、实验目的和要求1、了解Visual Basic系统对计算机软件、硬件的要求。

2、掌握启动与退出Visual Basic的方法。

3、熟悉Visual Basic的集成开发环境(IDE)。

4、掌握在窗体上添加控件的各种方法。

5、掌握建立、编辑、运行和保存一个简单的Visual Basic应用程序的全过程。

二、实验内容和原理1、熟悉工具箱上的标准控件以及窗体设计器和工程管理器窗口、属性窗口、代码窗口的功能、组成以及它们各种不同的打开方法。

2、在窗体上画一文本框个一个命令按钮,在文本框中显示“VB程序设计”,然后执行如下操作:(1)编写适当事件过程,当单击命令按钮时,文本框内容消失。

(2)单击“文件”—“生成工程”并退出。

在windows环境下运行该工程。

用户界面:实验代码:Private Sub Command1_Click()Text1.Text = ""End Sub3、创建一个“标准EXE”类型的应用程序。

要求:程序运行时在屏幕上显示“欢迎您的到来!”,并输入您的名字。

当按回车键时弹出对话框如下所示:用户界面:代码:Private Sub Text1_KeyPress(KeyAsciiAs Integer)If KeyAscii = 13 ThenMsgBox "欢迎" + Text1.Text + "的到来"End IfEnd Sub4、创建如图所示的应用程序,要求:单击“确定”按钮后,第一个文本框显示系统日期,第二个文本框显示星期。

VB数组应用实验报告

VB数组应用实验报告

实验名称:VB程序设计实验类别:课程上机适用专业:计算机科学与技术姓名:徐申毅实验报告一、内容数组及应用二、目的(1)掌握一维数组和二维数组的定义及引用方法(2)掌握动态数组的定义和使用(3)能应用数组解决一些常见问题,如复杂统计,平均值,排序和查找等。

三、设计思路(1)首先定义一个一维数组生成10个二位数,假设第一个数为最大数,让第二个数与第一个数比大小,若大于,则交换值,循环至最后一个数,求出最大值,然后求和算出平均值,用选择法进行排序,Private Sub cmdinsert_Click() '数据插入,x = Val(InputBox("输入要插入的数据:")),将新的数组进行排序。

(2)定义二维数组,i为行数,j为列数;n为输出的行数,'第一列和主对角线为1s(i, 1) = 1,s(i, i) = 1;For i = 3 To n For j = 2 To i - 1,s(i, j) = s(i - 1, j - 1) + s(i - 1, j)实现每一个数等于它上面一行的同一列与前一列数之和。

(3)定义动态数组,ReDim Preserve a(n) '动态存储数组a增加1个元素,前n-1个元素值保持不变。

然后用冒泡法对数组中的元素进行排序,输出排序后的结果。

四、源程序Option Base 1Option ExplicitDim a(11) As Integer ' 定义数组Private Sub cmdcreat_Click() '产生的一维数组Dim i As IntegerPicture1.ClsPicture1.Print "产生的一维数组为:"RandomizeFor i = 1 To 10a(i) = Int(Rnd * 20 + 10)Picture1.Print a(i);Next iPicture1.PrintEnd SubPrivate Sub cmdmax_Click() '求最大元数及所在的位置Dim max As Integer, p As Integer, i As Integermax = a(1) ' 假设第一元素就是最大元素p = 1For i = 2 To 10If a(i) > max Thenmax = a(i)p = iEnd IfNext iPicture1.PrintPicture1.Print "第" & p; " 个元素" & a(p) & " 为最大元素" End SubPrivate Sub cmdave_Click() '计算平均值Dim ave As Single, i As IntegerFor i = 1 To 10ave = ave + a(i)Next iave = ave / 10Picture1.PrintPicture1.Print "产生的随机数平均值为:" & aveEnd SubPrivate Sub cmdsort_Click() '使用选择法排序Dim i%, j%, p%, t%For i = 1 To 9p = iFor j = i + 1 To 10If a(p) > a(j) Then p = jNext jt = a(i): a(i) = a(p): a(p) = tNext iPicture1.PrintPicture1.Print "排序后的一维数组为:"For i = 1 To 10Picture1.Print a(i);Next iPicture1.PrintEnd SubPrivate Sub cmdinsert_Click() '数据插入Dim x%, p%, i%x = Val(InputBox("输入要插入的数据:"))p = 1Do While x > a(p) And p <= 10p = p + 1LoopFor i = 10 To p Step -1a(i + 1) = a(i)Next ia(p) = xPicture1.PrintPicture1.Print "插入后的一维数组为:"For i = 1 To 11Picture1.Print a(i);Next iEnd SubPrivate Sub Command1_Click()Dim s() As Integer, i%, j%, n%Form1.Clsn = Val(Text1)ReDim s(n, n)'第一列和主对角线为1For i = 1 To ns(i, 1) = 1s(i, i) = 1Next iFor i = 3 To nFor j = 2 To i - 1s(i, j) = s(i - 1, j - 1) + s(i - 1, j)Next jNext i'打印杨辉三角For i = 1 To nFor j = 1 To i' 让每个数据占4列输出Print Spc(4 - Len(Str(s(i, j)))); s(i, j);Next jPrintNext iEnd SubDim a() As String, n%Private Sub Text1_KeyPress(KeyAscii As Integer)Dim i As Integer, j As Integer, k As Integer, t As StringIf KeyAscii = 13 Thenn = n + 1ReDim Preserve a(n) '动态存储数组a增加1个元素,前n-1个元素值保持不变。

vb实验6

vb实验6

VB程序设计实验报告实验日期:2010.10.21学号:200801322 姓名:周少良成绩:实验名称:习题8-2,8-4一、实验目的与要求掌握文件的打开,修改,关闭,并从文件中读出数据,进行操作。

二、实验内容1. 在文件“c:\student”中,顺序存放着若干的学生姓名和3门课程的考试成绩,存放格式如下:张军,65,89,76刘晓壮,75,78,88………………………编写一个程序,将文件中的姓名和各门课程的成绩显示在窗体上,同时计算并显示每一个学生的平均成绩。

2.参照例8.5,设计如图的通讯录管理应用程序,联系人信息存入随机文件,可实现添加、删除、查询、修改等功能。

三、实验步骤8-2.在窗体上放置一个commandButton。

编写程序,输出到屏幕上。

8-4.设置6个label,6个textbox,6个commandButton,编写相应的代码。

设计界面如图:四、程序代码8-2.Option ExplicitDim Filepath As StringPrivate Sub Form_Load()Filepath = App.Path + "\Student.txt "End SubPrivate Sub Command1_Click()Dim FileNum As Integer, Sum As Integer, Ave As Integer, i As Integer Dim st As StringDim a() As StringOpen Filepath For Input As #1Do While Not EOF(1)Line Input #1, sta = Split(st, ",")Sum = 0For i = 1 To 2Sum = Sum + Val(a(i))Next iAve = Sum / 2st = st & Space(2) & "Aver=" & AvePrint stClose #1End Sub8-4:窗体的程序代码:Private Sub Command3_Click()Dim i As IntegerDim wname As Stringwname = InputBox("请输入姓名作为查询条件", "查询") For i = 1 To rec_totalGet #1, i, worker1If Trim() = Trim(wname) Thenrec_no = iCall displayExit SubEnd IfNext iMsgBox "库中没有你要找的联系人", vbInformation, "查询" End SubPrivate Sub Command4_Click()If rec_no > 1 ThenCall displayElseMsgBox "现在已经是首记录了!", vbInformation, "首记录"End IfEnd SubPrivate Sub Command5_Click()Dim answer As IntegerIf rec_no < rec_total Thenrec_no = rec_no + 1Call displayElseanswer = MsgBox("现在已经是最后一条记录了!要回到首记录么?", _ vbQuestion + vbYesNo, "末记录")If answer = vbYes Thenrec_no = 1Call displayEnd IfEnd IfEnd SubPrivate Sub Command6_Click()End SubPrivate Sub Form_Load()filename = App.Path & "\worker.dat"rec_long = Len(worker1)Call fileopenEnd SubPrivate Sub Command1_Click()Dim i As IntegerDim nmsg As IntegerFor i = 1 To rec_totalGet #1, i, worker1If Trim(worker1.id) = Trim(Text1) Thennmsg = MsgBox("文件中已经有该记录,要显示修改此记录吗?", vbQuestion + vbYesNo) If nmsg = vbYes Thenrec_no = iCall displayExit SubEnd IfNext iCall getdatarec_total = rec_total + 1rec_no = rec_totalPut #1, rec_no, worker1End SubPrivate Sub Command2_Click()Dim i As IntegerDim tempno As Integertempno = rec_noOpen filename & ".temp" For Random As #2 Len = rec_long For i = 1 To rec_totalIf i <> tempno ThenGet #1, i, worker1Put #2, , worker1End IfNext iCloseName filename & ".temp" As filenameCall fileopenEnd SubPrivate Sub fileopen()Dim i As IntegerOpen filename For Random As 1 Len = rec_long rec_long = Len(worker1)rec_total = LOF(1) / rec_longIf rec_total = 0 ThenCall txtclearExit SubElserec_no = 1Call displayEnd IfEnd SubPrivate Sub txtclear()With Form1Text1 = ""Text2 = ""Text3 = ""Text4 = ""Text5 = ""Text6 = ""End WithEnd SubPrivate Sub display()Get #1, rec_no, worker1 With worker1Text1 = .idText2 = .nameText3 = .placeText4 = .telText5 = .cellText6 = .email End WithEnd SubPrivate Sub getdata()Dim i As IntegerWith worker1.id = Text1.name = Text2.place = Text3.tel = Text4.cell = Text5.email = Text6End WithPut #1, rec_no, worker1End SubPrivate Sub Form_Unload(Cancel As Integer) Close #1End Sub模块的程序代码如下:Type Workerid As String * 8name As String * 20place As String * 20tel As String * 12email As String * 20End TypePublic worker1 As WorkerPublic filename As StringPublic rec_no As IntegerPublic rec_total As IntegerPublic rec_long As Long五、实验心得文件的操作,一直是我们的弱项,但是通过曲折的努力,还是艰难的做了出来,看来还得多加练习。

VB 数组的应用

VB   数组的应用

实验八数组的应用(一)1、验证实验一。

假定学生的成绩在数组XS_CJ(1 to 10)中,对应的姓名在数组XS_XM(1 To 10)中,单击按钮“排序”时,能按分数从高到低的排列,即排序后XS_CJ(1)和XS_XM(1)为第一名的成绩、姓名。

题目分析:本实验是完成一个对数组元素从大到小的排序。

可以采用教材中中介绍的冒泡法完成排序,在此介绍另一种简单的排序方法——比较交换法。

假设对A(N)数组中的数据从大到小排序,比较交换法的排序步骤如下:(1)将第一个数与第2个到第10个数依次比较,如果A(1)<A(J)(J=2,3,…,10),则交换A(1)和A(J);(2)将第2个数与第3个到第10个依次比较,如果A(2)<A(J)(J=3,…,10),则交换A(2)和A(J);(3)重复以上方法,将第I个数与第I+1个数到第10个数依次比较,如果A(I)<A(J)(J=3,…,10),则交换A(I)和A(J);共重复N-1轮。

换的不仅XS_CJ数组中的元素,而且对应的XS_XM数组中对应的元素也要进行交换。

(1)设计界面可参考如下图8.1所示。

用列表框LstOldMark和LstNewMark分别来显示排序前后学生的姓名和成绩。

(2)编写代码在窗体模块的声明段声明Option Base 1Dim XS_XM(10) As stringDim XS_CJ(10) As Single图8.1 设计界面在窗体的Load事件过程中完成对数据的输入。

For I = 1 To 10XS_XM(I) = InputBox("请输入第" & Str(I) & "个学生的姓名", "成绩排序")XS_CJ(I)=val(InputBox("请输入第" & Str(I) & "个学生的成绩", "成绩排序")) LstOldMark.AddItem XS_XM(I) & " " &XS_CJ(I)Next I在“排序”按钮的Click事件过程中完成排序,部分代码如下:‘用比较交换法进行排序For I=1 To 9For J=I+1 To 10If XS_CJ(I)<XS_CJ(J) Then‘交换学生成绩T=XS_CJ(I) :XS_CJ(I)=XS_CJ(J): XS_CJ(J)=T‘交换学生姓名T=XS_XM(I) : XS_XM (I)= XS_XM (J): XS_XM (J)=TEnd IfNext JNext I‘排序的结果显示于列表框LstNewMark 中,请自行补充完成。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

保存:工程文件名"题目1.vbp",窗体文 保存:工程文件名"题目1.vbp", 件名"题目1.frm" 件名"题目1.frm"

题目2 题目2:用Array函数对数组赋值 Array函数对数组赋值
定义一个一维数组,用Array函数输入数组 定义一个一维数组, Array函数输入数组 的元素,再输出数组的每个元素. 的元素,再输出数组的每个元素.

返回
题目6 二维数组的输入输出1 题目6:二维数组的输入输出1
定义一个二维数组,按行列输出该二维数 定义一个二维数组, 组.
保存:工程文件名"题目6.vbp",窗体文 保存:工程文件名"题目6.vbp", 件名"题目6.frm" 件名"题目6.frm"
题目7 二维数组的输入输出2 题目7:二维数组的输入输出2
保存:工程文件名"题目3.vbp",窗体文 保存:工程文件名"题目3.vbp", 件名"题目3.frm" 件名"题目3.frm"
题目4 使用动态数组输出Fibonacci数列的 题目4:使用动态数组输出Fibonacci数列的 前n项 要求: 的值通过InputBox函数输入 函数输入, 要求:n的值通过InputBox函数输入,输 出时每行输出5个数. n=30时 出时每行输出5个数.如n=30时,效果如下 图:
'1<=a(i)<=100
For i = 1 To UBound(a) Print a(i); Next i 保存:工程文件名"题目5.vbp", 保存:工程文件名"题目5.vbp",
End Sub
窗体文件名"题目5.frm" 窗体文件名"题目5.frm"
二维数组
二维数组的输入输出1(>>) 二维数组的输入输出1(>>) 二维数组的输入输出2(>>) 二维数组的输入输出2(>>) 杨辉三角形(>>) 杨辉三角形(>>)
数组
一维数组的输入输出(>>) 一维数组的输入输出(>>) 二维数组的输入输出(>>) 二维数组的输入输出(>>)
任务要求
完成【题目1 完成【题目1】,【题目2】,【题目3】, 题目2 题目3 题目6 【题目6】
返回
题目1 题目1:用InputBox函数建立数组 InputBox函数建立数组
定义一个一 维数组,用InputBox函数输入 维数组, InputBox函数输入 数组的元素,再输出数组的每个元素. 数组的元素,再输出数组的每个元素.
题目8 题目8:用二维数组打印杨辉三角形
定义一个二维数组,用于存储杨辉三角形 定义一个二维数组, 的行和列.输出杨辉三角形的前n 的行和列.输出杨辉三角形的前n行.n的 值从键盘输入.(习题6 13) .(习题 值从键盘输入.(习题6-13)
保存:工程文件名"题目8.vbp",窗体文 保存:工程文件名"题目8.vbp", 件名"题目8.frm" 件名"题目8.frm"
保存:工程文件名"题目2.vbp",窗体文 保存:工程文件名"题目2.vbp", 件名"题目2.frm" 件名"题目2.frm"
题目3 输出Fibonacci数列的前 项 题目3:输出Fibonacci数列的前10项 数列的前10
定义一个一维数组,输出Fibonacci数列的 定义一个一维数组,输出Fibonacci数列的 10项 前10项.
保存:工程文件名"题目4.vbp",窗体文 保存:工程文件名"题目4.vbp", 件名"题目4.frm" 件名"题目4.frm"
题目5 使用Rnd函数生成 题目5:使用Rnd函数生成[1,100]之 函数生成[1,100]之 间的数 Option Base 1
Private Sub Form_Click() Dim a(10) As Integer For i = 1 To 10 a(i) = Int(100 * Rnd + 1) Next i Print
使用二维数组输出九九乘法表:将下面的 使用二维数组输出九九乘法表: 九九乘法表存入数组中, 九九乘法表存入数组中,并在窗口中显示 出来.(习题6 .(习题 出来.(习题6-1)
保存:工程文件名"题目7.vbp",窗体文 保存:工程文件名"题目7.vbp", 件名"题目7.frm" 件名"题目7.frm"
相关文档
最新文档