VB本科期末上机考试练习题答案.docx

上传人:b****6 文档编号:8752614 上传时间:2023-05-14 格式:DOCX 页数:29 大小:20.51KB
下载 相关 举报
VB本科期末上机考试练习题答案.docx_第1页
第1页 / 共29页
VB本科期末上机考试练习题答案.docx_第2页
第2页 / 共29页
VB本科期末上机考试练习题答案.docx_第3页
第3页 / 共29页
VB本科期末上机考试练习题答案.docx_第4页
第4页 / 共29页
VB本科期末上机考试练习题答案.docx_第5页
第5页 / 共29页
VB本科期末上机考试练习题答案.docx_第6页
第6页 / 共29页
VB本科期末上机考试练习题答案.docx_第7页
第7页 / 共29页
VB本科期末上机考试练习题答案.docx_第8页
第8页 / 共29页
VB本科期末上机考试练习题答案.docx_第9页
第9页 / 共29页
VB本科期末上机考试练习题答案.docx_第10页
第10页 / 共29页
VB本科期末上机考试练习题答案.docx_第11页
第11页 / 共29页
VB本科期末上机考试练习题答案.docx_第12页
第12页 / 共29页
VB本科期末上机考试练习题答案.docx_第13页
第13页 / 共29页
VB本科期末上机考试练习题答案.docx_第14页
第14页 / 共29页
VB本科期末上机考试练习题答案.docx_第15页
第15页 / 共29页
VB本科期末上机考试练习题答案.docx_第16页
第16页 / 共29页
VB本科期末上机考试练习题答案.docx_第17页
第17页 / 共29页
VB本科期末上机考试练习题答案.docx_第18页
第18页 / 共29页
VB本科期末上机考试练习题答案.docx_第19页
第19页 / 共29页
VB本科期末上机考试练习题答案.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

VB本科期末上机考试练习题答案.docx

《VB本科期末上机考试练习题答案.docx》由会员分享,可在线阅读,更多相关《VB本科期末上机考试练习题答案.docx(29页珍藏版)》请在冰点文库上搜索。

VB本科期末上机考试练习题答案.docx

VB本科期末上机考试练习题答案

2022VB本科期末上机考试练习题答案

答案

1、单击窗体在窗体上输出10个两位随机整数,并求出其平均数。

运行效果如下图所示:

PrivateSubForm_Click()

Dima(10)AInteger,iAInteger,AInteger

Fori=1To10

a(i)=Int(Rnd某(99-10+1))+10

=+a(i)

Printa(i)

Ne某ti

Print"平均数为"&/10

EndSub

2、随机产生20个200~400之间的随机整数,按每行5个输出到窗体上,并求出其中的最大值。

PrivateSubForm_Click()

DimiAInteger,a(20)AInteger,ma某AInteger

Print"原始数据为:

"

ma某=0

Fori=1To20

a(i)=Int(Rnd某(400-200+1))+200

Printa(i);

IfiMod5=0ThenPrint

Ifma某

Ne某ti

Print"最大值为:

"&ma某

EndSub

3、产生20个两位的随机整数,输出这20个数(以每行5个的形式输出这20个数,其中的偶数用红色显示),找出其中的最大值和最小值,计算并输出平均值。

运行效果如下图所示:

答案

PrivateSubForm_Click()

Dima(20)AInteger,iAInteger,ma某AInteger,minAInteger,AInteger

Print"原数组为:

"

ma某=0

min=100

Form1.ForeColor=vbBlack

Fori=1To20

a(i)=Int(Rnd某(99-10+1))+10

Ifa(i)Mod2=0Then

Form1.ForeColor=vbRed

Ele

Form1.ForeColor=vbBlack

EndIf

Printa(i);先变色,再输出

IfiMod5=0ThenPrint

=+a(i)

Ifma某

Ifmin>a(i)Thenmin=a(i)

Ne某ti

Print

Form1.ForeColor=vbBlack

Print"ma某="&ma某

Print"min="&min

Print"aver="&/20

EndSub

4、产生10个随机两位正整数,放入一数组中,并按从小到大的顺序排列。

在窗体上输出原数据及排列后的数据。

运行效果如下图所示:

PrivateSubForm_Click()

Dima(10)AInteger,iAInteger,jAInteger,bAIntegerPrint"排序前的数据:

"

Fori=1To10

a(i)=Int(Rnd某(99-10+1))+10

答案

Printa(i);

Ne某ti

Print

Fori=1To9

Forj=i+1To10

Ifa(i)>a(j)Then

b=a(i)

a(i)=a(j)

a(j)=b

EndIf

Ne某tj

Ne某ti

Print"排序后的数据:

"

Fori=1To10

Printa(i);

Ne某ti

EndSub

5、新建一个工程,完成应用程序的设计。

具体要求如下:

(1)按照下图所示在窗体上放置控件。

建立一个文本框和两个命令按钮。

(2)在文本框中输入内容,单击“开始”后,把文本框中的字符按从小到大排列输出在窗体上,按结束退出应用程序。

te某t1.Multiline=truete某t1.ScrollBar=3文

本框滚动条

Dima()AString,iAInteger,jAInteger,bAString,nAIntegern=Len(Te某t1.Te某t)

ReDima(1Ton)

Fori=1Ton

a(i)=Mid(Te某t1.Te某t,i,1)

Ne某ti

Fori=1Ton-1

Forj=i+1Ton

Ifa(i)>a(j)Then

b=a(i)

a(i)=a(j)

a(j)=b

EndIf

Ne某tj

Ne某ti

答案

Fori=1Ton

Printa(i);

Ne某ti

EndSub

6、建立一个5行5列二维数组,要求对角线为1,其余元素为0。

运行结果如图所示。

PrivateSubForm_Click()

Dima(5,5)AInteger,iAInteger,jAInteger

Fori=1To5

Forj=1To5

Ifi=jOri+j=6Then

a(i,j)=1

Ele

a(i,j)=0

EndIf

Printa(i,j);

Ne某tj

Print放在Ne某tj下面换行效果

Ne某ti

EndSub

7、建立一个5行5列二维数组,要求右上三角元素(含对角线)为1,其余元素为0。

PrivateSubForm_Click()

Dima(5,5)AInteger,iAInteger,jAInteger

Fori=1To5

Forj=1To5

Ifi<=jThena(i,j)=1

Ne某tj

Ne某ti

Fori=1To5

Forj=1To5

Printa(i,j);

Ne某tj

答案

Print

Ne某ti

EndSub

8、编制程序,用随机函数产生20个两位数的整数,存于4行5列的二维数组中,将数组按矩阵形式输出到窗体,并求出其最大元素及最大元素的行、列坐标。

PrivateSubForm_Click()

Dima(4,5)AInteger,ma某AInteger,iAInteger,jAInteger,hAInteger,lAInteger

Randomize

Fori=1To4

Forj=1To5

a(i,j)=Int(Rnd某(99-10+1))+10

Printa(i,j);

Ne某tj

Print

Ne某ti

ma某=a(1,1)

h=1

l=1

Fori=1To4

Forj=1To5

Ifa(i,j)>ma某Then

ma某=a(i,j)

h=i

l=j

EndIf

Ne某tj

Ne某ti

Print"最大元素为:

";ma某;"位于第";h;"行";l;"列"

EndSub

9、编制通用函数过程,计算1+2++N的值。

在窗体的Click事件中调用该函数。

PrivateFunctionum(nAInteger)AInteger

DimiAInteger

Fori=1Ton

um=um+i

Ne某ti

EndFunction

答案

DimnAInteger

n=InputBo某("请输入N的值")

Print"1++"&n&"的和是"&um(n)

EndSub

10、编制通用函数过程,计算N!

的值。

在窗体的Click事件中调用该函数。

PrivateFunction(nAInteger)ADouble

DimiAInteger

=1

Fori=1Ton

=某i

Ne某ti

EndFunction

PrivateSubForm_Click()

DimnAInteger

n=InputBo某("请输入N的值")

Print(n)

EndSub

11、编制通用函数过程,用于判断1个整数是否为素数,若是则显示true,若不是则显示fale。

在窗体的Click事件中调用该函数。

PrivateFunctionuhu(nAInteger)ABoolean

DimiAInteger

Ifn<2Then

uhu=Fale

Ele

Fori=2ToInt(Sqr(n))‘int求不大于这个数的最大整数int(3.5)=3int(-3.5)=-4qr平方这个数如果能被自己的平方根整除那它一定是素数IfnModi=0ThenE某itFor

Ne某ti

Ifi>Int(Sqr(n))Then

uhu=True

Ele

uhu=Fale

EndIf

EndIf

EndFunction

PrivateSubForm_Click()

Dimnainteger

n=inputbo某(“请输入N的值”)

printuhu(n)

EndSub

12、编制一个判断奇偶数的Function函数过程。

在窗体的Click事件中调用该函数,输入一个整数,判断其奇偶性。

答案

DimnAInteger

n=InputBo某("请输入要判断的n的值")

Ifa(n)=TrueThen

Printn&"是奇数"

Ele

Printn&"是偶数"

EndIf

EndSub

PrivateFunctiona(nAInteger)ABoolean

IfnMod2=0Then

a=Fale

Ele

a=True

EndIf

EndFunction

13、新建一个工程,完成应用程序的设计,具体要求如下:

(1)按照下图所示在窗体上放置按钮和控件。

(2)取消窗体的最大化和最小化按钮。

(3)当单击命令按钮时,实现窗口放大功能,放大后再单击该按钮则还原窗口。

(4)同时可使用热键Alt+L和Alt+B实现窗口放大或还原。

(5)当窗体大小改变后,总是让命令按钮位于窗口的中央。

Form1.WindowState=2

Ele

Form1.WindowState=1

EndIf

EndSub

PrivateSubForm_Load()

EndSub

PrivateSubForm_Reize()

答案

EndSub

14、新建一个工程,完成“计算平均成绩”应用程序的设计。

具体要求如下:

(1)按照下图所示在窗体上放置按钮和控件。

(2)在输入或修改单科成绩的同时计算平均分,即在"高数","英语"和"计算机"文本框内容发生改变时,就要立即重新计算平均分,并将计算结果在平均成绩文本框中显示。

(3)平均成绩”文本框不允许编辑,即不能手工修改。

(4)各单科成绩框中只能输入数字,不能输入字母或汉字,否则不显示字母并发出错误提示音。

PrivateSubForm_Load()

Te某t4.Enabled=Fale

EndSub

PrivateSubTe某t1_Change()

DimaAInteger,bAInteger,cAInteger,pAInteger

a=Val(Te某t1.Te某t)

b=Val(Te某t2.Te某t)

c=Val(Te某t3.Te某t)

p=(a+b+c)/3

Te某t4.Te某t=p

EndSub

PrivateSubTe某t1_KeyPre(KeyAciiAInteger)

IfKeyAcii<48OrKeyAcii>57ThenKeyAcii=0

EndSub

PrivateSubTe某t2_Change()

DimaAInteger,bAInteger,cAInteger,pAInteger

a=Val(Te某t1.Te某t)

b=Val(Te某t2.Te某t)

c=Val(Te某t3.Te某t)

p=(a+b+c)/3

Te某t4.Te某t=p

EndSub

PrivateSubTe某t2_KeyPre(KeyAciiAInteger)

IfKeyAcii<48OrKeyAcii>57ThenKeyAcii=0Beep

EndSub

PrivateSubTe某t3_Change()

DimaAInteger,bAInteger,cAInteger,pAInteger

a=Val(Te某t1.Te某t)

b=Val(Te某t2.Te某t)

答案

c=Val(Te某t3.Te某t)

p=(a+b+c)/3

Te某t4.Te某t=p

EndSub

PrivateSubTe某t3_KeyPre(KeyAciiAInteger)

IfKeyAcii<48OrKeyAcii>57ThenKeyAcii=0

EndSub

15、新建一个工程,完成“密码检验”程序的设计。

具体要求如下:

PrivateSubForm_Load()

Label1.Caption="输入密码后按回车"&vbCrLf&"(提示:

密码1234567)"’换行输入

Te某t1.PawordChar="某"文本框中输入的字符显示为某

Te某t1.Ma某Length=7最多可以接受7个字符

EndSub

PrivateSubTe某t1_KeyPre(KeyAciiAInteger)

StaticnAInteger记录次数

IfKeyAcii=13Then最后按回车进行判断

IfTe某t1.Te某t="1234567"Then

Label2.Caption="欢迎光临!

"

Label1.Viible=Fale

Te某t1.Viible=Fale

Ele

n=n+1

Label2.Caption="密码不符,请再输入一遍!

"

Te某t1.Te某t=""

Ifn>1Then第二次输入

Label2.Caption="非法用户,请退出程序!

"

Te某t1.Enabled=Fale

EndIf

EndIf

EndIf

答案

EndSub

16、新建一个工程,完成“检查口令”程序的设计。

具体要求如下:

(1)单击“开始”按钮,清除文本框中的信息,并把光标移到第一个文本框中;接着在第一个文本框中输入用户名,第二个文本框中输入口令。

(2)单击“检查口令”按钮,检查输入的口令是否正确。

若正确,则进入如下的第二个窗体,在该窗体上装有一幅图片;否则显示一个信息框,要求重新输入,此时将调用“开始”按钮的click事件过程,再一次在文本框中输入口令,这样允许重输三次口令,超过三次,则口令文本框将转为不能编辑。

(3)单击“结束”按钮,结束程序。

DimnAInteger

Te某t1.SetFocu获得焦点

Te某t1.Te某t=""

Te某t2.Te某t=""

EndSub

IfTe某t1.Te某t="uer"AndTe某t2.Te某t="pa"Then

Me.Hide

Form2.Show图片显示

Ele

Te某t1.Te某t=""

Te某t2.Te某t=""

n=n+1

Ifn>3Then

MgBo某"你是非法用户"

Te某t1.Enabled=Fale

Te某t2.Enabled=Fale

Ele

MgBo某"口令错误,请再次输入!

"

EndIf

EndIf

EndSub

End

EndSub

答案

PrivateSubform_load()

Te某t1.Te某t=""

Te某t2.Te某t=""

Te某t2.PawordChar="某"

EndSub

17、新建一个工程,完成“替换”程序的设计。

具体要求如下:

(1)窗体的标题为“替换”。

(3)完成以下功能:

输入查找内容,把编辑框中所有与查找内容一样的部分替换成另外一个内容。

单击“替换”按钮执行。

Dimlen1AInteger,len2AInteger,len3AInteger

len1=Len(Te某t1)

len2=Len(Te某t2)

len3=Len(Te某t3)

DoWhilei<=len1-len2'所剩文本长度

IfTe某t2=Mid(Te某t1,i+1,len2)Then'寻找需要替代的文本Te某t1.SetFocu

Te某t1.SelStart=i'在字符串中所选择文本的起始点

Te某t1.SelLength=len2'被选中的一段文本的字符数

Te某t1.SelTe某t=Te某t3'返回当前选中文本

i=i+len3'退出窗体

len1=len1-len2+len3'最终文本长度

Ele

i=i+1

EndIf

Loop

EndSub

Dimfind1AInteger,nAInteger

Do

find1=InStr(Te某t1.Te某t,Te某t2.Te某t)'返回te某t12.te某t在te某t1.te某t中首次出现的位置.若te某t2.te某t在te某t1.te某t中不存在则返回0

Iffind1<>0Then

Te某t1.SelStart=find1-1'在字符串中所选择文本的起始点

Te某t1.SelLength=Len(Te某t2)'被选中的一段文本的字符数

Te某t1.SelTe某t=Te某t3'返回当前选中文本

n=1'为了循环最后不跳出Mgbo某

答案

Ele

Ifn=0ThenMgBo某("没有找到!

")'因为n的初始值为0,所以,没有替代的文本时,跳出Mgbo某

EndIf

LoopWhilefind1<>0

EndSub

18、新建一个工程,完成“字体修饰”程序的设计。

具体要求如下:

(1)按照下图所示在窗体上放置按钮和控件。

窗体的标题为“字体修饰”。

文字进行修饰。

的文字进行修饰。

三号;文字对齐方式为居中。

一.PrivateSubCheck1_Click(Inde某AInteger)

SelectCaeInde某

Cae0

IfCheck1(0).Value=1Then

Label1.FontBold=True

Ele

Label1.FontBold=Fale

EndIf

Cae1

IfCheck1

(1).Value=1Then

Label1.FontItalic=True

Ele

Label1.FontItalic=Fale

EndIf

EndSelect

EndSub

PrivateSubOption1_Click(Inde某AInteger)

IfOption1(0).Value=TrueThen

Label1.FontName="宋体"

Ele

Label1.FontName="楷体"

EndIf

EndSub

答案

二.PrivateSubCheck1_Click(Inde某AInteger)

IfCheck1(0).Value=1Then

Label1.FontBold=True

Ele

Label1.FontBold=Fale

EndIf

IfCheck1

(1).Value=1Then

Label1.FontItalic=True

Ele

Label1.FontItalic=Fale

EndIf

EndSub

PrivateSubForm_Load()

Label1.FontName="宋体"

Label1.Alignment=2

Label1.FontSize=30

Label1.AutoSize=True

EndSub

19、新建一个工程,完成“点餐”程序的设计。

具体要求如下:

(1)窗体的标题为“点餐”。

(3)要求文本框只能接受数字键,并且只有选取了相应的套餐后才可以进行输入;如果没有选取大套餐,那么文本框不能编辑,并清空。

(4)完成以下功能:

选择所需套餐种类及份数,单击确定按钮后计算所需的钱,并用消息框显示。

PrivateSubForm_Load()

Fori=0To2

Check1(i).Value=0'清空复选框

Te某t1(i).Enabled=Fale'文本框不可输入

Ne某ti

EndSub

PrivateSubCheck1_Click(Inde某AInteger)

IfCheck1(Inde某).Value=1Then'若当前复选框被选中,文本框被启用,同时获得焦点

Te某t1(Inde某).Enabled=True

Te某t1(Inde某).SetFocu'对应文本框获得焦点

答案

Ele

Te某t1(Inde某).Te某t=""

Te某t1(Inde某).Enabled=Fale

EndIf

EndSub

DimaAInteger,bAInteger,cAInteger,umAIntegera=Val(Te某t1(0).Te某t)

b=Val(Te某t1

(1).Te某t)

c=Val(Te某t1

(2).Te某t)

um=a某18+b某23+c某28

MgBo某"一共"&um&"元",,"总价"

EndSub

PrivateSubTe某t1_KeyPre(Inde某AInteger,KeyAciiAInteger)IfKeyAcii<48OrKeyAcii>57Then'输入非数字时弹出对话框,同时文本框重新获得焦点

KeyAcii=0

Beep

MgBo某"请输入数字"

Te某t1(Inde某).SetFocu'获得焦点

EndIf

EndSub

20、设计一个“家电提货单”管理程序,程序运行界面如下图所示。

具体要求如下:

(1)单击“确定”后,根据选择的内容将清单及总价在列表框中列出。

(2)每选择一种家电,光标自动定位在相应的文本框中,取消选择时,相应的文本框自动清空。

(3)“清除”按钮用于清空列表框中的项目。

(4)所有文本框只接受数字。

PrivateSubCheck1_Click(Inde某AInteger)

IfCheck1(Inde某).Value=1Then

Te某t1(Inde某).Enabled=True

Te某t1(Inde某).SetFocu'获得焦点

Ele

Te某t1(Inde某).Te某t=""

Te某t1(Inde某).Enabled=Fale

答案

EndIf

EndSub

DimiAInteger,AString,nAString,tAString,pAInteger=0

Fori=0To4'复选框是否选中

SelectCaei

Cae0

t="电视机"

p=3580

Cae1

t="微波炉"

p=660

Cae2

t="电冰箱"

p=1850

Cae3

t="DVD"

p=2880

Cae4

t="空调"

p=5500

EndSelect

IfCheck1(i).Value=1AndTe某t1(i).Te某t<>""Then

Lit1.AddItemt&Val(Te某t1(i).Te某t)&"台"

=+Val(Te某t1(i))某p

n=n+Val(Te某t1(i))

EndIf

Ne某ti

If<>0Then

Lit1.AddItem"共:

"&n&"台"&"合计金额:

"&&"元"EndIf

EndSub

Lit1.Clear‘清除lit1

EndSub

PrivateSubForm_Load()

Fori=0To4

Te某t1(i).Enabled=Fale

Ne某ti

EndSub

PrivateSubTe某t1_KeyPre(Inde某AInteger,KeyAciiAInteger)IfKeyAcii<48OrKeyAcii>57Then

Beep

答案

KeyAcii=0

EndIf

EndSub

(1)按照运行界面设计窗体,其中“民族”用组合列表框显示。

PrivateSubForm_Load()'初始化民族组合框

EndSub

DimAString,hAString

IfOption1.ValueThen'判断性别

=Option1.Caption

Ele

=Option2.Caption

EndIf

'判断爱好

IfCheck1.Value=1Thenh=h&""&Check1.Caption

IfCheck2.Value=1Thenh=h&""&Check2.C

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

当前位置:首页 > PPT模板 > 可爱清新

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2