Next J End Function 【答案】(1)Int(Sqr(k)) ^ 2 >= n(2)k = k + 1(3)ReDim m(n2, n2)(4)m(i, j) = \
17.本程序的功能是生成20个不可约真分数。要求分子和分母均为两位正整数且分数中没有相同数字。提示:不可约真分数是指分子小于分母并且分子和分母除1以外没有其他公约数。
程序界面参见图2。 Option Explicit
Private Sub Command1_Cl ick()
Dim Fz As Integer, Fm As Integer, Js As Integer Randomize Do
Fz=Int(90*Rnd)+10 Fm=Int(90*Rnd)+10
If _____1______ Then If Vilidata(Fz, Fm) Then Text1=Text1 & Fz & \/\& Fm & \
Js=Js+1 图 2 If Js Mod 5=0 Then Text1=Text1 & vbCrLf End If End If
Loop While Js<20 End Sub
Private Function Vilidata(Fz As Integer, Fm As Integer)As Boolean Dim N As Integer, I As Integer, S As String For N=2 To Fz
If Fz Mod N=0 And Fm Mod N=0 Then _____2_______ end if next n
s=_____3______ for I=1 to len(s)-1 for n=I+1 to len(s)
if _____4____ then exit function end if next n next I
vilidata=true End Function 【答案】(1)Fz < Fm(2)Exit Function(3)Fz & Fm(4)Mid(S, I, 1) = Mid(S, N, 1)
18.本程序可快速排序。排序算法是以数组中间位置的一个数为基准,将数组中所有小于它的数移动到它的左边,大于它的数移动到它的右边,然后再对它左右两边的数据分别按此方
法进行处理,依次类推,直到每一边只剩下一个数据为止,本方法是递归算法。程序界面参 见图3。
Option Explicit
Private Sub Command1_Click()
Dim a(10) As Integer, S As String, I As Integer Randomize For I=1 to 10
a(i)=Int(90* Rnd)+10 s=S & Str(a(i))
Next i Text1=s
Call rs(a, 1,10) ______1_____ For i=1 To 10
S=S & Str(a(i))
Next i Text2=S End Sub
Private Sub rs(a() As Integer,left As
Integer, Right As Integer) 图 3
Dim I As Integer, j As Integer, X As Integer,Y As Integer,mid As Integer i=left:j=right
mid=(left+right)/2 X=____2_____ Do
If a(i) ElseIf X y=a(i) a(i)=a(J) a(j)=y I=i+1 J=j-1 End If Loop while _____4_____ If left 第7章 程序调试 一、本章知识点 1、三种错误类型 (1)语法错误(Syntax Error) (2)运行错误(Run Time Error) (3)逻辑错误(Logic Error) 2、应用程序的工作模式 (1)设计模式(“设计”) (2)运行模式(“运行”) (3)中断模式(“Break”) 3、调试工具:常用调试工具的用途 4、使用调试窗口:本地窗口、立即窗口、监视窗口 二、试题与解析 选择题 填空题 第8章 文件操作 一、本章知识点 1、驱动器列表控件 (1)属性:Name、Drive (2)事件:Change 2、文件夹列表控件 (1)属性:Name、Path (2)事件:Change 3、文件列表控件 (1)属性:Name、Path、Pattern、FileName、ListCount、ListIndex、List、MultiSelect、Selected、Archive、Hidden、Normal、ReadOnly和System (2)事件:PathChange 4、传统的文件操作语句和函数 复制文件语句FileCopy、删除文件语句Kill、重命名语句Name、Dir函数、FileLen函数、FileDateTime函数、GetAttr函数、SetAttr函数 5、数据文件的结构 字符(Character)、字段(Field)、记录(Record)、文件(File) 6、数据文件的类型 (1)按数据的存取方式和结构,VB数据文件分为顺序文件、随机文件 (2)按数据的编码方式,又可以分为ASCII文件和二进制文件 7、文件处理的一般步骤 (1)打开(或新建)文件 (2)进行读、写操作 (3)关闭文件 8、文件的打开和关闭 (1)打开文件(open) Open文件名[For模式][Access存取类型][锁定]As[#]文件号[Len=记录长度] (2)关闭文件(Close) Close[[#]文件号1[,[#]文件号2?]] 9、数据文件相关的语句和函数 FreeFile函数、Seek语句和Seek函数、Eof函数、Lof函数、Loc函数 10、顺序文件的写操作 Print#语句、Write#语句 11、顺序文件的读操作 Input语句、Input Line语句、Input函数 12、声明记录类型 声明记录类型、声明记录类型变量 13、随机文件的打开 Open 文件名 [For Random] As [#] 文件号Len = 记录长度 14、随机文件的读写操作 Put # 语句、Get # 语句 15、二进制文件的打开与关闭 Open文件名For Binary As [#]文件号 Close 16、读写二进制文件 Get [#]文件号,[位置],变量 Put [#]文件号,[位置],变量 二、试题与解析 选择题 1.执行赋值语句________后,会触发相应控件的Change事件(控件名均为缺省名)。 A.Dir1.ListIndex = -2 B.Drive1.ListIndex = 2 C.List1.ListIndex = 3 D.File1.ListIndex = 3 【答案】B 【解析】列表框和文件列表框无Change事件,文件夹列表框改变其ListIndex值,只相当于用鼠标单击,选中了某一文件夹,并未打开文件夹,即未改变默认文件夹,故产会触发其Change事件。 2.下面有关文件管理控件的说法,正确的是___________。 A.ChDir语句的作用是指明新的缺省工作目录,同时也改变目录列表框的Path属性值 B.改变文件列表框的FileName属性值,仅改变列表框中显示的文件名,不会引发其它事件 C.改变驱动器列表框的ListIndex属性值,会改变Drive属性值并触发Change事件 D.单击目录列表框中某一项,会触发Change事件 【答案】C 3.以下有关文件的说法中,正确的是_________。 A.打开随机文件时,参数Len的值可任意设置 B.若以Output、Append、Random或Binary方式打开一个不存在的文件,系统会出错 C.在Input方式下,不能使用不同文件号同时打开同一个文件 D.在一个过程中,一个文件号有可能被用于打开不同的文件 【答案】D 填空题 1.在下面程序中,Command1_Click()事件过程的功能是将26个大写字母A~Z依此写到二进制文件Myfile中,Command2_Click()事件过程的功能是将文件中的大写字母在原位置一一改写成小写字母。完善程序,实现以上功能。 Option Explicit Dim S As String * 1 Private Sub Command1_Click() Dim I As Integer For I=0 To 25 S = ___1____ Put # 12, , S Next I End Sub Private Sub Command2_Click() Dim Rc_NO As Integer Seek #12, 1 Do While ____2_____ ____3____ S = Lcase(S) ____4____ Put #12, Rc_NO, S Loop End Sub Private Sub Form_Load()