vb练习题,电子版 第15章 文件
- 格式:doc
- 大小:98.50 KB
- 文档页数:9
第15章基本放大电路15-001、在题图中,若将图中的发射极交流旁路电容C E除去。
(1)试问静态工作点有无变化;(2)画出微变等效电路;(3)求放大倍数、输入电阻、输出电阻,并说明发射极电阻R E对电压放大倍数的影响。
解:(参考答案:(1)无(2)略(3)-1.3 降低)15-002、乙类互补对称功率放大器输出波形产生失真属于何种失真?应如何消除?答:截止失真。
可以用两个管子,使之都工作在已类放大状态,一个在正半周工作,另一个在负半周工作,两管的输出波形都能加到负载上,则负载上能够得到一个完整的波形,这样既能提高效率,又能消除失真15-003、在图P2.7所示电路中,由于电路参数不同,在信号源电压为正弦波时,测得输出波形如图P2.8(a)、(b)、(c)所示,试说明电路分别产生了什么失真,如何消除。
图P2.8解:(a)饱和失真,增大R b,减小R c。
(b)截止失真,减小R b。
(c)同时出现饱和失真和截止失真,应增大V C C。
15-004、测得某放大电路中晶体管的三个电极A、B、C的对地电位分别为V A =-9 V,V B=一6 V,Vc=6.2 V,试分析A、B、C中哪个是基极b、发射极e、集电极c,并说明此晶体管是NPN管还是PNP管。
解:由于锗晶体管的|V BE|≈0.2V,硅晶体管的|V BE|≈0.7V,已知用晶体管的电极B的V B=一6 V,电极C的Vc=–6.2 V,电极A的V A=-9 V,故电极A是集电极。
又根据晶体管工作在放大区时,必须保证发射结正偏、集电结反偏的条件可知,电极B是发射极,电极C是基极,且此晶体管为PNP管。
15-006、测量某硅晶体管各电极对地的电压值如下,试判别管子工作在什么区域。
(a)V C=6 V V B=0.7 V V E=0 V(b)V C=6 V V B=2 V V E=1.3 V(c)V C=6 V V B=6V V E=5.4 V(d)V C=6 V V B=4V V E=3.6 V(e)V C=3.6 V V B=4 V V E=3. 4 V解:(a)放大区,因发射结正偏,集电结反偏。
第一章二、1。
文件/退出2.Alt+Q3.文件/打开工程/打开工程4.vbp/frm5。
Esc第二章二、1。
对象框、属性显示方式、属性列表和属性解释2。
Text1。
text=”Hellor!”3.标准控件/ActiveX控件/可插入对象4。
Top和Left,Width和Height5。
用鼠标单击属性窗口的任何部分;执行“视图”菜单中的“属性窗口”命令;按F4键;单击工具栏上的“属性窗口”按钮;按组合键Ctrl+PgDn或Ctrl+PgUp6.Ctrl/Shift第三章二、1.答案:、ABCD,VB Programming2.答案:建立界面,设置属性、编写代码3.答案:属性窗口,运行4.答案:对象,过程5.答案:工具、选项、选项、自动语法检查6.答案:Frm,Vbp7.答案:工程8.答案:窗体模块,标准模块和类模块第四章二、1.答案:CONTT。
DE+COS(28*3.14/180)2.答案:—3/8 +8*INT(24。
8)3.答案:(8+6)^(4/-2)+SIN(2*3。
14)4.答案:((x+y)+z)*80—5*(C+D)5.答案: A6.答案:17.答案:Good Morning 、 Good Morning8.答案: ABCD 、 HIJK 。
9.答案:CDEF、1110.答案:0、abcdefghijk11.答案:25、8、2001、7、6第五章二、1.答案:Label2.Caption,Text1.Text,Text2。
Text=y2.答案:MsgBox “输入的密码为”&Text2.Text , vbOKOnly, "登录”3.答案:25+32=574.答案:Country &“ “ &City &” “ & CStr(Year(Date))5.答案 Year(Date) &“年“ & Month(Date) &“月" & Day(Date) _ &“日,星期“& WeekDay (Date,vbMonday)第六章二、1.答案:AutoSize2.答案:ScrollBar MultiLine True3.答案:Text1.SetFocus4.答案:0 05.答案:Picture1.Picture=LoadPicture(“pic2.gif”)6.答案:True7.答案:Picture8.答案:Interval9.答案:Enabled10.答案:下拉组合框,简单组合框,下拉列表框 Style 0 1 2 11.答案:下拉列表框12.答案:ItemA和ItemC13.答案:VB14.答案:VB程序设计 VB Programming第七章二、1. __21 38 54__2. sum=14 sum=14 sum=10。
vb练习题及答案VB(Visual Basic)是一种面向对象的编程语言,被广泛应用于软件开发中。
通过练习题的形式可以巩固和提升对VB语言的理解和应用能力。
本文将提供一些VB练习题及其答案,帮助读者巩固VB编程技巧。
题目一:计算器程序设计一个简单的计算器程序,要求能够进行基本的加、减、乘、除运算。
解答:在VB中创建一个新的Windows窗体应用程序项目,命名为“Calculator”。
首先,在窗体上添加一些按钮来表示数字和运算符。
然后,添加一个用于显示运算结果的文本框控件。
接下来,为数字按钮和运算符按钮分别添加点击事件处理程序。
在点击数字按钮时,将按钮对应的数字追加到文本框中。
在点击运算符按钮时,根据按钮的内容判断并执行相应的运算。
最后,通过运用VB的计算表达式功能和控件之间的交互,实现基本的加减乘除运算。
题目二:学生成绩管理设计一个程序用于管理学生成绩,要求能够输入学生信息、查询学生成绩、计算学生平均成绩等操作。
解答:在VB中创建一个新的Windows窗体应用程序项目,命名为“StudentGrade”。
首先,设计一个学生类(Student),包括学号、姓名、各科目成绩等属性。
然后,创建一个用于存储学生信息的集合(如数组或集合类)。
接下来,在窗体上添加文本框、按钮等控件,用于输入学生信息和进行相关操作。
通过按钮点击事件处理程序,实现以下功能:1.输入学生信息:获取文本框中的学生信息,并创建一个新的学生对象,将其添加到学生信息集合中。
2.查询学生成绩:根据学生学号或姓名等关键信息,在学生信息集合中查找对应学生,并显示其成绩信息。
3.计算学生平均成绩:遍历学生信息集合,计算每个学生的平均成绩,并显示在窗体上。
通过以上步骤,可以实现一个简单的学生成绩管理系统。
题目三:数据排序设计一个程序用于对一组数字进行排序,要求能够实现升序和降序排列。
解答:在VB中创建一个新的Windows窗体应用程序项目,命名为“DataSorting”。
VB开发环境掌握VB开发环境,如菜单、工具箱、工具栏、窗体、工程窗口和属性窗口等的使用。
2、应用程序(一个工程)的开发:添加窗体、模块,保存工程。
3、面向对象程序设计、可视化编程、事件驱动等基本概念。
二、数据表示与运算1、基本数据类型1)掌握整型(Integer)、长整型(Long)、单精度(Single)、双精度(Double)、字符串(String)、变体(Variant)、字节(Byte)和布尔(Boolean)等数据类型的数据表示及其相互关系;注意:掌握各数据类型的中英文描述、符号描述、所占字节数、数据范围等信息。
如Single型的数据有效数字最大只能是7位,Integer型的数据最大只能是32767。
2)了解货币、日期和对象等数据类型的数据表示和使用。
2、构造数据类型熟练掌握数组的定义、表示与使用;3、理解常量和变量的定义,常量和变量的声明以及常量和变量的作用域。
4、运算符、函数和表达式1)熟练掌握算术运算(加、减、乘、除、取负、指数、整除和取模)及其运算的优先级;2)熟练掌握关系运算及其运算的优先级;3)熟练掌握逻辑运算(NOT、AND、OR、XOR、EQV和IMP)及其运算的优先级;4)掌握下列常用内部函数三角函数Sin、Cos、Tan和Atn;算术函数Abs、Sqr、Log、Exp和Sgn;取整与类型转换函数Int和Fix;随机函数Rnd;字符串处理函数Trim、Left、Right、Len、Mid、Ucase、Lcase、Space、Tab、String、Ltrim和Rtrim;日期与时间函数Year、Month、Date、Time和Timer;转换函数Chr、Asc、Str和Val;颜色函数QBColor和Rgb;InputBox函数;MsgBox函数等。
注意对Len(x),x为字符串,返回其字符数;x为非字符串,则返回其所占字节数。
三角函数中使用的X必须是弧度。
Tab(n)是定位函数,表示从第n个位置开始输出。
VB简答练习题1 简述Timer控件中Interval属性和Enanbeled属性。
2 简要回答创建MDI应用程序的步骤。
3 用Visual Basic 语言编写-一个有两个整数参数m和n2的名为GetRand的Function的函数,功能是获取任意两个正整数间的随机整数(假如0<n:<m) ?4 简述selet.. .case语句执行流程。
5 引用数组元素时的注意事项有哪些?6 Visual Basic中有几种运算符?7 向文本文件中添加数据分为哪几步?8 Visual Basic 6.0中的动态数组与静态数组有何不同?9 如何创建一-个快速显示窗体?10 循环语句有几种语句?11 Shape 控件可以用来显示哪些图形?12 MDI应用程序有哪些特性?13 访问数组的常用方法有哪些?14 运行程序有哪几种方法?15 VB工程由哪几个模块组成?16 叙述VB的基本的设计机制。
17 叙述VB集成开发环境的组成。
18 叙述文件访间的类型。
19 运行程序有几种方法?20 VB 有哪些基本数据类型?21 标识符的命名规则是什么?22 访问数组的常用方法有哪些?23 VB过程参数有哪几种传递方式?有何不同?24 如何创建控件数组?25 简述For循环的语法格式。
26 通用的Sub过程有哪几种方式?27 打开属性窗口有哪几种方法?28 如何设置控件之间的对齐方式?29 简述运算符从高到低的优先顺序。
30 建立通用过程的操作步骤有哪些?31 打开代码窗口有哪几种方法?32 如何创建MDI应用程序?33 请写出随机文件的读写步骤。
34 请写出If语句的块语法格式。
35 工具箱的标准控件有哪些?36 简述创建动态数组的步骤。
37 建立事件过程有哪些方法?38 FSO对象模型包括哪些对象?答案:1.简述Timer控件中Interval属性和Enanbeled属性答:Timer控件中的Enanbeled设置或返回计时器控件的有效性,该属性值为布尔值,如果设置为True,则每经过指定的时间间隔将触发Timer事件,为False,计时器控件成为无效,停止工作。
vb练习题及答案VB练习题及答案VB(Visual Basic)是一种广泛应用于Windows操作系统的编程语言,它以其简单易学的特点受到了许多初学者和专业开发者的青睐。
为了帮助大家更好地掌握VB编程,下面将提供一些VB练习题及其答案,希望能对大家有所帮助。
练习题一:计算器程序编写一个VB程序,实现一个简单的计算器功能。
要求用户输入两个数字和一个操作符(+、-、*、/),然后根据操作符进行相应的计算,并输出结果。
解答:```vbPrivate Sub btnCalculate_Click(sender As Object, e As EventArgs) Handles btnCalculate.ClickDim num1 As Double = CDbl(txtNum1.Text)Dim num2 As Double = CDbl(txtNum2.Text)Dim operator As String = cmbOperator.SelectedItem.ToString()Dim result As DoubleSelect Case operatorCase "+"result = num1 + num2Case "-"result = num1 - num2Case "*"result = num1 * num2Case "/"result = num1 / num2End SelectlblResult.Text = "Result: " & result.ToString()End Sub```练习题二:学生成绩管理系统编写一个VB程序,实现一个简单的学生成绩管理系统。
要求用户输入学生的姓名和成绩,然后将其保存到数组中。
用户可以通过输入姓名来查询学生的成绩。
解答:```vbPrivate Structure StudentPublic Name As StringPublic Score As DoubleEnd StructurePrivate students() As StudentPrivate Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.ClickDim newStudent As Student = txtName.TextnewStudent.Score = CDbl(txtScore.Text)ReDim Preserve students(students.Length)students(students.Length - 1) = newStudenttxtName.Text = ""txtScore.Text = ""End SubPrivate Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.ClickDim searchName As String = txtSearchName.TextDim found As Boolean = FalseFor Each student As Student In studentsIf = searchName ThenlblSearchResult.Text = "Score: " & student.Score.ToString()found = TrueExit ForEnd IfNextIf Not found ThenlblSearchResult.Text = "Student not found."End IfEnd Sub```练习题三:简单的文本编辑器编写一个VB程序,实现一个简单的文本编辑器功能。
VB单元练习题一一、选择题1、Visual Basic集成开发环境中不包括以下哪些窗口?〔D〕A. 工具箱窗口B. 工程资源管理器窗口C. 属性窗口D. 命令窗口2、“一辆小客车在正常行进过程中被一辆大型货车撞坏了〞,在这句话中,“客车〞,“小〞,“行进〞和“被一辆大型货车撞坏了〞分别对象Visual Basic中的哪些术语?〔B〕A. 对象、属性、事件、方法B. 对象、属性、方法、事件C. 属性、对象、事件、方法D. 属性、对象、方法、事件3、对象的特征和状态特征称为?〔C〕A. 事件B. 方法C. 属性D. 类4、下面哪一个属性用来标识对象的名称?〔D〕A. CaptionB. ValueC. TextD. Name5、以下哪个符号是合法的变量名? 〔A〕A. VB123B. AbsC. 99JiD. x\y6、数学式子10sin25o写成Visual Basic表达式是?〔D〕A. 10sin25B. 10*sin(25)C. 10*sin(25o)D. 10*sin(25*3.14/180)7、Visual Basic中不存在以下哪一种数据类型?〔D〕A. 字符串类型B. 日期类型C. 逻辑类型D. 指针类型8、表达式Left(“Visual〞,3)+Lcase(“AB〞)的值是?〔C〕A. visABB. VisABC. VisabD. ualab9、表达式6+10 Mod 4*2+1的值是?〔A〕A. 9B. 11C. 1D. 310、把数值型转换为字符串型需要使用以下哪一种函数? 〔B〕A. Val()B. Str()C. Asc()D. Chr()11、VB中窗体文件的扩展名是______。
〔B〕(A)VBP (B)FRM(对) (C)VBW(D)PDM12、在设计应用程序时,通过______窗口可以查看到应用程序工程中的所有组成局部。
〔D〕(A)代码窗口(B)窗体设计窗口(C)属性窗口(D)工程资源管理器窗口(对)13、在VisualBasic中,所有的窗体和控件都必定具有的一个属性是______。
第一章VB程序设计概述二、选择题CADAB ACDAB CBDBB第二章VB可视化编程基础二、选择题ABDCA CACBC DADAD BDBBB三、填空题1.可视2.LEFT TOP WIDTH HEIGHT3.按字母序4.查看代码5.工具、选项6.Form1 Font7.Multiline8.只读属性9.工程属性通用Form1.show10.tabindex 0第三章VB语言基础二、选择题BCADB ADBBC DBCBA DAABB三、填空题1.整型、长整型、单精度、双精度2.sin(30*3.14/180)+sqr(x+exp(3))/abs(x-y)-log(3*x)3.160 今天是:3-224.False5.-4 3 -3 3 -4 46.“CDEF”7.(x mod 10)*10+x\108.(35\20)*20=20 ( 35 \ 20 ) * 20 = 209.x mod 3=0 or x mod 5=010.27.6 8.2 8 1 100 397 true false第四章VB程序控制结构二、选择题DBCAD ABCAB D25BAC CBACB DABBC三、填空题1.字符型整型2. 1 2 33.x>74.x<amin5.10246.117.128.6 I “*”;9.0 100 i+1 10.2*I 6 “*”;三、编程题1.Private Sub Form_Click()Dim n As Integer, i As Integer, s As Longs = 1n = Val(InputBox("请输入一个整数:"))For i = 1 To ns = s * iNext iMsgBox n & "!=" & sEnd Sub2.Private Sub Form_Click()Dim i%, k%For j = 3 To 100k = Int(Sqr(j))For i = 2 To kIf j Mod i = 0 Then Exit ForNext iIf i > k Theny$ = y$ & " " & jEnd IfNext jMsgBox y, , "显示质数"End Sub3.Private Sub Form_Click()Dim i%, s%For i = 1 To 100s = s + iNext iMsgBox "1+2+3+……+100=" & sEnd Sub4.Private Sub Form_Click()Dim x%, y%For x = 1 To 50For y = 1 To 33z = 100 - x - yIf 2 * x + 3 * y + 0.5 * z = 100 ThenPrint "小鸡、公鸡、母鸡分别为:"; x; y; z End IfNext yNext xEnd Sub5.Private Sub Command1_Click()Dim a%, b%, c%, p!, s!doa = Val(InputBox("请输入三角形的第一条边"))if a=-1 then exit dob = Val(InputBox("请输入三角形的第二条边"))c = Val(InputBox("请输入三角形的第三条边"))If a + b > c And a + c > b And b + c > a Thenp = (a + b + c) / 2s = Sqr(p * (p - a) * (p - b) * (p - c))Print sElseMsgBox "你输入的三边不能构成三角形,请重新输入"End IfloopEnd Sub6. Private Sub Form_Click()Dim i As Integer, j As Integer,k as integerFor i = 1 To 8For k=1 to 8-iPrint spc(3);Next kFor j = 1 To 2 * i - 1Print i;Next jPrintNext iEnd Sub7. Private Sub Form_Click()Dim i As Integer, j As Integer, k As IntegerFor i = 1 To 30For j = 1 To 30For k = 1 To 30If i ^ 2 + j ^ 2 = k ^ 2 ThenPrint i & " ^ 2 + " & j & "^ 2 =" & k & "^ 2"End IfNext kNext jNext iEnd Sub8.Private Sub Form_Click()Dim x As Integer, a As Integer, b As Integer, c As Integer, ss As String ss = ""For x = 100 To 999a = Int(x / 100)b = Int((x - 100 * a) / 10)c = x - 100 * a - 10 * bIf a ^ 3 + b ^ 3 + c ^ 3 = x Thenss = ss & " " & xEnd IfNext xPrint ssEnd Sub9.Dim sr As Long, r As Singlesr = Val(InputBox("请输入收入:"))Select Case srCase Is < 200r = 0Case 200 To 400r = (sr - 200) * 0.04Case 400 To 5000r = sr * 0.04Case Is >= 5000r = sr * 0.05End SelectPrint "收入为" & sr & "时所缴纳的税为:" & rEnd Sub10.Private Sub Form_Click()Dim t As Single, wf As Singlet = Val(InputBox("请输入上网时间:"))Select Case tCase Is < 10wf = 50Case 10 To 60wf = t * 6Case Is >= 60wf = t * 4End SelectIf wf >= 200 Thenwf = 200End IfPrint "上网时间为" & t & "小时上网的费用为:" & wf End Sub11. Private Sub Form_Click()Dim yf As Integeryf = Val(InputBox("请输入月份"))Select Case yfCase 12, 1, 2MsgBox yf & "月份是冬季"Case 3, 4, 5MsgBox yf & "月份是冬季"Case 6, 7, 8MsgBox yf & "月份是冬季"Case 9, 10, 11MsgBox yf & "月份是冬季"Case ElseMsgBox "输入错误,请重新输入"End SelectEnd Sub12.if的方法Private Sub Form_Click()Dim x As Single, f As Singlex = Val(InputBox("请输入一个数"))If x < 0 Thenf = 2 * x - 1ElseIf x = 0 Thenf = 4 * xElseIf x > 0 Thenf = 7 * x - 5End IfPrint "f(" & x & ")=" & fEnd SubSelect case语句:Private Sub Form_Click()Dim x As Single, f As Singlex = Val(InputBox("请输入一个数"))Select Case xCase Is < 0f = 2 * x - 1Case 0f = 4 * xCase Is > 0f = 7 * x - 5End SelectPrint "f(" & x & ")=" & fEnd Sub第五章数组一、选择题DCACD DBCDC BADAD二、填空题1.名称Index2.preserve3.变体4.235.1 2 3 1 4 16.1 2 3 2 4 67. max max=arr1(i)三、编程题1.Option Base 1Private Sub Form_Click()Dim a(10) As Integer, i%, temp%For i = 1 To 10a(i) = Val(InputBox("请输入第" & i & "个整数")) Next iPrint "原来各元素的值为:"For i = 1 To 10Print a(i);Next iFor i = 1 To 5temp = a(11 - i)a(11 - i) = a(i)a(i) = tempNext iPrintPrint "交换后各元素的值为:"For i = 1 To 10Print a(i);Next iEnd Sub2.Option Base 1Private Sub Form_Click()Dim a As Variant, b As Variant, c As Variant, i%a = Array(2, 8, 7, 6, 4, 28, 70, 25)b = Array(79, 27, 32, 41, 57, 66, 78, 80)ReDim c(8)For i = 1 To UBound(a)c(i) = a(i) + b(i)Next iFor i = 1 To UBound(c)Print c(i);Next iEnd Sub3.Option Base 1Private Sub Form_Click()Dim a() As Variant, i%, j%, n%, m%, max%, hh%, lh%n = Val(InputBox("请输入一个整数:"))m = Val(InputBox("请输入一个整数:"))ReDim a(n, m)For i = 1 To n - 1For j = 1 To m - 1a(i, j) = Int(Rnd * 101 + 50)If max < a(i, j) Then max = a(i, j): hh = i: lh = jNext jNext iPrint "最大值为:"; max; "所在的行号为:"; hh; "所在的列号为:"; lh End Sub4.Option Base 1Private Sub Form_click()Dim a(50) As Integer, b(9) As Integer, i%, j% For i = 1 To 50a(i) = Int(Rnd * 90 + 10)j = Int(a(i) / 10)b(j) = b(j) + 1Next iFor j = 1 To 9Print b(j);Next jEnd Sub5.Option Base 1Private Sub Command1_Click(Index As Integer) Select Case IndexCase 0Text3 = Val(Text1) + Val(Text2)Case 1Text3 = Val(Text1) - Val(Text2)Case 2Text3 = Val(Text1) * Val(Text2)Case 3Text3 = Val(Text1) / Val(Text2)End SelectEnd Sub6.Private Sub Form_click()Dim s!, i&, j&i = 3s = 1j = 0Doj = j + 1s = s + (-1) ^ j / ii = i + 2Loop While 1 / i > 10 ^ (-6)Print 4 * sEnd Sub7.Option Base 1Private Sub Form_click()Dim a(40) As Long, i As Integera(1) = 1a(2) = 1For i = 3 To 39a(i) = a(i - 1) + a(i - 2)Next iFor i = 1 To 40Print a(i);Next iEnd Sub8.冒泡法:Option Base 1Private Sub Form_click()Dim a(10) As Single, ok As Boolean, i%, j%, x!For i = 1 To 10a(i) = Val(InputBox("请输入第" & i & "个数"))Print a(i);Next iFor i = 10 To 2 Step -1ok = TrueFor j = 1 To i - 1If a(j) > a(j + 1) Thenx = a(j)a(j) = a(j + 1)a(j + 1) = xok = FalseEnd IfNext jIf ok Then Exit ForNext iPrintPrint "冒泡排序的结果为:"For i = 1 To 10Print a(i);Next iEnd Sub选择法:Option Base 1Private Sub Form_click()Dim a(10) As Single, p!, i%, j%, min!For i = 1 To 10a(i) = Val(InputBox("请输入第" & i & "个数"))Print a(i);Next iFor i = 1 To 9p = iFor j = i + 1 To 10If a(j) < a(p) Then p = jNext jIf p <> i Thenmin = a(i)a(i) = a(p)a(p) = minEnd IfNext iPrintPrint "排序后的结果为:"For i = 1 To 10Print a(i);Next iEnd Sub第六章过程一、选择题CDBAB DBCCC ABCBD CDB二、填空题1.sub function2.形式实际3.内存的同一地址4.myf(a%,b() as integer ) as Boolean5.值传递地址传递6.lbound ubound7.局部8.通用任何过程9.2 5 9 10.2411.2 12.30 7013.-1三、编程题1. Option Base 1Private Sub Form_Click()Dim m1%, m2%, b() As IntegerFor i = 3 To 7 Step 2ReDim b(i)For j = 1 To ib(j) = Int(Rnd * 90 + 10)Print b(j);Next jm1 = b(1)m2 = b(1)Call mm(m1, m2, b())PrintPrint "最大值为:"; m1Print "最小值为:"; m2Next iEnd SubPublic Sub mm(max%, min%, a() As Integer) Dim i%For i = LBound(a) To UBound(a)If a(i) > max Then max = a(i)If a(i) < min Then min = a(i)Next iEnd Sub2.sub过程:Public Sub jc(n%, s&)Dim i%s = 1For i = 1 To ns = s * iNext iEnd SubPrivate Sub Form_click()Dim s&, a%, b%, c%, s1&a = Val(InputBox("请输入一个整数:"))b = Val(InputBox("请输入一个整数:"))c = Val(InputBox("请输入一个整数:")) Call jc(a, s1)s = s1 + sCall jc(b, s1)s = s1 + sCall jc(c, s1)s = s1 + sPrint a & "!+" & b & "!+" & c & "!=" & s End SubFunction过程:Public Function jc(n%) As LongDim i%, s%s = 1For i = 1 To ns = s * iNext ijc = sEnd FunctionPrivate Sub Form_click()Dim s&, a%, b%, c%, s1&a = Val(InputBox("请输入一个整数:"))b = Val(InputBox("请输入一个整数:"))c = Val(InputBox("请输入一个整数:"))s1 = jc(a) + jc(b) + jc(c)Print a & "!+" & b & "!+" & c & "!=" & s1 End Sub3.Public Sub jo(n As Integer)If n Mod 2 = 0 ThenPrint "false"ElsePrint "true"End IfEnd Sub4.Private Sub Form_click()Dim b(1 To 100) As Integer, i%For i = 1 To 100b(i) = Int(Rnd * 100 + 1)Next iCall sort(b())For i = 1 To 100If i Mod 10 = 0 Then PrintPrint b(i);Next iEnd SubPublic Sub sort(a() As Integer)Dim n%, ok As Boolean, k As Integern = UBound(a)For i = 1 To n - 1ok = TrueFor j = 1 To n - iIf a(j) > a(j + 1) Thenk = a(j): a(j) = a(j + 1): a(j + 1) = k: ok = False End IfNext jIf ok Then Exit ForNext iEnd Sub5.Private Sub Form_click()Dim b(1 To 10) As Integer, i%For i = 1 To 10b(i) = Val(InputBox("请输入第" & i & "个整数")) Next iCall sort(b())Print "排序后的结果"For i = 1 To 10Print b(i);Next iEnd SubPublic Sub sort(a() As Integer)Dim n%, p%, k As Integern = UBound(a)For i = 1 To n - 1p = iFor j = i + 1 To nIf a(j) < a(p) Then p = jNext jIf p <> i ThenMin = a(i)a(i) = a(p)a(p) = MinEnd IfNext iEnd Sub6.Public Sub gys(m%, n%)Dim r%, t%If m <> 0 And n <> 0 ThenIf m < n Thent = m: m = n: n = tEnd Ifr = m Mod nDo While r <> 0m = nn = rr = m Mod nLoopEnd IfEnd Sub7.Public Sub ws(n%, s%)Dim k%, i%For i = 1 To n - 1If n Mod i = 0 Then s = s + iNext iEnd SubPrivate Sub Form_click()Dim m%, sum%, c$For m = 1 To 999sum = 0Call ws(m, sum)If sum = m Then c = c & sum & " " Next mMsgBox cEnd Sub8.Public Function ef(a(), k%, wz%) As Integer Dim i%, low%, mid%, top%low = LBound(a)top = UBound(a)Do While low <= topmid = (low + top) / 2If k > a(mid) Thenlow = mid + 1ElseIf k = a(mid) Thenwz = midExit FunctionElsetop = mid - 1End IfLoopwz = -1End Function9.Function MaxGY(x As Integer, y As Integer) Dim Temp As IntegerTemp = x Mod yIf Temp = 0 ThenMaxGY = yElseMaxGY = MaxGY(y, Temp)End IfEnd FunctionPrivate Sub Form_click()Dim m%, n%m = Val(InputBox("请输入第一个整数:"))n = Val(InputBox("请输入第二个整数:")) Print "最大公约数是:"; MaxGY(m, n)End Sub10. Function Ss(n%)If n = 1 ThenSs = 10ElseSs = Ss(n - 1) + 2End IfEnd FunctionPrivate Sub Form_click()Dim r%, x%r = 5x = Ss(5)Print "第5个小孩的岁数为:"; xEnd Sub第七章应用程序界面设计一、选择题BCDCA CDBBD CADAA CADBD DAAAB CAA二、填空题1.form1.show unload form12.form2.show form1.hide3.属性方法事件4、工程属性工程属性5.子窗体主窗体6、keypress list(i) additem7.0 list1.listindex list1.listcount-18、1000 true time() 9、AA10、下拉式组合框、简单组合框和下拉式列表框第八章VB图形操作一、选择题DCCDA CDAAA BABBC CAAA二、填空题1、不会也不会 2.、Scaleheight Scalewidth3、(300,-150)4、右上5、twip6、0~157、B 8、-2π~09、逆10、drawwidth11、右上12、move13、cls 14、坐标原点、坐标度量单位、坐标轴的长度与方向15、VB程序设计vbprogramming三、编程题1、Private Sub Command1_Click()Const pi = 3.14159P1.Circle (Val(Text1), Val(Text2)), Val(Text3)End SubPrivate Sub Command2_Click()P1.ClsText1 = ""Text2 = ""Text3 = ""End Sub2、Private Sub Form_Load()Pic1.Picture = LoadPicture("F:\VB程序设计\上课课件\tea.jpg")End SubPrivate Sub Pic1_Click()Pic2.Picture = Pic1.PicturePic1.Picture = LoadPicture("")End Sub3、Dim a1!, b1!Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) a1 = Xb1 = YEnd SubPrivate Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Circle (a1, b1), Sqr((a1 - X) ^ 2 + (b1 - Y) ^ 2)End Sub4、Dim a1!, b1!Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 Thena1 = Xb1 = YEnd IfEnd SubPrivate Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 1 ThenLine (a1, b1)-(X, Y), vbGreen, BFEnd IfEnd Sub5、Private Sub Form_Click()Scale (-200, 200)-(200, -200)Dim i!For i = 0 To 140 Step 20Line (-i - 10, i + 10)-(i + 10, -i - 10), , BNext iEnd Sub第9章vb文件操作一、选择题BDDCC BBAAB二、填空题1、驱动器列表框、目录列表框和文件列表框2、change 3\file1.path=dir1.path4、name “D:\old.doc” as “c:\new.doc”5、dir1.path=drive1.drive file1.path=dir1.path6、filecopy “d:\text.doc”,”e:\text.doc”7、eof 8、input not eof(1)9、for inputFor outputnot eof(1)str1Close #110、pattern 11、空12、字节。
第十五章文件教学要求:了解文件的结构与分类;熟练掌握基本文件操作语句和函数;掌握顺序文件、随机文件的打开、读、写和关闭操作;掌握随机文件中记录的添加与删除方法,掌握使用控件显示和修改随机文件的方法、掌握文件系统控件的使用;掌握资源文件的建立和使用。
知识点:文件的结构与分类;文件操作语句和函数;文件打开、读、写和关闭操作,随机文件中记录的添加与删除方法;文件系统控件的使用;资源文件的建立和使用。
内容导航:一、文件的打开与关闭(一)文件的打开(建立)在对文件进行操作以前,必须先打开或建立文件。
Visual Basic用Open语句打开或建立一个文件。
其格式为:Open 文件说明[For方式] [Access 存取类型] [锁定] As [ # ] 文件号[Len = 记录长度] Open语句的功能为:为文件的输入输出分配缓冲区,并确定缓冲区所使用的存取方式。
(二)文件的关闭文件的读写操作结束后,应将文件关闭,这可以通过Close语句来实现。
其格式为:Close [ [ # ]文件号][,[ # ]文件号]……Close语句的功能为:结束文件的输入输出操作。
二、文件操作语句和函数(一)文件指针文件指针的定位通过Seek语句来实现。
其格式为:Seek # 文件号,位置。
(二)其他语句和函数1.FreeFile函数。
2.Loc函数。
格式:Loc(文件号)。
3.LOF函数。
格式LOF(文件号)。
4.Lock和Unlock语句。
在网络环境中,有时候几个进程可能需要对同一个文件进行存取。
用Lock和Unlock语句可以对文件“锁定”和“解锁”。
其格式为:Lock[ # ]文件号[ ,记录|[开始]To 结束]Unlock[ # ]文件号[,记录|[开始]To 结束]5.fileAttr。
返回Open语句打开文件的方式。
格式FileAttr(文件号,[属性])。
6.EOF(函数)。
格式:EOF(文件号)。
三、顺序文件(一)顺序文件的写操作1.Print # 语句。
格式:Print # 文件号,[ [ Spc(n) | Tab(n) ] [ 表达式表] [ ; | , ] ]。
2.Write # 语句。
格式:Write # 文件号, 表达式表。
(二)顺序文件的读操作1.Input # 语句。
格式:Input # 文件号, 变量表。
2.Line Input # 语句。
格式:Line Input # 文件号, 字符串变量。
3.Input$函数。
格式:Input$ ( n , #文件号)。
四、随机文件(一)随机文件的打开与读写操作1.随机文件的写操作。
随机文件的写操作分为以下4步:(1)定义数据类型;(2)打开随机文件;(3)将内存中的数据写入磁盘;(4)关闭文件。
2.随机文件的读操作。
从随机文件中读取数据的操作与写文件操作步骤类似,只是把第三步中的Pub语句用Get语句来代替即可。
其格式为:Get # 文件号, [记录号], 变量。
(二)随机文件中记录的增加与删除1.增加记录。
在随机文件中增加记录,实际上是在文件的末尾附加记录。
其方法是,先找到文件最后一个记录的记录号,然后把要增加的记录写到它的后面。
2.删除记录。
在随机文件中删除一个记录时,并不是真正删除记录,而是把一个记录重写到要删除的记录的位置上,其后的所有记录依次前移。
五、文件系统控件(一)驱动器列表框和目录列表框驱动器列表框和目录列表框是下拉式列表框。
(二)文件列表框用驱动器列表框和目录列表框可以指定当前驱动器和当前目录,而文件列表框可以用来显示当前目录下的文件(可以通过Path属性改变)。
文件列表框的默认控件名是File1。
六、文件基本操作文件的基本操作指的是文件的删除、拷贝、移动及改名等。
在Visual Basic中,可以通过相应的语句执行这些基本操作。
1.删除文件(Kill语句)。
格式:Kill 文件名。
用该语句可以删除指定的文件。
这里的“文件名”可以含有路径。
2.拷贝文件(FileCopy语句)。
格式FileCopy 原文件名, 目标文件名。
用FileCopy语句可以把原文件拷贝到目标文件,拷贝后两个文件的内容完全一样。
3.文件(目录)重命名(Name语句)。
格式:Name 原文件名As 新文件名。
用Name语句可以对文件或目录重命名,也可以用来移动文件。
训练:一、选择题:1.________是构成文件的最基本单位。
A)汉字B)记录C)字符D)字段2.下列关于VB中文件的命名原则的叙述,正确的是________。
A)与Windows命名方式一致B)与Windows命名方式不一致C)可以在文件名中使用*、?D)文件名可以任意长度3.使用Open语句打开文件时,如果省略“For方式”,则打开的文件的存取方式是________。
A)二进制方式B)随机存取方式C)顺序存取方式D)会提示错误4.如果准备读文件,打开顺序文件“text.dat”的正确语句是________。
A)Open "text.dat" For Input As #1B)Open "text.dat" For Write As #1C)Open "text.dat" For Binary As #1D)Open "text.dat" For Random As #15.按文件中数据的编码方式文件可以分为________。
A)程序文件和数据文件B)ASCII码文件和二进制文件C)顺序文件和随机文件D)以上都不对6.以下四个控件中可以列出计算机中所有驱动器的是________。
A)文件列表框B)目录列表框C)驱动器列表框D)列表框7.下面对语句Open "Text.dat" For Output As #FreeFile 的功能说明中错误的是________。
A)如果文件Text.dat已存在,则打开该文件,新写入的数据将覆盖原有的数据B)如果文件Text.dat已存在,则打开该文件,新写如的数据将增加到该文件中C)如果文件Text.dat不存在,则建立一个新文件D)以顺序输出模式打开文件Text.dat8.要对顺序文件进行写操作,下列打开文件语句中正确的是________。
A)Open "file1.txt" For Output As #1B)Open "file1.txt" For Input As #1C)Open "file1.txt" For Random As #1D)Open "file1.txt" For Binary As #19.下述4个控件中具有FileName属性的是________。
A)驱动器列表框B)文件列表框C)目录列表框D)列表框10.将一个记录型变量的内容写如文件中指定的位置,所使用的语句格式为________。
A)Put文件号,记录号,变量名B)Put文件号,变量名,记录号C)Get文件号,变量名,记录号D)Get文件号,记录号,变量名11.在下面向文件中写入数据的命令语句中,不正确的是________。
A)Print # 文件号,输出项列表B)Print # 文件号,Using: 输出项列表C)Write # 文件号,输出项列表D)Write # 文件号,Using: 输出项列表12.用Close语句来关闭已用完不再使用的文件,当该语句不使用任何参数时,其功能是________。
A)只能关闭一个已打开的文件B)关闭所有已打开的文件C)有语法错误D)只能关闭两个已打开的文件13.根据数据的存取方式和结构,文件可分为________。
A)程序文件和数据文件B)ASCII码文件和二进制文件C)顺序文件和随机文件D)以上都不对14.使用目录列表框的________属性可以返回或设置工作目录的完整路径。
A)Path B)Dir C)ListIndex D)以上都不对15.目录列表框的Path属性的作用是________。
A)显示当前驱动器或指定驱动器上的路径B)显示当前驱动器或指定驱动器上的某目录下的文件名C)显示根目录下的文件名D)只显示当前路径下的文件16.在窗体上画一个名称为Drive1的驱动器列表框,一个名称为Dir1的目录列表框。
当改变当前驱动器时,目录列表框应该与之同步改变。
设置两个控件同步的命令放在一个事件过程中,这个事件过程是________。
A)Drive1_Change B)Drive1_Click C)Dir1_Click D)Dir1_Change17.要获得当前驱动器应使用驱动器列表框的属性是________。
A)Path B)Dir C)Pattern D)Drive18.在窗体上画一个名称为File1的文件列表框,并编写如下程序:Private Sub File1_DblClick()x=Shell(File1.FileName)End Sub以下关于该程序的叙述,错误的是________。
A)x没有实际作用,因此可以将该语句写为:Call Shell(File1,FileName,1)B)双击文件列表框中的文件,将触发该事件过程C)要执行的文件的名字通过File1.FileName指定D)File1中显示的是当前驱动器、当前目录下的文件19.下面关于顺序文件的描述正确的是________。
A)每条记录的长度必须相同B)可通过变成对文件中的某条记录方便的修改C)数据只能对ASCII码形式存放在文件中,所以可通过编辑软件显示D)文件的组织结构复杂20.下面关于随机文件的描述不正确的是________。
A)每条记录的长度必须相同B)一个文件的记录号不必唯一C)数据只能对ASCII码形式存放在文件中,所以可通过编辑软件显示D)其组织结构比顺序文件复杂21.下列关于文件的叙述中,错误的是________。
A)顺序文件中的记录一个接一个的顺序存放B)随机文件中的记录的长度是随机的C)执行打开文件的命令后,自动生成一个文件指针D)LOF函数返回给文件分配的字节数22.要从磁盘上读入一个文件名为“c:\file1.txt”的顺序文件,下面程序段正确的是________。
A)F="c:\file1.txt"Open F For Input As #1B)F="c:\file1.txt"Open "F" For Input As #2C)Open "c:\file1.txt" For Output As #2D)Open c:\file1.txt For Input As #123.假定在窗体Form1的代码窗口中定义如下记录类型:Private Type animalanimalName As String * 20acolor As String * 10End Type在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()Dim rec As animalOpen "c:\vbTest.dat" For Random As #1 Len = Len(rec)rec.animalName = "cat"rec.acolor = "White"Put #1, , recClose #1End Sub以下叙述正确的是________。