《VB程序设计》实验指导书.docx
《《VB程序设计》实验指导书.docx》由会员分享,可在线阅读,更多相关《《VB程序设计》实验指导书.docx(16页珍藏版)》请在冰豆网上搜索。
《VB程序设计》实验指导书
《VB程序设计》实验指导书
18学时
实验一VB集成环境及简单应用程序的建立
一、实验目的
1.掌握VisualBasic启动和退出的方法。
2.熟悉VisualBasic的集成开发环境。
3.掌握VisualBasic程序设计的基本步骤。
4.掌握窗体的使用方法。
二、实验内容
1启动VisualBasic,然后创建一个“标准EXE”工程。
了解VisualBasic集成开发环境下各组成部分及其作用。
【要求】
(1)在集成开发环境中分别寻找“窗体窗口”、“属性窗口”、“工程资源管理器”、“窗体布局窗口”、“工具箱窗口”,熟悉它们的默认位置。
(2)在“视图”或“工程资源管理器”中切换显示“代码窗口”和“窗体窗口”。
(3)在“视图”菜单中点击“立即窗口”,观察刚刚显示出来的“立即窗口”。
(4)尝试分别将各部分关闭,然后再用“视图”菜单中对应的菜单命令将其显示。
2编写一个简单的应用程序。
要求窗体的标题为“简单VB实验”;窗体中有一个标题为“显示”的按钮;单击该按钮后在窗体上显示蓝色的“江西农业大学”。
【步骤】
(1)设计应用程序的界面;
(2)设置对象的属性;
(3)编写事件代码;
(4)程序的运行及保存。
【提示】
在窗体上显示“江西农业大学”有两种方法:
(1)用Print方法:
颜色应该设置窗体的前景色。
(2)用一个标签控件:
颜色应该设置标签控件的前景色。
【思考】为什么在以上两种方法中在颜色的设置问题上有所不同?
3窗体无最大化和最小化按钮。
在窗体装入时,在窗体的标题栏显示“装入窗体”,并在窗体上装入一幅图片作为背景;当用户单击窗体,在标题栏显示“鼠标单击”,在窗体上显示“单击窗体”;当用户双击窗体,在标题栏显示“鼠标双击”。
去除窗体的背景图案,并显示“双击窗体”。
实验二VB常用控件的使用
一、实验目的
1.掌握基本控件(标签、命令按钮和文本框)的基本使用方法。
2.掌握VisualBasic程序设计的基本步骤。
二、实验内容
1利用标签做浮雕效果文字。
效果如图2-1所示。
图2-1实验2-1程序运行界面
2编写一个应用程序,界面如图2-2所示。
窗体中文字“VB应用程序!
”为一标签控件,单击标题为“放大”的命令按钮,则“VB应用程序!
”的字号放大一号,单击“缩小”按钮则反之;同时,窗体中还有4个含某种指向图案的按钮,若单击某个按钮,则使“VB应用程序!
”向该按钮所指向的方向移动50Twip。
【提示】
四种指向的图案自行在网上搜索,也可以选择任意喜欢的图案替换。
实验三VisualBasic语言基础
一、实验目的
(1)掌握VisualBasic的数据类型和变量定义方法。
(2)正确使用VisualBasic的运算符和表达式。
(3)掌握VisualBasic中数据输入、输出的方法。
(4)掌握VisualBasic常用函数的使用方法。
(5)学会用赋值语句构造简单的顺序结构程序。
二、实验内容
1假设有变量a=2,b=5,c=4,d=3,e=6,编写程序,计算表达式a+b>candd*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之间的关系为:
。
4编写计算圆面积和球体积的程序,程序运行界面如图4-3所示。
要求输出结果只保留四位小数;如果半径的输入不合法,例如含有非数值字符,应该用MsgBox报告输入错误,并在错误信息得到用户确认(点击MsgBox对话框上的“确定”按钮)之后,将输入焦点转移到输入半径的文本框中,且将当前的非法输入自动选定,反白显示。
【提示】
(1)判断输入值是否为数值类型可用函数IsNumeric();
(2)VB大部分数据类型之间在适当的时候会自动相互转换,此谓隐式转换。
例如,文本框的Text属性为字符串类型,当用Text属性值直接参加算术运算时,Text属性值先会自动转换为数值类型,然后再参加算术运算。
但是当Text属性值含有非数字字符时,会产生“类型不匹配”的运行时错误,因此有些情况下采用显示转换更为安全妥当。
当字符串类型向数值类型转换时用函数Val();而当数值类型向字符串类型转换时,可以用Str()函数或格式化函数Format()。
实验五选择结构程序设计
一、实验目的
1、掌握逻辑表达式及关系表达式的正确书写形式。
2、掌握IF语句单行和块书写格式及其正确使用(尤其注意ELSE和ELSEIF)。
3、掌握多分支情况的控制(使用SelectCASE语句)的使用及与多分支条件语句的区别。
二、实验内容
1有函数:
写一个程序,输入x值后,则输出相应y值。
要求用“If…ElseIf…EndIf”和用“SelectCase”两种方法完成该题目。
【提示】
注意区分1≤x<10和1<=xAndx<10有什么不同。
2编写一个判断给定坐标在第几象限的程序,界面如图5-1所示。
课后兴趣题:
1设计一个猜数字游戏软件,点击出题按钮,产生一个10到99的随机数,然后在文本框中由用户输入数字,如果结果不对,应提示是大了,还是小了,否则提示正确。
运行界面如下图所示。
(思考:
如何限制用户猜数字的次数?
)
图5-2程序运行界面
2编写一个简易学生成绩管理系统,要求输入姓名和成绩,点击“添加”按钮后,在文本框中追加并换行显示“姓名”、“成绩”和“合格”或“不合格”信息,如下图所示。
【提示】
换行追加并且显示时,可用Text1.Text=Text1.Text&vbCrLf&(待追加并显示的字符串),同时应该将Text1的MultiLine属性设置为True,ScrollBars属性设置为Both。
进一步要求:
按照≥90为“优”,≥80为“良”,≥70为“中”,≥60为“及格”,<60为“不及格”来划分并显示上述信息。
实验六循环结构程序设计
(一)
一、实验目的
1.掌握循环的基本概念。
2.掌握For循环。
3.掌握DoWhile...Loop循环和DoWhile...Loop循环,注意区分两种循环。
4.了解Do...LoopUntil循环和DoUntil...Loop循环。
5.掌握如何利用循环条件来控制循环,防止死循环的出现。
二、实验内容
1编写一个程序,当程序运行时,单击窗体后,用单循环在窗体上输出规则字符图形,如图6-1所示。
【提示】
使用String()函数,String()函数可以重复显示某个字符串。
例如,String(4,"*")可以生成4个连续的“*”,即“****”。
2编写程序,计算Sum=1+2+3+...,的值,直到Sum>6000为止。
3计算
的值,当第i项
时结束。
4使用双重循环,输出“九九乘法表”,如图6-2所示。
【提示】
(1)注意行号和该行乘法单元的个数之间的关系。
(2)注意乘法单元的规律:
“4×3=12”中4为行号,3为列号,且列号不大于行号。
(3)乘号“×”可从汉字输入法软键盘菜单的“数学符号”中找到;或从Word中菜单【插入】->【符号】中找到,再从Word中剪切或复制到VB代码中。
(4)可以将窗体的AutoRedraw属性设为True,以防初始大小的窗体显示不下全部内容。
实验七循环结构程序设计
(二)
一、实验目的
1.掌握循环的基本概念。
2.掌握For循环。
3.掌握Do...While循环和DoWhile...Loop循环,注意区分两种循环。
4.了解Do...LoopUntil循环和DoUntil...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位正整数,其各位数字的立方和等于该数本身。
例如,
,153即为水仙花数。
【提示】
本题目解法有两种:
(1)对3位数的各位数组合进行穷举:
利用3重循环,将3个个位数组成一个3位数进行判断。
例如,3位数的各位数从高位到低位依次为a、b、c,则对应的3位数为a*100+b*10+c。
(2)对所有3位数进行穷举:
利用单循环对所有3位数进行穷举,循环内将一个3位数拆成3个个位数进行判断。
例如,对s=678进行拆解时:
个位数=sMod10;十位数=(s\10)Mod10;百位数=s\100。
当然,也可以将上述拆解过程写为一个循环(这时就是利用双重循环,内层循环即为拆解过程)。
课后兴趣题:
循环密文。
现有一个字符串,将该字符串内的每个英文字符都改为其后(前)的第n个字符,非英文字符的符号保持不变,修改之后的字符串即为密文,而修改之前的字符串称为明文。
当修改后的字符超出了“a”~“z”或“A”~“Z”字符序列范围后,应将其循环回字符序列的最开始或最末尾。
例如,n=4时,“a”译为“e”,“w”译为“a”,“May!
”就被译为“Qec!
”。
反之,当知道n(正为向后,负为向前)后,即可恢复密文为可读文本。
给定一个任意由纯英文字符(ASCII字符)和标点符号组成的字符串,例如“ILoveThisComputerGame!
”,将其转换为密文(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数列(112358132134…)的前20项,并按照每行5个打印在窗体上。
Fibonacci数列数学描述式为:
F(i)=F(i-2)+F(i-1)。
实验九数组及其应用
(二)
一、实验目的
1.掌握数组的基本概念。
2.掌握二维数组的声明、引用。
3.掌握静态数组和动态数组的区别。
4.掌握控件数组。
二、实验内容
1有矩阵A,用二维数组求其转置矩阵B。
要求将两矩阵按照矩阵样式显示。
,
【提示】
所谓转置,即:
b(i,j)=a(j,i)。
2有3×4矩阵A,求其中值最大和值最小的那两个元素的值,以及它们所在的行号和列号。
其中,
。
3打印出如图9-1a所示的杨辉三角形,要求先输入行数n。
进一步要求:
如果要显示为图9-1b所示的样式,该如何改动原来的程序呢?
【提示】
(1)杨辉三角形是
展开后各项的系数,具有如下规律:
各行的第一个和最后一个数都是1;从第三行起,除上面指出的第一个数和最后一个数之外,其它的数是上一行同列和前一列两个数之和,即:
,i为行,j为列。
(2)为了便于控制,将内容显示在图片框(PictureBox)中。
(3)要显示为图9-1(b)所示的样式,应该利用TAB函数对每行显示的起始位定位。