VB操作题.docx

上传人:b****5 文档编号:8344114 上传时间:2023-01-30 格式:DOCX 页数:12 大小:41.18KB
下载 相关 举报
VB操作题.docx_第1页
第1页 / 共12页
VB操作题.docx_第2页
第2页 / 共12页
VB操作题.docx_第3页
第3页 / 共12页
VB操作题.docx_第4页
第4页 / 共12页
VB操作题.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

VB操作题.docx

《VB操作题.docx》由会员分享,可在线阅读,更多相关《VB操作题.docx(12页珍藏版)》请在冰豆网上搜索。

VB操作题.docx

VB操作题

VB操作题

1、[题目]随机生成一个4行4列的矩阵,要求数字为两位正整数,然后完成对该矩阵的转置。

所谓矩阵的转置是指将矩阵的行列交换,如图所示。

[编程要求]

1、按"执行"按钮,则开始运行程序,按图示格式将产生的矩阵显示在多行文本框text1中,将转置后的矩阵显示在文本框text2中。

2、按"清除"按钮,则将text1,text2两文本框中的内容清空。

按"结束"按钮,结束程序的执行。

3、程序中有一个过程,该过程的功能是完成对矩阵的转置。

【参考代码】

OptionBase1

PrivateSubCommand1_Click()

Dima(4,4)AsInteger,iAsInteger,jAsInteger

Fori=1To4

Forj=1To4

a(i,j)=Int(Rnd*90)+10

Text1=Text1&a(i,j)&""

Nextj

Text1=Text1&vbCrLf

Nexti

Callzhzh(a)

Fori=1To4

Forj=1To4

Text2=Text2&a(i,j)&""

Nextj

Text2=Text2&vbCrLf

Nexti

EndSub

Subzhzh(b()AsInteger)

Fori=1To4

Forj=1Toi-1

t=b(i,j)

b(i,j)=b(j,i)

b(j,i)=t

Nextj

Nexti

EndSub

PrivateSubCommand2_Click()

Text1=“”

Text2=“”

EndSub

PrivateSubCommand3_Click()

End

EndSub

2、[题目]随机生成500个4位正整数,将其置于文本框1中,从中找出回文数,置于文本框2中。

并找出值最小的回文数,显示在文本框3中。

[编程要求]

1、按"运行"按钮,将运行结果按图示格式显示在文本框中;按"清除"按钮,将文本框清空,按"退出"按钮,结束程序运行;

2、程序中有一个名为HuiWenShu()的函数过程,用于判断一个数是否为回文数。

3、在运行按钮的单击事件中完成此按钮功能功能。

 

【参考代码】

OptionBase1

PrivateSubCommand1_Click()

Dima(1000)AsInteger,MinAsLong

Fori=1To500

a(i)=Int((9999-1000+1)*Rnd+1000)

Text1=Text1&a(i)&vbCrLf

Nexti

Min=9999

Fori=1To500

Ifhuiwenshu(CStr(a(i)))Then

Text2=Text2&a(i)&vbCrLf

Ifa(i)

EndIf

Nexti

Text3=Min

EndSub

PrivateSubCommand2_Click()

Text1=“”

Text2=“”

Text3=“”

EndSub

PrivateFunctionhuiwenshu(sAsString)AsBoolean

l=Len(s)

huiwenshu=False

Fori=1Tol\2

IfMid(s,i,1)<>Mid(s,Len(s)-i+1,1)Then

ExitFunction

EndIf

Nexti

huiwenshu=True

EndFunction

PrivateSubCommand3_Click()

End

EndSub

3、[题目]随机生成由10个两位正整数组成的数组,并使用冒泡法对该数组进行排序。

[编程要求]

1、按"排序"按钮,则开始生成随即数组,按图示格式将数组显示在文本框Text1中;

然后进行排序,并将排序后的数组显示在文本框Text2中。

2、按"清除"按钮,则将Text1,Text2两文本框中的内容清空。

按"退出"按钮,结束程序的执行。

界面应与给出的参考界面相似,不得增加或减少控件。

3、程序中有一个过程,该过程的功能是使用冒泡法对数组进行排序。

【参考代码】

OptionExplicit

PrivateSubCommand1_Click()

DimiAsInteger,a(10)AsInteger

Fori=1To10

a(i)=Int(Rnd*90)+10

Text1=Text1&a(i)&“”

Nexti

sorta

Fori=1To10

Text2=Text2&a(i)&“”

Nexti

OutRe

EndSub

PrivateSubsort(a()AsInteger)

DimiAsInteger,jAsInteger,tAsInteger,SwitchAsBoolean

Fori=1To9

Switch=False

Forj=1To10-i

Ifa(j)>a(j+1)Then

t=a(j):

a(j)=a(j+1):

a(j+1)=t

Switch=True

EndIf

Nextj

IfNotSwitchThenExitFor

Nexti

EndSub

PrivateSubCommand3_Click()

Text1=“”

Text2=“”

EndSub

PrivateSubCommand3_Click()

End

EndSub

PrivateSubOutRe()

DimiOutAsInteger,iIn(10)AsInteger,iInFileAsInteger,iAsInteger

DimsInAsString,lOutAsLong

iInFile=FreeFile

OpenApp.Path&“\in.txt”ForInputAs#iInFile

Fori=1To10

LineInput#iInFile,sIn

iIn(i)=CInt(sIn)

Nexti

Close#iInFile

Callsort(iIn)

iOut=FreeFile

OpenApp.Path&“\out.dat”ForOutputAs#iOut

Fori=1To10

Print#iOut,CStr(iIn(i))

Nexti

CloseiOut

EndSub

 

4、[题目]顺序查找:

给定一个数,在一个两位随机数数组中查找与此数相同的元素(该数组大小为10个元素)。

如果找到与给定数值相同的元素后输出该元素在数组中的位置;找不到则输出相应的提示信息。

[编程要求]

程序中有一个过程,过程名为search,该过程的功能是返回查找的数在数组中的位置,如果找不到返回-1。

完成此函数的功能

【参考代码】

OptionBase1

Dima(10)AsInteger

PrivateSubCommand1_Click()

DimiAsInteger

Fori=1To10

a(i)=Int(90*Rnd)+10

Text1=text1&Str(a(i))

Nexti

EndSub

PrivateSubCommand2_Click()

DimxAsInteger

x=search(a,Val(Text2))

Ifx=-1Then

Text3=“要查找的数不存在”

Else

Text3=“要查找的是第”&x&“个元素”

EndIf

OutRe

EndSub

PrivateFunctionsearch(b()AsInteger,nAsInteger)AsInteger

DimiAsInteger

L=UBound(b)

Fori=1ToL

Ifb(i)=nThen

search=i

ExitFunction

EndIf

Nexti

search=-1

EndFunction

PrivateSubCommand3_Click()

End

EndSub

PrivateSubOutRe()

DimiOutAsInteger,iInAsInteger,iArray(5)AsInteger,iAsInteger,jAsInteger

DimsInAsString,lOutAsInteger

iIn=FreeFile

OpenApp.Path&“\in.txt”ForInputAs#iIn

Fori=1To5

LineInput#iIn,sIn

iArray(i)=CInt(sIn)

Nexti

LineInput#iIn,sIn

J=CInt(sIn)

Close#iIn

lOut=search(iArray,j)

iOut=FreeFile

OpenApp.Path&“\out.dat”ForOutputAs#iOut

Print#iOut,CStr(lOut)

CloseiOut

EndSub

 

5、[题目]生成一个由1位数字组成的大小为4*4的矩阵,并求出该矩阵的靠边元素之和。

[编程要求]

程序中有一个过程sum(),该过程的功能是计算矩阵的靠边元素之和。

完成此函数的功能。

【参考代码】

OptionBase1

PrivateSubCommand1_Click()

Dima(4,4)AsInteger,iAsInteger,jAsInteger

Fori=1To4

Forj=1To4

a(i,j)=Int(10*Rnd+0)

Picture1.Printa(i,j)

Nextj

picture1.Print

Nexti

Text1.text=sum(a)

OutRe

EndSub

PrivateFunctionsum(a()AsInteger)AsInteger

Dimu1AsInteger,u2AsInteger,iAsInteger

sum=0

u1=UBound(a,1)

u2=UBound(a,2)

Fori=1Tou1

Forj=1Tou2

Ifi=1Ori=u1Orj=1Orj=u2Thensum=sum+a(i,j)

Nextj

Nexti

EndFunction

PrivateSubCommand2_Click()

Picture1.Cls

Text1.Text=“”

EndSub

PrivateSubCommand3_Click()

End

EndSub

PrivateSubOutRe()

DimiOutAsInteger,iInAsInteger,iArray(5,5)AsInteger,iAsInteger,jAsInteger

DimsInAsString,lOutAsLong

iIn=FreeFile

OpenApp.Path&“\in.txt”ForInputAs#iIn

Fori=1To5

Forj=1To5

LineInput#iIn,sIn

iArray(i,j)=CInt(sIn)

Nextj

Nexti

Close#iIn

lOut=sum(iArray)

lOut=FreeFile

OpenApp.Path&“\out.dat”ForOutputAs#iOut

Print#iOut,CStr(lOut)

CloseiOut

EndSub

 

6、1、按"执行"按钮,则开始运行程序,求出1000以内的所有孪生素数,显示在列表框中。

2、按"清空"按钮,则将列表框中的内容清空。

按"退出"按钮,结束程序的执行。

3、程序中有一个过程IsPrime,该过程的功能是判断一个数是否是素数。

【参考代码】

PrivateSubCommand1_Click()

DimiAsInteger

Dimflg1AsBoolean

Dimflg2AsBoolean

flg1=IsPrime(3)

Fori=5To1000Step2

flg2=IsPrime(i)

Ifflg1Andflg2ThenList1.AddItemCStr(i-2)&“”&CStr(i)

flg1=flg2

Nexti

OutRe

EndSub

FunctionIsPrime(ByValnAsInteger)AsBoolean

DimiAsInteger

IsPrime=False

Fori=2ToSqr(n)

IfnModi=0ThenExitFunction

Nexti

IsPrime=True

EndFunction

PrivateSubCommand2_Click()

List.Clear

EndSub

PrivateSubCommand3_Click(0

End

EndSub

PrivateSubOutRe()

DimiOutAsInteger,iInAsInteger,iAsInteger

DimsInAsString,lOutAsLong

iIn=FreeFile

Fori=5To200Step2

IfIsPrime(i)ThensIn=sIn&i&vbCrLf

Nexti

iOut=FreeFile

OpenApp.Path&“\out.dat”ForOutputAs#iOut

Print#iOut,sIn

CloseiOut

EndSub

 

7、输入一个正整数k,将k的各位数字分离后,累加求和。

程序界面如下图所示。

【编程要求】

1、单击"计算"按钮,将结果在文本框中显示出来。

2、单击"清除"按钮,将二个文本框中的内容清空;单击"结束"按钮,程序停止运行。

3、界面应与给出的参考界面相似,不得增加或减少控件;

4、运行程序,并输入123456检验。

【参考代码】

PrivateSubCommand1_Click()

DimxAsLong,tAsInteger,sAsInteger

x=Val(Text1)

s=0

DoWhilex<>0

t=xMod10

s=s+t

x=x\10

Loop

Text2=s

OutRe

EndSub

PrivateSubCommand2_Click()

Text1=“”

Text2=“”

EndSub

PrivateSubCommand3_Click()

End

EndSub

PrivateSubOutRe()

DimiOutAsInteger

iOut=FreeFile

OpenApp.Path&“\out.dat”ForOutputAs#iOut

Print#iOut,Text2.Text

Close#iOut

EndSub

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

当前位置:首页 > 高等教育 > 历史学

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

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