欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    vb课后练习答案习题解答 (6).doc

    • 资源ID:29934020       资源大小:548KB        全文页数:10页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    vb课后练习答案习题解答 (6).doc

    中华IT学习网 官方总站:圣才学习网第7章 过 程71 填空题1 一个VB应用程序可以包括的三种模块是:( )、( )和( )模块。答案:窗体模块、标准模块、类模块2函数过程定义中至少有一个赋值语句把表达式的值赋给( )。答案:函数过程名3在VB中,过程定义中有两种传递形式的参数:一种是( ),称为传值调用;另一种是( ),称为传址调用。答案:传值参数、传址参数4 若模块中以关键字public定义子过程,则在( )中都可以调用该过程。答案:整个应用程序5若窗体模块或标准模块中以关键字private定义函数过程,则该函数过程只能在( )中使用。答案:该窗体模块或标准模块6每一个用标识符定义的变量、常量、过程都有一个有效范围,这个范围称为标识符的()。答案:作用域7在模块内定义的过程,若在关键字sub或Function加前缀Public,则该过程称为()。答案:全局级过程或工程级过程8 过程中定义的静态变量作用域是(),生存期是()。答案:该过程内、整个应用程序运行结束之前72 选择题1标准模块中的代码存放在以( )为扩展名的文件中。a).frm b).bas c).cls d).txt 答案:b2( )不能在标准模块中定义。a)事件过程 b)子过程 c)函数过程 d)公共过程答案:a3设已定义子过程p,有3个数值型传值参数;设a为实型变量,调用该子过程的正确语句为( )。a) p b) call p 0.5, a, 100 c) call p ( 0.5, cos(0.1), a+10 ) d) p ( 0.5, 1.2, 100 )答案:c4.设已定义函数过程f,它有三个实型传值参数;设a,b和c为实型变量,则调用该函数的正确语句为( )。a)f b) f( a+b, b+c )c)f ( a+b, b+c ,c+a ) d) f a+b, b+c, c+a答案:c5在过程体中退出子过程的语句是( )。a) Exit Do b) Exit Forc) Exit Sub d) Exit Function答案:c6在过程的形式参数的前面加上关键字( ),则该参数说明为传值参数。 a) Val b) ref c) Byref d) ByVal答案:d7关于过程作用域,错误的描述是( )。a) 全局级过程的作用域为整个工程。b) 在某一窗体模块中定义的全局级过程,若被该模块外的模块所调用,必须在该过程名前加上窗体名称。c) 在不同模块中定义的模块级过程可以同名。d) 模块级过程与工程级过程不能同名。答案:d8关于变量的作用域,正确的描述是( )。a) 在模块内定义的变量,其作用域必定为所在模块。b) 同一模块中不同级的变量不能同名。c) 同一模块中所有在过程之外用Dim定义的变量为全局变量。d) 不同模块中定义的变量名字可以相同。答案:d9当鼠标在窗体上移动时,会发生( )事件。a) MouseDown b) MouseUpc) MouseMove d) DragDown答案:c10当某个对象具有焦点时,在键盘上按下某一键时就会发生( )事件。a)KeyPress b)KeyUp c)KeyDown d)DragDown答案:a、c11当用户( )时,会引发焦点所在对象的KeyPress事件。a) 在键盘上按下有ASC码的键 b) 释放键盘上有ASC码的键c) 单击鼠标左键 d) 单击鼠标右键答案:a12当用户在键盘上按下一个有ASC码的键时会发生( )事件。a) KeyPress和 KeyDown b) KeyPress 和KeyUpc) KeyDown和 KeyUp d) KeyPress和 KeyMove答案:a73 解答题1过程的主要作用是什么?VB有什么类型的自定义过程?试举例说明。答:过程的主要作用有两个:一是任务划分。即把一个复杂的任务划分为若干个小任务,每个小任务可以用过程来完成,从而使任务更易于理解,易于实现和维护;二是代码重用。各种复杂的任务常常包含一些完全相同或非常相近的小任务。把这些小任务独立地编成公用的过程,由各个任务调用,这样的做法可以避免重复的编程劳动。 在VB6中,有下列4种类型的自定义过程:1)以关键字Sub开头的子过程;2)以关键字Function开头的函数过程;3)以关键字Property开头的属性过程;4)以关键字Event开头的事件过程;在教材中只介绍子过程和函数过程两种自定义过程。例如,Private Sub fact(Byval n As Integer,Byref fac As Long) Dim t As Long,i As Integer t=1 For i=1 To n t=t*i Next i fac=tEnd Sub是一个求n的阶乘子过程。又如,Private Function max(ByVal x As Integer, ByVal y As Integer, ByVal z As Integer)If x > y Then max = x Else max = yIf z > max Then max = z End Function是一个求三个数x、y和z最大值的函数过程。2传值参数和传址参数的主要作用是什么?在调用过程进行参数传递时,它们之间有什么区别? 答:传值参数的主要作用是把需处理的原始数据传送给被调用过程的形式参数。传址参数的主要作用是把调用过程后的结果传递回给调用程序。对传值参数来说,在调用过程进行参数传递时,是把实际参数的值直接传送给相应的传值参数。值传送完之后,传值参数与相应的实际参数之间毫无任何联系。即在调用过程时,传值参数的改变不会引起相应实际参数的改变。对传址参数来说,在调用过程进行参数传递时,是把实际参数的地址传送给相应的传址参数。调用过程时,对传址参数的任何操作都是对相应的实际参数进行。即在调用过程时,传址参数的改变会引起相应实际参数的改变。74 阅读程序,并写出程序的运行结果。1Private Sub p(ByVal i As Integer) Dim j%, k% For j = 0 To 7 - i Print " " Next j For k = 0 To 2 * i - 1 Print "*"Next k Print End Sub Private sub command1_Click() Dim i% For i = 1 To 2 P(i) Next i For i = 3 To 1 Step -1 P(i) Next i End Sub答案: * * * * *2. Private Sub Command1_Click()Dim m%m = max(35, -21, 480)m = max(max(m, 75, 100), 380, 28)Print "max=" mEnd SubPrivate Function max(ByVal x As Integer, ByVal y As Integer, ByVal z As Integer)If x > y Then max = x Else max = yIf z > max Then max = z End Function答案: max=4803Private Sub Command1_Click() Dim a As Integer, b As Integer, c As Integer Call s(10, 5, a) Call s(7, a, b) Call s(a, b, c) Print "a=" a, "b=" b, "c=" cEnd SubPrivate Sub s(x As Integer, y As Integer, z As Integer) z = y xEnd Sub答案: a=-5 b=-12 c=-74. Private Sub Command1_Click() Dim i% Const n = 10 Dim a(1 To n) As Integer Randomize For i = 1 To n a(i) = Int(Rnd * 100 + 1) Print a(i), If i Mod 4 = 0 Then Print Next i Print Call s(a, n)End Sub Private Sub s(a() As Integer, ByVal n As Integer) Dim i%, k% For i = 1 To n If a(i) Mod 3 = 2 Then If k Mod 4 = 0 Then Print Print a(i), k = k + 1 End If Next i End Sub答案:输出10个1100之间的随机整数,并把其中能被3除余2的数输出。5. Public x As Integer Private Sub Command1_Click() x = 10 : Print x Call s1 : Print x Call s2 : Print x End Sub Private Sub s1() x = x + 20 : Print x End Sub Private Sub s2() Dim x As Integer x = x + 20 : Print x End Sub答案: 10 30 30 20 306. Private Sub Command1_Click() s3 (1): s3 (1): s3 (1) End Sub Private Sub s3(ByVal a As Integer) Dim x As Integer Static y As Integer x = x + a: y = y + a Print "x=" x, "y=" yEnd Sub答案: x=1 y=1 x=1 y=2 x=1 y=375 编程题 3,其中f(t)= (1+e)/(1+e),求g(2.5,3.4),g(1.7,2.5)和g(3.8,2.9)的值。解答:(1)界面设计和属性设置在窗体上建立三个标签、三个文本框和两个命令按钮。窗体和窗体上控件的主要属性设置如表3.7.3所示。 表3.7.3 属性设置 控件名称 属性名 属性值 Form1 Caption计算函数值 Label1 Caption x= Label2Caption y= Label3 Caption 空串 Text1 Text 空串 Text2 Text 空串 Text3 Text 空串 Command1Caption 计算 Command2 Caption 结束(2)程序代码Private Sub Command1_Click() Dim x!, y! x = Val(Text1.Text) y = Val(Text2.Text) Label3.Caption = "g(" & Str(x) & "," & Str(y) & ")=" Text3.Text = Str(g(x, y)End SubPrivate Sub Command2_Click() EndEnd SubPrivate Function f(ByVal t!) As Single f = (1 + Exp(-t) / (1 + Exp(t)End FunctionPrivate Function g(ByVal x!, ByVal y!) As Single If x <= y Then g = f(x + y) / (f(x) + f(y) Else g = f(x - y) / (f(x) + f(y) End IfEnd FunctionPrivate Sub Text1_Click() Text1.Text = "": Text2.Text = "": Text3.Text = "" Label3.Caption = ""End Sub(3)运行情况运行程序后,屏幕出现用户界面。把鼠标移到Text1文本框并单击,然后输入x(例如,2.5)。再把鼠标移到Text2文本框并单击,然后输入y(例如,3.4)。x和y输入后,单击标题为“计算”的命令按钮,系统执行相应的Click事件过程。执行结果如图3.7.3所示。求g(1.7,2.5)和g(3.8,2.9)的操作方法类似。单击标题为“结束”的命令按钮,结束程序的执行。 图3.7.3 执行结果4给定三组已按升序排列好的整型数据,使用过程编写程序把它们合并为一组仍能按升序排列的数据。解答:(1)界面设计和属性设置在窗体上建立四个标签、四个文本框和两个命令按钮。窗体和窗体上控件的主要属性设置如表3.7.4所示。 表3.7.4 属性设置 控件名称属性名 属性值 Form1Caption把三组升序数据合并为一组升序数据 Label1Caption 第一组: Label2Caption 第二组: Label3 Caption 第三组: Label4 Caption 合并后: Text1Text 空串 Text2 Text 空串 Text3Text 空串 Text4TextMultiLineScrollBars 空串 True 1 Command1Caption 合并 Command2 Caption 结束(2)程序代码Option ExplicitOption Base 1Dim a As Variant, b As Variant, c As VariantPrivate Sub Form_load() Dim i% a = Array(1, 2, 7, 8, 9) For i = 1 To 5 '显示数组a的元素值 Text1.Text = Text1.Text & Str(a(i) Next i b = Array(3, 4, 8, 8, 9, 10, 12, 12) For i = 1 To 8 '显示数组b的元素值 Text2.Text = Text2.Text & Str(b(i) Next i c = Array(1, 5, 5, 6, 8) For i = 1 To 5 '显示数组c的元素值 Text3.Text = Text3.Text & Str(c(i) Next iEnd SubPrivate Sub Command1_Click() Dim i%, m%, n%, p% m = UBound(a) n = UBound(b) p = UBound(c) Dim d() ReDim d(m + n) Call gsort(a, b, d) Dim e() ReDim e(m + n + p) Call gsort(c, d, e) For i = 1 To m + n + p '显示数组e的元素值 Text4.Text = Text4.Text & Str(e(i) Next iEnd SubPrivate Sub gsort(x As Variant, y As Variant, z As Variant) Dim i%, j%, k%, n1%, n2% i = 1: j = 1: k = 1 n1 = UBound(x): n2 = UBound(y) While i <= n1 And j <= n2 If x(i) > y(j) Then z(k) = y(j): k = k + 1: j = j + 1 '比较x和y中的元素,把较大的元素移到 Else 'z中,直到其中一个数组搬空为止 z(k) = x(i): k = k + 1: i = i + 1 End If Wend While i <= n1 z(k) = x(i): i = i + 1: k = k + 1 '把x中剩余的元素搬到z中 Wend While j <= n2 z(k) = y(j): j = j + 1: k = k + 1 '把y中剩余的元素搬到z中 WendEnd SubPrivate Sub Command2_Click() EndEnd Sub(3)运行情况运行程序后,屏幕出现用户界面,并把需合并的三组数据分别在三个文本框中显示出来。单击标题为“合并”的命令按钮,系统执行相应的Click事件过程。执行结果如图3.7.4所示。单击标题为“结束”的命令按钮,结束程序的执行。 图3.7.4 执行结果10结结 .图 行的束,命束为题。. 图行。 应执,令”“为。出框本在数的合,户现屏后情行 ( _ 到元余' :+ ) 到元剩' + = = ) = :(= ( 为空个其, 移元较素中和比 :( =< ) = = ,% , ) 素素组显 ,( + + ( , ( ( , ( )( . 素元数' = , ,( )( & = . 素元组' = 0, , ) ( & = . 素的数示 = , = (_ 代代结 合 空 空空 空 空 后 组第 组 组第 数序为合升 性属性名名设属 .表 示 .表设要控体体按个两个签个立设设和答据据序升一并把写程使型的排已组结执 . 行执程钮命的结击似方操. .和. 求. 图执程事 执系令”算题单输 ),如输然单框 鼠把 后击单 移标界用屏,情行 "= " . "= . "= ( )( = )+ ) < , ( ) ( - +(= ( ) ( ="&) , "= . . ( ( 代序结 计计 空 空 空 空 数 性 性属名件设性 . 示所 表设属件窗和按个框文签标立设属设答值的., ) .(. 求 /+ 其 程 = = = = = ; ,; ( : ( 0 ( : = ( 出数余除其把数的0 0 ) = ( ( = ) + ( = ( - = = = ( "" "" " , , , ( ( > = ;= ) 0 - ( * * * * * - ( _ "" - = "" 果结的写,读变的际应会改数传用即进数应相操任址对时调址的相址参实,传进用调数变改际相会不的值过用系任毫数际与值后送。值应送传数实是递参程在说序用回传后过把要主传参的程给据数处是要数值 别么间它递参进调么用主参和值程过值最 数求 = 程子阶 = *= = , 程过种程和子只程程头 关程程头 关程数头 关程过开 关程义自种下, 动动复避可样,任各程公地务任这小近非全一含务的种码是维和易解更而成程用任每任干分务杂个。任:两要程明例试程自么 是主答解: ) 件件 会码 一下键用:右鼠 键鼠的码 盘 键 上件事 的对发会 户当、 件事 生就一按上,有象当: 件事 生会移窗标:同以名的中块量局量的 外程有中名能不同块同块模为用其的定在) 描正用的于:名同程工程模名同程块义块同称体上程过必所模块被,全定中体某程工域作级) 描误用程: ) ) ) )数值明参, (关面数形程: ) )(句程出体:+ + + + ( ) 句的该调,为 数值个它过函已: , ,. ,0( 0( 00 . ) (语的子调变为;值型 子已:过共 数 程) 过义中模标 : ) . . 中文的) 存的块择 之结序应、程该)期存(量静义过级程级)为该则 缀加 关程的块用作)的为围这范个都量量的识个模准块体用中 (只数该过数定 字以模或模程应程过以都 ,子定 字关参址数用址称) 是;值传 (数的传两定过中程数函) (给达句语有少程数模类块、窗块) ( 是种的以程 一空 . 0. 学:方 . 0 网 华 的种 窗类程句(函中定的 值)址参 , 程应模 该(中块识量都为)块程 加则程静程应 的 ) . :标模过 :子 ;的( 0 0 , 已过数为该句) ( +:( 形关 数) ) 误 作工体全模所上同程名程同于正)其用块不有外局中名标移 :有按就事 户 的 上键盘的 鼠用 件 ) 解主么试要任个干任成更和种含非小务各样复动下自关程 程 头子种过 , = 最程和主参它么数处给的主传序说是数值送际毫用不际变进实址址址操数用改的读写 " " * * 0 = , "" = =( = ( ) 0其数 = : 0 : ( , = = 其 + .).设立标框件设示 性件 数 空 计 序 . . ,)= ( + ( ) ) ( =." ,用 单 输)单题令 图. 方结命程 .执组使写升据设立个体体表 表名属 为 第 组 第 空 合 结代 ( . ) , = 元 ) , 素 , ( (+ 显 , = = 素移 空( 剩到 + 元 _ 行现户的出“, 行.题,束 图 . 0. 学圣站 0 中华IT学习网 官方总站:圣才学习网

    注意事项

    本文(vb课后练习答案习题解答 (6).doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开