您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 2005年(春)上机试卷
2005年春上机题12005年(春)上机试卷(01)(本试卷上机时间为70分钟)[考试须知]1.改错题的界面不作要求,主要用来调试程序,若题目中有参考界面,则仅作参考。2.考试结束后,文件必须存放在指定位置,否则适当扣分;考试盘中若无指定文件,则不予评分。3.程序代码书写应呈锯齿形。一、改错题(14分)[题目]下面程序的功能是:找出100以内满足N+1个连续自然数之和等于其后N个连续自然数之和的序列(例如,4+5+6=7+8就是满足要求的序列。下图为参考界面)。含有错误的源程序如下:OptionExplicitPrivateSubCommand1_Click()DimIAsInteger,SAsString,FlgAsBooleanForI=2To10CallSub1(I,S,Flg)Flg=FalseIfFlgThenText1=Text1&S&vbCrLfEndIfNextIEndSub2005年春上机题2PrivateSubSub1(KAsInteger,SAsString,FAsBoolean)DimIAsInteger,Sum1AsInteger,Sum2AsIntegerDimNAsInteger,StartAsIntegerDoWhileSum1Sum2AndN100Start=Start+1N=StartS=N:Sum1=NForI=1ToK-1N=N+1Sum1=Sum1+NS=S&“+”&NNextIS=S&“=”&NN=N+1Sum2=NForI=1ToK-2N=N+1Sum2=Sum2+NS=S&“+”&NNextIN=N+1IfSum1=Sum2ThenF=TrueEndIfLoopEndSub[要求]1.新建工程,输入上述代码,改正程序中的错误。2.改错时,不得增加或删除语句,但可适当调整语句位置。3.将窗体文件和工程文件分别命名为F1.frm和P1.vbp,并保存到软盘A的根目录下。二、编程题(26分)[题目]本程序的功能是:按设定的数据位数N(N=2,3,4,5,6),随机生成20个互不相等的正整数,按5个一行的形式输出到文本框中,并从中找出所有降序数输出到列表框中。所谓降序数是指所有高位数字都大于其低位数字的数。例如,973就是一个降序数。2005年春上机题3[编程要求]1.程序参考界面如下图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见。2.在文本框中1中输入N值,按“执行”按钮,则开始计算并在文本框2中显示生成的随机数,在列表框中输出其中的降序数;按“清除”按钮,则将两个文本框及列表框清空,焦点置于文本框1上;按“退出”按钮,结束程序运行。3.程序中应定义一个用于判断一个N位数是否是降序数的通用过程。[要求]将窗体文件和工程文件分别命名为F2.frm和P2.vbp,并保存到软盘A的根目录下。2005年春上机题42005年(春)上机试卷(01)答案一、改错题OptionExplicitPrivateSubCommand1_Click()DimIAsInteger,SAsString,FlgAsBooleanForI=2To10__________________‘Flg=FalseCallSub1(I,S,Flg)Flg=False‘位置错IfFlgThenText1=Text1&S&vbCrLfEndIfNextIEndSubPrivateSubSub1(KAsInteger,SAsString,FAsBoolean)DimIAsInteger,Sum1AsInteger,Sum2AsIntegerDimNAsInteger,StartAsIntegerDoWhileSum1Sum2AndN100‘位置错Start=Start+1N=StartS=N:Sum1=NForI=1ToK-1N=N+1Sum1=Sum1+NS=S&“+”&NNextI________________‘N=N+1S=S&“=”&NN=N+1Sum2=NForI=1ToK-2N=N+1Sum2=Sum2+N2005年春上机题5S=S&“+”&NNextIN=N+1‘位置错IfSum1=Sum2ThenF=TrueEndIfLoop‘WhileSum1Sum2AndN100EndSub二、编程题PrivateSubCommand1_Click()DimnAsInteger,iAsLong,num(20)AsLongDimssAsInteger,seAsLong,sAsString‘Debug.Printxs(624,3)n=Text1ss=10^(n-1):se=10^n-1Fori=1To20num(i)=Int(Rnd*(se-ss+1))+ssIfiMod50Thens=s&Str(num(i))Elses=s&Str(num(i))&vbCrLfEndIfIfJX(num(i),n)ThenList1.AddItemStr(num(i))EndIfNextiText2=sEndSubPrivateFunctionJX(ByValnAsLong,kAsInteger)AsBooleanDimiAsInteger,p()AsInteger,tAsIntegerReDimp(k)Fori=kTo1Step-1p(i)=nMod10n=n\102005年春上机题6NextiFori=1tok-1Ifp(i)p(i+1)Thent=t+1EndIfNextiIft=k-1ThenJX=TrueEndFunctionPrivateSubCommand2_Click()Text1=””:Text2=””List1.ClearText1.SetFocusEndSubPrivateSubCommand3_Click()EndEndSub2005年春上机题72005年(春)上机试卷(02)(本试卷上机时间为70分钟)[考试须知]1.改错题的界面不作要求,主要用来调试程序,若题目中有参考界面,则仅作参考。2.考试结束后,文件必须存放在指定位置,否则适当扣分;考试盘中若无指定文件,则不予评分。3.程序代码书写应呈锯齿形。一、改错题(14分)[题目]下面程序的功能是:对字符串加密。密钥为一数字串,每个数字表示将首字符右移的位置。例如,若明文字符串为helpme,密钥中第一个数字4表示将首字符h移到位置4,得到新字符串elphme,再取密钥的下一个数字对新字符串进行上述操作,直到最后一个密钥数字处理完为止,就得到密文(下图为参考界面)。若移位超出原文长度,则自动回转(按原文长度取模)。含有错误的源程序如下:OptionExplicitPrivateSubCommand1_Click()Dims1AsString,S2AsStringDimiAsInteger,keyAsIntegers1=Text1s2=Text2Fori=1ToLen(s2)2005年春上机题8key=Val(Mid(S2,i,1))Callencode(s1,key)NextiText3=s1EndSubPrivateSubencode(sAsString,kAsInteger)DimiAsInteger,tAsString*1,nAsIntegert=Mid(s,1,1)n=kModLen(s)Ifn=0Thenk=nEndIfFori=2TokMid(s,i-1,1)=Mid(s,i,1)NextiMid(s,i,1)=tEndSub[要求]1.新建工程,输入上述代码,改正程序中的错误。2.改错时,不得增加或删除语句,但可适当调整语句位置。3.将窗体文件和工程文件分别命名为F1.frm和P1.vbp,并保存到软盘A的根目录下。二、编程题(26分)[题目]本程序的功能是:首先按给定格式(数据以逗号分隔,-1表示数据结束)将输入到文本框1中的数据依次存入一个数组,然后为该组数据建立一个按从大到小次序排列的索引表并显示在文本框2中。如下图所示,文本框2中的第一个数据4表示文本框1中第4个数最大;文本框2中的最后一个数据8表示文本框1中第8个数最小。[编程要求]1.程序参考界面如下图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见。2.在文本框1中输入测试数据,按“处理”按钮,则按题目要求得到结果并显示在文本框2中;按“清除”按钮,则将两个文本框清空,将焦点置于文本框1上;按“退出”按钮,结束程序运行。3.程序中应定义一个根据数组元素的大小从大到小取其排列号的通用过程。2005年春上机题9[要求]将窗体文件和工程文件分别命名为F2.frm和P2.vbp,并保存到软盘A的根目录下。2005年春上机题102005年(春)上机试卷(02)答案一、改错题OptionExplicitPrivateSubCommand1_Click()Dims1AsString,S2AsStringDimiAsInteger,keyAsIntegers1=Text1s2=Text2Fori=1ToLen(s2)key=Val(Mid(S2,i,1))Callencode(s1,key)NextiText3=s1EndSubPrivateSubencode(sAsString,kAsInteger)DimiAsInteger,tAsString*1,nAsIntegert=Mid(s,1,1)n=kModLen(s)Ifn=0Thenk=n‘n=kEndIfFori=2Tok‘Fori=2TonMid(s,i-1,1)=Mid(s,i,1)NextiMid(s,i,1)=t‘Mid(s,i-1,1)EndSub二、编程题PrivateSubCommand1_Click()Dimp()AsInteger,kAsInteger,D()AsIntegerDimiAsInteger,stAsStringst=Text1Calllnum(st,p)2005年春上机题11CallInd(p,D)st=””Fori=1ToUBound(D)st=st&Str(D(i))NextiText2=stEndSubPrivateSublnum(stAsString,p()AsInteger)DimkAsInteger,tAsInteger,nAsIntegerDon=InStr(st,”,”)Ift-1Andn0Thent=Val(Left(st,n-1))k=k+1ReDimPreservep(k)p(k)=tst=Right(st,Len(st)-n)ElseExitDoEndIfLoopEndSubPrivateSubCommand2_Click()Text1=””:Text2=””Text1.SetFocusEndSubPrivateSubCommand3_Click()EndEndSubPrivateSubInd(p()AsInteger,D()AsInteger)DimtAsInteger,iAsInteger,jAsInteger,maxvAsInteger2005年春上机题12ReDimD(UBound(p))Fori=1ToUbound(p)D(i)=iNextiFori=1ToUBound(p)-1Forj=i+1ToUBound(p)Ifp(i)p(j)Thent=p(i):p(i)=p(j):p(j)=tt=D(i):D(i)=D(j):D(j)=tEndIfNextjNextiEndSub2005年春上机题132005年(春)上机试卷(03)(本试卷上机时间为70分钟)[考试须知]1.改错题的界面不作要求,主要用来调试程序,若题目中有参考界面,则仅作参考。2.考试结束后,文件必须存放在指定位置,否则适当扣分;考试盘中若无指定文件,则不予评分。3.程序代码书写应呈锯齿形。一、改错题(14分)[题目]下面程序的功能是:求出(K+1)个连续数的平方数,其和等于其后的K个连续数的平
本文标题:2005年(春)上机试卷
链接地址:https://www.777doc.com/doc-3108349 .html