 
         
         
        版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1. 对象指现实世界中的实体。每个对象有自己的特征(属性) 、行为 (方法)和发生在该对象上的活动 (事件)。类是对同一种对象的集合与抽象。类包含所创建对象的属性数据,以及对这些数据进行操作的方法。封装 和隐藏是类的重要特性,将数据结构和对数据的操作封装在一起,类的内部实现细节对用户来说是透明 的。VB 工具箱中的可视图标是 VB 系统设计好的标准控件类。通过将控件类实例化,得到真正的控件对象。 在窗体上画一个控件,就将类转换为对象,创建了一个控件对象。VB 中常用的对象是控件。此外, VB 还提供了系统对象。窗体是个特例,它既是类也是对象。当向一个工 程添加一个新窗体时,实质就由窗体类创建了
2、一个窗体对象。对象的三要素:属性、事件和方法。属性:存放对象的数据 ( 决定对象外观及功能 ) 对象属性的设置方法:在设计阶段,利用属性窗口直接设置 属性值;程序运行时,通过语句对象名 .属性名 =属性值。若属性只能在设计阶段设置,在程序运行阶段不可改变,称为只读属性。事件:发生在对象上的事情。同一事件,对不同的对象,会引发不同的反应。 事件过程:应用程序处理事件的步骤。应用程序设计的主要工作就是为对象编写事件过程的代码。 方法:面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数。方法是面向对象的,调 用时一定要指明对象。2. 窗体和控件具有的基本属性“(1) Name 属性:名
3、称 所创建的对象名称 ,在程序中引用。(2) Caption 属性:标题 该属性决定了对象上显示的内容。(3) Height、Width、Top 和 Left 属性决定对象的大小和位置。(4) Enabled 属性:对象是否允许操作(5) Visible 属性:对象是否可见(6) Font 属性组:文本的外观FontName 字体、 FontSize 大小FontBold 粗体、 FontItalic 斜体FontStrikethru 删除线FontUnderline 下划线(7) ForeColor 属性:前景颜色(8) BackColor 属性:背景颜色(9) MousePointer属性
4、:鼠标指针类型,设置值范围015,由系统指定。若为99,由用户提供的图形文件定义鼠标指针形状。(10) MouseIcon属性:在 MousePointer属性值为99时,存放自定义的鼠标图标文件(.ico或.cur)。图标库在 Graphics 目录下。3. 窗体的事件: Load 事件是在窗体被装入工作区时触发的事件。当应用程序启动,自动执行该事件,该事 件通常用来在启动应用程序时对属性和变量进行初始化。窗体的方法 :(1 )Print 方法用来显示文本内容,格式:对象 .print 表达式( 2 ) Cls 方法 清除运行时在窗体或图形框中产生的文本或图形 , Cls 方法不能清除窗体在
5、设计时的文本和图形。 格式: 对象 .cls( 3)Move 方法可移动窗体或控件,并可改变其大小语法格式如下:对象 .Move 左边距离 ,上边距离 ,宽度 ,高度4. 标签作用:用于显示文本 (输出 )信息,不能作为输入信息的界面。其内容只能通过Caption 属性设置或修改,不能直接编辑。5. 文本框是一个文本编辑区域,可以在该区域输入、编辑、修改和显示正文内容。在VB 中字符长度以字为单位,也就是一个西文字符与一个汉字都是一个字,长度为1。重要属性 (1) Text 显示或输入的正文内容。(2) Maxlength 设置文本框可输入的文字最大长度。默认值为0,表示可以输入任意长字符串。
6、(3) MultiLine 多行属性设置为 True 时,文本框可以输入或显示多行正文,同时具有文字处理器的自动换行功能,按Enter 键可插入一空行。(4) ScrollBars0-None滚动条属性无滚动条1-Horizontal水平滚动条2-Vertical垂直滚动条3-Both同时加水平和垂直滚动条注意:当 MultiLine 为 True 时, ScrollBars 才有效(5) PassWordChar 设置显示文本的替代符。例如,当设置为“*”,则在文本框输入的内容均以“* ”显示,而存储的值是用户输入的原文。一般用于设置口令的输入。当 MultiLine 为 True 时,该属
7、性不起作用,密码不允许多行。(6) Locked 指定文本控件是否可被编辑,默认值为False(可编辑),当设置为True时,文本控件相当于标签控件的作用。注意: Locked 与 Enabled 的区别。(7) 文本内容进行选择操作的三个属性SelStart选定的正文开始位置SelLength选定的正文长度SelText选定的正文内容这3个属性互相关联,例如设置SelStart、SelLength后,SelText自动存放指定的文本。 注意:属性窗口中没有这三个属性,只能在程序代码中使用。6. 文本框的事件: Change事件:当Text属性值发生改变时引发该事件(2) KeyPress事件
8、:按下并且释放键盘上的一个键时,引发焦点所在控件的KeyPress事件,所按键的值存放在参数 KeyAscii 中。对回车的判断 KeyAscii=137文本框最有用的方法是 SetFocus,把光标移到指定的文本框中。8. 命令按钮Picture属性:按钮可显示图片文件 (.bmp和co),当Style为1时有效。10. 启动窗体时将命令按钮定位在窗体中央的代码Private Sub Form_Load()Command1.Left = Form1.ScaleWidth / 2 - Command1.Width / 2Command1.Top = Form1.ScaleHeight / 2
9、- Command1.Height / 2 End Sub11 vb 图片文件在 C:Program FilesMicrosoft Visual StudioCommonGraphics 文件夹 安装 VB 时可选择是否安装这些图片文件。习题三1. 合法常量:(1) Double(2) 错误(3) Double(4) Double(5) 错误(6) Integer(7) String(8) String(9) Date(10) Double(11) 错误(汉字字符)(12) Integer( 八进制 )(13) 错误(八进制无数码 8)(14) Integer(15) Boolean(16)
10、错误(17) 错误(十六进制无数码 g)(18) Single 说明:浮点型变量默认为 Double 类型而非 Single。2. 合法变量名:vv(3) 误:数字开头(4) 误:含空格(5) 误:关键字(6) v(7) 误:关键字(8) 误:有括号(9) v(10) v(11) v(12) V (汉字字符可作为变量名,但不常用,且此名称易误解)变量命名规则见 P.4 1 -42 。字母(汉字)开头,字母(汉字)、数字、下划线组成,长度为1-255 个字符;关键字不可作为变量名,但可在变量名中嵌入关键字;不区分大小写。常量、数组、类型、函数、过程、对象命名规则与此相同。常量名通常全用大写。3.
11、 写 VB 表达式(1) Abs(x + y) + z A 5(1 + x * y) A 6(3) (10 * x + Sqr(3 * y) / (x * y)(4) (-b + Sqr(b A 2 - 4 * a * c) / (2 * a)(5) 1 / (1 / r1 + 1 / r2 + 1 / r3)(6) Sin(45 * 3.14159 / 180) + (Exp(10) + Log(10) / Sqr(x + y + 1)4. 根据条件写表达式(1) 随机产生大写字母 Chr(Int(Rnd * (Asc("L") - Asc("C")
12、+ 1) + Asc("C")(2) 100,200 内的随机数 Int(Rnd * 101) + 100(3) 点(x,y)位于第一或第三象限 x > 0 And y > 0 Or x < 0 And y < 0或 x * y > 0(4) x 是 5或 7的整数倍 x Mod 5 = 0 Or Int(x / 7) = x / 7(5) 将两位整数 x 的个位与十位对换 x 10 + (x Mod 10) * 10(6) 四舍五入取两位小数 Round(x, 2)(7) 字符变量 C 是字母字符(不区分大小写)准确地说是:字符变量 C 的第
13、一个字符是字母C >= "A" And C <= "Z" Or C >= "a" And C < "z"或 UCase(C) >= "A" And UCase(C) <= "Z"或 LCase(C) >= "a" And LCase(C) <= "z"(8) 字符变量S第5个字符起取6个字符Mid(S, 5, 6)(9) 10 < xv 2010 <= x And x <
14、 20(10) x , y至少有一个小于 zx < z Or y < z(11) x, y 都大于 zx > z And y > z5. 写表达式的值(1) 188 注意运算的优先级顺序,以及整除运算“ ”的计算(2) 200100 计算 100 + "100" 时,由于两个操作数类型不同,在可能的情况下自动采用精度较高的类型,即把字符型转换为数值型, 100 +100 得到 200;然后进行字符串连接运算200 & 100 ,再自动将两个数值转换为字符串,得 200100。(3) 68.56 在四舍五入函数产生之前,这就是四舍五入的计算方法
15、(4) 876554 先进行字符串的“ +”运算,再转换成数值。在变量名和函数名后可加上类型符,以强 调其类型,但不是必须的。(5) 2000-2-29(6) 66 Shell 函数调用i = Shell("mspaint.exe", 1)'启动画图i = Shell("C:Program FilesMicrosoft OfficeOFFICE11winword.exe", 1)'启动 Word说明:“画图”是 Windows 本身提供的程序,可以省略路径。8. 答:单精度浮点型第 7 , 9 题答案在教材中找。习题四第 1 , 3, 5
16、, 8 题答案在教材中找。2. 赋值语句的错误(1 )10x 不能做变量名。上机验证结果: VB 将 10 识别为行号, x = Sin(x) + y 是为变量 x 赋值。故无语法错误。(2) Sqr 函数的参数为负数。 上机验证结果:“无效的过程调用或参数”(3) 赋值号左边不是变量名。上机验证结果:“缺少子程序、函数或属性”( 4 )除数为 0 上机验证结果:“溢出”。4. 答案略 说明:小数位可以使用四舍五入函数Round或输出格式函数Format。例如 Round(x, 2)和Format(x,“0.00”)均可使结果只保留两位小数。但如果四舍五入后要进行数值运算,则使用Round 函
17、数,例如z=Round(x,2)+Round(y,2) 。而 Format 函数通常只用于输出格式设置。6指出错误(1 )“”应改为“ >=”,前者是中文字符,不具有运算功能。( 2)“ 10<x<20 ”应改为“ 10<x And x<20 ”,否则运行结果错误 7写条件语句(1)Dim c As Stringc = InputBox("c=")If Mid(c, 3, 1) = "C" ThenMsgBox "Yes"ElseMsgBox "No"End If( 2 )# 使用 I
18、f 语句Dim x As Single, y As Singlex = Val(InputBox("x=")If x > 20 Theny = x 人 2 + 3 * x + 2ElseIf x >= 10 Theny = Sqr(3 * x) - 2ElseIf x > 0 Theny = 1 / x + Abs(x)End IfPrint "y=" y# 使用 Select Case 语句Dim x As Single, y As Singlex = Val(InputBox("x=")Select Case x
19、Case Is > 20y = x 人 2 + 3 * x + 2Case Is >= 10y = Sqr(3 * x) - 2Case Is > 0y = 1 / x + Abs(x)End SelectPrint "y=" y( 3)# 使用 If 语句Dim x As Single, y As Single, z As Single, Max As Singlex = Val(InputBox("x=")y = Val(InputBox("y=")z = Val(InputBox("z=")
20、Max = xIf y > Max Then Max = yIf z > Max Then Max = zPrint "Max=" Max# 使用 IIF 函数x = Val(InputBox("x=")y = Val(InputBox("y=")z = Val(InputBox("z=")Max = IIf(x > y, x, y)Max = IIf(z > Max, z, Max)Print "Max=" Max9. 计算循环次数(1) 6(2) 19(3) 0(4)
21、 死循环直至溢出10. 40 号语句执行 4 次;第 50 号语句执行 12 次;执行第 90 号语句输出的结果是:13,0,2说明:该程序为嵌套循环,其中外循环由 j值变化(1 , 4, 7, 10)控制执行4次,当j值为13时结束循环; 内循环由k值变化(6,4,2)控制执行3次,当k值为0时结束循环。第40行是外循环的循环体,故执 行4次;第 50 行是内循环的循环体,故执行 4*3=12次。11. 可以定一个较大的循环次数,在循环体中根据条件用 Exit For 退出。但这种情况通常用 Do While 循环控制。12. 编程(并非唯一正确答案)(1)Dim i As Integer,
22、 s As IntegerFor i = 1 To 10s = s + (i + 1) * (2 * i + 1)Next iPrint "s=" s( 2)Dim i As Integer, n3 As Integer, n7 As IntegerFor i = 1 To 100If i Mod 3 = 0 Then n3 = n3 + 1If Int(i / 7) = i / 7 Then n7 = n7 + 1Next iPrint "1-100 中 3 的倍数有 " n3; "个"Print "1-100 中 7 的
23、倍数有 " n7; "个"( 3)Dim s1 As String, s2 As String, i As Integers1 = InputBox("Input String")s2 = ""For i = 1 To Len(s1)s2 = Mid(s1, i, 1) + s2Next iPrint "原序: " s1Print "反序: " s2或For i = Len(s1) To 1 Step -1s2 = s2 + Mid(s1, i, 1)Next i13. 输出字符串“
24、10100”。该程序功能是将十进制数转化为二进制。14. 运行时输出 22 484该程序功能是求 x 和 y 最大公约数和最小公倍数。说明:此算法称为“辗转相减法”。可对照例 4.17 的辗转相除(辗转求余)法。 1550,100间的 20 个随机数,求最大值、最小值、平均值。Dim x As Integer, sum As Integer, aver As SingleDim n%, i%, max%, min%Randomizemax = 50: min = 100: n = 20For i = 1 To nx = Int(Rnd * 51 + 50)List1.AddItem xsum
25、= sum + xIf x > max Then max = xIf x < min Then min = xNext iaver = sum / nPrint " 最大值: " max, " 最小值: " min, " 平均值: " aver 习题五1. 指定数组的默认下界 Option Base 12合理的数组声明(1)错。定义数组不可用变量(教材 99 页)。(2)正确。该数组下标为 0-11。(3)错。VB中数组下标用圆括号。(4)正确。三维数组三个下标分别为 0-1,0-1,0-2,共 12 个元素。( 5 )错
26、误。非动态数组,不可重定义。( 6 )错误。动态数组重定义时不可改变数据类型。(7)正确。二维数组两个下标分别为 0-2,0-3,共 12 个元素。(8)语法错误,二维数组定义中漏写逗号可能是印刷错误,加上此逗号则正确。3当引用数组元素时下标值小于定义的最小下标,或大于最大下标时,会发生“下标越界”错误 4数组名:a ;数组类型:Single (单精度浮点型);维数:二维; 各维的上下界:第一维下界(最小下标)为-1,上界(最大下标)为 2,第二维下界(最小下标)为 0,上界(最大下标)为 3;数组的大小: 4 行 4 列共 16 个元素以矩阵的格式输出二维数组:For i = -1 To 2
27、For j = 0 To 3Print a(i, j);Next jPrintNext i或写成更加通用的代码形式:For i = LBound(a, 1) To UBound(a, 1)For j = LBound(a, 2) To UBound(a, 2)Print Tab(j * 8); a(i, j);Next jPrintNext i6一维字符数组Dim a(1 To 20) As StringPrivate Sub Command1_Click()'(1) 随机产生字符串Dim i As Integer, j As Integer, n As Integer, c As S
28、tring * 1 RandomizeFor i = 1 To 20a(i)=""将第i个元素清空n = Int(Rnd * 10 + 1) '产生1,10的随机数For j = 1 To n'a(i) 中有 n 个字符c = Chr(lnt(Rnd * 26 + 97)'随机产生字母 97是字母a的ASCII码a(i) = a(i) + cNext jNext iEnd SubPrivate Sub Command2_Click() '(2)输出字符串Dim i As IntegerFor i = 1 To 20Print Tab(i -
29、1) Mod 5) * 11); a(i);If i Mod 5 = 0 Then PrintNext iEnd SubPrivate Sub Command3_Click()'(3)最长的字符串Dim i As Integer, imax As Integerimax = 1For i = 2 To 20If Len(a(i) > Len(a(imax) Then imax = iEnd IfNext iPrint "最长的字符串: " a(imax)End Sub第 7,8 题答案在教材中找。 第9题“自定义变量”含义不明,暂时无法回答。第 5,10 题
30、暂略习题六第 1, 2,6-8 题答案可在教材中找到。 3指出过程说明中的错误(1) Sub 子过程不应该定义类型(2) 函数与形式参数不应该同名( 3 )数组作为形式参数时,应使用传地址方式,不可使用传值(ByVal )(4) 形式参数应该是变量或数组名,不可以是一个数组元素4指出调用过程语句的错误(1) 无语法错误,但因形参sum 所对应的实参是常量 3,故计算结果无法传递给主调程序。( 2 )实参变量 c 与形参 sum 的类型不一致。(3) 类似于(1),形参sum所对应的实参是表达式a+b,故计算结果无法传递给主调程序。(4) 类似于(1)和(2),形参sum所对应的实参是表达式 S
31、qr(c),故计算结果无法传递给主调程序。另 外srq(a)存在语法错误(拼写错)。(5) 与( 2)相同,实参 c 与形参 sum 的类型不一致。5迭代法求平方根( 1 )自定义函数的定义及调用Function FSqr1(a As Single) As SingleDim x0 As Single, x As Singlex = aDox0 = xx = (x0 + a / x0) / 2Loop While Abs(x - x0) > 0.00001FSqr1 = xEnd FunctionPrivate Sub Command1_Click()Dim x!, y!x = Val(
32、InputBox("x=")If x >= 0 Theny = FSqr1(x)Print yEnd IfEnd Sub(2) 自定义子过程的定义及调用Sub FSqr2(a As Single, x As Single)Dim x0 As Singlex = aDox0 = xx = (x0 + a / x0) / 2Loop While Abs(x - x0) > 0.00001End SubPrivate Sub Command2_Click()Dim x!, y!x = Val(InputBox("x=")If x >= 0 ThenCall FSqr2(x, y)Print yEnd IfEnd Sub(3) 递归函数及调用 略 习题七 第 1-9 题,答案在教材上找;第 10, 12-14 题,略。11检测 Ctrl 和 F3 同时按下的代码:Private Sub Text1_KeyDown(KeyCode As Integer,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中央银行信用风险评估体系研究
- 采煤沉陷区水文地质治理与水源保护方案
- 雅思日语听力真题及答案
- 高标准农田产值提升措施方案
- 中医院项目进度管理实施方案
- 试用期解除劳动合同的程序合规性
- 生成式人工智能在城市设计中的应用进展
- 钢结构生产线项目环境影响报告书
- 衢州市中医院老年康复治疗师资格认证
- 淄博市中医院药物性肾损伤防治体系考核
- 甘肃省兰州市第八中学2024-2025学年七年级上学期期中考试英语试卷(无答案)
- 新湘科版三年级上册各单元知识点总结全
- 淘宝交易流程
- 2025公路水运试验检测师桥梁隧道工程真题及参考答案
- 企业项目管理流程标准化操作手册
- 2025年西南化工销售分公司秋季高校毕业生招聘5人笔试参考题库附带答案详解
- 配电自动化实操考试题及答案
- 超市联营承包方案(3篇)
- 工地员工喝酒免责协议书
- 小学一年级拼音卡片模板全一年必用
- 猴子身法教学课件
 
            
评论
0/150
提交评论