vb 春上机部分Word格式.docx
《vb 春上机部分Word格式.docx》由会员分享,可在线阅读,更多相关《vb 春上机部分Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
vbCrLf
EndIf
NextI
EndSub
PrivateSubSub1(KAsInteger,SAsString,FAsBoolean)
DimIAsInteger,Sum1AsInteger,Sum2AsInteger
DimNAsInteger,StartAsInteger
DoWhileSum1<
>
Sum2AndN<
100
Start=Start+1
N=Start
S=N:
Sum1=N
ForI=1ToK-1
N=N+1
Sum1=Sum1+N
S=S&
"
+"
&
N
="
Sum2=N
ForI=1ToK-2
Sum2=Sum2+N
IfSum1=Sum2Then
F=True
Loop
【要求】
1.新建工程,输入上述代码,改正程序中的错误;
2.改错时,不得增加或删除语句,但可适当调整语句位置;
3.将窗体文件和工程文件分别命名为F1和P1,并保存到软盘A的根目录下。
二、编程题(26分)
【题目】本程序的功能是:
按设定的数据位数N(N=2、3、3、4、5、6),随机生成20个互不相等正整数,按5个一行的形式输出到
文本框中,并从中找出所有降序数输出到列表框。
所谓降序数是指所有高位数字都大于其低位数字的数。
例如973就是一个降序数。
【编程要求】
1.程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;
2.在文本框1中输入N值,按“执行”按钮,则开始计算并在文本框2中显示生成的随机数,在列表框中输出其中的降序数;
按“清
除”按钮,则将2个文本框及列表框清空,焦点置于文本框1上;
按“退出”按钮,结束程序运行;
3.程序中应定义一个用于判断一个N位数是否是降数的通用过程。
将窗体文件和工程文件分别命名为F2和P2,并保存到软盘A的目录下。
二级VisualBasic语言(试卷代号VB02)
【题目】本程序的功能是对字符串加密。
密钥为一数字串,每个数字表示将首字符右移的位置,例如,若明文字符串为helpme,密
钥中第一个数字4表示将首字符h移到位置4,得到新字符串elphme,再取密钥的下一个数字符串进行上述操作,直到最后一个密钥
数字处理完就得到密文。
若移位超出原文长度,则自动回转(按原文长度取模)。
DimIAsString,s2AsString,iAsInteger,keyAsInteger
s1=Text1
//
s2=Text2
Fori=1ToLen(s2)
key=Val(Mid(s2,i,1))
Callencode(s1,key)
Nexti
Text3=s1
PrivateSubencode(sAsString,KAsInteger)
DimIAsInteger,tAsString*1,nAsInteger
t=Mid(s,1,1)
n=kModLen(s)
ifn=0Then
k=n
Fori=2Tok
Mid(s,i-1,1)=Mid(s,i,1)
Nexti
Mid(s,i,1)=t
首先按给定格式(数据以逗号分隔,-1表示数据结束)将输入到文本框1中的数据依次存入一个数组,然
后为该组数据建立一个按从大到小次序的索引表并显示在文本框2中。
如下土,文本框2中的第一个数据4表示文本框1中4个数最大;
文本框2中的最后一个数据8表示文本框1中第8个数最小。
2.在文本框1中输入测试数据,按“处理”按钮,则按题目要求得到结果并显示在文本框2中;
按“清除”按钮,则将2个文本框清
空,将焦点置于文本框1上;
3.程序中应定义一个根据数组元素的大小从大到小取其排列号的通用过程。
二级VisualBasic语言(试卷代号VB03)
求出(K+1)个连续数的平方数,其和等于其后的K个连续数的平方数之和。
DimIAsInteger,KAsInteger
DimFlgAsBoolean,SAsString
Do
K=K+1
ForI=3To100
S=I&
^2"
CallSub1(I,K,S,Flg)
LoopWhileK<
6
PrivateSubSub1(NAsInteger,KAsInteger,SAsString,FAsBoolean)
DimJAsInteger,Sum1AsInteger,Sum2AsInteger,AAsInteger
Sum1=N^2
//此处插入图片
ForJ=1ToK
Sum1=Sum1+N^2
S=S&
"
&
N&
NextJ
N&
Sum2=N^2
ForA=1ToK-1
Sum2=Sum2+N^2
NextA
EndIf
【题目】在A盘根目录下建立纯英文的文本文件Data.txt。
要求编程用字符串S1替换文件中所有字符子串S,字符串S不区分字母大
小写,S1与S长度不一定相同。
文件Data.Txt的内容如下,其中VB、Vb,vB,vb都要求用VisualBasic替换。
ThisaVBbook
Westudyvb
Vbisveryuseful
HelloVB
运行程序,替换后的结果见界面图。
1.按“开始”按钮,则开始运行程序,将结果按图示格式显示在文本框中;
按“清除”按钮,则将文本框清空;
按“结束”按钮结
束程序运行;
2.要求编写一个实现字符串替换的通用过程;
3.不允许使用Instr函数。
2.将窗体文件和工程文件分别命名为F2和P2,并保存到软盘A的目录下。
二级VisualBasic语言(试卷代号VB04)
【题目】本程序用于验证下列命题:
可被37整除的三位整数,其各位数字循环移位后得到的三位数也可被37整除。
例如148,481,
841都是这样的数(不考虑含有数字0的三位数)。
DimnAsInteger,p
(2)AsInteger,jAsInteger
DimsAsString,fAsBoolean
Forn=100To999
//此处插入图片。
Callpnum(n,p,f)
IffAndnMod37=0Then
s=CStr(n)
Forj=1To2
Ifp(j)Mod37<
0Then
MsgBox("
验证失败"
)
ExitSub
Else
s=s&
Str(p(j))
Nextj
List1.AddItems
Nextn
PrivateSubSub1(nAsInteger,p()AsInteger,flagAsBoolean)
DimiAsInteger,kAsInteger,hAsInteger
flag=False
IfInStr(CStr(n),"
0"
)=0Thenflag=True
Fori=1To2
k=nMod10
h=n\100
p(i)=Str(k)&
Str(h)
n=p(i)
EndSub
【题目】将若干正整数排成圆圈,依次编号(例如26为第一号)。
编写程序,找出拐点元素(所谓拐点元素是指它比左右相邻元素
都大或都小),输出拐点元素的值及位置。
2.按“运行”按钮,则生成由15个无重复数的两位随机整数数列,显示到文本框内;
求出该数列中的怪点元素,按示例格式(数据
,位置号)显示在列表框中;
按“清除”按钮,则文本框、列表框清空,将焦点置于文本框上;
3.程序中应定义一个生成没有重复元素的的两位随机整数数组的通用过程。
二级VisualBasic语言(试卷代号VB05)
已知三角形三个顶点的坐标,通过距离公式求出三边长度,再求出三角形的面积。
Dimxy(3,2)AsSingle,iAsInteger
DimstAsString,nAsInteger,n1AsInteger,sAsString
Text1="
(28.5,36.7),(12.3,10.9),(45.5,25.4)"
st=Text1
i=i+1
n=InStr(st,"
)"
s=Mid(st,2,n-1)
n1=InStr(s,"
"
xy(i,1)=Left(s,n1-1)
xy(i,2)=Mid(s,n1+1,n-n1-n2)
Ifn<
=Len(st)Then
st=Right(st,Len(st)-n)
ExitDo
Text2=area(xy)
PrivateFunctionarea(xy()AsSingle)AsSingle
Dimd(3)AsSingle,iAsInteger,jAsInteger,kAsInteger,sAsSingle
Fori=1ToUBound(xy,1)-1
Forj=i+1ToUBound(xy,2)
k=k+1
d(k)=Sqr((xy(i,1)-xy(j,1))^2+(xy(i,2)-xy(j,2))^2)
s=s+d(k)
s=s/2
area=Sqr(s*(s-d
(1))*(s-d
(2))*(s-d(3)))
EndFunction
【题目】输入数据位数K(3~5),编程找出所有由1至9这九个数字组成的K位数,且满足从低位到高位的数字依次增大,任意相邻
两位数字之差都大于1。
1.程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见;
2.在文本框1中输入数据位数K,单击“开始”按钮,找出所有满足上述条件的K位数,并以每行5个数的形式显示在多行文本框2中;
3.程序中应至少定义一个通用过程,用于判断某个K位数是否满足给定条件。
二级VisualBasic语言(试卷代号VB06)
求出10~99之间所有因子(包括1与该数本身)个数为6的数。
DimiAsInteger,cn()AsInteger,sAsString,jAsInteger
Fori=10To99
Callcd(i,cn)
IfUBound(cn)=6Then
s=CStr(i)&
=>
Forj=1To6
Str(cn(i))
Chr(13)&
Chr(10)
Text1=s
PrivateSubcn(nAsInteger,cn()AsInteger)
DimiAsInteger,kAsInteger
Fori=1Ton
IfnModi=0Then
ReDimPreservecn(k)
cn(k)=i
【题目】找出1~100之间所有连续4个或4个以上整数组成的序列,要求序列中每个整数均必须具有两个不同素因子。
例如,33(素
因子3,11),34(素因子2,17),35(素因子5,7),36(素因子2,3),故33,34,35,36就符合要求。
按“结束”按钮,
结束程序运行;
2.程序中至少要有一个通用过程,判断一个数是否有两个不同的素因子。