华南理工大学VB答案_第1页
华南理工大学VB答案_第2页
华南理工大学VB答案_第3页
华南理工大学VB答案_第4页
华南理工大学VB答案_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

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

文档简介

第1章程序设计语言与程序设计1.1填空题1.VB是以(事件驱动)作为运行机制的新一代可视化程序设计语言。2.程序设计语言是(人)与(计算机)交流的工具。3.若从机器执行的角度来对程序设计语言进行分类,则可以分为(低级语言)和(高级语言)两种。4.计算机系统中,对高级语言的翻译工具称为(编译)程序或(解释)程序。5.源程序中的错误一般分为(编译)错误、(运行)错误和(逻辑)错误等三种。6.VB把一个应用程序称为一个(工程),它包含各种文件。1.2选择题1.把a和b的乘积写成ab的错误属于(c)错误。a)编译 b)运行 c)逻辑 d)编译和运行2.用户在什么时候都可以按(b)键来查看与当前进行的工作相关的帮助。a)Held b)F1 c)ESC d)F104 窗体文件的扩展名为(d)。a).vbp b).bas c).exe d).frm4.指示一个窗体位置的值是窗体的(c)。a)对象 b)事件 c)属性 d)方法5.下面选项中不能运行VB程序的操作是(a)。a)双击窗体 b)单击“启动”按钮图标c)从菜单栏运行菜单中选“全编译执行”菜单命令 d)按F5键1.3问答题1.低级语言和高级语言的各自特点是什么?答:参见教材1.1。2.什么是数据描述和数据处理?答:参见教材1.2。3.源程序的翻译方式有哪两种,简述它们的工作过程。答:参见教材1.1。4.一个好程序的基本要求是什么?答:参见教材1.2。5.VisualBASIC集成开发环境的主窗口由哪些部分构成?各自的主要功能是什么?答:参见教材1.3。6.简述在VB的环境下,对象、属性、方法、事件和事件驱动程序的概念,并用例子进行说明。答:在VB的环境下,对象是系统中的基本运行实体,它封装了数据和操作。工具箱中的命令按钮、标签、文本框等是对象摸板。控件是由VB工具箱创建的对象。属性是对象的性质或状态特征。例如,窗体的Caption(标题)、BackColor(背景颜色)、Height(高度)和Width(宽度)等都是窗体的属性。事件是对象之间传递的消息。VB控件的事件由系统预先定义。例如,Click(单击)事件、DblClick(双击)事件。方法是对象在某些事件驱动下执行的特定操作。它可以执行系统预定义的操作,例如窗体的Print(打印)方法、Show(显示窗体)方法;当事件由用户或VB系统触发时,对象会感受到该事件并对该事件作出响应,响应某个事件后所执行的程序就是事件驱动程序。事件驱动程序有时也称为事件过程。例如,以下是命令按钮Command1在接受单击事件时驱动的程序:PrivateSubCommand1_Click()Print"Helloworld!"EndSub7.总结使用VisualBASIC开发一个应用程序的过程。答:参见教材1.5。8.下面程序是什么事件驱动程序?如何执行该事件驱动程序?执行的结果如何?PrivateSubCommand1_Click()Print"欢迎你使用VB!"EndSub答:略。1.4编程题编写一个程序。要求设置窗体的标题是“这是我的第一个练习”,且在程序执行后,单击窗体显示如下一行文字:我可以用VisualBASIC编写程序了!解答:(1)用户界面设计:设计用户界面由一个窗体构成。(2)对用户界面上的控件对象的属性进行设置:把窗体的Caption属性值设置为“这是我的第一个练习”。(3)编写控件对象的事件驱动程序:PrivateSubForm_Click()Print"我可以用VisualBASIC编写程序了!"EndSub第2章基本数据类型与表达式2.1填空题1.在程序设计语言系统中具有固定语法含义的符号串称为(关键字),它们通常用来表示系统提供的标准过程、函数、运算符、常量等。2.(标识符)用于标记用户自定义的常量、类型、变量、控件、过程、函数等名字。3.整型数据占(2)字节的内存空间。长整型数据占(4)个字节的内存空间。单精度浮点型数据占(4)个字节的内存空间。双精度浮点型数据占(8)个字节的内存空间。日期型数据占(8)个字节的内存空间。4.100%表示100为(整)型数据;100!表示100为(单精度浮点)型数据;100@表示100为(货币)型数据。6 符号常量在某一过程中说明,则该符号常量只能在(该过程内)内有效。6.若一个整型变量说明了之后没有给它赋值,则它的值为(0)。7.在VB中可以把类型说明符放在变量名的(末尾)来说明变量的类型。8.为使VB的编译程序自动检查变量声明,遇到未经说明的标识符发出错误警告信息,在程序中要加上(OptionExplicit)语句。1)(3+6)`\22)18\4*4.0^2/1.63)25\3Mod3.2*Int(2.5)4)“xyz”+“438”5)“abc”&“123”&“abc”6)349.25+“0.75”=3507)“china”>=“canada”8)“abc”<=“abc”&“123”9)3>4And5=510)TrueOrNot7–3<=4答案:1)42)03)24)xyz4385)abc123abc6)True7)True8)True9)False10)True2.7设a1,a2,a3是布尔变量,其值依次为:True,True,False,写出下列布尔表达式的值1)Nota1AndNota22)Nota1EqvNota23)a1Ora2Anda34)a1Xora2Ora35)(Nota1Ora2)And(a2Ora3)6)Nota1Anda2Impa3答案:1)False2)True3)True4)False5)True6)True2.8用关系表达式或逻辑表达式表示下列条件1)i整除j2)n是小于正整数k的偶数3)1<=x<104)x,y其中有一个小于z5)y[–100,–10],并且y[10,100]6)坐标点(x,y)落在以(10,20)为圆心,以35为半径的圆内7)三条边a,b和c构成三角形8)年份Year能被4整除,但不能被100整除或者能被400整除答案:1)iModj=02)n<kAndnMod2=03)1<=xAndx<104)x<zOry<z5)Not(y>=-100Andy<=-10)AndNot(y>=10Andy<=100)6)Sqr((x-10)^2+(y-15)^2)<357)a+b>cAndb+c>aAndc+a>b8)YearMod4=0AndyearMod400<>0OrYearMod400=02.9问答题1.标识符的选取必须遵循什么规则?答:参见教材2.1.2。2.各种基本数据类型的取值范围如何?答:参见教材2.2表2-1。3.空串与空格有什么不同?答:参见教材2.1.1。4.什么是符号常量?使用符号常量有什么好处?答:参见教材2.3.1。5.自动变量与静态变量如何定义?它们之间有什么不同?答:参见教材2.3.2。6.两个字符串如何进行比较(关系)运算,如何确定运算结果?试举例说明。答:参见教材2.4.3。第3章程序流程控制3.1填空题1.设变量r表示圆的半径,则计算圆的面积并赋给变量s使用的赋值语句为(s=3.14159*r*r)。2.给命令按钮Command2的Caption属性赋予字符串“退出”使用的赋值语句为(Command2.Caption="退出")。3.为了求n的阶乘,要求用户输入n的值。程序使用InputBox函数输入,要求对话框提示信息为“请输入一个求阶乘的数:”,标题为“求数的阶乘”,并且正确地把输入的信息转换为数值存放到变量n中,则使用的赋值语句为(n=val(InputBox("请输入一个求阶乘的数:","求数的阶乘"))。4.如果使用MsgBox对话框显示提示信息“退出本系统?”,并显示“是(Yes)”和“否(No)”两个按钮,显示图标“?”号,指定第一个按钮为默认值以及标题为“提示信息”,则调用MsgBox函数的形式为(MsgBox("退出本系统?",4+32+0,"提示信息"))。5.如果使用MsgBox对话框显示提示信息“文件未找到!”,并显示“确定”按钮、图标“!”号和标题“文件查找”,则使用的MsgBox语句为(MsgBox"文件未找到",0+48+0,"文件查找")。6.要在当前窗体Form和立即窗口输出字符串“VisualBASIC6.0”使用的Print方法分别是(Print“VisualBASIC6.0”)和(Debug.Print“VisualBASIC6.0”)。7.使用Print方法时,若用逗号分隔,则按(标准)格式输出各表达式的值,若用分号分隔,则按(紧凑)格式输出各表达式的值。8.注释语句是一个(非执行)语句,VB不对它们进行编译,对程序的执行结果没有任何影响。9.判别变量i是否为偶数,若为偶数就把它显示出来。使用单行结构条件语句为(IfiMod2=0Thenprintx)。10.判别变量x是否大于0,若大于0,则累加到变量s1中,否则,累加到变量s2中,使用的单行结构条件语句为(Ifx>0Thens1=s1+xElses2=s2+x)。11.给定分段函数,求y的值,使用的单行结构条件语句为(Ifx>0Theny=2*x+1ElseIfx=0Theny=0Elsey=2*x-1)。12.判别a是否等于b,若a=b,则输出字符串“aisequaltob”的块结构条件语句为()。答案:Ifa=bThenPrint“aisequaltob”End13.判别ch是否为小写字母,若是,输出“yes”;否则,输出“No”的块结构条件语句为()。答案:IfAsc(ch)>=97AndAsc(ch)<=122ThenPrint“Yes”ElsePrint“No”EndIf14.若一个case子句中的表达式表由逗号分隔的若干个常数组成,则它的含义是:当测试表达式的值等于(这些常数中的某一个)时,执行该case子句相应的程序块。15.若case子句中的表达式表列具有形式:<表达式1>To<表达式2>,则它的含义是:当测试表达式的值等于(这个范围内的值)时,执行该case子句相应的程序块。16.若case子句中的表达式表列具有形式:Is<关系运算符><表达式>,则它的含义是:当测试表达式的值满足(Is后的关系)时,执行该case子句相应的程序块。17.在循环语句中,反复执行的程序段称为(循环体);进入循环体的条件称为(循环条件);中止循环体执行的条件称为(结束循环条件)。3.2选择题1.下列赋值语句中,(d)是正确的。a)x!="abc" b)a%="10e" c)x+1=5 d)s$=1002.下列选项中,(d)不能交换变量a和b的值。a)t=b:b=a:a=tb)a=a+b:b=a-b:a=a-bc)t=a:a=b:b=td)a=b:b=a3.若在消息框MsgBox中显示“确定(Ok)”和“取消(Cancel)”两个按钮,则buttons参数的设置值是(b)。a)0 b)1 c)2 d)34.若在消息框MsgBox中选择第二个按钮为默认值,则buttons参数的设置值是(b)。a)0 b)256 c)512 d)7685.若单击了“终止(Abort)”按钮,则MsgBox函数的返回值是(c)。a)1 b)2 c)3 d)46.以下不正确的单行结构条件语句是(d)。a)Ifx>yThenPrint“x>y” b)IfxThent=t*xc)IfxMod3=2Then?x d)Ifx<0Theny=2*x-1:PrintxEndIf7.给定程序段DimaAsInteger,bAsInteger,cAsIntegera=1:b=2:c=3Ifa=c-bThenPrint"#####"ElsePrint"*****"以上程序(c)。a)没有输出b)有语法错c)输出#####d)输出*****8.把a,b之中的最大值存放于max,下面语句书写正确的是(d)。a)Ifa>bThenmax=aElsemax=bEndIfb)Ifa>bThenmax=aElsemax=bEndIfc)Ifa>bThenmax=aElsemax=bd)Ifa>bThenmax=aElsemax=bEndIf9.下列Case语句中正确的是(c)。a) SelectCasexCase1Or3Or5y=x*x-1CaseIs>10y=x+1EndSelectb)SelectCasexCase1,3,5y=2*x-1CaseIsx<=1Y=2*x+1EndSelectc)SelectCasexCaseIs<=0y=x-1CaseIs>0y=Sqr(x)+1EndSelectd)SelectCasexCasex>=1Andx<=5y=x-1CaseIs>10y=x*x+1EndSelect10.执行下列程序段后屏幕上(c)。i%=10:Sum=0Whilei>1Sum=Sum+ii=i-1WendPrintSuma)无显示 b)显示10 c)显示54 d)显示5511.执行下列程序段输出结果是(c)。x%=2Dowhilex<8Print“*”;x=x+2Loopa)* b)** c)*** d)****12.设有程序段Dimk%k=5Dountilk=0k=k-1Loop则下面对循环语句描述正确的是(c)。a)循环体1次也不执行b)循环体执行1次c)循环体执行5次d)循环体执行无限次13.下面描述中错误的是(a,c)。a)执行Dountil<条件>…loop语句中,当循环<条件>为false时,结束循环体的执行。b)执行While<条件>…Wend语句时,循环体可能一次也不执行。c)Do…loopWhile<条件>语句的循环体可能一次也不执行。d)执行Do…loopUntil<条件>语句中,当循环条件为true时,结束循环体的执行。14.下面程序段中循环语句的循环次数是(b)。Forx=10To1Step-3PrintxNextxa)0 b)4 c)5 d)1015.执行语句Fori=1to3:i=i+1:Nexti后变量i的值是(c)。a)3 b)4 c)5 d)616.下面程序段执行后输出结果是(b)。Fori=1To2s=1Forj=0Toi-1s=s+s*jNextjPrints,Nextia)11 b)12 c)21 d)223.3阅读下列程序,写出执行结果1.PrivateSubForm_ClickPrint–2*3/2,“Visual”&“BASIC”,Not5>3,0.75Print–2*3/2;“Visual”&“BASIC”;Not5>3;0.75x=12.34Print“x=”;PrintxEndSub答案:-3VisualBASICFalse.75-3VisualBASICFalse.75x=12.342.PrivateSubForm_ClickPrintTab(10);-100;Tab(20);200;Tab(30);-300PrintSpc(10);-100;Spc(10);200;Spc(10);-300EndSub答案:-100200-300-100200-3003.PrivateSubForm_Clickx=12.35PrintFormat(x,”###.##”)PrintFormat(x,”##.##”)PrintFormat(x,”000.00”)PrintFormat(x,”00.0”)PrintFormat(x,”0.00%”)PrintFormat(x,”$##.##”)PrintFormat(x,”+##.##”)PrintFormat(x,”00.00E+00”)EndSub答案:12.3512.35012.3512.41235.00%$12.35+12.3512.35e+004.PrivateSubCommand1_Click()Dima%,b%,c%,s%,w%,t%a=-1:b=3:c=3s=0:w=0:t=0Ifc>0Thens=a+bIfa<=0ThenIfc<=0Thenw=a-bEndIfElseIfc>0Thenw=a-bElset=cEndIfc=a+bPrinta,b,cPrints,w,tEndSub答案:-1322005.PrivateSubCommand1_Click()Dimx%,y%x=InputBox("请输入x的值:")SelectCasexCase1,3,5y=x-1Case6To10y=x+1Case2,4y=2*xCaseIs>10y=x*x+1EndSelectPrint"x=";x,"y=";yEndSub(x的输入值为2.5、8、4和15)答案:x=2y=4x=8y=9x=4y=8x=15y=2266.PrivateSubCommand1_Click()Dimi%,t!t=1:i=1Whilei<10t=t*ii=i+2WendPrint"t=";tEndSub答案:t=9457.PrivateSubCommand1_Click()Dimi%,x%,y%x=1:y=1:i=1DoUntili>8IfiMod2=1Thenx=x*iElsey=y*iEndIfi=i+1LoopPrint"x=";x,"y=";yEndSub答案:x=105y=3848.PrivateSubCommand1_Click()Dimp%,s%p=1:s=1Dop=p+2:s=s+pLoopWhilep<10Print"s=";sEndSub答案:s=369.PrivateSubCommand1_Click()Dimm%,n%Form=1to3n=0Whilen<=m-1Printm,nn=n+1WendNextmEndSub答案:1020213031323.4编程题1.输入一个学生成绩,若成绩在85分以上,则输出“verygood”;若成绩在60分到80分之间,则输出“good”;若成绩低于60分,则输出“nogood”。解答:(1) 界面设计和属性设置在窗体上建立两个标签、两个文本框和两个命令按钮。窗体和窗体上控件的主要属性设置如表3-3-1所示。表3-3-1第1题的属性设置控件名称 属性名 属性值Form1 Caption 根据分数给定评语Label1 Caption 分数Label2 Caption 评语Text1 Text 空串Text2 Text 空串Command1 Caption 开始Command2 Caption 结束(2) 程序代码PrivateSubCommand1_Click()Dimscore!score=Val(Text1.Text)Ifscore>=85ThenText2.Text="Verygood!"ElseIfscore>=60ThenText2.Text="Good!"ElseText2.Text="Nogood!"EndIfEndSubPrivateSubCommand2_Click()EndEndSub(3) 运行情况运行程序后,屏幕出现用户界面。把鼠标移到Text1文本框并单击,输入分数。然后,单击“开始”命令按钮,系统执行Command1_Click事件过程。执行结果如图3.3.1所示。单击标题为“结束”的命令按钮,执行Command2_Click事件过程,结束程序的执行。图3.3.1第1题的执行结果2.求一元二次方程ax+bx+c=0的根。解答:(1) 界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表3-3-2所示。表3-3-2第2题的属性设置控件名称 属性名 属性值Form1 Caption 求一元二次方程的根Command1 Caption 开始Command2 Caption 结束(2) 程序代码由中学数学知识知道,求一元二次方程的根的公式为:,编程时要考虑如下各种情况:①当a=0时,方程不是二次方程;②当b2-4ac=0时,有两个相同的实根:;③当b2-4ac>0时,有两个不同的实根:;④当b2-4ac<0时,有两个共轭复根:。PrivateSubCommand1_Click()ClsDima!,b!,c!,disc!,x1!,x2!,realpart!,imagpart!a=InputBox("请输入方程的系数a:")b=InputBox("请输入方程的系数b:")c=InputBox("请输入方程的系数c:")Print:PrintPrintTab(10);"输入方程的系数为:";"a=";a;"b=";b;"c=";cPrintIfAbs(a)<=0.000001ThenPrintTab(15);"方程不是一个二次方程!"Elsedisc=b^2-4*a*cIfAbs(disc)<=0.000001ThenPrintTab(10);"方程有两个相同的实根:";"x1=x2=";-b/(2*a)ElseIfdisc>0.000001Thenx1=(-b+Sqr(disc))/(2*a)x2=(-b-Sqr(disc))/(2*a)PrintTab(5);"方程有两个实根:"PrintTab(18);"x1=";x1PrintTab(18);"x2=";x2ElseIfdisc<0.000001Thenrealpart=-b/(2*a):imagpart=Sqr(-disc)/(2*a)PrintTab(5);"方程有两个虚根:";PrintTab(18);"x1=";realpart;"+";imagpart;"i"PrintTab(18);"x2=";realpart;"-";imagpart;"i"EndIfEndIfEndSubPrivateSubCommand2_Click()EndEndSub注意,程序中的条件“fabs(a)<=0.000001”和“fabs(disc)<=0.000001”分别用来判断a和disc的值是否为0。因为实数在计算机计算和存储时会有微小的误差,若用“a=0”和“disc=0”来判断a和disc是否为0,则会由于误差导致条件不成立,无法得到正确的运行结果。(3)运行情况运行程序后,单击“开始”命令按钮,执行Command1_Click事件过程。执行时,在InputBox框中输入a、b和c三个系数。图3.3.2~图3.3.5显示了不同系数输入的执行结果。图3.3.2执行结果(a)图3.3.3执行结果(b)图3.3.4执行结果(c)图3.3.5执行结果(d)3.给定函数y=,从键盘上输入x的值,求y的值。(要求使用Case语句)解答:(1)界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表3-3-3所示。表3-3-3第3题的属性设置控件名称 属性名 属性值Form1 Caption 求给定分段函数的值Command1 Caption 开始Command2 Caption 结束(2) 程序代码PrivateSubCommand1_Click()ClsDimx!,y!x=InputBox("请输入x的值:")Ifx>=1Andx<=5ThenSelectCasexCaseIs<2y=3*x-5CaseIs<4y=2*Cos(x)+1CaseIs<=5y=Sqr(1+x*x)EndSelectElsey=x*x-4*x+5EndIfPrintTab(10);"x=";x,"y=";yEndSubPrivateSubCommand2_Click()EndEndSub(3)运行情况运行程序后,单击“开始”命令按钮,执行事件过程Command1_Click。执行时,按InputBox对话框提示,输入x的值。计算结果在窗体上显示。4.输入圆的半径R和运算标志,按照运算标志进行指定运算。给定的运算标志及其表示的运算如下:C(Circle)表示计算周长A(Area)表示计算面积B(Both)表示周长和面积都计算(要求使用Case语句)解答:(1)界面设计和属性设置在窗体上放置两个命令按钮。窗体和命令按钮的主要属性设置如表3-3-4所示。表3-3-4第4题的属性设置控件名称 属性名 属性值Form1 Caption 计算圆周长或圆面积或两者都计算Command1 Caption 开始Command2 Caption 结束(2)程序代码PrivateSubCommand1_Click()ClsDimr!,fAsString*1Constpi!=3.14159265r=InputBox("请输入圆的半径r:")Ifr>=0Thenf=UCase(InputBox("输入运算标志:"+Chr(13)&_"C___(计算周长)"+Chr(13)&_"A___(计算面积)"+Chr(13)&_"B___(两者都计算)"))'提示信息分多行显示SelectCasefCase"C"PrintTab(10);"半径r=";r;"圆周长=";r*2*piCase"A"PrintTab(10);"半径r=";r;"圆面积=";r^2*piCase"B"PrintTab(10);"半径r=";r;"圆周长=";r*2*piPrintTab(10);"半径r=";r;"圆面积=";r^2*piCaseElsePrintTab(18);"输入的运算标志错!"EndSelectElsePrintTab(18);"半径不能是负数!"EndIfEndSubPrivateSubCommand2_Click()EndEndSub(3)运行情况运行程序后,单击标题为“开始”的命令按钮,执行Command1_Click事件过程。按InputBox对话框的提示输入半径r和运算标志。计算结果在窗体上显示。5.求满足12+22+…+n2>1000的最小n值。(要求使用While…WEnd语句)解答:(1)界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表3-3-5所示。表3-3-5第5题的属性设置控件名称 属性名 属性值Form1 Caption 求满足1^2+2^2+…+n^2>1000的最小n值Command1 Caption 开始Command2 Caption 结束(2)程序代码PrivateSubCommand1_Click()Dimn%,s&n=0:s=0Whiles<=1000n=n+1s=s+n^2WendPrint:Print:PrintPrintTab(8);"满足1^2+2^2+…+n^2>1000的最小n值为:";nEndSubPrivateSubCommand2_Click()EndEndSub6.输入若干个正实数,个数预先不能确定,求这些正实数之和。(要求分别使用DoWhile…Loop语句和DoUntil…Loop语句)解答:(1)界面设计和属性设置在窗体上建立三个命令按钮。窗体和命令按钮的主要属性设置如表3-3-6所示。表3-3-6第6题的属性设置控件名称 属性名 属性值Form1 Caption 求正实数之和Command1 Caption DoWhile…LoopCommand2 Caption DoUntil…LoopCommand3 Caption 结束(2)程序代码PrivateSubCommand1_Click()ClsDima!,s!a=InputBox("输入一个实数:")DoWhilea>=0s=s+aa=InputBox("输入一个实数:")LoopPrint:PrintPrintTab(15);"输入的正实数之和为:";sEndSubPrivateSubCommand2_Click()ClsDima!,s!a=InputBox("输入一个实数:")DoUntila<0s=s+aa=InputBox("输入一个实数:")LoopPrint:Print:PrintPrintTab(15);"输入的正实数之和为:";sEndSubPrivateSubCommand3_Click()EndEndSub(3)运行情况运行程序后,屏幕出现用户界面如图3.3.6所示。单击标题为“DoWhile…Loop”或标题为“DoWhile…Loop”的命令按钮,系统执行相应的Click事件过程。用户可以输入一系列数据,以输入-1作结束。窗体显示运算结果。单击“结束”按钮,结束程序执行。图3.3.6第6题的执行结果7.使用公式来求π的近似值,直到最后一项的值小于10-8为止。(要求使用Do…LoopWhile语句)解答:(1)界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表3-3-7所示。表3-3-7第7题的属性设置控件名称 属性名 属性值Form1 Caption 求圆周率的近似值Command1 Caption 开始Command2 Caption 结束(2)程序代码PrivateSubCommand1_Click()Dimi&,s#,term#i=1s=0Doterm=1/(i*i)s=s+termi=i+1LoopWhileterm>=0.00000001Print:Print:PrintPrintTab(8);"圆周率的近似值为:";Sqr(6*s)EndSubPrivateSubCommand2_Click()EndEndSub(3)运行情况运行程序后,单击标题为“开始”的命令按钮,执行Command1_Click事件过程。计算结果在窗体上显示。8.由数值计算方法可知,用牛顿迭代法解方程f(x)=0的迭代公式为:试用牛顿迭代法求解方程x5-3x2+2x+1=0在x0=0附近的根。(要求使用Do…LoopUntil语句)解答:(1)界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表3-3-8所示。表3-3-8第8题的属性设置控件名称 属性名 属性值Form1 Caption 用牛顿法求方程的根Command1 Caption 开始Command2 Caption 结束(2)程序代码根据迭代公式,牛顿迭代法的计算过程为:①令n=0,由迭代公式得,然后判别∣x1-x0∣是否小于ε(给定精度)。若是,则迭代结束,x1作为方程的近似根;否则,进行下一步。②令n=1,由迭代公式得,然后判别∣x2-x1∣是否小ε。若是,则迭代结束,x2作为方程的近似根;否则,由x2求x3的值,判断∣x3-x2∣。┇按这样迭代下去,一直到∣xi+1-xi∣<ε(i=0,1,2,…)为止。根据上述计算过程可以编写程序为:PrivateSubCommand1_Click()Dimx0!,x1!x1=0Dox0=x1x1=x0-(x0^5-3*x0^2+2*x0+1)/(5*x0^4-6*x0+2)LoopUntilAbs(x1-x0)<0.00001PrintTab(10);"方程的根为:";x1EndSubPrivateSubCommand2_Click()EndEndSub(3)运行情况运行程序后,单击标题为“开始”的命令按钮,执行Command1_Click事件过程。在窗体上显示计算结果。9.求S=的值。解答:(1)界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表3-3-9所示。表3-3-9第9题的属性设置控件名称 属性名 属性值Form1 Caption 求s=1-1/2+1/3-1/4+…+1/99-1/100的值Command1 Caption 开始Command2 Caption 结束(2)程序代码PrivateSubCommand1_Click()Dimi%,s!,sign%sign=1:s=0Fori=1To100s=s+sign*1/isign=-signNextiPrint:Print:PrintPrintTab(18);"s的值为:";sEndSubPrivateSubCommand2_Click()EndEndSub(3)运行情况运行程序后,单击标题为“开始”的命令按钮,执行Command1_Click事件过程。窗体显示计算结果。10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的各位数字的立方之和等于该数。例如,因为153=13+53+33,所以153是水仙花数。解答:(1)界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表3-3-10所示。表3-3-10第10题的属性设置控件名称 属性名 属性值Form1 Caption 求水仙花数Command1 Caption 开始Command2 Caption 结束(2)程序代码PrivateSubCommand1_Click()Dimi%,a%,b%,c%PrintPrintTab(5);"100--999之间的水仙花数为:"Fori=100To999a=i\100b=(i-a*100)\10c=i-a*100-b*10Ifi=a^3+b^3+c^3ThenPrintTab(10);iEndIfNextiEndSubPrivateSubCommand2_Click()EndEndSub(3)运行情况执行结果如图3.3.7所示。图3.3.7第10题的执行结果11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。解答:(1)界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表3-3-11所示。表3-3-11第11题的属性设置控件名称 属性名 属性值Form1 Caption 求完数Command1 Caption 开始Command2 Caption 结束(2)程序代码PrivateSubCommand1_Click()Dimi%,j%,s%PrintPrintTab(5);"1--1000之内的完数为:"Fori=1To1000s=0Forj=1Toi-1IfiModj=0Thens=s+jNextjIfi=sThenPrintTab(5);iNextiEndSubPrivateSubCommand2_Click()EndEndSub(3) 运行情况程序执行结果如图3.3.8所示。图3.3.8第11题的执行结果12.在窗体上输出形如以下图形,其中第一行的起始字母和终止字母由用户从键盘上输入。ABCDEBCDEACDEABDEABCEABCD解答:(1)界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表3-3-12所示。表3-3-12第12题的属性设置控件名称 属性名 属性值Form1 Caption 输出由字母构成的图形Command1 Caption 开始Command2 Caption 结束(2)程序代码PrivateSubCommand1_Click()ClsDimstargAsString*1,endgAsString*1,stargc%,endgc%,i%,j%,k%starg=UCase(InputBox("请输入起始字母:"))endg=UCase(InputBox("请输入终止字母:"))stargc=Asc(starg)endgc=Asc(endg)PrintIfstargc<=endgcThenFori=0Toendgc-stargcPrintTab(24);Forj=stargc+iToendgcPrintChr(j);NextjFork=stargcTostargc+i-1PrintChr(k);NextkPrintNextiElsePrintTab(15);"起始字母必须先于终止字母!"EndIfEndSubPrivateSubCommand2_Click()EndEndSub(3)运行情况运行程序后,需在InputBox对话框输入起始字母和终止字母。执行结果在窗体上显示。13.已知XYZ+YZZ=532,其中X,Y和Z为0~9的数字,编程求出X、Y和Z,并在窗体上把算式显示出来。解答:(1)界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表3-3-13所示。表3-3-13第13题的属性设置控件名称 属性名 属性值Form1 Caption 求算式中的数字Command1 Caption 开始Command2 Caption 结束(2)程序代码PrivateSubCommand1_Click()Dimx%,y%,z%,i%PrintPrintTab(23);"x";"y";"z"PrintTab(22);"+";"y";"z";"z"PrintTab(21);"------------"PrintTab(23);5;3;2Forx=1To9Fory=1To9Forz=0To9i=100*x+10*y+z+100*y+10*z+zIfi=532ThenPrint:PrintTab(10);"算式中的数字为:";_"x=";x;"y=";y;"z=";z;"即":GoTolNextzNextyNextxl:PrintPrintTab(23);x;y;zPrintTab(22);"+";y;z;zPrintTab(21);"------------"PrintTab(23);5;3;2EndSubPrivateSubCommand2_Click()EndEndSub(3)运行情况执行结果如图3.3.9所示。图3.3.9第13题的执行结果第4章常用控件4.1填空题1.在图片框上放置的控件称为图片框的(子)对象,而窗体是图片框的(父)对象。2.窗体的“名称”(Name)属性只能在(属性窗口中)设置。3.在程序中设置窗体Forml的Caption属性为“主窗体”,使用的赋值语句是(Forml.Caption=”主窗体”)。4.当窗体的Enabled属性为(True)时,指定窗体响应事件。5.窗体的Unload事件是在QueryUnload事件发生之(后)发生。6.程序中,把当前窗体移动到屏幕左上角使用的方法为(Move0,0)。7.在窗体Form1中坐标为(1600,800)的位置上输出字符串“VisualBASIC6.0”使用的语句为(Form1.Currrentx=1600)、(Form1.Currenty=800)、和(Form1.Print“VisualBASIC6.0”)。8.若使文本框有边框,需设置BorderStyle属性的值为(1)。9.在程序运行期间,用户可以用文本框显示信息。文本框接受输入的内容的属性是(Text)。10.若使文本框内能够接受多行文本,则要设置Multiline属性的值为(True)。11.要把图形文件“c:\sample\diannt.jpg”装载到图片框Picture1上,使用的语句为(Picture1.Picture=LoadPicture(“c:\sample\diannt.jpg”))。12.若使图片框自动调整大小以适应装入的图形,则要设置Autosize属性的值为(True)。13.除了在程序使用LoadPicture函数装载图形外,还可以在设计阶段通过修改(Picture)属性装载图形。14.若程序中要把一些文本内容输出到图片框PictureBox,应使用(Print)方法。15.当单选按钮OptionButton的Value属性为(False)时,表示该单选按钮处于未选中状态。16.若使命令按钮Command1重新生效,则使用的赋值语句为(Command1.Enabled=True)。17.若使命令按钮不能接收和响应任何事件,可以设置Visible属性的值为(False)。18.只有控件对象的Enabled和Visible属性值都为(True)时,该控件对象才能接受焦点。19.Tab顺序是由建立控件时的(先后顺序)来确定。20.设置框架Frame上的文本内容需要使用(Caption)属性。21.在框架上可以设置一组相关控件,这些控件作为框架的(子)控件,它们具有总体的激活/屏蔽特性。22.若屏蔽框架上的控件对象,则需设置(Enabled)属性的值为False。23.列表框ListBox中项目的序号从(0)开始到(Listcount-1)结束。24.要显示列表框List1中序号为3项目内容,语句为(PrintList1.List(3))。25.向组合框Combo2添加序号为5,内容为“计算机学院”的项目,使用的语句为(Combo2.AddItem“计算机学院”,5)。26.要删除组合框Combo1序号为3的项目,使用的语句为(Combo1.ReMoveItem3)。27.使用滚动条ScrollBar时,若要设置当用鼠标单击两个滚动箭头之间区域的滚动幅度,需使用(LargeChange)属性。28.若要设置水平或垂直滚动条的最小值,需使用(Min)属性。29.计时器Timer每经过一个由InterVal属性指定的时间间隔就会触发一次(Timer)事件。30.若要使计时器每0.5钞钟触发一次Timer事件,则要把InterVal属性值设置为(500)。4.2选择题1.窗体标题栏的显示内容由窗体的(b)属性决定。a)Name b)Caption c)BackColor d)Enabled2.当窗体被装入内存时,系统将自动执行(a,b)事件过程。a)Load b)Activate c)Unload d)QueryUnload3.在标签框上显示的内容由(b)属性来实现。a)Name b)Caption c)Text d)ForeColor4.要使标题在标签框内居中显示,Alignment属性的取值应为(2)。a)0 b)1 c)2 d)35.若使标签框根据所显示内容自动调整其大小,则可以通过设置(a)属性值为True来实现。a)AutoSize b)Alignment c)Enabled d)Visible6.文本框没有(d)属性。a)BackColor b)Enabled c)Visible d)Caption7.若设置文本框最多可以接受的字符数,则可以使用(d)属性。a)Length b)Multiline c)Max d)MaxLength8.在文本框中设置垂直滚动条,要使ScrollBars的值为(c)。a)0 b)1 c)2 d)39.在运行程序时,要使文本框获得焦点,则需使用(b)方法。a)Change b)SetFocus c)GotFocus d)Move10.下列控件中,没有AutoSize属性的是(b,d)。a)标签 b)文本框 c)图片框 d)图像框11.若把图片框Picture1中的图形清除,可以使用的语句是(b,c,d)。a)Picture1.Delb)Picture1.Picture=LoadPicture("")c)Picture1.Picture=LoadPicture()d)Picture1.Picture=Nothing12.命令按钮上的文本内容由(b)属性来设置。a)Text b)Caption c)Name d)Show13.若将命令按钮设置为默认选择命令按钮,可以通过(c)属性来实现。a)Value b)Cancel c)Default d)Enabled14.要使命令按钮失效,则可以设置(b)属性的值为False来实现。a)Value b)Enabled c)Visible d)Cancel15.若使命令按钮在屏幕不可见,则可以通过修改(c)属性实现。a)Value b)Enabled c)Visible d)Cancel16.当复选框Value属性值为(b)表示该复选框被选中。a)0 b)1 c)2 d)317.改变控件的Tab顺序可以修改(d)属性值。a)Visible b)Enabled c)TabStop d)TabIndex18.下列控件中(d)不能接受GotFocus和LostFocus事件。a)命令按钮 b)组合框 c)复选按钮 d)计时器19.要使列表框中的项目垂直滚动,应设置Columns属性值为(a)。a)0 b)1 c)2 d)320.若要得到列表框中项目的数目,可以访问(c)属性。a)List b)ListIndex c)ListCount d)Text21.设置列表框的选择方式,应使用(b)属性。a)Columns b)MultiSelect c)Style d)List22.若要清除列表框的所有项目内容,可以使用(c)方法。a)AddItem b)ReMove c)Clear d)Print23.删除列表框中的某一个项目,需要使用(d)方法。a)Clear b)ReMove c)Move d)ReMoveItem24.在组合框中选择某一项目内容,可以通过(d)属性获得。a)List b)ListIndex c)ListCount d)Text25.若要获得滚动条的当前位置,可以通过访问(a)属性来实现。a)Value b)Max c)Min d)LargeChange26.当用鼠标拖动滚动块时触发(b,c)事件。a)Move b)Change c)Scroll d)GotFocus27.设置计时器的时间间隔可以通过(d)属性来实现。a)Value b)Text c)Max d)InterVal28.暂时关闭计时器,需设置( b)属性。a)Visible b)Enabled c)Lock d)Cancel4.3问答题1.在VB集成环境中,用属性窗口设置字体(Font)属性时,系统将弹出一个对话框(见图4-10),指出该对话框中包含些什么控件?答:在该对话框中包含列表框、命令按钮、框架、复选框和文本框等控件。2.设Text1为某一文本框名,下列程序段的输出结果是什么?Text1.Text="abcdefghijk"Text1.selstart=3Text1.sellength=5PrintText1.SelText答:输出结果是:defgh3.标签和文本框有什么区别?答:参见教材4.3。4.比较用Print方法输出和用标签输出的优缺点。答:窗体、图片框和打印机等具有Print方法,用于直接输出文本。输出格式、字体风格通过语句中的格式控制和对象的字体属性共同完成。Print方法只有在程序运行后,执行代码才能显示结果。标签控件利用Caption属性输出文本,可以通过字体属性设置显示风格。其属性可以在设计阶段给定,也可以在程序运行时改变。标签控件是窗体的子对象,主要用于界面设计,不能输出复杂格式的数据,特别地,不能直接把输出送到外部设备,如打印机。5.图片框和图象框的作用是什么?它们之间有什么区别?在什么情况下可以相互代替?在什么情况下必须使用图片框?答:参见教材4.4。6.框架的作用是什么?如何在框架中建立控件?答:参见教材4.6。4.4编程题1.编一程序能够实现:每次单击命令按钮Command1能使标签Label1上的文字在窗体Form1上往右移动100缇,当标签在窗体Form1上往右移出窗体的右边界时,再次单击命令按钮Command1能使标签回到窗体的左边界。解答:(1)界面设计和属性设置在窗体上建立一个标签和两个命令按钮。窗体和窗体上控件的主要属性设置如表3-4-1所示。表3-4-1第1题的属性设置控件名称 属性名 属性值Form1 Caption 使标签往右移Label1 CaptionFontNameFontSize 欢迎使用VB!隶书三号字Command1 Caption 移动Command2 Caption 结束(2)程序代码PrivateSubCommand1_Click()IfLabel1.Left>Form1.ScaleWidthThenLabel1.Left=0ElseLabel1.Left=Label1.Left+100EndIfEndSubPrivateSubCommand2_Click()EndEndSub(3)运行情况运行程序后,屏幕出现用户界面。每单击一次标题为“移动”的命令按钮,执行Command1_Click事件过程,使标签往右移100缇。右移出窗体的右边界时,再次单击“移动”命令按钮,标签回到窗体的左边界。执行情况如图3.4.1所示。图3.4.1第1题的执行情况2.编写一个把某些英文单词翻译为中文单词的简单程序。要求用户界面为一个窗体,窗体左侧是一个文本框,用户在这里输入想要翻译的英文单词(注意输入一个新的单词之前应清除原有内容);窗体中间是一个命令按钮,在该命令按钮上面显示“翻译”两字;窗体右侧也是一个文本框;当程序运行时,用户按下命令按钮后,窗体右侧的文本框显示单词的中文意思。如果找不到想要翻译的英文单词,则给出相应的信息。解答:(1)界面设计和属性设置在窗体上建立两个标签、两个文本框和一个命令按钮。窗体和窗体上控件的主要属性设置如表3-4-2所示。表3-4-2第2题的属性设置控件名称 属性名 属性值Form1 Caption 英文单词翻译为中文单词Label1 Caption 英文Label2 Caption 中文Text1 Text 空串Text2 Text 空串Command1 Caption 翻译(2)程序代码PrivateSubForm_Load()Text1.Text="":Text2.Text=""EndSubPrivateSubCommand1_Click()SelectCaseLCase(Trim(Text1.Text))Case"china"Text2.Text="中国"Case"france"Text2.Text="法国"Case"england"Text2.Text="英国"Case"america"Text2.Text="美国"Case"india"Text2.Text="印度"CaseElseText2.Text="找不到该单词!"EndSelectEndSubPrivateSubText1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)Text1.Text="":Text2.Text=""EndSub(3)运行情况上机运行程序后,屏幕出现用户界面。此时,把鼠标移到Text1文本框并单击,然后输入英文国家名,例如,China。英文国家名输入后,单击标题为“翻译”的命令按钮,系统执行相应的Click事件过程。执行结果如图3.4.2所示。单击工具栏上的“结束”按钮,系统结束程序的执行。图3.4.2第2题的执行结果3.在文本框中输入算术表达式,并以回车符作为输入结束标志。对表达式中的圆括号是否配对进行检查,且给出配对或不配对信息。若配对,则给出“左右圆括号配对”的信息;否则,给出“左圆括号多于右圆括号”或“右圆括号多于左圆括号”的信息。解答:(1)界面设计和属性设置在窗体上建立一个文本框。窗体和文本框的主要属性设置如表3-4-3所示。表3-4-3第3题的属性设置控件名称 属性名 属性值Form1 Caption 判别算术表达式中的圆括号是否配对Text1 Text 空串(2)程序代码DimnAsIntegerPrivateSubText1_KeyPress(KeyAsciiAsInteger)ClsIfChr(KeyAscii)="("Thenn=n+1ElseIfChr(KeyAscii)=")"The

温馨提示

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

评论

0/150

提交评论