中国海洋大学 VB上机试题Word文档格式.docx
- 文档编号:21721691
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:16
- 大小:34.30KB
中国海洋大学 VB上机试题Word文档格式.docx
《中国海洋大学 VB上机试题Word文档格式.docx》由会员分享,可在线阅读,更多相关《中国海洋大学 VB上机试题Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
m=1
原来数组为:
Fori=0To9
a(i)=InputBox("
请输入第"
&
m&
"
个数:
)
m=m+1
n=InputBox("
查找的数是:
i=0:
flag=False
Do
Ifa(i)=nThen
j=i:
flag=True
Fork=jToUBound(a)-1
a(k)=a(k+1)
Nextk
ReDimPreservea(UBound(a)-1)
i=i-1
EndIf
i=i+1
LoopWhile(i<
=UBound(a))
Ifflag=FalseThen
MsgBoxn&
不在该数组中"
Else
删除"
n&
后的数组是:
Fori=0ToUBound(a)
3.数组a中存放着升序排列的数据,使用array赋值,将inputbox输入的新数插入到数组中,插入后数组仍有序。
要求利用动态数组,能够实现多次插入
OptionExplicit:
OptionBase1
Dima(),nAsInteger,iAsInteger,mAsInteger,kAsInteger
n=8:
ReDima(n)
a=Array(5,15,23,52,68,88,90,99)
n=n+1:
ReDimPreservea(n)
m=InputBox("
请输入要插入的数据:
Fori=1Ton-1
Ifm<
a(i)ThenExitFor
Fork=nToi+1Step-1
a(k)=a(k-1)
Nextk
a(k)=m
Fori=1Ton
4.6个评委为4位歌手打分,分数介于1-100之间。
去掉一个最高分,一个最低分,求出每位选手的最后得分。
将4位歌手得分从高到低排列输出,同时输出该选手的编号。
如:
歌手395分
歌手187分
歌手480分
歌手270分
n=UBound(b)
Forj=1To10
a(i,j)=Val(InputBox("
请第"
j&
位评委给第"
i&
位选手打分:
))
Nextj
max=a(i,1):
sum=0
min=a(i,1):
ave=0
Ifa(i,j)>
maxThenmax=a(i,j)
Ifa(i,j)<
minThenmin=a(i,j)
sum=sum+a(i,j)
Nextj
ave=(sum-max-min)/(n-2)
b(i)=ave
Forj=i+1Ton
Ifb(i)<
b(j)Then
t=b(i):
b(i)=b(j):
b(j)=t
EndIf
选手的得分由高到低为:
Printb(i);
5.编写函数求一元二次方程ax2+bx+c=0的解。
要求考虑方程有两相等实根、两不等实根和两个虚根的情况。
6.任意输入一组字符,统计出大写字母多少个,小写字母多少个,数字多少个?
要求用过程实现。
DimssAsString
PublicSubtongji()
DimiAsInteger,largeAsInteger,smallAsInteger,numAsInteger
ss=InputBox("
请输入字符串:
共有"
Len(ss)&
个字符"
Fori=1ToLen(ss)
IfAsc(Mid(ss,i,1))>
=Asc("
A"
)AndAsc(Mid(ss,i,1))<
Z"
)Then
large=large+1
Else
a"
z"
small=small+1
=48AndAsc(Mid(ss,i,1))<
=57Then
num=num+1
大写字母:
large
小写字母:
small
数字:
num
Calltongji
7.随机产生一个5*5的矩阵,将主对角线和次对角线元素都置为1,并求出矩阵的四周元素之和,显示在列表框中。
8.编写一个函数,能将字母按下列规律译成密码:
A<
-->
Za<
z
B<
Yb<
y
即第1个字母与第26个字母互换,第i个字母与第(26-i+1)个字母互换。
在文本框中任意输入一个字符串,调用该函数将密码显示在另一个文本框中。
Dimstr1AsString,str2AsString,array1(100)AsString
DimiAsInteger,nAsInteger
PrivateSubLabel1_Click()
PrivateSubText1_Change()
str1=Text1.Text
n=Len(str1)
Fori=1Ton
array1(i)=Mid(str1,i,1)
IfAsc(array1(i))>
=97AndAsc(array1(i))<
=122Then
array1(i)=Chr(219-Asc(array1(i)))
ElseIfAsc(array1(i))>
=65AndAsc(array1(i))<
=90Then
array1(i)=Chr(155-Asc(array1(i)))
str2=Join(array1,"
Text2.Text=str2
9.编写2个函数,分别求两个正整数的最大公约数和最小公倍数,用户任意输入两个数,采用函数嵌套调用,该函数将它们在窗体显示。
Text1="
:
Text2="
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13ThenText2.SetFocus
PrivateSubText2_KeyPress(KeyAsciiAsInteger)
DimmAsInteger,nAsInteger,rAsInteger,tAsInteger,x
Cls
IfKeyAscii=13Then
m=Text1.Text
n=Text2.Text
nThen
t=m:
m=n:
n=t
r=mModn
Whiler<
>
0
n=r:
Wend
0Orn<
0Then
x=MsgBox("
请输入正数"
vbCritical+vbOKCancel)
Ifx=vbCancelThen
End
Text1="
Text1.SetFocus
PrintText1.Text&
和"
Text2.Text&
的最大公约数是:
;
n
10.编写计算阶乘的Function过程,利用ex的下列公式计算e(直到最后一项小于10-6为止)的近似值。
ex≈1+x/1!
+x2/2!
+x3/3!
+…+xn/n!
DimxAsInteger,nAsInteger,sAsDouble
x=InputBox("
请输入一个数:
n=1:
s=1
s=s+x^n/(jiecheng(n))
n=n+1
LoopUntilx^n/(jiecheng(n))<
10^(-6)
Prints
PublicFunctionjiecheng(nAsInteger)AsDouble
DimiAsInteger,sAsDouble
s=1
s=s*i
jiecheng=s
EndFunction
11.输入整数N,显示具有N行的杨辉三角形,要求按正三角形的形式在图片框中显示。
ReDima(n,n)
e=80
e=e-5:
g=e
Forj=1Ton
Ifj>
iThen
a(i,j)=0
Ifi=jThen
a(i,j)=1
a(i,j)=a(i-1,j)+a(i-1,j-1)
Ifa(i,j)=0Then
ExitFor
Picture1.PrintTab(g);
a(i,j);
g=g+10
Picture1.Print
PrivateSubPicture1_Click()
12.编写一个过程,输出以下菱形图形:
A
BBB
CCCCC
DDDDDDD
主程序输入一个奇数(>
=3),调用过程在窗体上输入图形。
DimnAsInteger
Calltuxing(n)
PublicSubtuxing(nAsInteger)
DimiAsInteger,jAsInteger
PrintTab(21-i);
Forj=1To2*i-1
PrintChr(Asc("
)-1+i);
13.编写一个将十进制转换为二进制字符串输出的函数。
调用函数计算用户输入一个十进制数,在文本框中输出二进制值。
输入数据为负数,应该将符号位输出
如-13结果-1101
DimxAsInteger
请输入一个十进制数:
erjinzhi(x)
PublicFunctionerjinzhi(mAsInteger)AsInteger
DimrAsInteger,ssAsString
r=mMod2
DoWhilem>
=1
ss=Str(r)&
ss
m=m\2
r=mMod2
Loop
Text1.Text=ss
14.输入一个整数N,产生N个随机数(范围1—10*N),然后采用任何2种算法实现由小到大的排序。
将排序前后的数据显示出来。
Dima(),nAsInteger,iAsInteger,jAsInteger,tAsInteger
原数组为:
请输入数组的项数:
ReDima(n-1)
Fori=0Ton-1
a(i)=Int(Rnd*(10*n)+1)
新数组为:
Fori=0Ton-2
Forj=0Ton-2-i
Ifa(j)>
a(j+1)Then
t=a(j):
a(j)=a(j+1):
a(j+1)=t
15.
编写程序,在窗体上输出3~100之间的所有素数。
要求每行显示4个数
16.把文本框1、文本框2指定的范围内的所有素数添加到列表框中,并选中列表框数据中最后一位是9的所有数据(设定selected属性),把它们的和值输出。
17.编写2个函数,分别采用递归法和递推法求斐波纳契数列的第n个月的兔子数,n使用inputbox输入,调用函数的结果在窗体上显示。
18.有一个数列:
1,1,2,3,5,8,13,21,…,按规律计算出前40项的和,结果写入到顺序文件(out.txt)中。
界面设计见图1,写入结果的数据文件out.txt用“记事本”打开如图2。
图1运行界面图2outt.txt文件内容
Dima(0To39)AsDouble
DimsumAsDouble,iAsInteger
PrivateSubCommand1_Click()
a(0)=1:
a
(1)=1:
sum=2
Fori=2To39
a(i)=a(i-1)+a(i-2)
sum=sum+a(i)
19.单击读数按钮从文件in.txt中读入一个整数(先用记事本创建一个in.txt文件,其中输入任意一个素数,如图3中输入的是101),单击计算按钮则计算出大于该数的第1个素数,单击存盘将结果保存到文件out.txt中,
DimmAsInteger
Open"
d:
\20道上机题\19\mywork\out.txt"
ForInputAs#1
Input#1,m
Close#1
PrivateSubCommand2_Click()
m=m+2
Ifjisuan(m)=TrueThenExitDo
PrivateSubCommand3_Click()
ForAppendAs#1
Print#1,m
PublicFunctionjisuan(mAsInteger)AsBoolean
DimiAsInteger
Fori=2ToSqr(m)
IfmModi=0Then
jisuan=False
Ifi>
=Sqr(m)Then
jisuan=True
20.如图6所示。
当选中某一个单选按钮并单击“计算”按钮时,则计算出该单选按钮标题所指明的所有素数之和,并在文本框中显示出来;
单击“存盘”按钮将计算所得的素数之和以out.txt文件名存入“c:
\exam”目录中。
判断一个数是否为素数的过程自己编写,存盘过程已经给出。
编写两个命令按钮的Click事件过程。
DimiAsInteger,sumAsInteger
IfOption1=TrueThen
Fori=99To199Step2
Ifsushu(i)=TrueThen
sum=sum+i
IfOption2=TrueThen
Text1.Text=sum
'
sum=0
PublicFunctionsushu(mAsInteger)AsBoolean
DimkAsInteger,iAsInteger
sushu=False
Sqr(m)Then
sushu=True
DimfAsString,sAsString
f="
out.txt"
s=Text1.Text
Callputdata(f,s)
PublicSubputdata(t_FileNameAsString,T_StrAsVariant)
DimsFileAsString
Open"
\20道上机题\20\exam\"
t_FileNameForOutputAs#1
Print#1,T_Str
Close#1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中国海洋大学 VB上机试题 中国海洋 大学 VB 上机 试题