安徽建筑工业学院.docx

上传人:b****5 文档编号:6907024 上传时间:2023-01-12 格式:DOCX 页数:46 大小:189.53KB
下载 相关 举报
安徽建筑工业学院.docx_第1页
第1页 / 共46页
安徽建筑工业学院.docx_第2页
第2页 / 共46页
安徽建筑工业学院.docx_第3页
第3页 / 共46页
安徽建筑工业学院.docx_第4页
第4页 / 共46页
安徽建筑工业学院.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

安徽建筑工业学院.docx

《安徽建筑工业学院.docx》由会员分享,可在线阅读,更多相关《安徽建筑工业学院.docx(46页珍藏版)》请在冰豆网上搜索。

安徽建筑工业学院.docx

安徽建筑工业学院

安徽建筑工业学院

现代教育技术中心

实 验 报 告

 

课程名称:

 VisualBasic程序设计

指导教师:

_______

专  业:

_______

班  级:

_______

姓  名:

_______

学  号:

_______

 

200 至200  学年第  学期

 

 

安徽建筑工业学院现代教育技术中心实验报告

实验一 VisualBasic集成环境和程序设计初步

实验地点:

第 机房     实验时间:

  年 月 日

实验目的

1.掌握启动和关闭VisualBasic系统方法,熟悉VisualBasic的集成开发环境。

2.掌握VisualBasic工具箱窗口、属性窗口、工程资源管理器窗口各自功能作用。

3.熟悉开、闭各种窗口的方法和工具栏的定制。

4.掌握建立(打开)工程、保存(另存)工程、运行工程和编译工程的方法。

5.掌握代码窗口、对象窗口、立即窗口的使用

6.学会在窗体上添加控件方法和如何布局控件的命令,熟悉基本控件默认名。

实验内容

1.问答题

1写出以下控件的中文名称。

LableCommandButtonTextBoxCheckBoxOptionButtonTimerPictureBoxImage

2.编程题

必做部分

(1)打开VisualBasic并建立一个名为“文字转换”的工程。

在界面上建立一个标签,一个文本框和一个按钮,分别显示“修改前”、“安徽理工大学”“修改”字样,用户点击“修改”按钮,标签和文本框分别显示“修改后”、“安徽建筑工业学院”字样。

提示:

保存这个工程,运行这个工程,编译这个工程。

注意它们保存在什么位置,一个工程由几个什么类型的文件组成,通过图标能分清它们吗?

(2)打开VisualBasic并建立一个名为“圆的相关计算”的工程,窗体命名为“计算界面”。

在该窗体上添加三个标签三个文本框和两个按钮。

如图所示。

要求:

当用户在文本框1中输入半径后,单击“计算圆的周长”在文本框2中显示结果;单击“计算圆的面积”,在文本框3中显示结果。

提示:

可先行参看常量的声明方法。

(3)新建另一个工程。

添加3个命令按钮,使命令按钮1标题提示文字是“打印”,使另外两个命令按钮的标题分别为“清除”和“退出”。

要求三个按钮在窗体的右下角处,大小尺寸同第一个按钮。

运行时按“打印”按钮时在窗体上输出两行文字“学海无涯苦作舟,书山无路勤为径。

”按“清除”按钮时清除这两行文字并显示“知识就是力量”。

按“退出”按钮时结束运行状态回到设计状态。

选作部分

(1)打开VisualBasic并建立一个名为“美丽的校园”工程。

在窗体上装入一幅图片。

画一个标签,使其标题为:

“知识的港湾,成才的摇篮”。

并可由下往上,由上往下运动。

按要求保存工程调试运行工程直到满意为止。

编译这个工程并运行编译后的程序。

、结

 

、结

 

、结

 

成绩:

教师签名:

年月日

安徽建筑工业学院现代教育技术中心实验报告

实验二 顺序、选择结构程序设计

实验地点:

第 机房     实验时间:

  年 月 日

实验目的

1.掌握各类表达式、赋值语句的书写规则。

2.掌握常用函数的使用方法、掌握InputBox和MsgBox函数的使用方法和返回值的使用。

3.熟悉利用立即窗口来测试常用函数,各类表达式的计算结果。

了解如何察看Debug.print表达式语句的执行结果。

4.掌握If~语句,If~Then~语句If~Then~EndIf语句和If~Then~ElseIf~…EndIf语句的使用规则和执行流程。

掌握Iif函数,Choose函数的使用规则和方法。

5.掌握SelectCase~Case~…CaseElse~EndSelect语句的使用规则和执行流程。

掌握Switch函数的使用规则和方法。

实验内容

1.书写以下表达式:

① 

_____________

② x和y是一个落在第一或第三象限内的点坐标____________________

③ a是100以内的整数___________________

2.求以下表达式的值

①语句PrintFormat("HELLO","<")的输出结果是__________

②设标签Label1.Caption="oppo,myOPPOmusicmyMusic珍珠玉盘",则

Right(Label1,3)Left(Label1,4)Mid(Label1,9,4)

Instr(Label1,"OPPO")Len(Label1.Caption)

Instr(Instr(Label1,"m")+1,Label1,"m")

LenB(Label1.Caption)

③ "315"+23&"12mod7"

④"12e2"+23&315mod2

⑤7and-1

3.选择回答

①InputBox函数返回值的类型为:

A)数值B)字符串C)变体D)数值或字符串(视输入的数据而定)

②表达式4+5\6*7/8Mod9的值是:

【正确答案】

B

A)4B)5C)6D)7

③语句PrintFormat(32548.5,"000.000.00")的输出结果是:

A)32548.500.00B)32,548.5C)032,548.50D)32,548.50

④执行语句InputBox"Today","Tomorrow","Yesterday"将显示一个输入对话框,在对话框的输入区中显示的信息是:

A)TodayB)TomorrowC)YesterdayD)Daybeforeyesterday

⑤表达式Int(5*Rnd+1)*Int(5*Rnd-1)值的范围是_____.

A.[0,15]B.[-1,15]C.[-4,15]D.[-5,15]

下列可作为VisualBasic变量名的是__________

A)A#AB)4AC)?

xyD)constA

执行如下程序段时,从键盘输入-5,输出的结果是__________

x=-5

s=Val(InputBox("请输入s的值:

"))

SelectCases

CaseIs>0

y=x+1

CaseIs=0

y=x+2

CaseElse

y=x+3

EndSelect

Printx;y

A.-5-2B.-5-4C.-5-3D.-5-5

4.编程题

必做部分

(1)通过两个文本框分别获得两个输入值,用户通过点击“比较大小”按钮使得文本框1的值大于文本框2的值。

(2)设窗口内的命令按钮“加倍”具有如下的功能:

将文本框Text1中输入的数值加倍后,在文本框Text2中显示其结果。

(3)编制一段程序完成以下分段函数的求值,自变量的值通过InputBox函数完成。

如果分段函数无定义用MsgBox函数给予提示。

(4)当一个文本框控件获得焦点的时候,只要在键盘上按下一个具有ASCII码的按键就会触发一次它的KeyPress事件。

请在这个事件中编一段代码使文本框的文本属性只能含有1,2,3,4,m,j字符。

(5)用户通过inputbox函数获得一位同学的成绩。

通过selectcase语句编程显示该成绩的等级。

(”A”>=90;90>”B”>=80;80>”C”>=70;70>”D”>=60;60>”failed”)

选做部分

(1)比较3个数的大小。

通过3个文本框获得值,使用print方法在窗体上按大小顺序输出。

、结

 

、结

 

、结

 

 

成绩:

教师签名:

年月日

安徽建筑工业学院现代教育技术中心实验报告

实验三 循环结构程序设计

(1)

实验地点:

第 机房     实验时间:

  年 月 日

实验目的

1.掌握对For循环和For循环的循环次数计算方法。

2.掌握各种形式的DO循环的使用规则和执行流程。

3.熟练使用ExitFor、ExitDo、Goto语句和循环嵌套。

实验内容

1.选择回答

①运行下列程序时,如果连击3次cmd1,且输入9,3,16,获得的运行结果分别是:

PrivateSubCmd1_Click()

DimxAsInteger

DimyAsInteger

x=Val(InputBox("输入数据"))

IfInt(Sqr(x))<>Sqr(x)Then

y=x*x

Else

y=Sqr(x)

EndIf

Form1.Text1.Text=Str(y)

EndSub

A.3、3、4B.81、9、256C.3、9、4D.9、3、16

②下面程序运行时

ForM=1To3

ForN=0ToM-1

NextN

NextM

内层循环的循环总次数是()

A.6B.7C.8D.9

③阅读下面的程序段:

x=1

Do

x=x+1

LoopUntilx>1

Printx

程序结果为

A.1B.2C.3D.出错

2.编程题

必做部分

(1)编写程序,计算1----20的阶乘。

(2)计算200-----300范围内能被5和7同时整除的数字之和。

(3)求自然对数e的近似值,要求误差小于0.00001,近似公式为:

e=1+1/1!

+1/2!

+1/3!

+……+1/n!

+……

选作部分

(1)编写程序输出1000之内的所有完数."完数"是指一个数恰好'等于它的因子之和。

如6的因子为1,2,3。

而6=1+2+3,因此6是完数。

、结

 

、结

 

、结

 

成绩:

教师签名:

年月日

安徽建筑工业学院现代教育技术中心实验报告

实验四 循环结构程序设计

(2)

实验地点:

第 机房     实验时间:

  年 月 日

实验目的

1.掌握对For循环和For循环的循环次数计算方法。

2.掌握各种形式的DO循环的使用规则和执行流程。

3.熟练使用ExitFor、ExitDo、Goto语句和循环嵌套。

实验内容

1.读程序写结果

①PrivateSubCommand1_Click()

Dimm%,a%,n!

Form=1To10Step2

a=0

Forn=0To9Step2

a=a+2

Nextn

Nextm

Printa

EndSub结果:

②PrivateSubCommand1_Click()

DimiAsInteger,xAsInteger,j%,k%,w%

Text1=""

Fori=1To4

Ifx>12ThenExitFor

Forj=1To3

Fork=1To2

x=x+3

Text1.Text=Text1.Text+Trim(Str(x))

w=x

Nextk

Nextj

Nexti

Printw

EndSub结果:

wText1.Text

③PrivateSubForm_Click()

DimkAsInteger

Dimn%,m%

n=5:

m=1

DoUntilk>n

m=m*2

k=k+1

Loop

Printk,m

EndSub结果:

km

Fori=1To6

IfiMod2=0Then

Print"#";

Else

Print"*";

EndIf

Nexti

以上程序段的输出字符的结果是___________

2.编程题

必做部分

(1)用辗转相除法求两个自然数m、n的最大公约数和最小公倍数。

(用文本框获得输入)

(2)请在窗体适当位置增加以下控件:

一个标签(名称分别为label1,标题为“100-200之间的素数和为”),一个文本框(名称为text1,文本为空白)和1个命令按钮(名称为:

command1,标题为:

“计算”),将窗体名称改为“求素数和”。

要求程序运行后,单击"计算"按钮,在text1文本框中显示出100—200之间的素数和。

(3)在窗体上添加1个文本框,编程统计用户输入文本框的字符串中含有目标串“and”的次数。

(4)求s=1-1/3!

+1/5!

-1/7!

+……+(-1)(n-1)*1/(2n-1)!

、结

 

、结

 

、结

 

成绩:

教师签名:

年月日

安徽建筑工业学院现代教育技术中心实验报告

实验五 数组和数组的应用

(1)

实验地点:

第 机房     实验时间:

  年 月 日

实验目的

1.握数组的定义方法,熟悉求数组上下界的函数和关于数组的几个内部函数。

2.熟悉动态数组的定义和动态数组的重定义

3.掌握控件数组的使用方法和熟悉对控件数组的编程

4.掌握排序、插入、查找、删除方法

实验内容

1.选择

①如下数组声明语句,则数组a包含元素的个数有_____。

Dima(3,-2to2,5)

A.120B.75C.60D.13

设有以下程序,程序运行后,单击窗体,输出结果是:

________

optionbase1

PrivatesubForm_click()

Dima,Iasinteger

a=Array(2,3,4,5,6,7,8,9)

Fori=0to3

Printa(5-i);

Nexti

Endsub

A.4321B.5432C.6543D.7654

③设有以下程序,程序运行后,单击命令按钮command1后,输出结果是:

________

Privatesubcommand1_click()

Dimi%,j%,b%(5,5)

Fori=1to3

Forj=1to3

b(i,j)=(i-1)*3+j:

Printb(i,j);

Nextj

Print

Nexti

Endsub

A.123B.234C.147D.123

246345258456

369456369789

2.编程题

必做部分

⑴给一个4*4的二维数组赋值,主、辅对角线上元素为1,其余位置元素为0,赋值后输出。

(2)求有10个元素的一维数组中的最大值,并将其与第一个元素互换位置。

(3)输出菲波那齐数列的前20个元素。

(4)将一个5*5的二维数组元素进行转置,数组元素通过Rnd函数获得,并输出;将转置后的矩阵输出。

选做部分

(1)编程打印5行的杨辉三角形。

、结

 

、结

 

、结

 

成绩:

教师签名:

年月日

安徽建筑工业学院现代教育技术中心实验报告

实验六 数组和数组的应用

(2)

实验地点:

第 机房     实验时间:

  年 月 日

实验目的

1.握数组的定义方法,熟悉求数组上下界的函数和关于数组的几个内部函数。

2.熟悉动态数组的定义和动态数组的重定义

3.掌握控件数组的使用方法和熟悉对控件数组的编程

4.掌握排序、插入、查找、删除方法

实验内容

1.读程序,写结果。

①在窗体上画一个命令按钮Command1,然后编写如下代码:

OptionBase1

PrivateSubCommand1_Click()

d=0:

c=10

x=Array(10,12,21,32,24)

Fori=1To5

Ifx(i)>cThen

d=d+x(i)

c=x(i)

Else

d=d-c

EndIf

Nexti

Printd

EndSub

程序运行后,单击命令按钮,输出结果是:

________

OptionBase1

PrivateSubForm_Click()

Dima,b,c,d%(3,3),i%,j%

a=Array(1,4,7):

b=Array(2,5,8):

c=Array(9,10,11)

Forj=1To3:

d(1,j)=a(j):

d(2,j)=b(j):

d(3,j)=c(j):

Nextj

PrintString(20,"-")

Fori=3To1Step–1

Forj=3To1Step-1

PrintFormat(d(i,j),"@@@@@");

Nextj

Print

NextI

EndSub

结果:

③PrivateSubForm_Click()

Dimx%(3,5),i%,j%

Fori=1To3

Forj=1To5

x(i,j)=x(i-1,j-1)+i+j

Nextj

Nexti

Printx(3,5),UBound(x,2)

EndSub

结果:

OptionBase1

PrivateSubCommand1_Click()

Dimy,i!

sumAsInteger

y=Split("7,8,9,10",",")

Fori=1To2Step0.5

sum=sum+y(i)

Nexti

Printsum,y(0)

EndSub

结果:

2.编程题

必做部分

⑴找出有10个元素的一维数组a的最大值和最小值的位置,并把它们对调。

将原数组和处理后的数组输出。

(数组a的元素通过Inputbox函数获得)

(2)利用Rnd函数产生3*3的矩阵并输出,将该二维矩阵与其转置矩阵加和。

输出新的求和矩阵。

(3)将一个有20个元素的一维数组按照小到大的顺序排序,将排序前的数组和排序后的结果输出。

(4)利用二维数组在窗体上输出一个6*6矩阵,该矩阵主对角线上和上三角上的元素为1,其余元素均为0(要求:

数组下界从1开始)。

要求程序运行后,单击“输出”按钮在窗体上输出如图所示的矩阵,并求出两条对角线元素之和,然后将其显示在文本框text1中。

选做部分

⑴在一个有50个元素的随机产生的一维数组中查找关键字等于key的元素的位置和个数。

(Key可自己赋值)

、结

、结

、结

 

成绩:

教师签名:

年月日

安徽建筑工业学院现代教育技术中心实验报告

实验七 函数和过程

实验地点:

第 机房     实验时间:

  年 月 日

实验目的

1.掌握自定义函数和子过程的定义方法和调用方法。

2.掌握值虚参数和地址虚参数的虚实参数传递方式,注意数组名和数组元素作过程参数的区别。

3.掌握变量的作用域、函数和过程的作用域。

正确区分程序级,模块级、过程级变量。

4.熟悉递归函数的定义方法和求解方法。

5.熟练使用函数、过程来简化程序设计

实验内容

1.读程序,写结果。

①OptionBase1

PrivateSubCommand1_Click()

Dima(4)AsInteger,iAsInteger

Cls

a

(1)=3:

a

(2)=5:

a(3)=-7:

a(4)=1

paa()

Fori=1To4

PrintFormat(a(i),"@@@");

Nexti

EndSub

Subpa(b()AsInteger)

Dimi%,j%,t%

Fori=1ToUBound(b)-1

Forj=1ToUBound(b)-i

Ifb(j)>b(j+1)Then_

b(j)=b(j)+b(j+1):

b(j+1)=b(j)-b(j+1):

b(j)=b(j)-b(j+1)

Nextj

Nexti

EndSub

结果:

②PrivateSubForm_Click()

DimiAsInteger,yAsInteger

i=0

DoWhilei<=4

y=fa(i+1)

i=i+1

Loop

Printy

EndSub

Functionfa(xAsInteger)AsInteger

DimtermAsInteger,iAsInteger

term=1

Fori=1Tox

term=term*i

Nexti

fa=term

EndFunction

结果:

Subtryout(xAsInteger,yAsInteger)

x=x+100

y=y*6

Print“x=”;x,”y=”;y

EndSub

SubForm_Click()

DimaAsInteger,bAsInteger

a=10:

b=20

tryouta,b

Print“a=”;a,”b=”;b

EndSub

运行程序,单击窗体Form1,在窗体上显示:

结果:

编写一个计算矩形面积的Sub过程,然后调用该过程计算矩形面积。

PrivateSubForm_

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 机械仪表

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1