《VB程序设计》实验指导书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《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()。
【思考】怎样产生一个[60,90]之间的随机数?
3 编写一个华氏温度F 与摄氏温度C 之间转换的应用程序,界面如图4-2所示。
其中F 与C 之间的关系为:325
9
+=
C F 。
4 编写计算圆面积和球体积的程序,程序运行界面如图4-3所示。
要求输出结果只保留四位小数;如果半径的输入不合法,例如含有非数值字符,应该用MsgBox 报告输入错误,并在错误信息得到用户确认(点击MsgBox 对话框上的“确定”按钮)之后,将输入焦点转移到输入半径的文本框中,且将当前的非法输入自动选定,反白显示。
【提示】
(1)判断输入值是否为数值类型可用函数IsNumeric();
(2)VB 大部分数据类型之间在适当的时候会自动相互转换,此谓隐式转换。
例如,文本框的Text 属性为字符串类型,当用Text 属性值直接参加算术运算时,Text 属性值先会自动转换为数值类型,然后再参加算术运算。
但是当Text 属性值含有非数字字符时,会产生“类型不匹配”的运行时错误,因此有些情况下采用显示转换更为安全妥当。
当字符串类型向数值类型转换时用函数Val();而当数值类型向字符串类型转换时,可以用Str()函数或格式化函数Format()。
图4-1 实验4-2程序运行界面
图4-2 实验4-3程序运行界面
图4-3 实验4-4程序运行界面
实验五 选择结构程序设计
一、实验目的
1、掌握逻辑表达式及关系表达式的正确书写形式。
2、掌握IF 语句单行和块书写格式及其正确使用(尤其注意ELSE 和ELSE IF )。
3、掌握多分支情况的控制(使用Select CASE 语句)的使用及与多分支条件语句的区别。
二、实验内容
1 有函数:
⎪⎩
⎪
⎨⎧≥-<≤-<=)
10(124)101(2
3)1(x x x x x x y 写一个程序,输入x 值后,则输出相应y 值。
要求用“If …ElseIf …EndIf ”和用“Select Case ”两种方法完成该题目。
【提示】
注意区分1≤x<10和1<=x And x<10有什么不同。
2 编写一个判断给定坐标在第几象限的程序,界面如图5-1所示。
课后兴趣题:
1 设计一个猜数字游戏软件,点击出题按钮,产生一个10到99的随机数,然后在文本框中由用户输入数字,如果结果不对,应提示是大了,还是小了,否则提示正确。
运行界面如下图所示。
(思考:如何限制用户猜数字的次数?)
图5-1 实验5-2程序运行界面
图5-2 程序运行界面
2 编写一个简易学生成绩管理系统,要求输入姓名和成绩,点击“添加”按钮后,在文本框中追加并换行显示“姓名”、“成绩”和“合格”或“不合格”信息,如下图所示。
【提示】
换行追加并且显示时,可用Text1.Text = Text1.Text & vbCrLf & (待追加并显示的字符串),同时应该将Text1的MultiLine 属性设置为True ,ScrollBars 属性设置为Both 。
进一步要求:按照≥90为“优”,≥80为“良”,≥70为“中”,≥60为“及格”,<60
为“不及格”来划分并显示上述信息。
图5-3 程序运行界面
实验六 循环结构程序设计(一)
一、实验目的
1.掌握循环的基本概念。
2.掌握For 循环。
3.掌握Do While... Loop 循环和Do While ... Loop 循环,注意区分两种循环。
4.了解Do ... Loop Until 循环和Do Until ... Loop 循环。
5.掌握如何利用循环条件来控制循环,防止死循环的出现。
二、实验内容
1 编写一个程序,当程序运行时,单击窗体后,用单循环在窗体上输出规则字符图形,如图6-1所示。
【提示】
使用String ()函数,String ()函数可以重复显示某个字符串。
例如,String (4,"*")可以生成4个连续的“*”,即“****”。
2 编写程序,计算Sum=1+2+3+...,的值,直到Sum > 6000为止。
3 计算2
2
2
2
1
4
1
3
1
2
1
1n
S +++++= 的值,当第i 项52
101
-≤i
时结束。
4 使用双重循环,输出“九九乘法表”,如图6-2所示。
【提示】
(1)注意行号和该行乘法单元的个数之间的关系。
(2)注意乘法单元的规律:“4×3=12”中4为行号,3为列号,且列号不大于行号。
图6-1 实验6-1程序运行界面
图6-2 实验6-4程序运行界面
(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"。
2 显示所有的水仙花数。
所谓水仙花数,就是指一个3位正整数,其各位数字的立方和等于该数本身。
例如,3
33351153++=,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;十位数=(s\10) Mod 10;百位数=s\100。
当然,也可以将上述拆解过程写为一个循环(这时就是利用双重循环,内层循环即为拆解过程)。
图7-1 实验7-1程序运行界面
课后兴趣题:循环密文。
现有一个字符串,将该字符串内的每个英文字符都改为其后(前)的第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 。
要求将两矩阵按照矩阵样式显示。
⎥⎦⎤⎢⎣⎡654321A =,⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡635241B = 【提示】
所谓转置,即:b(i,j)=a(j,i)。
2 有3×4矩阵A ,求其中值最大和值最小的那两个元素的值,以及它们所在的行号和
列号。
其中,⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡735086792741A =。
3 打印出如图9-1a 所示的杨辉三角形,要求先输入行数n 。
进一步要求:如果要显示为图9-1b 所示的样式,该如何改动原来的程序呢?
【提示】
(1)杨辉三角形是n b a )(+展开后各项的系数,具有如下规律:各行的第一个和最后一个数都是1;从第三行起,除上面指出的第一个数和最后一个数之外,其它的数是上一行同列和前一列两个数之和,即:]1,1[],1[],[--+-=j i a j i a j i a ,i 为行,j 为列。
(2)为了便于控制,将内容显示在图片框(PictureBox )中。
(3)要显示为图9-1(b )所示的样式,应该利用TAB 函数对每行显示的起始位定位。
图9-1(a ) 实验10.3程序运行界面
图9-1(b ) 实验10.3程序运行界面。