大一vb的实验报告

2024-08-06

大一vb的实验报告(共7篇)

篇1:大一vb的实验报告

一、目的与任务

本实验主要练习VB.NET的控件的综合运用。熟悉VB.NET的集成开发环境,掌握VB.NET编程技巧和开发过程。

实验学时数:4学时

二、考核方法及标准

1、考核方法:

本次实验成绩的评定分为三个部分: 出勤

实验完成情况 实验报告完成情况 2、考核标准:

本次实验成绩总分为100分,具体分数分布如表1-1所示。

表1-1 成绩分布情况

每部分的具体评分标准如下:

(1)出勤:迟到扣1分,早退扣1分(在为完成本实验的情况想),否则得满分。

(2)实验完成部分:

未完成,或存在严重缺陷得35分以下; 内容基本完成,但存在小缺陷得36~41分; 内容全部完成,没有错误得42~48分; 内容全部完成并具有创新的加49~60分。

(3)实验报告完成部分:

实验报告内容不完整得0~14分; 实验报告内容基本完整得15~24分;

实验报告内容正确、排版清晰、有条理得25~30分。

三、实验内容

某商店为了迎接“五一”将进行促销活动,促销的商品包括服装、鞋、箱包、化妆品和床上用品五类。在促销期间,每类产品的规定品牌前40件以3折出售,每类产品每人限购1件,售完为止。买这五类产品的促销商品列表如下表:

(1)基本要求:每次在列表框中点击相应的商品时,会显示商品的名称、数量、单价折扣,并把用户所采购的所有商品在文本框内进行汇总,当输入实付款后单击“收款”按钮后计算应找的零钱。

(2)进一步要求:添加菜单,使得对于特价商品的种类、品牌商品、价格和折扣进行编辑。

(3)创新提示:无。要求自行寻找可改进的地方和创新点。

四、思考题

1、什么情况下应该使用Label控件?

2、VB.NET中菜单控件有哪几种类型?是否可以为命令按钮添加上下文菜单? 3、OpenFileDialog控件和SaveFileDialog控件能否自己打开并读写文件的内容?

4、定时器控件的Interval属性是以什么为单位的?是否只要设定了Interval属性,定时器就能自动启动?

篇2:大一vb的实验报告

一、设计内容和目的

这次实验设计,我做的是学生信息管理系统,主要功能是提供学生信息保存和查询功能。

主要分为个窗口,其具体功能如下:

1、登录窗口:提供学生和管理员登录。

2、信息管理窗口:主操作窗口,可以进行重登陆、注销、退出、用户查询、管理员管理、系统信息的操作。包括一个下拉菜单和工具栏。

3、用户查询窗口:可以查询数据库中保存的学生信息。

4、管理员管理窗口:只有管理员可以进入,显示数据库中所有的学生信息,并且可以添加修改。

5、系统信息窗口:是系统的信息内容。

另外,根据网上的代码,我又制作了俄罗斯方块小游戏和画图工具。

二、设计过程:

1、实验构思:在系统设计之前,对实验内容和结构的构思占据了相当一部分时间。最终决定做一个“学生信息管理系统”,这样比较贴近自身情况,也有比较多的内容可以设计。

2、技术实现:在制作过程中主要使用了vb2005和数据库技术实现系统的设计、实现和运行。Photoshop等技术使程序的界面看起来更加友好。

3、运行调试:在系统制作中的运行调试过程中,出现了很多问题,比如各窗口之间的调用和访问,如何退出,控件的背景设置、字体颜色设置等,都需要经过一遍遍的调试发现、解决。

4、系统打包:在打包的时候,我按照老师给的方法一步步设置,可是由于粗心等原因,总是达不到满意的效果,直到第三次才真正成功。

三、系统结构:

如一所述,系统分为5个模块,各个模块之间可以自由访问。

四、实验结果: 该系统能够提供学生和管理员两种类型的登录,可以实现学生信息的查询、管理员对信息的修改,等。

五、设计心得:

在设计过程中,遇到了许多困难,比如:数据库无法连接、窗口无法正常访问、控件背景与窗体背景不协调等。后来通过查看课本和访问网络将这些问题解决了。

篇3:大一vb的实验报告

随着科学技术的不断发展,温度成为了生产和生活的重要的物理量,而生产和研制适当的测量温度系统是十分必要的。由于VB简单易学、效率高,功能强大和用户界面容易实现等优点已广泛应用于工业领域在测控系统中,进行实时监测。本文介绍一种利用VB中的MSCOMM控件实现串行通信的方法,实现单片机与PC机间进行数据通信。

1 系统总体设计分析

该系统是由STC89C54单片机、DS18B20温度传感器等组成的。其中单片机作为下位机采用RS232接口与PC机进行串行通信,PC机采用VB编写程序。当串口选择正确时,PC机向串口发送采集数据命令,单片机检测正确性,正确的话温度传感器开始采集温度,并把采集来的数据送到PC机上用VB6.0进行编程绘图,每秒钟一次,直到PC机发来停止命令为止。同时与预设值进行比较,当高于限定值时则红色报警灯亮,进行报警显示。还可以查询每个时刻的温度数值,从而实现在监控室内就可以进行远程监控。流程为:下位机→串口通信→温度显示及曲线绘制和温度保存→历史温度查询。

2 VB6.0串口通讯中的MSCOMM控件的研究

利用VB6.0来开发串口通讯软件。MSComm控件使用过程简单,提供了完善的串行数据收发功能,便于和串口进行数据交换,还可以通过进行串口参数的设置,通用性和可移植性强。下面通过系统串口初始化来介绍MSComm控件的几个主要属性。

3 串口通信协议的实现

本通信协议的目的是为了保证采集到的数据真实、可靠性,我们在进行串口通信时按照指定的串口通信协议进行连接通讯。数据体长度包括:地址+帧序列号+指令类型+数据前四位为帧头,第五位为地址,第六位帧序列号,第七位为指令类型第八、九位十数据位。

对于温度监控系统来说通讯协议格式为:

开始发送数据格式为:68 05 00 68 02 00 03 00 00 05 16

停止发送数据格式为:68 05 00 68 02 00 04 00 00 06 16

4 温度采集系统的主控界面及程序流程

在打开温度采集系统的串口时,将引起OnCom事件,此时通过MSComm控件的CommEvent方法可获取产生的事件或错误。判断是否有数据到达,若有,则读取数据判断正误并保存数据;若无,则返回。MSComm控件中只有一个OnComm事件。在OnCom事件处理过程中,可以通过判断CommEvent属性值,对于不同属性值转入不同事件处理过程,一般采用的办法是Select Case…End Select。同时将接收到的数据存入txt中,可以进行查询。

实现接收温度采集程序的部分主要代码:通信触发事件:

5 结论

系统使用VB语言,成功设计并开发了实验室温度监控的上位机软件。接收从下位机传过来的数据,并进行处理显示。同时将温度数据保存查询的功能。本系统还实现了曲线绘制的功能,可以通过查看温度值显示和温度曲线更加直观的来了解当前的温度状态及温度的变化过程。

摘要:利用Visual Basic 6.0中的MSCOMM控件,实现PC机与单片机之间的串行通信,文章简单介绍了MSCOMM控件的属性,系统具有温度数据采集、数据显示、数据记录、历史数据查询、曲线绘制等功能。

关键词:单片机,MSCOMM控件,串行通信,数据采集,PC机

参考文献

[1]黄建国.PC祝与单片机多机实时通信的设计与实现[J].电子工程师,2005,27(7).

[2]赵文敏,寿彩丽.用VB6.0开发微机与多台单片机之间的串口通信程序设计[J].浙江大学学报(理_T版),2000,27(2).

篇4:VB第六章实验报告

第一部分:书上例题运行结果展示

例6-1求组合数Cnmn!的值,设m=6,n=10。

m!(nm)!

例6-2一个数组有10个整数元素,将第一个元素与最后一个元素对调,第二个与倒数第二个对调……,输出对调前后数组各元素的值。

例6-3编写求两个整数的最大公约数过程,在主程序中调用该过程求两个数的最大公约数,并根据最大公约数求最小公倍数。

例6-4分别用传地址方式和传值方式编写交换两个整数的过程并调用。

例6-5编写求一组整数平均值的过程,并在主程序中调用。

例6-6编写能获得一组整数的平均值、最大值和最小值的过程并调用。

例6-7求组合数Cnmn!的值,设m=6,n=10。

m!(nm)!

例6-8窗体级变量的作用范围示例

例6-9变量的作用范围综合示例。

例6-10编程对键盘上输入的任意个数排序。

例6-11判断一个整数是否是回文数。所谓回文数是这样的数,将这个数从左向右读和从右向左读值相等。如121就是回文数,345就不是回文数。

例6-12设计一个数值转换函数,能够将十进制整数转换成16进制以内的任意进制数。

例6-13利用递归调用计算n!

第二部分:课后习题

1. 自定义一个与VB内部函数Abs功能完全相同的函数过程MyAbs,要求函数过程中不能调用VB内部函数Abs。运行结果如下所示:

代码录入如下:

Private Sub Command1_Click()

Dim a!

a = InputBox(“请输入函数值”)

Print myabs(a)End Sub Function myabs!(ByVal x!)

If x >= 0 Then

x = x

Else

x =-x

End If myabs = x End Function 3.编写函数过程Gdc求两个数的最大公约数。调用此函数试求1260、198、72三个数的最大公约数。

运行结果如下所示:

代码录入如下:

Private Sub Command1_Click()

Dim x%, y%, z%

x = Val(InputBox(“输入第一个数x为:”))

y = Val(InputBox(“输入第二个数y为:”))

z = Val(InputBox(“输入第三个数z为:”))

z = gys(gys(x, y), z)

Print “三个数的最大公约数为:” & z End Sub Function gys%(ByVal m%, ByVal n%)

Dim r%

Do

r = m Mod n

If r = 0 Then

Exit Do

Else

m = n: n = r

End If

Loop gys = n End Function 7.编程输出10000~99999之间的全部回文式素数。运行结果如下:

代码录入如下:

Private Sub Command1_Click()

Dim i&, n&, x#

x = Timer

For i = 10000 To 99999

If hws(i)= True Then

If ss(i)= True Then

Print i;

n = n + 1

If n Mod 5 = 0 Then Print

End If

End If

Next i

Print

x = Timer1)Mod 5)* 6);dg(i);

Next i

Print

Print “第20个数是” & dg(20)End Sub Function dg#(ByVal m%)

If m >= 3 Then dg = dg(m2)

Else dg = 1

End If End Function 第三部分:简答题

1.Sub过程和Function过程的异同点是什么?

答:过程是一个具有某种功能的独立程序段,可供程序多次调用。对于一个具体问题,既可以使用Function过程,也可以使用Sub过程。但Sub过程与Function过程还是有区别的,Sub过程的过程名仅标识过程本身;Function过程的过程名除了标识过程本身以外,还有返回值的作用,因此,若过程有一个返回值时,则习惯使用Function过程,并通过函数名返回函数值;若过程不需要返回值或返回多个值时,则使用Sub过程;返回值通过实参与形参的结合带回,当然也可通过Function过程名带回一个结果,其余通过实参与形参的结合带回。

2.值传递与地址传递特点是什么?如何选择?

答:VB中形参与实参的结合有传值和传地址两种方式。数据传递按照地址方式传递。传值方式只能从调用程序向过程传入初值,但不能将结果传出;而地址传递即可传入又可传出。实现传值和传地址对形参和实参的要求。在定义过程时在形参前加ByVal关键字或过程调用时变量加圆括号,数据传递按照传值方式;如果在形参前加ByRef关键字或省略(默认)或实参是数组、自定义类型、对象变量等,参数传递只能是地址传递。

3.在VB中,形参若是数组,问在过程体内如何表示其数组的上、下界?

答:传地址是VB默认的参数传递方式。在这种方式下,实参传给形参的是存储地址,使得形参与实参共用同一存储单元,因此,在过程中对形参的任何操作实质都是对相应实参的操作。参数传递时,当实参为变量时,把实参的地址传递给形参,使实参与形参共享同一存储单元段;当实参为数组时,把实参数组的存储地址传递给形参数组,使实参数组与形参数组共享同一存储区域。

4.在Form1窗体通用声明部分声明的变量,可否在Form2窗体中的过程被访问? 答:不可以。窗体(模块)级变量的作用域限制在声明它的窗体(模块)中,该窗体(模块)中的所有过程均可访问该变量,其它窗体(模块)则不能。

5.为了使某变量在所有的窗体中都能使用,应在何处声明该变量? 答:public 6.在同一模块、不同过程中声明的相同变量名,两者是否表示一个变量?有没有联系? 答:不表示。当变量名相同而作用域不同时,将优先访问作用域小的变量。

三.实习中遇到的问题 传值与传地址的区别及各种情况下的选择。

四.信心指数

篇5:大一C语言上机实验报告

姓名: 班级: 学号:

实验内容:

编写一个程序,从键盘输入任意一个五位数,把这个数值分解为单个数字,然后打印出每一个数字(每个数字之间用三个空格分开)。例如用户输入了42339,屏幕输出结果为:

【提示】巧妙使用 / 和 % 两种运算符。源代码: #include void main(){

long int num,a,b,c,d,e;

scanf(“%ld”,&num);a=num/10000;b=num%10000/1000;c=num%1000/100;d=num%100/10;e=num%10;printf(“%ld

%ld

%ld

%ld

%ldn”,a,b,c,d,e);}

运行结果:

实验内容:

已知三角形三边a,b,c,计算三角形的面积。

注:三角形面积公式为area=[s(s-a)(s-b)(s-c)]的1/2次幂

S=1/2*(a+b+c)源代码: #include #include void main(){ double area,s,a,b,c;

} scanf(“%lf%lf%lf”,&a,&b,&c);s=(a+b+c)/2;if(a>0 && b>0 && c>0){ area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“area=%lfn”,area);} else printf(“输入错误,三角形边长不能为负数或0n”);运行结果:

实验内容:

输入圆的半径,计算出圆的周长和面积 源代码: #include #include void main(){

double r,z,area,pi=3.14159;scanf(“%lf”,&r);if(r>0)

{

z=2*pi*r;area=pow(r,2)*pi;printf(“圆面积为%lf周长为%lfn”,area,z);return 0;

} } else printf(“输如错误,圆的半径不能为负数或0n”);运行结果:

实验内容:

• 体型判断。按“体指数”对肥胖程度进行划分:

体指数t = 体重w /(身高h)2

(w 单位为公斤,h单位为米)

– 当t < 18时,为低体重;

– 当t介于18和25之间时,为正常体重; – 当t介于25和27之间时,为超重体重; – 当t >= 27时,为肥胖。

• 编程从键盘输入你的身高h和体重w,根据给定公式计算体指数t,然后判断你的体重属于何种类型。• 用3种方法编程:

– 算法1:用不带else子句的if语句编程

– 算法2:用在if子句中嵌入if 语句的形式编程

– 算法3:用在else子句中嵌入if 语句的形式编程

算法1:源代码: #include #include int main(){

float w,h;double t;scanf(“%f%f”,&h,&w);if(w<=0 || h<=0){

printf(“输入错误,身高体重不能为负数或0n”);} {

t=w/pow(h,2);

if(t<18){ printf(“低体重n”);

goto loop;

goto loop;

} if(t>=18 && t<25)

{

} if(t>=25 && t<27){

printf(“超重体重n”);

goto loop;} if(t>=27){ printf(“正常体重n”);goto loop;

printf(“肥胖n”);

} }

loop:return 0;} 运行结果:

算法2:源代码: #include

#include int main(){

float w,h;double t;scanf(“%f%f”,&h,&w);if(w<=0 || h<=0){

printf(“输入错误,身高体重不能为负数或0n”);} { t=w/pow(h,2);if(t<25){

if(t>=18){

} printf(“正常体重n”);goto loop;goto loop;

printf(“低体重n”);}

if(t>=25){

if(t<27){

} printf(“超重体重n”);goto loop;

printf(“肥胖n”);} }

loop:return 0;} 运行结果:

算法3:源代码: #include #include int main(){

float w,h;double t;scanf(“%f%f”,&h,&w);if(w<=0 || h<=0)printf(“输入错误,身高体重不能为负数或0n”);else {

} t=w/pow(h,2);if(t<18)printf(“低体重n”);else {

} if(t>=18 && t<25)printf(“正常体重n”);else {

}

if(t>=25 && t<27)

printf(“超重体重n”);else printf(“肥胖n”);return 0;} 运行结果:

实验内容:

编写一个程序,计算-32768~+32767之间任意整数(由键盘输入)中各位奇数的平方和。源代码: #include int main(){

} int a,b=0,c=0,i;scanf(“%d”,&a);for(i=0;i<5;i++){ if(a%2!=0){

} a/=10;} printf(“%dn”,b);return 0;c=a%10;b=b+c*c;

运行结果:

实验内容:

设有一四位数abcd=(ab+cd)2,编写一个程序,求a、b、c、d。源代码: #include #include int main(){ int num,a,b,c,d;

for(num=1000;num<=9999;num++){

a=num/1000;

} 运行结果:

} return 0;b=num%1000/100;c=num%100/10;d=num%10;if(num==pow((10*a+b+10*c+d),2))printf(“a=%db=%dc=%dd=%dn”,a,b,c,d);

实验内容: 鸡兔问题:鸡兔共30只,脚共有90个。编写一个程序,求鸡、兔各多少只。源代码: #include int main(){

} 运行结果: int x,y;for(x=0;x<=45;x++){

} return 0;for(y=0;y<=22;y++)if(x+y==30 && 2*x+4*y==90)printf(“鸡有%d只,兔有%d只n”,x,y);

实验内容:

编写一个程序,求S值(n由键盘输入):

(程序检验参考:

x=6.66,n=8时,s=40.955;x=6.66,n=15时,s=-1.511 源代码: #include

#include int main(){

double jiecheng(int);

double s=0,x=6.66;

} double jiecheng(int x){

} double f;if(x==0||x==1)f=1;int n,i;scanf(“%d”,&n);for(i=1;i<=n;i++){ } printf(“%.3fn”,s);return 0;s=s+pow(-1,i)*pow(x,i)/jiecheng(i);else f=jiecheng(x-1)*x;return f;

运行结果:

实验内容:

编写一个程序,求前 n 项之和S值,其中 n≥1,x ≠ 0。(n由键盘输入):

2x

5x

13x

S = ── ── +

──-── +...2x

5x

13x(程序检验参考:x=6.66,n=8时,s=-16.492;x=6.66,n=15时,s=-28.469)源代码: #include #include int main(){

int a=1,b=2,n,i,t=0;

double s=0,x;

scanf(“%lf%d”,&x,&n);

if(n>=1)

{

for(i=1;i<=n;i++)

{ if(i%2)

{

s+=pow(-1,i+1)*a/(b*x);

t=a;

a=b;

b=t+b;

}

else

{

s+=pow(-1,i+1)*a*x/b;

t=a;

a=b;

b=t+b;

}

}

printf(“%fn”,s);

} return 0;}

运行结果:

x3x5x7x9x,3!5!7!9!

实验内容:

利用泰勒级数sin(x)≈

计算sin(x)的值。要求最后一项的绝对值小于10-5,并统计出此时累加了多少项。

(程序检验参考:x=6时,sin(x)=-0.279415,count=13)源代码: #include #include int main(){ double jiecheng(int);

double s=0,x;

int i,count=0;scanf(“%lf”,&x);for(i=1;;i+=2){

} s+=pow(-1,count)*pow(x,i)/jiecheng(i);count+=1;if(fabs((pow(x,i)/jiecheng(i)))

} printf(“sin(x)=%f count=%dn”,s,count);return 0;double jiecheng(int i){

} 运行结果: double f;if(i==0||i==1)f=1;else f=jiecheng(i-1)*i;return f;

实验内容:

三色球问题。若一个口袋中放有12个球,其中有3个红色的,3个白色的,6个黑色的,从中任取8个球,问共有多少种不同的颜色搭配? 源代码: #include int main(){

int i,j,k,way=0;

for(i=0;i<=3;i++)

{

for(j=0;j<=3;j++)

{

for(k=0;k<=6;k++)

{

if(i+j+k==8)

way=way+1;

}

}

}

printf(“way=%dn”,way);

return 0;} 运行结果:

实验内容:编程打印以下图案

****** ****** ****** ******

源代码: #include int main(){

int i,j;for(j=1;j<=4;j++){

for(i=1;i<=4-j;i++)

} { printf(“ ”);} printf(“******n”);

return 0;} 运行结果:

* *** ***** *******

源代码: #include int main(){

int i,j;for(j=1;j<=4;j++)

{

for(i=1;i<=2*j-1;i++)

} printf(“*”);printf(“n”);return 0;} 运行结果:

*

* * * * * * * * * * * * * * * * * * * *

* * * * 源代码: #include int main(){

int i,j,m,n;for(j=1;j<=7;j++){

if(i<5)

{ } else { m=j-4;n=(15-2*j);m=4-j;n=2*j-1;

}

for(i=1;i<=m;i++)

printf(“ ”);

for(i=1;i<=n;i++)printf(“*”);

printf(“n”);} return 0;} 运行结果:

实验内容:

输出下三角形乘法九九表--------1 2 3 4 12 16 5 10 15 20 25 6 12 18 24 30 36 7 14 21 28 35 42 49 8 16 24 32 40 48 56 64 9 18 27 36 45 54 63 72 81 源代码: #include int main(){ int i,j,k;printf(“ 1 printf(”--------n“);for(i=1;i<10;i++){

9n”);

for(j=1;j<=i;j++)

{

printf(“ %d ”,k=i*j);

}

printf(“n”);} return 0;}

篇6:VB实验指导书

实验指导书

电子与计算机科学技术学院 实验一

熟悉VB集成开发环境

一、实验目的

1.熟悉计算机环境 2.VB的安装、启动与退出 3.熟悉VB语言编程环境

二、实验环境

1.计算机

2.Visual Basic 6.0开发环境

三、实验说明

1.熟悉机房实验环境

2.学习Visual Basic 6.0开发环境

四、实验内容和步骤

1.实验内容

(1)Windows的基本操作。(2)VB的安装、启动与退出。(3)VB集成开发环境的初步使用。2.实验步骤

(1)打开计算机,进入Windows;

(2)在CD-ROM驱动器中插入Visual Basic 6.0系统盘;(3)运行安装程序(Setup.exe),即可进入“安装程序向导”;

(4)在“安装程序向导”引领下,按步骤选择相应的选项,添加对应的参数,完成安装过程;

(5)从以下几方面熟悉VB集成开发环境:

 标题栏  菜单栏  工具栏  工程设计窗口 ①“工程资源管理器”窗口 ②“窗体设计器”窗口 ③“属性设置”窗口 ④“代码设计”窗口 ⑤“窗体布局”窗口 ⑥“立即”窗口 ⑦“工具箱”窗口

五、实验报告要求

1.整理实验结果,填入相应表格中 2.小结实验心得体会 3.回答思考题:

(1)如果“立即”窗口和“工具箱”窗口已被关闭,如何打开?(2)如果想改变VB程序代码的字体,应如何进行设置?

实验二

建立VB应用程序

一、实验目的

1.进一步熟悉VB语言编程环境 2.熟悉创建VB程序的步骤

二、实验环境 1.计算机

2.Visual Basic 6.0开发环境

三、实验说明

1.熟悉创建VB程序的步骤

2.进一步学习Visual Basic 6.0开发环境

四、实验内容和步骤

1.实验内容

(1)设计一个窗体,当单击“显示”按钮时,在文本框内显示“走进VB程序乐园”;当单击“清除”按钮时,清除文本框内的文本;当单击“退出”按钮时,结束程序运行。程序界面如下所示:

(2)设计一个窗体,打开窗体时,标签显示“风景这边独好!”且为黑色;当单击“红”时标签显示红色;当单击“黄”标签显示黄色;当单击“还原”按钮时,标签显示黑色;当单击“退出”按钮时,结束程序运行。程序界面如下所示:

2.实验步骤(1)打开计算机,在Visual Basic 6.0系统环境下,选择“文件”菜单中的“新建工程”菜单选项,打开“新建工程”窗口;

(2)在“新建工程”窗口按下“确定”按钮打开“工程设计”窗口;(3)在“工程设计”窗口,首先设计窗口的属性,然后打开工具箱窗口添加所需控件,设计该实验的界面;

(4)在“工程设计”窗口,选择“视图”菜单中的“代码窗口”菜单选项,打开“代码窗口”窗口,设计命令按钮控件的事件代码;

(5)打开“工程设计”窗口,选择“文件”菜单中的“保存窗体”菜单选项,将所建的窗体保存到指定的磁盘文件中;

(6)打开“工程设计”窗口,选择“文件”菜单中的“保存工程”菜单选项,将所建的VB工程保存到指定的磁盘文件中;

(7)在“工程设计”窗口,选择“运行”菜单中的“启动”菜单选项,运行程序,观察运行结果。

五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 3.回答思考题: 使用文本框和标签都可以显示信息,二者所使用的属性一样吗?请分别指出。

实验三

内部函数的使用

一、实验目的

1.理解VB内部函数的功能和书写格式 2.学会在“立即”窗口中进行操作

二、实验环境

1.计算机

2.Visual Basic 6.0开发环境

三、实验说明

1.熟悉Visual Basic 6.0开发环境 2.学会使用“立即”窗口 3.练习使用常用的内部函数

四、实验内容和步骤

1.实验内容(1)常用数学函数 练习使用常用的数学函数:Abs、Cos、Exp、Int、Log、Rnd、Sgn、Sin、Sqr、Tan等。(2)常用字符函数

练习使用常用的字符函数:Lcase、Left、Len、Ltrim、Mid、Right、Rtrim、Space、Trim、Ucase等。(3)常用转化函数

练习使用常用的转化函数:Asc、Chr、Str、Val等。(4)常用日期函数

练习使用常用的日期函数:Date、Day、Hour、Minute、Month、Now、Second、Time、Weekday、Year等。(5)计算下列函数值。①Sqr(4+3*7)②Int(123.456)③Abs(-12345)④Mid$(“abcdABCD”,5,4)⑤Len(“清华大学出版社ABCD”)⑥Asc(“M”)⑦Asc(Chr(100))⑧DataDiff(“D”,#3/25/2004#,#10/30/2004#)⑨IsData(#11/20/2003#)⑩IsNumeric(“ABC”)2.实验步骤

(1)打开计算机,进入Visual Basic 6.0系统环境;

(2)在视图下拉菜单中选择“立即窗口”,在“立即窗口”中计算各函数的值。

五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 3.回答思考题:(1)Int函数的功能是获取数值的整数部分,如果在获取数值整数部分的时候,要实现“四舍五入”,该如何实现?

(2)Rnd函数的功能是返回一个0至1之间的随机数,如果要返回0至100之间的随机数,该如何实现?

实验四

表达式的书写及求值

一、实验目的

1.掌握算术运算符、字符运算符和逻辑运算符的含义 2.掌握算术表达式、字符表达式和逻辑表达式的书写 3.掌握算术表达式、字符表达式和逻辑表达式的求值

二、实验环境

1.计算机

2.Visual Basic 6.0开发环境

三、实验说明

1.理解VB中各种运算符的含义

2.练习算术表达式、字符表达式和逻辑表达式的书写

3.在“立即”窗口中练习算术表达式、字符表达式和逻辑表达式的求值

四、实验内容和步骤

1.实验内容

(1)将下列代数式写成Visual Basic的算术表达式,并给题中变量赋值(a=1,b=2,c=3,x=2,y=1),然后计算表达式的值。

sin2(20a(4ab1))①

315abc(abc②abc)sin45xyxy ③22xy2xy1a④

52a9ealna⑤

(2)已知na=100,nb=5,sa$=“Visual Basic”,da=#3/15/2004 8:15:03 PM#,sb$=“程序设计”,la=True,计算下列表达式的值。①(na+nb)/ Sqr(na)②Mid(sa + sb,8,7)③Right(sa$,5)+ Space(5)+ Left(sb$,2)④sb & Str(na)& “ 分” ⑤Year(da)& Month(da)& Day(da)⑥Hour(da)& “:” & Minute(da)& “:” & Second(da)⑦da + 20 ⑧na + nb > 200 And Sqr(na)> 10 Or la ⑨Len(sa)= 12 And Not la And na = 100 ⑩Hour(da)> Int(na / 10)And na > nb 2.实验步骤

(1)打开计算机,进入Visual Basic 6.0系统环境;

(2)在视图下拉菜单中选择“立即窗口”,在“立即窗口”中书写表达式,并计算各表达式的值。

五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 3.回答思考题:

(1)试计算以下表达式的值:3 Or 3, 4 And 1。

(2)把以下表达式中的括号去掉后,表达式的值改变了吗?为什么?

((1+2)<(2*2))Or(10/2<>5)((1+2)<(2*2))+(10/2<>5)

实验五

输入输出操作

一、实验目的

1.掌握赋值语句的使用 2.掌握Print方法的使用 3.掌握输入输出对话框的使用

二、实验环境

1.计算机

2.Visual Basic 6.0开发环境

三、实验说明

1.理解赋值语句、Print方法、输入输出对话框的使用 2.练习赋值语句、Print方法、输入输出对话框的使用

四、实验内容和步骤

1.实验内容

(1)设计一个窗体,用Print方法在窗体上显示“轻松快乐学VB!”。

(2)设计一个窗体,单击窗体时,实现以下功能:

① 使用Inputbox函数输入两个整数X和Y; ② 计算|sinx+cosy|的值,并赋给变量Z; ③使用Msgbox函数输出计算结果。2.实验步骤(1)打开计算机,在Visual Basic 6.0系统环境下,选择“文件”菜单中的“新建工程”菜单选项,打开“新建工程”窗口;

(2)在“新建工程”窗口按下“确定”按钮打开“工程设计”窗口;(3)在“工程设计”窗口,首先设计窗口的属性,然后打开工具箱窗口添加所需控件,设计该实验的界面;

(4)选择“视图”菜单中的“代码窗口”菜单选项,打开“代码窗口”窗口,设计窗体单击事件的事件代码;(5)运行程序,观察结果;(6)保存窗体,保存工程。

五、实验报告要求

1.整理实验结果,填入相应表格中 2.小结实验心得体会 3.回答思考题:

(1)Inputbox函数的返回值是什么类型的数据?使用Inputbox函数一次可以输入两个或两个以上的值吗?

(2)赋值号“=”在VB中还有其它的功能吗?请指出。

实验六

标准模块和窗体的使用

一、实验目的 1.理解标准模块的建立和模块级变量的定义和使用 2.掌握窗体的建立和窗体常用属性、方法和事件

二、实验环境

1.计算机

2.Visual Basic 6.0开发环境

三、实验说明

1.熟练运用Visual Basic 6.0开发环境 2.熟悉建立VB应用程序的步骤 3.学会使用标准模块

4.学会设计窗体界面实现一定的功能

四、实验内容和步骤

1.实验内容

(1)建立“Sub Main”过程,使用Inputbox函数输入长方体的长、宽和高,计算长方体的体积,使用Msgbox函数输出计算结果。

(2)设计一个窗体,通过2个文本框接收数据,1个文本框输出数据,2个标签分别显示“+”和“=”,3个命令按钮控制操作,实现加法器的功能,程序的运行结果如下图所示:

2.实验步骤

实验内容(1)操作步骤:

(1)打开计算机,在Visual Basic 6.0系统环境下,选择“文件”菜单中的“新建工程”菜单选项,打开“新建工程”窗口;(2)选择“工程”菜单中的“添加模块”菜单选项,打开“添加模块”窗口;

(3)在“添加模块”窗口中,单击“打开”按钮,打开“代码设计”窗口,输入程序代码;

(4)选择“工程”菜单中的“工程属性”菜单选项,打开“工程属性”窗口;

(5)在“工程属性”窗口中,单击“确定”按钮,确定“Sub Main”过程为当前启动对象;

(6)运行程序观察结果;(7)保存模块文件和工程。实验内容(2)操作步骤:

(1)打开计算机,在Visual Basic系统环境下,选择“文件”菜单中的“新建工程”菜单选项,打开“新建工程”窗口;

(2)在“新建工程”窗口按下“确定”按钮打开“工程设计”窗口;(3)在“工程设计”窗口,首先设计窗口的属性,然后打开“工具箱”窗口添加所需控件,设计该实验的界面;

(4)选择“视图”菜单中的“代码窗口”菜单选项,打开“代码窗口”窗口,设计窗体单击事件的事件代码;(5)运行程序,观察结果;(6)保存窗体,保存工程。

五、实验报告要求1.整理实验结果,填入相应表格中 2.小结实验心得体会 3.回答思考题:

(1)窗体模块与标准模块有什么不同?(2)如果在窗体的事件过程中,要使用标准模块中定义的变量,应如何定义该变量?

实验七

基本内部控件的使用

一、实验目的

1.掌握基本内部控件的属性、方法和事件 2.掌握基本内部控件的使用

二、实验环境

1.计算机

2.Visual Basic 6.0开发环境

三、实验说明

1.熟练运用Visual Basic 6.0开发环境 2.熟悉建立VB应用程序的步骤 3.学会使用基本内部控件

四、实验内容和步骤

1.实验内容(1)设计一个窗体,通过1文本框输出数据,3个命令按钮控制文本框内数据的操作,实现文本编辑器的功能,程序的运行结果如下图所示:

(2)设计一个窗体,利用文本框输出数据,窗体下面有一个电子时钟,程序的运行结果如下图所示:

2.实验步骤

(1)打开计算机,在Visual Basic 6.0系统环境下,选择“文件”菜单中的“新建工程”菜单选项,打开“新建工程”窗口;

(2)在“新建工程”窗口按下“确定”按钮打开“工程设计”窗口;(3)在“工程设计”窗口,首先设计窗口的属性,然后打开“工具箱”窗口添加所需控件,设计该实验的界面;

(4)选择“视图”菜单中的“代码窗口”菜单选项,打开“代码窗口”窗口,设计命令按钮控件的事件代码;(5)运行程序,观察结果;(6)保存窗体,保存工程。

五、实验报告要求

1. 整理实验结果,填入相应表格中 2. 小结实验心得体会 3.回答思考题:

在一个窗体上,可以把多个命令按钮的Default属性设置为TRUE吗?为什么?

实验八

顺序结构程序设计

一、实验目的

1.掌握顺序结构的执行过程 2.掌握顺序结构程序设计方法

二、实验环境

1.计算机

2.Visual Basic 6.0开发环境

三、实验说明

1.熟练运用Visual Basic 6.0开发环境 2.熟悉建立VB应用程序的步骤 3.学会编写顺序结构程序

四、实验内容和步骤

1.实验内容

(1)设计一窗体,通过3个文本框输入长方体的长、宽和高,单击“计算”按钮计算长方体的体积和表面积,程序的运行结果如下图所示:

(2)设计一窗体,在窗体中输出一个由“*”组成的菱形。2.实验步骤

(1)打开计算机,在Visual Basic 6.0系统环境下,选择“文件”菜单中的“新建工程”菜单选项,打开“新建工程”窗口;

(2)在“新建工程”窗口按下“确定”按钮打开“工程设计”窗口;(3)在“工程设计”窗口,首先设计窗口的属性,然后打开“工具箱”窗口添加所需控件,设计该实验的界面;

(4)选择“视图”菜单中的“代码窗口”菜单选项,打开“代码窗口”窗口,设计命令按钮控件的事件代码;(5)运行程序,观察结果;(6)保存窗体,保存工程。

五、实验报告要求1. 整理实验结果,填入相应表格中 2. 小结实验心得体会

实验九

分支结构程序设计

一、实验目的

1.掌握分支结构语句的执行过程

2.掌握IF语句和SELECT CASE 语句的使用 3.掌握分支结构程序设计方法

二、实验环境

1.计算机

2.Visual Basic 6.0开发环境

三、实验说明

1.熟练运用Visual Basic 6.0开发环境 2.熟悉建立VB应用程序的步骤 3.学会编写分支结构程序

四、实验内容和步骤

1.实验内容

(1)求解方程ax2+bx+c=0,通过三个文本框输入a,b,c的值,程序的运行结果如下图所示:

(2)通过文本框输入x的值,求解以下分段函数的值,使用SELECT CASE 语句实现。

x100x0.9x1000x20000.8x2000x3000x3000 Y=0.7x2.实验步骤

(1)打开计算机,在Visual Basic 6.0系统环境下,选择“文件”菜单中的“新建工程”菜单选项,打开“新建工程”窗口;

(2)在“新建工程”窗口按下“确定”按钮打开“工程设计”窗口;(3)在“工程设计”窗口,首先设计窗口的属性,然后打开“工具箱”窗口添加所需控件,设计该实验的界面;

(4)选择“视图”菜单中的“代码窗口”菜单选项,打开“代码窗口”窗口,设计命令按钮控件的事件代码;(5)运行程序,观察结果;(6)保存窗体,保存工程。

五、实验报告要求1. 整理实验结果,填入相应表格中 2. 小结实验心得体会 3. 回答思考题:(1)有以下程序段:

Select Case Int(Aver / 10)Case 9 print “优秀” Case 8 print “良好” Case Is > 5 print “中等” Case Is < 6 print “差” End Select 试问:当Aver=100时,程序的输出结果?(2)在VB中,改变Select Case语句中Case项的顺序,会影响程序的执行结果吗?

实验

十一、实验目的1.理解循环结构的执行过程

循环结构程序设计

2.掌握FOR语句、WHILE语句和DO语句的使用 3.掌握循环结构程序设计方法

二、实验环境

1.计算机

2.Visual Basic 6.0开发环境

三、实验说明

1.熟练运用Visual Basic 6.0开发环境 2.熟悉建立VB应用程序的步骤 3.学会编写循环结构程序

四、实验内容和步骤

1.实验内容

(1)求S的值。P=1+(1+2)+(1+2+3)+(1+2+3+4)+„+(1+2+3+4+„N)(令N=50),程序的运行结果如下图所示:

(2)设计一窗体,输出1~100之间能被3整除的个数及它们的和,程序的运行结果如下图所示:

2.实验步骤(1)打开计算机,在Visual Basic 6.0系统环境下,选择“文件”菜单中的“新建工程”菜单选项,打开“新建工程”窗口;

(2)在“新建工程”窗口按下“确定”按钮打开“工程设计”窗口;(3)在“工程设计”窗口,首先设计窗口的属性,然后打开“工具箱”窗口添加所需控件,设计该实验的界面;

(4)选择“视图”菜单中的“代码窗口”菜单选项,打开“代码窗口”窗口,设计命令按钮控件的事件代码;(5)运行程序,观察结果;(6)保存窗体,保存工程。

五、实验报告要求

1. 整理实验结果,填入相应表格中 2. 小结实验心得体会

实验十一

一维数组的应用

一、实验目的

1.掌握一维数组的概念、定义、数组元素的引用和初始化。

2.学会用数组和程序基本控制结构实现数据的求和、求平均、求极值和排序等算法程序的设计

3.加深对循环控制结构的理解和使用

二、实验环境

1.计算机

2.Visual Basic 6.0开发环境

三、实验说明

1.熟练运用Visual Basic 6.0开发环境 2.熟悉建立VB应用程序的步骤

3.学会使用一维数组实现简单的应用程序

四、实验内容和步骤

1.实验内容

产生10个随机数,存入到数组中,编程实现以下内容:(1)求数组所有元素的和及平均值;(2)输出数组的最大值和最小值;

(3)对数组从小到大进行排序,并输出排序后的数组元素。要求在窗体上显示结果。2.实验步骤

(1)打开计算机,在Visual Basic 6.0系统环境下,选择“文件”菜单中的“新建工程”菜单选项,打开“新建工程”窗口;

(2)在“新建工程”窗口按下“确定”按钮打开“工程设计”窗口;(3)在“工程设计”窗口,首先设计窗口的属性,然后打开“工具箱”窗口添加所需控件,设计该实验的界面;

(4)选择“视图”菜单中的“代码窗口”菜单选项,打开“代码窗口”窗口,设计命令按钮控件的事件代码;(5)运行程序,观察结果;(6)保存窗体,保存工程。

五、实验报告要求

1. 整理实验结果,填入相应表格中 2. 小结实验心得体会

实验十二

二维数组的应用

一、实验目的

1.掌握二维数组的概念、定义、数组元素的引用

2.学会用二维数组和程序基本控制结构实现矩阵运算的方法

二、实验环境

1.计算机

2.Visual Basic 6.0开发环境

三、实验说明

1.熟练运用Visual Basic 6.0开发环境 2.熟悉建立VB应用程序的步骤

3.学会使用二维数组实现简单的矩阵运算

四、实验内容和步骤

1.实验内容

使用二维数组表示一个3行3列的方阵,编程实现以下内容:(1)输出方阵的转置矩阵;(2)输出方阵每行的最大值和最小值。要求在窗体上显示结果。2.实验步骤

(1)打开计算机,在Visual Basic 6.0系统环境下,选择“文件”菜单中的“新建工程”菜单选项,打开“新建工程”窗口;

(2)在“新建工程”窗口按下“确定”按钮打开“工程设计”窗口;(3)在“工程设计”窗口,首先设计窗口的属性,然后打开“工具箱”窗口添加所需控件,设计该实验的界面;

(4)选择“视图”菜单中的“代码窗口”菜单选项,打开“代码窗口”窗口,设计命令按钮控件的事件代码;(5)运行程序,观察结果;(6)保存窗体,保存工程。

篇7:大一vb的实验报告

在高校计算机教学中,程序设计语言教学的主要目的是使学生能从实际问题出发,设计解决问题的算法、编制程序实现的算法,并通过上机实验解决实际问题[1]。当前VB程序语言实验教学中普遍存在着以下问题:

(1)建立解决实际问题的算法:程序语言一个很突出的难点是设计算法,而算法设计是程序设计的核心[2]。对于一个现实问题,首先要将如何解决该问题的方法用一定算法描述出来,之后再根据算法编写程序。

(2)VB程序[3]与数据库的操作:数据库是独立发展的软件系统,而VB程序操作数据库是大型程序必定要涉及的技术。由于VB程序设计和数据库开发层面不同,所以VB程序操作数据库仍是VB编程的难点。

(3)递归编程:递归是一种重要的编程技术,把规模大的、较难解决的问题变成规模较小的、易解决的同一问题,规模较小的问题又变成规模更小的问题,并且小到一定程度可以直接得出它的解,从而得到原来问题的解[4]。递归编程也是VB编程设计和实现的难点之一。

针对上述3个问题,(1)从与学生学习紧密相关的问题出发,具有现实性和代表性[5]。选用已往学生成绩表进行分类建立决策树[6],该树还可用于对当前学生的成绩进行预测;(2)从实际应用问题出发,选用具有友好界面和丰富编程接口的SQL Server[7]数据库作为学生成绩表存储和VB程序操作的对象;由于对学生成绩表建立决策树算法的数据结构具有递归特点,选用递归编程,使学生掌握解决递归编程、调试等问题的方法。

2 建立解决实际问题的算法

学生成绩表(见表1)是一个决策表(或称样本数据集)[6],S=(U,{Xn}∪C,V),{Xn}是条件属性集,C是决策属性,V是值域,以下为基于信息熵的决策树构造算法的基本思想及步骤:

(1)VB程序与数据库的操作[8]:使用SQL数据库存储学生成绩表。SQL数据库具有功能统一(集数据定义、数据操作、数据管理功能于一体)、编程接口丰富和语言简洁易学等特点,所以选其作为本实验中数据的存储及操作对象。VB对数据库的操作分连接和操作2步实现:

数据库连接是确定具体的数据源。连接数据库的方法很多,如ADO(数据库对象)、DAO(数据库访问)、JET(数据连接引擎)、ODBC(开放式库连接)和OLEDB等。其中OLEDB是ADO技术应用于程序的系统组件,是一种底层数据访问,用系统提供的Data Links控件实现,具有人机界面友好和访问效率高的特点。Data Links由C:Program FilesCommon FilesSystemOLE DBoledb32.dll提供。

数据库操作是按连接类型的记录集(Record Set)操作数据源的数据,其操作主要是提供存贮空间和命令(SQL语句)。以SQL语句为操作目标,将数据库的数据以记录格式存储为VB语句可直接操作的数据接口。

(2)选择分裂属性[6]:建立决策树算法的关键是选择分裂属性,ID3算法简洁且易理解,较适合教学用例。ID3算法以条件属性的决策分类熵为分裂选择,度量确定出分裂属性,这样对树中每一叶节点都能获取最大类别信息,从而通过用该属性将当前信息集划分成若干个子集后,系统的熵值最小,该节点到达各后续节点的平均路径最短、最低。

设S为一个决策表,其中数据值的个数为|S|,|C|表示决策属性取不同值的个数,X表示一个条件属性(或称属性),x为它的值,Sx表示S中所有满足条件X=x的实例集合,PS(Ci)和PSx(Ci)分别表示在S和Sx中所有决策类别为Ci数据值的个数所占百分比。显然,根据信息熵的定义可得出S的信息熵为[6]:

属性X对S划分后的信息熵为:

属性X针对S的信息增益为:

(3)构建决策树的递归过程:获取当前分裂属性后即得一次建树结点。因为对S建立决策树是逐级判定分裂属性且划分子表的过程,取决于停止划分的条件是C中只有一类数据,这是一个典型的递归求解算法。递归算法的核心在于三个方面:首先,合理的分析问题,将大问题采用分而治之的思想,就是大规模的问题合理地分成几个类型相同的但是规模稍微小一点儿的问题,直至到达我们能够解决的程度;其次,分析如果问题到达能够解决的程度后应该怎么解决,也就是递归该怎么返回的问题;最后,参数的传递,当前的状态是否需要保存到下一层递归,如果需要,该如何传递。

显然,建树的递归过程是与(2)选择分裂属性协同完成的,对当前表中各条件属性X求信息增益IG,将增益最大者定为分裂属性,再以其类别进行一次枝结点划分,产生若干子表,对每个子表再进行上述计算,直至子表中只有一类数据,建一个叶结点且递归结束。

3 算法实现

(1)选择数据源

(2)数据库操作程序

数据库操作是按连接类型(ADODB)的记录集(Record Set)操作数据源的数据,以SQL语句为操作目标,将数据库的数据以记录格式存储为VB语句直接操作的数据接口。

(3)计算当前表的Entropy及IG且确定分裂属性算法的核心是求信息熵,先将该属性数值化后存入lg Vals()中。

(4)建树

算法的核心是求信息熵,先将该属性数值化后存入Vls()中。

树的控件选用Treelines Picture Text,其属性页如图2(上)所示。

4 实例分析

表1为学生成绩表,条件属性分别为N:学号;a:实验;b:期中;c:作业平均;d:抽查;e:课堂测试;f:考勤。决策属性为S:总评成绩。属性值分别为4:优秀;3:中等;2:及格;1:不及格。

根据式(1)得S的信息熵:

根据式(2)得属性a的信息熵:

同理可计算属性b、c、d、e、f的信息熵为:

根据式(3)得到实验成绩属性的信息增益为:

可见:IG(b)>IG(a)>IG(c)>IG(d)>IG(f)>IG(e),所以,在当前表中,属性b(期中成绩)是最佳分裂属性。按b的值(1,2,3,4)划分为4个子表且得4个枝结点,在各子表继续上述递归过程,最终得图2(下)的决策树。

5 结语

VB是一门实践性很强的课程,在实验教学过程中,以培养学生创造性思维为出发点,重在锻炼学生对实际问题的解决及编程能力。本文选择实用性强、涉及知识面集中、步骤独立、容易理解的问题作为研究对象,每个知识点既可独立实验,也可通过各知识点综合为有实际应用意义的教学案例,可以提高学生直观理解某个知识点并归纳为综合应用的能力。

参考文献

[1]张兰芳.高师院校计算机基础教学改革的研究与实践[J].中国大学教学,2011,11:43-45

[2]马斌.基于工作过程的程序设计类课程开发[J].职业技术教育,2010,14(31):26-28

[3]李亚非.VisualBasic程序设计教程教程[M].南京大学出版社,2009

[4]曹耀辉.程序设计中递归调用算法探究[J].长春师范学院学报(自然科学版),2011,3(30):46-48

[5]鹿晓力.多媒体计算机房综合控制系统设计与实现[J].实验室研究与探索,2012,4(31):54-57

[6]王永梅.决策树中ID3算法的研究[J].安徽大学学报(自然科学版),2011,3(35):71-75

[7]祁新安.SQL Server数据库的运用研究[J].制造业自动化,2010,12(32):30-32

上一篇:山中访友 教案教学设计下一篇:体育教学教研成果