二级上机测试中VB程序设计及程序调试样题_第1页
二级上机测试中VB程序设计及程序调试样题_第2页
二级上机测试中VB程序设计及程序调试样题_第3页
二级上机测试中VB程序设计及程序调试样题_第4页
二级上机测试中VB程序设计及程序调试样题_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

二级上机测试中VB程序设计及程序调试样题浙江省计算机等级考试〔二级浙江省计算机等级考试〔二级VB〕上机测试的程序设计题,从2023年秋季开头,其题型及考试要求都有较大变化。要求考生在老考生名目中,依据题目要求,自己建一工程文件Design.Vbp,按题目要求完成界面设计和编写相应大事代码。程序设计题的操作步骤如下:留意:界面设计中,以默认方式命名控件,从左至右,从上向下的挨次拖放控件。在调试过程中,考生可通过运行考生名目下的Design.exe文件来查看程序的最终效果。把自己完成的程序运行效果同它比较,假设有不同,再次检查你的界面设计和程序代码是Design.exe1VisualBasic6.0Design.exe文件,以便考生设计时随时同程序设计要求最终效果比较。2.程序界面设计,要求考生设置窗体指定的一些属性,在窗体添加控件,并设置控件的某些属性。3.编写程序代码,依据题目的要求,在代码窗口中编写相应大事的程序代码,调试运行程序使其程序的运行效果与运行Design.exe的效果一样。留意:界面设计中,以默认方式命名控件,从左至右,从上向下的挨次拖放控件。在调试过程中,考生可通过运行考生名目下的Design.exe文件来查看程序的最终效果。把自己完成的程序运行效果同它比较,假设有不同,再次检查你的界面设计和程序代码是Design.exe下面是计算机等级考试〔二级VisualBasic程序设计〕上机测试的程序设计样题。假设学生要上机做这些试题,由于你的计算机中没有Design.EXE文件,你可自己启动VisualBasic6.0系统,建一标准EXE工程,按题目的要求设计界面、添加所需控件并设置相关属性,编写相应大事代码,使其程序运行结果能实现题目的要求。〔一〕程序设计题请参考Design.exe程序的运行结果,建一个工程,完成“添加与删除”程序的设计。将工Design.VbpDesign.frm保存到考试名目下,具体要求如下:在窗体中引入一个文本框Text1,再在文本框的下面引入一个列表框List1,列表框内容中有四项,分别为“Wor、Exce、PowerPoint、Outlook。单击“添加”按钮Command1单击“删除”按钮Command2其他界面设计参考Design.exe程序运行效果,如图2-1所示。2-1“添加与删除”程序运行结果请参考Design.exe程序的运行结果,建一个工程,完成“加法器”程序的设计。将工程文Design.VbpDesign.frm保存到考试名目下,具体要求如下:在窗体上从到下依次引入Text1、Text2、Text3三个文本框,三个文本框的对齐方式均为右对齐。上面两个文本框用于输入加数,要求不承受非数字键下面一个文本框用于显示和,它不能进展编辑操作。单击“=”按钮〔Command1,将两个加数的和显示在下面一个文本框中。单击“清空”按钮Command2,三个文本框内容都被清空,同时第一个文本框获得焦点。其他界面设计参考Design.exe程序运行效果,如图2-2所示。2-2“加法器”程序运行效果请参考Design.exe程序的运行结果,建一个工程,完成“字幕滚动”程序设计。将工程文Design.VbpDesign.frm保存到考试名目下,具体要求如下:在属性窗口中将标签(Label1)单击“开头”按钮,标签文字在定时器掌握下自动地从左向右移动,移动速度为每个时间间隔右移100缇,当标签移动到窗体外时,再从窗体的左边进入,同时“开头”按钮变为“停顿”按钮。按钮。定时器〔Timer1〕的时间间隔为0.1秒。其他界面设计参考Design.exe程序运行效果,如图2-3所示。2-3“字幕滚动”程序运行效果请参考Design.exe程序的运行结果,建一个工程,完成“转变字号”程序设计。将工程文Design.VbpDesign.frm保存到考试名目下,具体要求如下:窗体的下部有一个水平滚动条Hscroll1,它的取值范围为[12,72]。窗体的上部有一个标签Label1,水平滚动条的上有一个标签Label2,Text112Text1最多承受两个字符。Text1中显示标签文字的大小转变后的字号。在文本框Text1中输入一个属于[12,72]的两位整数后,也可以转变标签文字的大小,并同时调整水平滚动条的滚动框位置;假设输入的数据不在上述范围内,则不起作用〔要求用Text1Change大事实现。要求以上两种转变字号的操作要保持标签Label1在窗体中水平居中。其他界面设计参考Design.exe程序运行效果,如图2-4所示。图2-4 “转变字号”程序运行效果请参考Design.exe程序的运行结果,建一个工程,完成“字幕闪耀”程序设计。将工程文Design.VbpDesign.frm保存到考试名目下,具体要求如下:在属性窗口中将标签(Label1)单击“开头”按钮,标签文字在定时器掌握下自动交替以红兰两种颜色显示。同时“开头”按钮变为“停顿”按钮。定时器〔Timer1〕的时间间隔为0.3秒。其他界面设计参考Design.exe程序运行效果,如图2-5所示。图2-5 “字幕闪耀”程序运行效果请参考Design.exe程序的运行结果,建一个工程,完成“图片赏识”程序设计。将工程文Design.VbpDesign.frm保存到考试名目下,具体要求如下:窗体上有驱动器列表框〔Drive1、名目列表框〔Dir1〕和文件列表框〔File1〕要求三个控件能够联动。窗体的右半部有一个图像框Image1,将它的Stretch属性设置为True。设置文件列表框只显示*.bmp和*.jpg类型的图片文件。单击文件列表框上的图片文件名时,图片显示在图像框中。其他界面设计参考Design.exe程序运行效果,如图2-6所示。图2-6 “图片赏识”程序运行效果请参考Design.exe程序的运行结果,建一个工程,完成“拨号盘”程序设计。将工程文件Design.VbpDesign.frm保存到考试名目下,具体要求如下:窗体的上边有一个文本框Text1,设置为最多承受10个字符;Font;宋体、粗体、三号;文字颜色为兰色。用命令按钮数组Command1(0)~Command1(9)组的下标全都。单击数字键按钮,将拨号的内容显示在文本框中。单击“重拨”按钮Command2,再现原来的拨号过程〔提示:再现过程由定时器实现。定时器〔Timer1〕的时间间隔为0.5秒。其他界面设计参考Design.exe程序运行效果,如图2-7所示。2-7“拨号盘”程序运行效果请参考Design.exe程序的运行结果,建一个工程,完成“作图”程序设计。将工程文件以Design.Vbp、窗体文件以Design.frm保存到考试名目下,具体要求如下:窗体的右边是一个图片框Picture1,用于显示图形。单击“坐标系”按钮〔Command1,将图片框的坐标系统设置为原点在中心,X轴[-10,10],Y轴[-10,10],并在图片框中画出该坐标系统示意图。单击“扇形”按钮Command2,在图片框中画一个圆心在原点,半径为52,内部为绿色,起始角为л/65л/6的扇形。单击“完毕”按钮〔Command3,程序完毕运行,其他界面设计参考Design.exe程序运行效果,如图2-8所示。图2-8 “作图”程序运行效果请参考Design.exe程序的运行结果,建一个工程,完成“反弹球”程序的设计。将工程文Design.vbpDesign.frn保存到考生名目下,具体要求如下:设计两个菜单项,nnustartnnustop在窗体中引入一个外形控件Shapel,外形为圆,贺半径为500Twios,填充色为红色。第一次单击菜单“启动bxby100Twips。定时器〔timerl〕的时间间隔为0.1秒。其他界面设计参考Design.exe程序运行效果,如图2-9所示。图2-9 “反弹球”程序运行效果请参考Design.exe程序的运行结果,建一个工程,完成“安康称”程序的设计。将工程文Design.VbpDesign.frm保存到考试名目下,具体要求如下:窗体的左边有两个标签,Label1Label2分别有两个文本框,Text1用于输入身高、Text2用于输入体重;在文本框的右边有两个标签,Label3的标题为“cmLabel4的标题为“kg将两个文本框文字对齐方式均设置为右对齐,最多承受3个字符。两个文本框均不承受非数字键。单击“安康状况”按钮(Command1),依据计算公式将相应的提示信息显示在标签Label5中。=身高-105*1.1为偏胖,提示“偏胖,留意节食*0.9其他界面设计参考Design.exe程序运行效果,如图2-10所示。图2-10 “安康称”程序运行效果请参考Design.exe程序的运行结果,建一个工程,完成“电子钟”程序的设计。将工程文Design.VbpDesign.frm保存到考试名目下,具体要求如下:设计两个定时器,Timer1Timer2用于推断闹钟时间,0.5秒,Timer2设置为不行用。窗体的上半部是标签Label1,用于显示时间,设置Label1的Font为:宋体、粗体、二号,背景白色,文字居中对齐,固定边框。窗体的下半部有一个标签Label2Label2的右边是文本框Text。在文本框中输入闹钟时间并按回车后,启动推断闹钟时间的定时器Timer2Label1显示的时间超过那种时间,则标签Label1的背风光按红白两色交替变换。其他界面设计参考Design.exe程序运行效果,如图2-11所示。图2-11 “电子钟”程序运行效果请参考Design.exe程序的运行结果,建一个工程,完成“转变大小”程序的设计。将工程Design.VbpDesign.frm保存到考试名目下,具体要求如下:窗体上引入一个红色的圆形外形控件〔Shape1,圆的直径为3400Twip。Hscroll1,将它的最大值设置为与圆的直径一样,初始值为最大值,SmallChangeLargeChange100Twips。Label1Label20转变滚动条的值可以掌握圆形的直径,同时在标签Label2中动态显示圆形的直径。要求圆形直径在变化时要保持圆心位置不变。其他界面设计参考Design.exe程序运行效果,如图2-12所示。图2-12 “转变大小”程序运行效果请参考Design.exe程序的运行结果,建一个工程,完成“点餐”程序的设计。将工程文件Design.VbpDesign.frm保存到考试名目下,具体要求如下:窗体上有一个框架Frame1Check1(0)的标题为“儿童套餐13Check1(1)的标题为“标准套餐18Check1(2)的标题为“商务套餐25Label1Text1(0)Text1(1)和Text1(2),文本框中都没有内容,并且都不能使用。在复选框中进展了选择操作后,相应的文本框才能输入并自动获得焦点;假设取消选择,那么相应的文本框内容马上清空并且不能使用了。要求文本框在输入时只承受数字键。单击“确定”按钮(Command1),统计点餐的金额,并用消息框显示出来。其他界面设计参考Design.exe程序运行效果,如图2-13所示。图2-13 “点餐”程序运行效果请参考Design.exe程序的运行结果,建一个工程,完成“编辑”程序的设计。将工程文件Design.VbpDesign.frm保存到考试名目下,具体要求如下:窗体是上半部是一个文本框Text1,可以多行显示文字。文本框的下面从左到右依次排列4个命令按钮〔Command1、Command2、Command3和Command4其他界面设计参考Design.exe程序运行效果,如图2-14所示。图2-14 “编辑”程序运行效果请参考Design.exe程序的运行结果,建一个工程,完成“字体设置”程序的设计。将工程Design.VbpDesign.frm保存到考试名目下,具体要求如下:窗体的上边有一个文本框Text1文本框下面的左边有一个标签Label11,有三项内容,分别是“宋体、黑体、楷体-GB2313文本框下面的右边有一个标签Label22,有八项内容,分别是“10、1216、20、24、36、48、72小进展设置。其他界面设计参考Design.exe程序运行效果,如图2-15所示。图2-15 “字体设置”程序运行效果请参考Design.exe程序的运行结果,建一个工程,完成“倒计时”程序的设计。将工程文Design.VbpDesign.frm保存到考试名目下,具体要求如下:窗体的左边有一个框架Frame1上到下为Option1(0)、Option1(1)和Option1(2),标题分别为“15分钟”和“10分钟,1分钟。窗体的右边有一个标签Label1,用于显示倒计时的剩余的时间,标签Label1、粗体、三号,文字居中对齐,固定边框。单击“开头计时”按钮(Command1)后,程序依据选择的时间开头倒计时,同时命令按钮变为不行使用,框架也不行使用。但当剩余时间到0分0Timer11秒。其他界面设计参考Design.exe程序运行效果,如图2-16所示。图2-16 “倒计时”程序运行效果请参考Design.exe程序的运行结果,建一个工程,完成“替换”程序的设计。将工程文件Design.VbpDesign.frm保存到考试名目下,具体要求如下:窗体的上半部是一个文本框Text1,可以多行显示文字。文本框Text1的下面有一个标签Label1Label1Text2Text2中输入查找内容。标签Label1的下面有一个标签Label2Label2Text3Text3中输入替换为的内容。单击“替换”按钮(Command1),对文本框Text1中与查找内容匹配的文字进展替换操作。其他界面设计参考Design.exe程序运行效果,如图2-17所示。图2-17 “替换”程序运行效果请参考Design.exe程序的运行结果,建一个工程,完成“偶数迁移”程序的设计。将工程Design.VbpDesign.frm保存到考试名目下,具体要求如下:窗体的左边有一个标签Label1List1。窗体的右边有一个标签Label2List2。单击“产生”按钮Command1,计算机产生10个两位正整数放入列表框List1List2中的内容。单击“”按钮〔Command2,将列表框List1中全部偶数迁移到列表框List2中。其他界面设计参考Design.exe程序运行效果,如图2-18所示。图2-18 “偶数迁移”程序运行效果〔二〕程序调试程序调试题的操作步骤是:EXE工程,将这一模块程序添加到工程中。假设你是通过双击标准模块程序Model1.BASVisualBasic系统的,则首先需要添加一个窗体模块。将该标准模块程序Model1.BAS中代码的指定的错误修改正确或在指定的空位填上适当的〔Click大事中〕Sub过程或用户自定义函数〔假设在标准模块程序Model1.BAS有多个过程或函数,要留意调用的先后挨次,否则得不到正确结果,调试运行程序,使其能输出正确结果。按试题要求保存工程。假设你的计算机中没有模块程序Model1.BAS,你必需先自己建一工程,再添加一个默认标准模块,将题目所附的参考程序输入〔可复制粘贴,将其中用---n---〔n为1,2,3,4,5〕删除后改为适宜的内容或将用****错误n****序使其到达该题目的要求。已有一模块文件Modify.Bas。该模块中的Summary过程是用于计算1!+2!+...+20!,并打印出计算结果,但不完整,请在横线上填入必要的内容,使其完整。Modify.Bas模块中的nFactor函n!。程序如下:PublicFunctionnFactor(ByValnAsInteger)AsDoubleDimiAsIntegerDimtempAsDouble----1----Fori=1Tontemp=temp*iNextinFactor=----2----EndFunctionPublicSubsummaryDimsumAsDoubleDimiAsIntegerDimnAsIntegern=20Fori=1Tonsum=sum+----3----NextiForm1.Print“sum=“&----4----EndSub已有一模块文件Modify.Bas。该模块中的Calculate过程是产生100个[0,99]范围内的随机整1,2,3,4,5,6,7,8,9,0的数的个数并打印出来。程序如下:PublicSubcalculateDima(1To100)AsIntegerDimx(1To10)AsIntegerDimiAsInteger,pAsInteger”100个[0,99]范围内的随机整数”10个打印出来Fori=1To100”********1***********a(i)Rnd*100Ifa(i)<10ThenForm1.PrintSpace(2);a(i);ElseForm1.PrintSpace(1);a(i);EndIfIfiMod10=0ThenForm1.PrintNexti”统计个位上的数字分别为1,2,3,4,5,6,7,8,9,0的数的个数”并将统计结果保存在数组x(1),x(2),...,x(10)中,将统计结果打印出来Fori1To100”********2**********pInt(a(i)/10) Ifp0Thenp10”********3**********x(p)x(p)1NextiForm1.Print统计结果“Fori=1To10p=iIfi=10Thenp=0”********4*********Form1.Print个位数为Str(p)共Str(x(p))个“NextiEndSub已有一模块文件Modify.Bas。该模块中的Findat过程是用于在一个字符串变量中查找“at“,并用使其完整。程序如下:PublicSubFindat”str1中查找“at“Dimstr1AsStringDimlengthAsInteger字符串长度DimsumAsInteger”查到的个数DimiAsIntegerstr1InputBox(“请输入一个字符串“)length----1----i=1sum=0DoWhilei<=----2----If----3 =“at“Thensum=sum+1EndIfi=i+1LoopIf----4 ThenMsgBox没有找到!“ElseMsgBox找到了&Str(sum)&个“EndIfEndSub已有一模块文件Modify.Bas。该模块中的Guess过程是猜数玩耍,由计算机产生一个[1,100]的任意整数,输入猜数后计算机给出提示,假设5次后还没有猜中就完毕玩耍并公布正确答案。程序如下:PublicSubGuessDimRAsIntegerDimXAsIntegerDimtimesAsIntegerRandomize”******1******R=Rnd*100”1--100的任意整数times=1DoX=Val(InputBox(“X“))SelectCaseXCaseRForm1.Print猜中了“ExitDo”*****2******CaseX>RForm1.Print太大了,连续猜!“CaseElseForm1.Print太小了,连续猜!“EndSelecttimes=times+1”******错误3******LoopWhiletimes>5Iftimes5ThenForm1.Print猜数失败,玩耍完毕!“”******错误4******Form1.Print正确答案为&Str(X)EndIfEndSub已有一模块文件Modify.BasArmstrongNumber过程是用于求出1--999之间全部的Armstrong数,并打印出来,但不完整,请在横线上填入必要的内容,使其完整。所谓Armstrong371=3^3+7^3+1^3371就是一个数。程序如下:PublicSubArmstrongNumberDimarmstrongAsIntegerDimiAsIntegerDimhundredAsInteger百位上的数字DimtenAsInteger十位上的数字DimoneAsInteger个位上的数字Fori1To999hundred=----1----ten=----2----one=----3----If----4 ThenForm1.Printi;“isarmstrongnumber“EndIfNextiEndSubModify.BasCountTo60过程是用于从一堆一分、二分、五分的硬币中取出20枚,使其总值为60分,要求输出取法的数量及每一种取法的一分、二分、五分的个数。程序如下:PublicSubCountTo60”从一堆一分、二分、五分的硬币中取出2060分”输出取法的数量及每一种取法的一分、二分、五分的个数DimoneAsInteger一分硬币个数DimtwoAsInteger二分硬币个数DimfiveAsInteger五分硬币个数Constn=20”总数20枚DimkAsInteger k=0Forone=1Ton”*******错误1********Fortwoone1Tonfive=n-one-two”*******错误2*********Ifonetwofive60Thenk=k+1Form1.Print“one=“;one;“two=“;two;“five=“;fiveEndIf”*******3********Nextone”******错误4******NexttwoForm1.Print“k=“;kEndSub已有一模块文件Modify.Bas。该模块中的TJ过程是将一批数据中小于零的数及它们的积打印出来,但不完整,请在横线上填入必要的内容,使其完整。Modify.Bas模块中的SCSJ过程是产生数据,数据的取值范围为-10~10之间的随机数。程序如下:PrivateConstn=10Privatea(1Ton)AsInteger”TJ过程是将一批数据中小于零的数及它们的积打印出来”SCSJ过程产生,数据的取值范围为-10~10之间的随机整数PublicSubTJDimiAsIntegerDimtAsSingle 1 Fori=1To10If--------2 Thent=t*a(i)EndIfNextiForm1.Print“T=“;tEndSubPublicSubSCSJRandomizeForm1.Print原始数据“DimiAsIntegerDimjAsIntegerFori=1Ton”0101时取正j=Int(Rnd*2)If ------3 ThenJ=-1a(i)=j*Int(Rnd*(n+1))Form1.Printa(i);NextiForm1.PrintEndSub已有一模块文件Modify.BasMoney过程是用于统计一个有7个工作人员的餐厅发工资所需的100元、50元、10元、5元和1元的票面数,但不完整,请在横线上填入必要的内容,使其完整。Modify.Bas模块中的SalaryData过程是给出7〔工资单位是元〕程序如下:Dimsalary(7)AsIntegerPublicSubMoneyDimhundredAsInteger,totalhundredAsInteger”100元票面数量、总数量DimfiftyAsInteger,totalfiftyAsInteger”50元票面数量、总数量DimtenAsInteger,totaltenAsInteger”10元票面数量、总数量DimfiveAsInteger,totalfiveAsInteger”5元票面数量、总数量DimoneAsInteger,totaloneAsInteger”1元票面数量、总数量DimtotalsalaryAsInteger工资总计DimiAsInteger,tempAsIntegertotalhundred=0totalfifty=0totalten=0totalfive=0totalone=0totalsalary=0Fori=1To7temp=----1----hundred=Int(temp/100)temp=----2----fifty=Int(temp/50)temp=temp-fifty*50ten=Int(temp/10)temp=temp-ten*10five=Int(temp/5)temp=temp-five*5one=----3----totalhundred=totalhundred+hundredtotalfifty=totalfifty+fiftytotalten=totalten+tentotalfive=totalfive+fivetotalone=totalone+onetotalsalary= ----4----NextiForm1.Print“100元“&Str(totalhundred)&“张“Form1.Print“50元“&Str(totalfifty)&“张“Form1.Print“10元“&Str(totalten)&“张“Form1.Print“5元“&Str(totalfive)&“张“Form1.Print“1元“&Str(totalone)&“张“Form1.Print合计&Str(totalsalary)&元“EndSubPublicSubSalaryDatasalary(1)=1398salary(2)=1765salary(3)=689salary(4)=1500salary(5)=832salary(6)=590salary(7)=1200EndSub已有一模块文件Modify.Bas。该模块中的MaxLine过程用于查找一个5行4列的二维数组中行平均值最大的行,并将该行全部数据调整到第一行的位置。Modify.Bas模块中的DataProduce过程用于产生原始数据;Average过程用于计算各行的平均值;PrintArray过程用于打印二维数组和行平均值。程序如下:Dima(1To5,1To4)AsIntegerDimave(1To5)AsIntegerPublicSubMaxLineDimiAsIntegerDimjAsIntegerDimtempAsIntegerDimLine_noAsInteger最大平均值的行号Line_no1Fori=2To5”******1*******If ave(Line_no)ave(i)Then”******错误2*******Line_noave(i)EndIfNexti”交换第一行与最大平均值所在行Forj1To4temp=a(1,j)”******错误3******a(Line_no,j)a(1,j)a(Line_no,j)=tempNextj”交换对应行的平均值temp=ave(1)ave(1)=ave(Line_no)ave(Line_no)=temp”打印交换后的数据交换后的数据和平均值“PrintArrayEndSubPublicSubDataProduceDimiAsIntegerDimjAsInteger”5*4数组Fori=1To5Forj=1To4a(i,j)=Int(100*Rnd)NextjNextiEndSubPublicSubAverageDimiAsIntegerDimjAsIntegerDimsumAsInteger”计算各行平均值Fori1To5sum=0Forj=1To4”******错误4******suma(i,j)Nextjave(i)=sum/4Nexti”将数组和平均值打印出来原始数据和平均值“PrintArrayEndSubPublicSubPrintArrayDimiAsIntegerDimjAsIntegerFori=1To5Forj=1To4Form1.Printa(i,j);Spc(3);NextjForm1.Print平均值ave(i)NextiEndSub已有一模块文件Modify.Bas。该模块中的Wrap过程用于推断一个字符串是否“回文”。所谓“回文”是指字符串顺读与倒读都是一样的,如“潮起潮落,落潮起潮”。程序如下:PublicSubWrapDimlengthAsIntegerDimstr1AsStringDimstrleftAsStringDimstrrightAsStringDimkAsIntegerstr1InputBox(“请输入任意的字符串输入任意字符串”****错误1*****length=Val(str1)k1Do”****错误2*****strleftLeft(str1,k)从左边起逐个取出一个字符”****3*****strrightRight(str1,k) ”从右边起逐个取出一个字符”****4****Ifstrleft=strrightThenExitDoEndIfk=k+1LoopWhilek<=length/2Ifk>length/2ThenForm1.Printstr1&“是回文“ElseForm1.Printstr1&“不是回文“EndIfEndSub已有一模块文件Modify.BasBubbleSort过程是冒泡排序法;GenerateData过程产生10个[1,20]之间互不一样的随机整数;Swap过程交换两个变量的数值。程序如下:PrivateConstn=10Privatea(1Ton)AsInteger”BubbleSort过程是冒泡排序”Swap过程交换两个变量数值”GenerateData10个[1,20]之间互不一样的随机整数PublicSubBubbleSortDimiAsInteger,jAsIntegeri=1DoForj=i+1TonIfa(j)>a(i)Then”*******1*********Swap(a(j),a(i))EndIfNextji=i+1”*******2*******LoopWhilei=nForm1.Print排序结果“Fori=1Tona(i);NextiEndSubPublicSubGenerateDataDimiAsIntegerDimjAsIntegerDimbAsBooleanFori=1Tonb=FalseDoWhileNotba(i)=Int(20*Rnd+1)b=True”******3******Forj=1ToiIfa(i)=a(j)Thenb=FalseExitForEndIfNextjLoopa(i)NextiEndSub”********4********PublicSubSwap(ByValaAsInteger,ByValbAsInteger)DimtempAsIntegertemp=aa=bb=tempEndSub已有一模块文件Modify.Bas。该模块中的Transfer过程用于将一个十六进制整数转换为十进制整数;number函数过程用于将一个十六进制符号转换为数值。程序如下:PublicSubTransferDimHexAsString十六进制数DimDecAsDouble十进制数DimtempAsStringDimiAsIntegerDimnAsIntegerHexInputBox(“输入一个十六进制整数“)”******错误1*******nVal(Hex)i=0Do”******2*******temp=Mid(Hex,i,1)”******错误3*******DecDecnumber*16^iii1LoopWhilei<n”******4******Form1.Printstr(Hex)&转换为十进制数为&str(Dec)EndSubPublicFunctionnumber(strAsString)AsIntegerSelectCasestrCase“a“,“A“number=10Case“b“,“B“number=11Case“c“,“C“number=12Case“d“,“D“number=13Case“e“,“E“number=14Case“f“,“F“number=15CaseElsenumber=Val(str)EndSelectEndFunction已有一模块文件Modify.Bas。该模块中的SortData过程是把10个[30,50〕的随机整数并依据从小到大的挨次打印出来,但不完整,请在横线上填入必要的内容,使其完整。Modify.BasSwap过程用于交换两个变量的值。程序如下:PublicSubSortData”10个[30,50]的随机整数,并按从小到大的挨次打印出来Dima(10)AsIntegerDimiAsInteger,jAsIntegerFori=1To10a(i)= 1 NextiFori=1To9 2 Ifa(i)>a(j)Then 3 EndIfNextja(i)NextiForm1.print---------4--------EndSubPublicSubSwap(aAsInteger,bAsInteger)DimtempAsIntegertemp=aa=bb=tempEndSub已有一模块文件Modify.BasPrintArray过程是用于打印一个55列的数字方阵,并使两对角线上元素均为1,其余均为2。要求打印的数字方阵两列数字之间空3格,两行之间空一行。程序如下:PublicSubPrintArray”55列的数字方阵”12”要求打印的数字方阵两列数字之间空3格,两行之间空一行”只要修改标出出错位置的下面那一条语句Dima(5,5)AsIntegerDimiAsInteger,jAsIntegerFori=1To5Forj=1To5”********1*********IfijOri6jThena(i,j)=2Elsea(i,j)=1EndIf”********2*********Form1.Printa(i,j)Space(3);Nextj”*******错误3*******Form1.PrintNextiEndSub已有一模块文件Modify.Bas。该模块中的Combination过程是用于计算在m个数据中取出n个数据的排列组合值,计算公式为Cmn=m!/(n!*(m-n)!)。Modify.BasnFactorn!。程序如下:PublicSubCombinationDimmAsIntegerDimnAsIntegerDimCmnAsLongDom=Val(InputBox(“m“))n=Val(InputBox(“请输入一个整数n(n<=m)“))”******1******LoopWhilemn ”必需保证输入的两个数m>=n”******2******CmnnFactor(m)/nFactor(n)*nFactor(mn)Form1.Print排列组合数为CmnEndSubPublicFunctionnFactor(ByValnAsInteger)AsDoubleDimiAsIntegerDimtempAsDoubletemp=1Fori=1Tontemp=temp*iNexti”******3******nFactor(n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论