visual basic程序设计-第三部分习题与解答(2003.1.3)_第1页
visual basic程序设计-第三部分习题与解答(2003.1.3)_第2页
visual basic程序设计-第三部分习题与解答(2003.1.3)_第3页
visual basic程序设计-第三部分习题与解答(2003.1.3)_第4页
visual basic程序设计-第三部分习题与解答(2003.1.3)_第5页
已阅读5页,还剩202页未读 继续免费阅读

下载本文档

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

文档简介

第三部分习题与解答第1章程序设计语言与程序设计11填空题1VB是以(事件驱动)作为运行机制的新一代可视化程序设计语言。2程序设计语言是(人)与(计算机)交流的工具。3若从机器执行的角度来对程序设计语言进行分类,则可以分为(低级语言)和(高级语言)两种。4计算机系统中,对高级语言的翻译工具称为(编译)程序或(解释)程序。5源程序中的错误一般分为(编译)错误、(运行)错误和(逻辑)错误等三种。6VB把一个应用程序称为一个(工程),它包含各种文件。12选择题1把A和B的乘积写成AB的错误属于(C)错误。A编译B运行C逻辑D编译和运行2用户在什么时候都可以按(B)键来查看与当前进行的工作相关的帮助。AHELDBF1CESCDF103窗体文件的扩展名为(D)。AVBPBBASCEXEDFRM4指示一个窗体位置的值是窗体的(C)。A对象B事件C属性D方法5下面选项中不能运行VB程序的操作是(A)。A双击窗体B单击“启动”按钮图标C从菜单栏运行菜单中选“全编译执行”菜单命令D按F5键13问答题1低级语言和高级语言的各自特点是什么答参见教材11。2什么是数据描述和数据处理答参见教材12。3源程序的翻译方式有哪两种,简述它们的工作过程。答参见教材11。4一个好程序的基本要求是什么答参见教材12。5VISUALBASIC集成开发环境的主窗口由哪些部分构成各自的主要功能是什么答参见教材13。6简述在VB的环境下,对象、属性、方法、事件和事件驱动程序的概念,并用例子进行说明。答在VB的环境下,对象是系统中的基本运行实体,它封装了数据和操作。工具箱中的命令按钮、标签、文本框等是对象摸板。控件是由VB工具箱创建的对象。属性是对象的性质或状态特征。例如,窗体的CAPTION(标题)、BACKCOLOR(背景颜色)、HEIGHT(高度)和WIDTH(宽度)等都是窗体的属性。事件是对象之间传递的消息。VB控件的事件由系统预先定义。例如,CLICK(单击)事件、DBLCLICK(双击)事件。方法是对象在某些事件驱动下执行的特定操作。它可以执行系统预定义的操作,例如窗体的PRINT(打印)方法、SHOW(显示窗体)方法;当事件由用户或VB系统触发时,对象会感受到该事件并对该事件作出响应,响应某个事件后所执行的程序就是事件驱动程序。事件驱动程序有时也称为事件过程。例如,以下是命令按钮COMMAND1在接受单击事件时驱动的程序PRIVATESUBCOMMAND1_CLICKPRINT“HELLOWORLD“ENDSUB7总结使用VISUALBASIC开发一个应用程序的过程。答参见教材15。8下面程序是什么事件驱动程序如何执行该事件驱动程序执行的结果如何PRIVATESUBCOMMAND1_CLICKPRINT“欢迎你使用VB“ENDSUB答略。14编程题编写一个程序。要求设置窗体的标题是“这是我的第一个练习”,且在程序执行后,单击窗体显示如下一行文字我可以用VISUALBASIC编写程序了解答(1)用户界面设计设计用户界面由一个窗体构成。(2)对用户界面上的控件对象的属性进行设置把窗体的CAPTION属性值设置为“这是我的第一个练习”。(3)编写控件对象的事件驱动程序PRIVATESUBFORM_CLICKPRINT“我可以用VISUALBASIC编写程序了“ENDSUB第2章基本数据类型与表达式21填空题1在程序设计语言系统中具有固定语法含义的符号串称为(关键字),它们通常用来表示系统提供的标准过程、函数、运算符、常量等。2(标识符)用于标记用户自定义的常量、类型、变量、控件、过程、函数等名字。3整型数据占(2)字节的内存空间。长整型数据占(4)个字节的内存空间。单精度浮点型数据占(4)个字节的内存空间。双精度浮点型数据占(8)个字节的内存空间。日期型数据占(8)个字节的内存空间。4100表示100为(整)型数据;100表示100为(单精度浮点)型数据;100表示100为货币型数据。5符号常量在某一过程中说明,则该符号常量只能在(该过程内)内有效。6若一个整型变量说明了之后没有给它赋值,则它的值为(0)。7在VB中可以把类型说明符放在变量名的(末尾)来说明变量的类型。8为使VB的编译程序自动检查变量声明,遇到未经说明的标识符发出错误警告信息,在程序中要加上(OPTIONEXPLICIT)语句。9对含有多种运算的表达式,各种运算之间的顺序为(函数运算)(算术运算)(关系运算)(逻辑运算)。10把1234567的小数部分四舍五入转换为整数,可使用函数(CINT1234567)。11将X四舍五入到百位(例如,若X2387452应舍入成23900),可使用表达式(INTX/10005100)。12将X从十位截断(例如,X2387452应截成23800)可使用表达式(FIXX/100100或者INTX/100100或者CINTX100100)。13设X为数值变量,求X的常用对数可使用的表达式是(LOGX/LOG10)。14要从字符串“VISUALBASIC60”中截取子字符串“BASIC”可使用函数(MID“VISUALBASIC60”,8,5)15设S是字符串变量,并且串长度为7,写出生成由S的偶数序号字符组成的字符串的表达式(例如,把字符串”ABCDEFG”变成“BDF”)。答案MIDS,2,1MIDS,4,1MIDS,6,116设S是字符串变量,并且串长度为7,写出用第2I1个字符代替第2I个字符所得到字符串的表达式(例如,把字符串”ABCDEFG”变成“AACCEEG”)。答案STRING2,MIDS,1,1STRING2,MIDS,3,1STRING2,MIDS,5,1MIDS,7,1或STRING2,MIDS,1,1STRING2,MIDS,3,1STRING2,MIDS,5,1RIGHTS,117产生从整数A到整数B之间的随机整数可使用表达式(INTBA1RNDA)。18产生从10001到20099之间的随机数(包括两端点)可使用的表达式是(INT20099100011RND10001/100)。22选择题1下面选项中(C)是算术运算符。ABCMODDAND2下面不合法的标识符是(D)。AO_TOBTAB1C姓名DINT3下列选项中,把R定义为双精度型变量的是(C)。ARBRCRDR4下列表达式中(D)是错误的。A2A/5B21/5C21/5D21/55在下列选项中,正确表达2A5的表达式是(C)。A2A5B2A25C2A5D2A25610MOD4的值为B。A1B2C4D107下列运算符中A优先级最高。A/BCMODD8在VB中不能表示逻辑真的是D。ATRUEB1C1DT9能正确表达A1或A5的逻辑表达式是C。AA5BA5CA5DA510设X为整型变量,不能正确表达1511求COS35可以使用的函数是(D)。ACOS35BCOS35CCOS35DCOS35314159/18012LEN“中国人民”的值是(B)。A0B4C8D不能确定13设X是一个正实数,对X的第二位小数四舍五入可使用的函数是(C)。AINTX005/10BINTX005/10CINT10X005/10DINT10X005/1014函数INTRAD991产生随机数的范围是B。A1,99B1,99C1,100D1,10023下列符号哪些是正确的变量名1N23X3ABS4855PRINT_566名称78AB9AB10MYNAME11“年龄”12学校答案除了以下符号外,其它符号都是正确的变量名。错误的变量名原因3X变量名必须以字母为开始ABS不能和关键字同名85变量名必须以字母开始不是英文字母AB变量名中不能用字符MYNAME变量名内不能有空格字符24把下列数学表达式写成VB表达式12YX1XXXAXBCDE3LN(1|10)4BA48COS215CTG612XLOG10A22ABB2答案11/11/11/XY2XXXAXBCDE3LOG1ABSAB/AB104SQR1314159/2COS48314159/18051/TAN1XX/1XX或者COS1XX/1XX/SIN1XX/1XX6LOGAA2ABBB/LOG1025写出下列函数的值1INT123456782FIX123456783VAL“1234”4CINT123456785ABS1006SGN1007SQRSQR168LEFT“VISUALBASIC60”,69MID“VISUALBASIC60”,8,510INSTR1,“VISUALBASIC60”,“BASIC”11STRING3,“”12INT100RND1答案11235212343123441235510061728VISUAL9BASIC1001112产生从整数1到整数100之间的随机整数26写出下列表达式的163253MOD32INT(25)4“XYZ”“438”5“ABC”“VISUAL”NOT53075X1234PRINT“X”;PRINTXENDSUB答案3VISUALBASICFALSE753VISUALBASICFALSE75X12342PRIVATESUBFORM_CLICKPRINTTAB10100TAB20200TAB30300PRINTSPC10100SPC10200SPC10300ENDSUB答案1002003001002003003PRIVATESUBFORM_CLICKX1235PRINTFORMATX,”PRINTFORMATX,”PRINTFORMATX,”00000”PRINTFORMATX,”000”PRINTFORMATX,”000”PRINTFORMATX,”PRINTFORMATX,”PRINTFORMATX,”0000E00”ENDSUB答案1235123501235124123500123512351235E004PRIVATESUBCOMMAND1_CLICKDIMA,B,C,S,W,TA1B3C3S0W0T0IFC0THENSABIFA0THENWABELSETCENDIFCABPRINTA,B,CPRINTS,W,TENDSUB答案1322005PRIVATESUBCOMMAND1_CLICKDIMX,YXINPUTBOX“请输入X的值“SELECTCASEXCASE1,3,5YX1CASE6TO10YX1CASE2,4Y2XCASEIS10YXX1ENDSELECTPRINT“X“X,“Y“YENDSUB(X的输入值为25、8、4和15)答案X2Y4X8Y9X4Y8X15Y2266PRIVATESUBCOMMAND1_CLICKDIMI,TT1I1WHILEI8IFIMOD21THENXXIELSEYYIENDIFII1LOOPPRINT“X“X,“Y“YENDSUB答案X105Y3848PRIVATESUBCOMMAND1_CLICKDIMP,SP1S1DOPP2SSPLOOPWHILEP85THENTEXT2TEXT“VERYGOOD“ELSEIFSCORE60THENTEXT2TEXT“GOOD“ELSETEXT2TEXT“NOGOOD“ENDIFENDSUBPRIVATESUBCOMMAND2_CLICKENDENDSUB3运行情况运行程序后,屏幕出现用户界面。把鼠标移到TEXT1文本框并单击,输入分数。然后,单击“开始”命令按钮,系统执行COMMAND1_CLICK事件过程。执行结果如图331所示。单击标题为“结束”的命令按钮,执行COMMAND2_CLICK事件过程,结束程序的执行。图331第1题的执行结果2求一元二次方程AXBXC0的根。2解答1界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表332所示。表332第2题的属性设置控件名属性名属性称值FORM1CAPTION求一元二次方程的根COMMAND1CAPTION开始COMMAND2CAPTION结束2程序代码由中学数学知识知道,求一元二次方程的根的公式为,ACBX242,1编程时要考虑如下各种情况当A0时,方程不是二次方程;当B24AC0时,有两个相同的实根;ABX2,1当B24AC0时,有两个不同的实根;ACX242,1当B24AC0000001THENX1BSQRDISC/2AX2BSQRDISC/2APRINTTAB5“方程有两个实根“PRINTTAB18“X1“X1PRINTTAB18“X2“X2ELSEIFDISC1ANDX0THENFUCASEINPUTBOX“输入运算标志“CHR13“半径R“R“圆周长“R2PICASE“A“PRINTTAB10“半径R“R“圆面积“R2PICASE“B“PRINTTAB10“半径R“R“圆周长“R2PIPRINTTAB10“半径R“R“圆面积“R2PICASEELSEPRINTTAB18“输入的运算标志错“ENDSELECTELSEPRINTTAB18“半径不能是负数“ENDIFENDSUBPRIVATESUBCOMMAND2_CLICKENDENDSUB3运行情况运行程序后,单击标题为“开始”的命令按钮,执行COMMAND1_CLICK事件过程。按INPUTBOX对话框的提示输入半径R和运算标志。计算结果在窗体上显示。5求满足1222N21000的最小N值。要求使用WHILEWEND语句解答1界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表335所示。表335第5题的属性设置控件名称属性名属性值FORM1CAPTION求满足1222N21000的最小N值COMMAND1CAPTION开始COMMAND2CAPTION结束2程序代码PRIVATESUBCOMMAND1_CLICKDIMN,SNENDSUBPRIVATESUBCOMMAND2_CLICKENDENDSUB6输入若干个正实数,个数预先不能确定,求这些正实数之和。要求分别使用DOWHILELOOP语句和DOUNTILLOOP语句解答1界面设计和属性设置在窗体上建立三个命令按钮。窗体和命令按钮的主要属性设置如表336所示。表336第6题的属性设置控件名称属性名属性值FORM1CAPTION求正实数之和COMMAND1CAPTIONDOWHILELOOPCOMMAND2CAPTIONDOUNTILLOOPCOMMAND3CAPTION结束2程序代码PRIVATESUBCOMMAND1_CLICKCLSDIMA,SAINPUTBOX“输入一个实数“DOWHILEA0SSAAINPUTBOX“输入一个实数“LOOPPRINTPRINTPRINTTAB15“输入的正实数之和为“SENDSUBPRIVATESUBCOMMAND2_CLICKCLSDIMA,SAINPUTBOX“输入一个实数“DOUNTILA000000001PRINTPRINTPRINTPRINTTAB8“圆周率的近似值为“SQR6SENDSUBPRIVATESUBCOMMAND2_CLICKENDENDSUB3运行情况运行程序后,单击标题为“开始”的命令按钮,执行COMMAND1_CLICK事件过程。计算结果在窗体上显示。8由数值计算方法可知,用牛顿迭代法解方程FX0的迭代公式为,21,0NXF/FXNN1N试用牛顿迭代法求解方程X53X22X10在X00附近的根。要求使用DOLOOPUNTIL语句解答1界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表338所示。表338第8题的属性设置控件名称属性名属性值FORM1CAPTION用牛顿法求方程的根COMMAND1CAPTION开始COMMAND2CAPTION结束2程序代码根据迭代公式,牛顿迭代法的计算过程为令N0,由迭代公式得,然后判/001XFX别X1X0是否小于给定精度。若是,则迭代结束,X1作为方程的近似根;否则,进行下一步。令N1,由迭代公式得,然后判/112XFX别X2X1是否小。若是,则迭代结束,X2作为方程的近似根;否则,由X2求X3的值,判断X3X2。按这样迭代下去,一直到XI1XIFORM1SCALEWIDTHTHENLABEL1LEFT0ELSELABEL1LEFTLABEL1LEFT100ENDIFENDSUBPRIVATESUBCOMMAND2_CLICKENDENDSUB(3)运行情况运行程序后,屏幕出现用户界面。每单击一次标题为“移动”的命令按钮,执行COMMAND1_CLICK事件过程,使标签往右移100缇。右移出窗体的右边界时,再次单击“移动”命令按钮,标签回到窗体的左边界。执行情况如图341所示。图341第1题的执行情况2编写一个把某些英文单词翻译为中文单词的简单程序。要求用户界面为一个窗体,窗体左侧是一个文本框,用户在这里输入想要翻译的英文单词(注意输入一个新的单词之前应清除原有内容);窗体中间是一个命令按钮,在该命令按钮上面显示“翻译”两字;窗体右侧也是一个文本框;当程序运行时,用户按下命令按钮后,窗体右侧的文本框显示单词的中文意思。如果找不到想要翻译的英文单词,则给出相应的信息。解答1界面设计和属性设置在窗体上建立两个标签、两个文本框和一个命令按钮。窗体和窗体上控件的主要属性设置如表342所示。表342第2题的属性设置控件名称属性名属性值FORM1CAPTION英文单词翻译为中文单词LABEL1CAPTION英文LABEL2CAPTION中文TEXT1TEXT空串TEXT2TEXT空串COMMAND1CAPTION翻译2程序代码PRIVATESUBFORM_LOADTEXT1TEXT“TEXT2TEXT“ENDSUBPRIVATESUBCOMMAND1_CLICKSELECTCASELCASETRIMTEXT1TEXTCASE“CHINA“TEXT2TEXT“中国“CASE“FRANCE“TEXT2TEXT“法国“CASE“ENGLAND“TEXT2TEXT“英国“CASE“AMERICA“TEXT2TEXT“美国“CASE“INDIA“TEXT2TEXT“印度“CASEELSETEXT2TEXT“找不到该单词“ENDSELECTENDSUBPRIVATESUBTEXT1_MOUSEDOWNBUTTONASINTEGER,SHIFTASINTEGER,XASSINGLE,YASSINGLETEXT1TEXT“TEXT2TEXT“ENDSUB3运行情况上机运行程序后,屏幕出现用户界面。此时,把鼠标移到TEXT1文本框并单击,然后输入英文国家名,例如,CHINA。英文国家名输入后,单击标题为“翻译”的命令按钮,系统执行相应的CLICK事件过程。执行结果如图342所示。单击工具栏上的“结束”按钮,系统结束程序的执行。图342第2题的执行结果3在文本框中输入算术表达式,并以回车符作为输入结束标志。对表达式中的圆括号是否配对进行检查,且给出配对或不配对信息。若配对,则给出“左右圆括号配对”的信息;否则,给出“左圆括号多于右圆括号”或“右圆括号多于左圆括号”的信息。解答1界面设计和属性设置在窗体上建立一个文本框。窗体和文本框的主要属性设置如表343所示。表343第3题的属性设置控件名称属性名属性值FORM1判别算CAPTION术表达式中的圆括号是否配对TEXT1TEXT空串2程序代码DIMNASINTEGERPRIVATESUBTEXT1_KEYPRESSKEYASCIIASINTEGERCLSIFCHRKEYASCII“THENNN1ELSEIFCHRKEYASCII“THENNN1ENDIFPRINTIFKEYASCII13THENIFN0THENPRINTTAB18“左右圆括号配对“ELSEIFN0THENPRINTTAB15“左圆括号多于右圆括号“ELSEPRINTTAB15“右圆括号多于左圆括号“ENDIFENDIFENDSUBPRIVATESUBTEXT1_MOUSEDOWNBUTTONASINTEGER,SHIFTASINTEGER,XASSINGLE,YASSINGLECLSTEXT1TEXT“N0ENDSUB3运行情况运行程序后,焦点在TEXT1文本框上。输入算术表达式,然后按回车键,执行TEXT1_KEYPRESS事件过程。执行结果如图343所示。若输入另一个算术表达式,可以单击TEXT1文本框,再次输入算术表达式和按回车键,执行TEXT1_MOUSEDOWN事件过程。图343第3题的执行结果4编写一个程序,把某一图形装入到一个图片框中,且能实现该图形的放大、缩小和全屏显示。解答1界面设计和属性设置在窗体上建立一个图片框和三个命令按钮。窗体和窗体上控件的主要属性设置如表344所示。表344第4题的属性设置控件名称属性名属性值FORM1CAPTION图片缩放PICTURE1PICTURE一幅图片(在程序中装入)COMMAND1CAPTION图片放大COMMAND2CAPTION图片缩小COMMAND3CAPTION全屏显示2程序代码PRIVATESUBCOMMAND1_CLICKIFPICTURE1HEIGHT50THENPICTURE1HEIGHTPICTURE1HEIGHT50ENDIFENDIFIFFORM1SCALEWIDTHPICTURE1WIDTH70THENPICTURE1WIDTHPICTURE1WIDTH70ENDIFENDSUBPRIVATESUBCOMMAND2_CLICKSELECTCASEPICTURE1HEIGHTCASEIS50PICTURE1HEIGHTPICTURE1HEIGHT50CASEIS30PICTURE1HEIGHTPICTURE1HEIGHT30CASEIS10PICTURE1HEIGHTPICTURE1HEIGHT10ENDSELECTSELECTCASEPICTURE1WIDTHCASEIS100PICTURE1WIDTHPICTURE1WIDTH100CASEIS50PICTURE1WIDTHPICTURE1WIDTH50CASEIS30PICTURE1WIDTHPICTURE1WIDTH30CASEIS10PICTURE1WIDTHPICTURE1WIDTH10ENDSELECTENDSUBPRIVATESUBCOMMAND3_CLICKPICTURE1HEIGHTFORM1SCALEHEIGHT1000PICTURE1WIDTHFORM1SCALEWIDTHENDSUBPRIVATESUBFORM_LOADPICTURE1PICTURELOADPICTURE_“CPROGRAMFILESMICROSOFTOFFICEOFFICEBITMAPSSTYLESGLOBEWMF“ENDSUB3运行情况运行程序后,单击不同的命令按钮,系统执行相应的CLICK事件过程。执行结果如图344所示。图344第4题的执行结果5编写一个求三角函数值的程序。在程序中,用户可以选择输入角度或弧度值,也可以选择计算一种三角函数例如,正弦、余弦、正切等的值,且能把计算的结果显示出来。要求分别使用两组单选按钮进行输入选择和计算选择,每组单选按钮存放在一个框架中;用文本框输入角度或弧度值,用标签输出计算结果。解答1界面设计和属性设置在窗体上建立两个标签、两个文本框和两个框架。一个框架包含两个单选按钮,另一个框架包含三个单选按钮。窗体和窗体上控件的主要属性设置如表345所示。表345第5题的属性设置控件名称属性名属性值FORM1CAPTION计算三角函数的值LABEL1CAPTION输入LABEL2CAPTION输出TEXT1TEXT空串TEXT2TEXT空串FRAME1CAPTION输入选择OPTION1CAPTION角度OPTION2CAPTION弧度FRAME2CAPTION函数选择OPTION3CAPTION正弦OPTION4CAPTION余弦OPTION5CAPTION正切2程序代码CONSTPI314159265PRIVATESUBFORM_LOADOPTION1VALUETRUEOPTION3VALUETRUETEXT1TEXT“TEXT2TEXT“ENDSUBPRIVATESUBTEXT1_CHANGEDIMXASSINGLEIFOPTION1VALUETHENXVALTEXT1TEXTPI/180ELSEXVALTEXT1TEXTENDIFIFOPTION3VALUETHENTEXT2TEXTSINXELSEIFOPTION4VALUETHENTEXT2TEXTCOSXELSEIFOPTION5VALUETHENTEXT2TEXTTANXENDIFENDSUBPRIVATESUBTEXT1_MOUSEDOWNBUTTONASINTEGER,SHIFTASINTEGER,XASSINGLE,YASSINGLETEXT1TEXT“TEXT2TEXT“ENDSUB3运行情况运行程序后,在文本框TEXT1输入角度,系统执行TEXT1_CHANGE事件过程。执行结果如图345所示。单击标题为“弧度”的单选按钮和标题为“余弦”的单选按钮,鼠标单击文本框TEXT1,输入弧度,系统执行TEXT1_CHANGE事件过程,执行结果如图346所示。图345第5题的执行结果A图346第5题的执行结果B6编写一个程序,产生一个字体浏览器。要求用一个列表框显示系统当前可供选择的字体,另一个列表框显示系统当前可供选择的字体大小,并且使用标签显示所选字体及其大小样例。解答1界面设计和属性设置在窗体上建立四个标签、两个列表框。窗体和窗体上控件的主要属性设置如表346所示。表346第6题的属性设置控件名称属性名属性值FORM1CAPTION字体浏览器LABEL1CAPTION字体选择LABEL2CAPTION字体大小选择LABEL3CAPTION样例LABEL4CAPTIONBORDERSTYLE中文字体演示1LIST1STYLE1LIST2STYLE12程序代码PRIVATESUBFORM_LOADDIMIASINTEGERFORI0TOSCREENFONTCOUNT1LIST1ADDITEMSCREENFONTSINEXTIFORI8TO12LIST2ADDITEMTRIMSTRINEXTIFORI14TO72STEP2LIST2ADDITEMTRIMSTRINEXTIENDSUBPRIVATESUBLIST1_CLICKLABEL4FONTNAMELIST1TEXTENDSUBPRIVATESUBLIST2_CLICKLABEL4FONTSIZELIST2TEXTENDSUB3运行情况运行程序后,执行事件过程FORM_LOAD,屏幕上显示用户界面。单击左边列表框LIST1上某一复选框,选择字体。然后单击右边列表框LIST2上的某一复选框,选择字号,系统执行相应的事件过程。执行结果如图347所示。图347第6题的执行结果7编写一个用于演示颜色合成情况的程序。要求使用滚动条作为红、绿和蓝三种基色值的输入控件。(提示使用RGB函数对输入的三种基色进行合成得到复合颜色)解答1界面设计和属性设置在窗体上建立四个标签和三个滚动条。窗体和窗体上控件的主要属性设置如表347所示。表347第7题的属性设置控件名称属性名属性值FORM1CAPTION颜色合成演示LABEL1CAPTION红色份量值LABEL2CAPTION绿色份量值LABEL3CAPTION蓝色份量值LABEL4CAPTIONBORDERSTYLE空串1HSCROLL1MAXLARGECHANGE2555HSCROLL2MAXLARGECHANGE2555HSCROLL3MAXLARGECHANGE25552程序代码PRIVATESUBHSCROLL1_SCROLLLABEL1CAPTION“红色份量值“NEXTIENDSUB答案6543213PRIVATESUBCOMMAND1_CLICKDIMA1TO9ASINTEGERDIMB1TO3,1TO3ASINTEGERDIMI,JFORI1TO9AIINEXTIFORI1TO3FORJ1TO3BI,JAIJIFJMAXTHENMAXAIPINEXTIPRINTPRINTPRINTTAB2“最大值为“MAXPRINTTAB2“最大值所在数组元素的下标为“PENDSUBPRIVATESUBCOMMAND2_CLICKENDENDSUB(3)运行情况程序执行结果如图352所示。图352第2题的执行结果3把20个整型数据存放到一维数组A中,找出A中出现频率最高的元素值及出现的次数。例如,若把1,5,4,3,5,8,5和3存放到数组A中,则出现频率最高的元素值是5,出现的次数是3。解答1界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮主要属性设置如表353所示。表353第3题的属性设置控件名称属性名属性值FORM1CAPTION找出出现频率最高元素和出现次数COMMAND1CAPTION开始COMMAND2CAPTION结束2程序代码PRIVATESUBCOMMAND1_CLICKCLSDIMI,J,FMAXDIMA1TO20ASINTEGER,B1TO20ASINTEGERPRINTPRINTTAB2“用随机函数产生的数值是“RANDOMIZEFORI1TO20AIINT10RND1产生110之间的随机整数,并存放到AI中PRINTAI,IFIMOD40THENPRINTNEXTIFMAX0FORI1TO20BI0FORJ1TOIIFAIAJTHENBIBI1BI用来对AI出现的次数进行计数IFBIFMAXTHENFMAXBIENDIFNEXTJNEXTIPRINTPRINTTAB2“出现频率最高的数值是“FORI1TO20IFBIFMAXTHENPRINTAIENDIFNEXTIPRINTPRINTTAB2“出现的次数是“FMAXENDSUBPRIVATESUBCOMMAND2_CLICKENDENDSUB3运行情况程序执行结果如图353所示。图353第3题的执行结果4给定两组已按升序排列好的整型数据,编写一个程序把它们合并为一组仍按升序排列的数据。解答1界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表354所示。表354第4题的属性设置控件名称属性名属性值FORM1CAPTION把两个升序数组合并为一个升序数组COMMAND1CAPTION合并COMMAND2CAPTION结束2程序代码DIMAASVARIANT,BASVARIANT,C0TO11PRIVATESUBFORM_ACTIVATEDIMIAARRAY1,2,7,8PRINTPRINTTAB5“第一个升序数组“FORI0TO3PRINTAINEXTIPRINTPRINTBARRAY3,4,8,8,9,10,12,12PRINTTAB5“第二个升序数组“FORI0TO7PRINTBINEXTIENDSUBPRIVATESUBCOMMAND1_CLICKDIMI,J,KI0J0K0WHILEIBJTHENCKBJKK1JJ1比较A和B中的元素,把较大的元素移到ELSEC中,直到其中一个数组搬空为止CKAIKK1II1ENDIFWENDWHILEI0F1FORI0TOK1/2IFBIBK1ITHENF0NUM的第I位与第K1I位数字不相同时F置0NEXTI说明NUM不是回文数PRINTIFFTHENPRINTTAB2NUM“是回文数“ELSEPRINTTAB2NUM“不是回文数“ENDIFENDSUBPRIVATESUBCOMMAND2_CLICKENDENDSUB3运行情况运行程序后,在调用INPUTBOX函数出现对话框时,输入一个整数,例如,123454321。执行结果如图355所示。图355第5题的执行结果6编一程序,把一个M行N列矩阵中的元素存放到一个二维数组中,并求出该数组的平均值、最大值和最小值。解答1界面设计和属性设置在窗体上建立两个命令按钮。窗体和命令按钮的主要属性设置如表356所示。表356第6题的属性设置控件名称属性名属性值FORM1CAPTION求矩阵的平均值、最小值和最大值COMMAND1CAPTION开始COMMAND2CAPTION结束2程序代码PRIVATESUBCOMMAND1_CLICKDIMI,J,M,N,SUM,AVE,MAX,MINDIMAASSINGLEMINPUTBOX“请输入矩阵的行数“NINPUTBOX“请输入矩阵的列数“REDIMA1TOM,1TONPRINTPRINTTAB2“输入的矩阵为“FORI1TOMPRINTTAB15FORJ1TONAI,JINPUTBOX“输入第“NEXTJPRINTNEXTISUM0FORI1TOMFORJ1TONSUMSUMAI,J求和NEXTJNEXTIAVESUM/MN求平均值MAXA1,1FORI1TOMFORJ1TONIFAI,JMAXTHENMAXAI,J求最大值NEXTJNEXTIMINA1,1FORI1TOMFORJ1TONIFAI,JMAXTHENMAXSISCORENEXTIPRINTPRINTTAB4“最高分数“MAXPRINTTAB4“分数最高者“FORI1TONIFSISCOREMAXTHENPRINTSINAMEENDIFNEXTIENDSUBPRIVATESUBCOMMAND2_CLICKENDENDSUB(3)运行情况运行程序后,需多次调用INPUTBOX函数。在调用INPUTBOX函数出现对话框时,输入学生人数、每个学生的姓名和分数,例如,输入3;李小萍;78;张志明;92;何伟;80。执行结果如图358所示。图358第8题的执行结果第7章过程71填空题1一个VB应用程序可以包括的三种模块是(窗体模块)、(标准模块)和(类模块)模块。2函数过程定义中至少有一个赋值语句把表达式的值赋给(函数过程名)。3在VB中,过程定义中有两种传递形式的参数一种是(传值参数),称为传值调用;另一种是(传址参数),称为传址调用。4若模块中以关键字PUBLIC定义子过程,则在(整个应用程序)中都可以调用该过程。5若窗体模块或标准模块中以关键字PRIVATE定义函数过程,则该函数过程只能在该窗体模块或标准模块中使用。6每一个用标识符定义的变量、常量、过程都有一个有效范围,这个范围称为标识符的(作用域)。7在模块内定义的过程,若在关键字SUB或FUNCTION加前缀PUBLIC,则该过程称为(全局级过程或工程级过程)。8过程中定义的静态变量作用域是(该过程内),生存期是(整个应用程序运行结束之前)。72选择题1标准模块中的代码存放在以(B)为扩展名的文件中。AFRMBBASCCLSDTXT2(A)不能在标准模块中定义。A事件过程B子过程C函数过程D公共过程3设已定义子过程P,有3个数值型传值参数;设A为实型变量,调用该子过程的正确语句为(C)。APBCALLP05,A,100CCALLP05,COS01,A10DP05,12,1004设已定义函数过程F,它有三个实型传值参数;设A,B和C为实型变量,则调用该函数的正确语句为(C)。AFBFAB,BCCFAB,BC,CACFAB,BC,CA5在过程体中退出子过程的语句是(C)。AEXITDOBEXITFORCEXITSUBDEXITFUNCTION6在过程的形式参数的前面加上关键字(D),则该参数说明为传值参数。AVALBREFCBYREFDBYVAL7关于过程作用域,错误的描述是(D)。A全局级过程的作用域为整个工程。B在某一窗体模块中定义的全局级过程,若被该模块外的模块所调用,必须在该过程名前加上窗体名称。C在不同模块中定义的模块级过程可以同名。D模块级过程与工程级过程不能同名。8关于变量的作用域,正确的描述是(B)。A在模块内定义的变量,其作用域必定为所在模块。B同一模块中不同级的变量不能同名。C一模块中所有在过程之外用DIM定义的变量为全局变量。D不同模块中定义的变量名字可以相同。9当鼠标在窗体上移动时,会发生(C)事件。AMOUSEDOWNBMOUSEUPCMOUSEMOVEDDRAGDOWN10当某个对象具有焦点时,在键盘上按下某一键时就会发生(A,C)事件。AKEYPRESSBKEYUPCKEYDOWNDDRAGDOWN11当用户(A)时,会引发焦点所在对象的KEYPRESS事件。A在键盘上按下有ASC码的键B释放键盘上有ASC码的键C单击鼠标左键D单击鼠标右键12当用户在键盘上按下一个有ASC码的键时会发生(A)事件。AKEYPRESS和KEYDOWNBKEYPRESS和KEYUPCKEYDOWN和KEYUPDKEYPRESS和KEYMOVE73问答题1过程的主要作用是什么VB有什么类型的自定义过程试举例说明。答参见教材72。2传值参数和传址参数的主要作用是什么在调用过程进行参数传递时,它们之间有什么区别答参见教材73。74阅读程序,写出输出结果。1PRIVATESUBPBYVALIASINTEGERDIMJ,KFORJ0TO7IPRINT“NEXTJFORK0TO2I1PRINT“NEXTKPRINTENDSUBPRIVATESUBCOMMAND1_CLICKDIMIFORI1TO2PINEXTIFORI3TO1STEP1PINEXTIENDSUB答案2PRIVATESUBCOMMAND1_CLICKDIMMMMAX35,21,480MMAXMAXM,75,100,380,28PRINT“MAX“MENDSUBPRIVATEFUNCTIONMAXBYVALXASINTEGER,BYVALYASINTEGER,BYVALZASINTEGERIFXYTHENMAXXELSEMAXYIFZMAXTHENMAXZENDFUNCTION答案MAX4803PRIVATESUBCOMMAND1_CLICKDIMAASINTEGER,BASINTEGER,CASINTEGERCALLS10,5,ACALLS7,A,BCALLSA,B,CPRINT“A“A,“B“B,“C“CENDSUBPRIVATESUBSXASINTEGER,YASINTEGER,ZASINTEGERZYXENDSUB答案A5B12C74PRIVATESUBCOMMAND1_CLICKDIMICONSTN10DIMA1TONASINTEGERRANDOMIZEFORI1TONAIINTRND1001PRINTAI,IFIMOD40THENPRINTNEXTIPRINTCALLSA,NENDSUBPRIVATESUBSAASINTEGER,BYVALNASINTEGERDIMI,KFORI1TONIFAIMOD32THENIFKMOD40THENPRINTPRINTAI,KK1ENDIFNEXTIENDSUB答案输出10个199之间的随机整数,并把其中能被4整除的数输出来5PUBLICXASINTEGERPRIVATESUBCOMMAND1_CLICKX10PRINTXCALLS1PRINTXCALLS2PRINTXENDSUBPRIVATESUBS1XX20PRINTXENDSUBPRIVATESUBS2DIMXASINTEGERXX20PRINTXENDSUB答案10303020306PRIVATESUBCOMMAND1_CLICKS31S31S31ENDSUBPRIVATESUBS3BYVALAASINTEGERDIMXASINTEGERSTATICYASINTEGERXXAYYAPRINT“X“X,“Y“YENDSUB答案X1Y1X1Y2X1Y375编程题1已知M,其中,MAX,AX,CBCBMAX(X,Y,Z)为求X,Y和Z这三个数最大值的函数。编一程序,输入A,B和C的值,求M的值。解答1界面设计和属性设置在窗体上建立四个标签、四个文本框和两个命令按钮。窗体和窗体上控件的主要属性设置如表371所示。表371第1题的属性设置控件名称属性名属性值FORM1CAPTION计算M的值LABEL1CAPTIONALABEL2CAPTIONBLABEL3CAPTIONCLABEL4CAPTIONMTEXT1,TEXT2,TEXT3,TEXT4TEXT空串COMMAND1CAPTION开始COMMAND2CAPTION结束2程序代码PRIVATESUBCOMMAND1_CLICKDIMA,B,C,MAVALTEXT1TEXTBVALTEXT2TEXTCVALTEXT3TEXTMMAXA,B,C/MAXAB,B,CMAXA,B,BCTEXT4TEXTSTRMENDSUBPRIVATEFUNCTIONMAXBYVALX,BYVALY,BYVALZASSINGLEDIMMAIFXYTHENMAXELSEMAYIFZMATHENMAZMAXMAENDFUNCTIONPRIVATESUBCOMMAND2_CLICKENDENDSUB3运行情况运行程序后,单击TEXT1输入A的值;单击TEXT2输入B的值;单击TEXT3并输入C的值。数据输入后,单击标题为“开始”的命令按钮,执行COMMAND1_CLICK事件过程,并调用自定义MAX函数,在TEXT4显示计算结果。2给定求组合数公式为,编一程序,输NMCN入M和N的值,求的值。NMC解答1界面设计和属性设置在窗体上建立三个标签、一个OLE控件、三个文本框和两个命令按钮。窗体和窗体上控件的主要属性设置如表372所示。表372第2题的属性设置控件名称属性名属性值FORM1CAPTION计算组合数LABEL1CAPTION计算组合数公式LABEL2CAPTIONFONTSIZEC初号LABEL3CAPTIONOLE1CLASSBACKSTYLEBORDERSTYLESIZEMODEEQUATION3在建立OLE时选定002TEXT1TEXT空串TEXT2TEXT空串TEXT3TEXT空串COMMAND1CAPTION计算COMMAND2CAPTION结束说明表中的OLE控件用来在界面上显示计算组合数公式。建立OLE控件并输入公式的操作步骤为双击工具箱上的OLE控件,系统在窗体上显示OLE控件,并弹出“插入对象”对话框,在“插入对象”对话框中选择对象类型“MICROSOFTEQUATION30”,然后单击“确定”按钮打开公式编辑器,使用公式编辑器输入计算组合数公式。2程序代码PRIVATESUBFACBYVALKSTRAGCDA,BENDSUBPRIVATEFUNCTIONGCDBYVALA,BYVALBASINTEGERDIMGIFB0THENGAELSEGGCDB,AMODBENDIFGCDGENDFUNCTIONPRIVATESUBCOMMAND2_CLICKENDENDSUB3运行情况运行程序后

温馨提示

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

评论

0/150

提交评论