admin 管理员组

文章数量: 1087139


2024年3月27日发(作者:什么软件导致shell耗电)

《VB程序设计》实验指导书

18学时

实验一 VB集成环境及简单应用程序的建立

一、实验目的

1.掌握Visual Basic启动和退出的方法。

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

3.掌握Visual Basic程序设计的基本步骤。

4. 掌握窗体的使用方法。

二、实验内容

1 启动Visual Basic,然后创建一个“标准 EXE”工程。了解Visual Basic集成开发

环境下各组成部分及其作用。

【要求】

(1)在集成开发环境中分别寻找“窗体窗口”、“属性窗口”、“工程资源管理器”、

“窗体布局窗口”、“工具箱窗口”,熟悉它们的默认位置。

(2)在“视图”或“工程资源管理器”中切换显示“代码窗口”和“窗体窗口”。

(3)在“视图”菜单中点击“立即窗口”,观察刚刚显示出来的“立即窗口”。

(4)尝试分别将各部分关闭,然后再用“视图”菜单中对应的菜单命令将其显示。

2 编写一个简单的应用程序。要求窗体的标题为“简单VB实验”;窗体中有一个标题

为“显示”的按钮;单击该按钮后在窗体上显示蓝色的“江西农业大学”。

【步骤】

(1)设计应用程序的界面;

(2)设置对象的属性;

(3)编写事件代码;

(4)程序的运行及保存。

【提示】

在窗体上显示“江西农业大学”有两种方法:

(1)用Print方法:颜色应该设置窗体的前景色。

(2)用一个标签控件:颜色应该设置标签控件的前景色。

【思考】为什么在以上两种方法中在颜色的设置问题上有所不同?

3 窗体无最大化和最小化按钮。在窗体装入时,在窗体的标题栏显示“装入窗体”,并

在窗体上装入一幅图片作为背景;当用户单击窗体,在标题栏显示“鼠标单击”,在窗体上

显示“单击窗体”;当用户双击窗体,在标题栏显示“鼠标双击”。去除窗体的背景图案,并

显示“双击窗体”。

实验二 VB常用控件的使用

一、实验目的

1.掌握基本控件(标签、命令按钮和文本框)的基本使用方法。

2. 掌握Visual Basic程序设计的基本步骤。

二、实验内容

1 利用标签做浮雕效果文字。效果如图2-1所示。

图2-1 实验2-1程序运行界面

2 编写一个应用程序,界面如图2-2所示。窗体中文字“VB应用程序!”为一标签控

件,单击标题为“放大”的命令按钮,则“VB应用程序!”的字号放大一号,单击“缩小”

按钮则反之;同时,窗体中还有4个含某种指向图案的按钮,若单击某个按钮,则使“VB

应用程序!”向该按钮所指向的方向移动50Twip。

图2-2 实验2-2程序运行界面

【提示】

四种指向的图案自行在网上搜索,也可以选择任意喜欢的图案替换。

实验三 Visual Basic语言基础

一、实验目的

(1)掌握Visual Basic的数据类型和变量定义方法。

(2)正确使用Visual Basic的运算符和表达式。

(3)掌握Visual Basic中数据输入、输出的方法。

(4)掌握Visual Basic常用函数的使用方法。

(5)学会用赋值语句构造简单的顺序结构程序。

二、实验内容

1 假设有变量a=2,b=5,c=4,d=3,e=6,编写程序,计算表达式a+b>c and d*a=e的值,将结果

打印在窗体上。

【提示】注意复合表达式的运算顺序。

【思考】复合表达式按什么样的顺序运算?

2 在文本框输入一个三位数据,单击窗体后,在窗体打印输出该数的个位数,十位数和百位

数。

3 随机生成一个三位正整数,将它顺序和逆序输出。例如,生成的随机三位整数是246,逆

序则为642。

【提示】

1.把这个整数的个位,十位,百位单独求出来,然后进行个十百的连接。

2.利用字符串函数。

4 编程序,当单击窗体,在窗体上随机位置,随机输出一个大写的英文字母。

【提示】

随机大写的英文字母由表达式chr(Int(Rnd*26)+65)产生,窗体上的随机位置通过设置当

前坐标CurrentX,CurrentY属性来确定。

5 编写一模拟简易计算器的程序,运行界面如图3-1所示。

图3-1 实验3-5程序运行界面

实验四 顺序结构程序设计

一、实验目的

1.掌握常量和变量、表达式的基本概念和正确书写格式。

2.掌握赋值语句和常用函数的正确使用方法。

3. 掌握输入、输出对话框(InputBox和MsgBox)的基本使用方法。

二、实验内容

1 已知三角形三条边a、b、c,从键盘输入其值(利用inputbox函数),编写程序,计

算三角形的面积。

2 编写程序,界面如图4-1所示。使得单击一次按钮可以产生一个[60,90]之间的随机

数并显示在标签1上,再求出该数的正弦值,将结果写在标签2上。

【提示】

(1)使用Rnd函数产生随机数,注意,为了防止两次运行程序的随机数序列相同,调

用Rnd之前先用Randomize语句进行初始化。

(2)产生某闭区间内的随机数的公式为:(上限-下限+1)*rnd+下限。

(3)求正弦值函数为:sin()。

图4-1 实验4-2程序运行界面

图4-2 实验4-3程序运行界面

【思考】怎样产生一个[60,90]之间的随机数?

3 编写一个华氏温度F与摄氏温度C之间转换的应用程序,界面如图4-2所示。其中F

与C之间的关系为:

F

9

C32

5

4 编写计算圆面积和球体积的程序,程序运行界面如图4-3所示。要求输出结果只保留

四位小数;如果半径的输入不合法,例如含有非数值字符,应该用MsgBox报告输入错误,

并在错误信息得到用户确认(点击MsgBox对话框上的“确定”按钮)之后,将输入焦点转移

到输入半径的文本框中,且将当前的非法输入自动选定,反白显示。

【提示】

(1)判断输入值是否为数值类型可用函数IsNumeric();

(2)VB大部分数据类型之间在适当的时候会自动相互转换,此谓隐式转换。例如,

文本框的Text属性为字符串类型,当用Text属性值直接参加算术运算时,Text属性值先会

自动转换为数值类型,然后再参加算术运算。但是当Text属性值含有非数字字符时,会产

生“类型不匹配”的运行时错误,因此有些情况下采用显示转换更为安全妥当。

当字符串类型向数值类型转换时用函数Val();而当数值类型向字符串类型转换时,可

以用Str()函数或格式化函数Format()。

图4-3 实验4-4程序运行界面

实验五 选择结构程序设计

一、实验目的

1、掌握逻辑表达式及关系表达式的正确书写形式。

2、掌握IF语句单行和块书写格式及其正确使用(尤其注意ELSE 和ELSE IF)。

3、掌握多分支情况的控制(使用Select CASE语句)的使用及与多分支条件语句的区

别。

二、实验内容

1 有函数:

x

y

3x2

4x12

(x1)

(1x10)

(x10)

写一个程序,输入x值后,则输出相应y值。要求用“If…ElseIf…EndIf”和用“Select

Case”两种方法完成该题目。

【提示】

注意区分1≤x<10和1<=x And x<10有什么不同。

2 编写一个判断给定坐标在第几象限的程序,界面如图5-1所示。

图5-1 实验5-2程序运行界面

课后兴趣题:

1 设计一个猜数字游戏软件,点击出题按钮,产生一个10到99的随机数,然后在文本框中

由用户输入数字,如果结果不对,应提示是大了,还是小了,否则提示正确。运行界面如下

图所示。(思考:如何限制用户猜数字的次数?)

图5-2 程序运行界面

2 编写一个简易学生成绩管理系统,要求输入姓名和成绩,点击“添加”按钮后,在

文本框中追加并换行显示“姓名”、“成绩”和“合格”或“不合格”信息,如下图所示。

图5-3 程序运行界面

【提示】

换行追加并且显示时,可用 = & vbCrLf & (待追加并显示的字符

串),同时应该将Text1的MultiLine属性设置为True,ScrollBars属性设置为Both。

进一步要求:按照≥90为“优”,≥80为“良”,≥70为“中”,≥60为“及格”,<60

为“不及格”来划分并显示上述信息。

实验六 循环结构程序设计(一)

一、实验目的

1.掌握循环的基本概念。

2.掌握For循环。

3.掌握Do Loop循环和Do While ... Loop循环,注意区分两种循环。

4.了解Do ... Loop Until循环和Do Until ... Loop循环。

5.掌握如何利用循环条件来控制循环,防止死循环的出现。

二、实验内容

1 编写一个程序,当程序运行时,单击窗体后,用单循环在窗体上输出规则字符图形,

如图6-1所示。

【提示】

使用String()函数,String()函数可以重复显示某个字符串。例如,String(4,

"*")可以生成4个连续的“*”,即“****”。

图6-1 实验6-1程序运行界面

2 编写程序,计算Sum=1+2+3+...,的值,直到Sum > 6000为止。

3 计算

S1

1

2

2

1

3

2

1

4

2



1

n

2

的值,当第i项

1

i

2

10

5

时结束。

4 使用双重循环,输出“九九乘法表”,如图6-2所示。

图6-2 实验6-4程序运行界面

【提示】

(1)注意行号和该行乘法单元的个数之间的关系。

(2)注意乘法单元的规律:“4×3=12”中4为行号,3为列号,且列号不大于行号。

(3)乘号“×”可从汉字输入法软键盘菜单的“数学符号”中找到;或从Word中菜单

【插入】->【符号】中找到,再从Word中剪切或复制到VB代码中。

(4)可以将窗体的AutoRedraw属性设为True,以防初始大小的窗体显示不下全部内

容。

实验七 循环结构程序设计(二)

一、实验目的

1.掌握循环的基本概念。

2.掌握For循环。

3.掌握Do ... While循环和Do While ... Loop循环,注意区分两种循环。

4.了解Do ... Loop Until循环和Do Until ... Loop循环。

5.掌握如何利用循环条件来控制循环,防止死循环的出现。

二、实验内容

1编写程序,用循环在窗体上实现图7-1的图形。

【提示】

(1)注意观察图形的规律:第I行在输出时是m个空格+n个字符x,其中m、n、x

均和I有关系。

(2)配合Print方法使用Spc(n)函数,其作用是产生n个连续的空格。

(3)使用Str()函数和Trim()函数。Str(f)函数是将数值f转换为相同形式的

字符串;Trim(s)函数可将字符串s的最前和最后的空格(称为前导和后导空格,可为多

个空格)剪切掉,字符串中的空格不受影响。当I为7时,Trim(Str(I))则是字符串"7"。

(4)结合(3),当I为1时, String(2*I+1,Trim(Str(I)))则生成字符串"111"。

图7-1 实验7-1程序运行界面

2 显示所有的水仙花数。所谓水仙花数,就是指一个3位正整数,其各位数字的立方和

等于该数本身。例如,

153153

,153即为水仙花数。

【提示】

本题目解法有两种:

(1)对3位数的各位数组合进行穷举:利用3重循环,将3个个位数组成一个3位数

进行判断。例如,3位数的各位数从高位到低位依次为a、b、c,则对应的3位数为

a*100+b*10+c。

(2)对所有3位数进行穷举:利用单循环对所有3位数进行穷举,循环内将一个3位

数拆成3个个位数进行判断。例如,对s=678进行拆解时:个位数=s Mod 10;十位数=

(s10) Mod 10;百位数=s100。当然,也可以将上述拆解过程写为一个循环(这时就是

利用双重循环,内层循环即为拆解过程)。

333

课后兴趣题: 循环密文。现有一个字符串,将该字符串内的每个英文字符都改为其后(前)

的第n个字符,非英文字符的符号保持不变,修改之后的字符串即为密文,而修改之前的字

符串称为明文。当修改后的字符超出了“a”~“z”或“A”~“Z”字符序列范围后,应将

其循环回字符序列的最开始或最末尾。例如,n=4时,“a”译为“e”,“w”译为“a”,

“May!”就被译为“Qec!”。反之,当知道n(正为向后,负为向前)后,即可恢复密文

为可读文本。

给定一个任意由纯英文字符(ASCII字符)和标点符号组成的字符串,例如“I Love This

Computer Game!”,将其转换为密文(n自己给定)并显示,然后再将密文译为明文。

【提示】

(1)加密需逐个字符进行。获取字符串中的某个字符可以从Left()、Mid()或Right()

等函数里选取一个;Len()函数可以返回字符串的长度。

(2)应该判断从字符串中获取的字符是否为英文字符。

(3)获取某字符的ASCII码值使用Asc()函数,而获取某ASCII码值所对应的字符应

使用Chr()函数。

实验八 数组及其应用(一)

一、实验目的

1.掌握数组的基本概念。

2.掌握一维数组的声明、引用。

3.掌握如何利用数组解决与数组相关的常用算法(特别是排序算法)。

二、实验内容

1 用数组保存随机产生的10个介于20到50之间的整数,求其中的最大数、最小数和

平均值,然后将10个随机数和其最大数、最小数以及平均值显示在窗体上。

2 随机产生10个介于0到100之间的整数,分别用选择法和冒泡法对其进行排序。

3 用数组求得Fibonacci数列(1 1 2 3 5 8 13 21 34„)的前20项,并按照每行5

个打印在窗体上。Fibonacci数列数学描述式为:F(i)= F(i-2)+F(i-1)。

实验九 数组及其应用(二)

一、实验目的

1.掌握数组的基本概念。

2.掌握二维数组的声明、引用。

3.掌握静态数组和动态数组的区别。

4.掌握控件数组。

二、实验内容

1 有矩阵A,用二维数组求其转置矩阵B。要求将两矩阵按照矩阵样式显示。

14

123





B=25

A=





456

36

【提示】

所谓转置,即:b(i,j)=a(j,i)。

2 有3×4矩阵A,求其中值最大和值最小的那两个元素的值,以及它们所在的行号和

1472



列号。其中,

A=9768



0537

3 打印出如图9-1a所示的杨辉三角形,要求先输入行数n。进一步要求:如果要显示

为图9-1b所示的样式,该如何改动原来的程序呢?

【提示】

(1)杨辉三角形是

(ab)

n

展开后各项的系数,具有如下规律:各行的第一个和最后

一个数都是1;从第三行起,除上面指出的第一个数和最后一个数之外,其它的数是上一行

同列和前一列两个数之和,即:

a[i,j]a[i1,j]a[i1,j1]

,i为行,j为列。

(2)为了便于控制,将内容显示在图片框(PictureBox)中。

(3)要显示为图9-1(b)所示的样式,应该利用TAB函数对每行显示的起始位定位。

图9-1(a) 实验10.3程序运行界面

图9-1(b) 实验10.3程序运行界面


本文标签: 窗体 显示 循环 字符