《2022年全国计算机等级考试VB经典必考资料,知识点总结 .pdf》由会员分享,可在线阅读,更多相关《2022年全国计算机等级考试VB经典必考资料,知识点总结 .pdf(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、全国计算机等级考试辅导材料Visual Basic程序设计基础冲刺阶段要点(必考知识点梳理与总结)精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 50 页 - - - - - - - - - - Visual Basic 程序设计基础知识要点(概念分析篇 ) 知识点 1:(1)在工程资源管理器窗口中可以包含:工程文件、窗体模块文件、标准模块文件和类模块文件 (其中可以包含许多各种文件类型)。(2)Visual Basic 应用程序可以以解释方式执行和编译方式执行。例题:(1)以下叙述中错误的是
2、A A在工程资源管理器窗口中只能包含一个工程文件及属于该工程的其他文件。B以 .bas为扩展名的文件是标准模块文件。C窗体文件包含该窗体及其控件的属性。D一个工程中可以有多个标准模块文件。(2)以下叙述中错误的是C A打开一个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件。B保存 Visual Basic 程序时,应分别保存窗体文件及工程文件。CVisual Basic 应用程序只能以解释方式执行。D事件可以由用户引发,也可以由系统引发。知识点 2:(1)窗体和各种控件的名称(Name)是唯一的,用来标识一个窗体或控件的。而窗体和控件的标题是用来说明的,是可有可无的。(2)各种控件
3、之间有部分相同的属性,并不是拥有所有属性。控件有些属性只能在属性窗口中设置,但也有少数属性只能在代码状态设置。(3)Form1.Hide 方法和 Unload Form1 方法的区别:第一个方法窗体消失但仍存在于内存中;第二个方法窗体消失并不存在于内存中。例题:(1)以下叙述中正确的是A A窗体的 Name 属性指定窗体的名称,用来标识一个窗体。B窗体的 Name 属性的值是显示在窗体标题栏中的文本。C可以在运行期间改变对象的Name 属性的值。D对象的 Name 属性值可以为空。(2)以下叙述中错误的是C AVisual Basic 是事件驱动型可视化编辑工具。BVisual Basic 应
4、用程序不具有明显的开始和结束语句。CVisual Basic 工具箱中的所有控件都具有Width 和 Height 属性。DVisual Basic 中控件的某些属性只能在运行时设置。知识点 3:(1)标签 (Label1):Autosize 的 True 属性可以自动调整标签的大小,而False 属性不能。(2)文本框 (Text1):1、MaxLength 属性表示文本框所能容纳的字符数。2、Passwordchar属性 表示 口令输入,可以是“* ”或“ ?” 等。设置文本框输入字符为“ * ”:Text1.Passwordchar=*, 还原文本框字符:Text1.Passwordch
5、ar=, 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 50 页 - - - - - - - - - - 3、ScrollBars 属性是表示文本框有垂直或水平滚动条,但是需要和多行属性MultiLine结合一起使用。4、SelLength 属性是表示文本框中被选中字符的个数:Text1.SelLength。SelStart 属性返回或设置文本框中所选择的文本的起始点;如果没有文本被选中,则指出插入点的位置:Text1.SelStart。SelText 属性是表示文本框中被选中的字符:Tex
6、t1. SelText。5、文本的主要事件是Change 事件: (标签内容随文本框内容变化而变化) Private sub Text1_Change() Label1.caption=Text1.Text End sub 6、文本框的方法只有一个:Text1.SetFocus 例题:(1) 能够获得一个 文本框 中被选取文本的内容的属性是C AText B. SelLength C. SelText D. SelStrart (2) 在窗体上画一个文本框(其名称为Text1)和标签 (其名称为Label1)。 要求程序运行后,如果在文本框中输入字符,则立即在标签中显示相同的内容。以下可以实现
7、上述操作的事件过程是A APrivate Sub Text1_Change() B. Private Sub Text1_Click() Label1.caption=Text1.Text Label1.caption=Text1.Text End Sub End Sub CPrivate Sub Label1_Change() D. Private Sub Label1_Click() Label1.caption=Text1.Text Label1.caption=Text1.Text End Sub (3)命令按钮 (Command1): 1、Default 属性:当一个命令按钮的Def
8、ault 属性为 True 时,按回车键和单击该命令按钮的效果相同。2、Cancel 属性:当一个命令按钮的Cancel 属性为 True 时,按 ESC 键和单击该命令按钮的效果相同。(4)单选按钮和复选框(Option1 和 Check1):1、单选按钮: Value 属性的值是True(选中 )和 False(未选中 ),Option1.Value=True 与Option1. Value意义一样。2、复选框:Value 属性的值是0(未选中 )、 1(选中 )和 2(表示暂时不可用)。若编成Check1.Value=False 可以用,但 Check1.Value=True 不可用 (
9、因为 True 只能转化数值1 而不是 1)。(5)列表框 (List1): 1、List 属性是一个数组型属性:List1.List( 索引 ),索引可以是数字0、1 ,List1.listindex,变量 i(List1.Text 等同于 List1.list(List1.listindex)。2、MultiSelect 属性:用来设置一次可以多选的表项数。MultiSelect 属性值为0 时,每次只能选择一项;MultiSelect 属性值为 1 时,可以同时选择多个项目;MultiSelect 属性值为2 时,可以用辅助键Shift 或 Ctrl 选择多个项目。3、常用方法:a. A
10、ddItem 方法表示添加的是一个项目,语法为:对象名 . AddItem b.RemoveItem 方法表示通过删除索引的方式删除项目,语法为:对象名 .RemoveItem 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 50 页 - - - - - - - - - - 索引可以是数字0、1,List1.ListIndex ,变量 i。如果要删除当前被选中的项目,其代码可写成:对象名 .RemoveItem 对象名 . List1.ListIndex c.Clear 方法表示清除列表框中所
11、有的内容,语法为:对象名.Clear。(6)组合框 (Combo1) :1、Style 属性: Style 属性值为0 时,表示 下拉式组合框;Style 属性值为1 时,表示下简单组合框 ;Style 属性值为 2 时,表示 下拉式列表框。其他功能类似列表框(List1) 。(7)图片框和图像框(Picture1 和 Image1): 1、图片框 (Picture1):Autosize 属性值为 True 时,表示图片框大小随图片大小改变而改变; AutoSize 属性值为 False 时,表示图片框只能部分显示大图片。2、 图像框 (Image1): Stretch 属性为 True 时,
12、 图片大小随图像框的大小改变而改变;Stretch属性为 True 时,图像框的大小随图片大小的改变而改变。3、两种图形类型都可以按照下面这个方法加载图片:图片名称 .扩展名 ) 图片名称 .扩展名 ) 注: “图片名称”前的“”不能省。如果要清除图片:Picture1.Picture=LoadPicture() Image1.Picture=LoadPicture() 注意 :如果使用App.Path 方法需要先保存好窗体文件和工程文件到考生文件夹中。(8)滚动条 (HScroll1) :1、Max 和 Min 属性是分别表示滚动条的最大和最小刻度,刻度值用Value 属性值来表示: HSc
13、roll1.Value 。2、 LargeChange 和 SmallChange 属性是分别表示移动滚动条上的左右箭头按钮的移动量和移动滚动条上滚动框的移动量。3、Scroll 和 Change事件分别表示拖动滚动条上滚动框的操作和单击滚动条上箭头按钮的操作。(9)计时器 (Timer1) :1、Enabled 属性: Enabled 属性值为 True 时,表示计时器可以走动;Enabled 属性值为False 时,表示计时器停止走动;2、Interval 属性:是表示计时器运动的时间间隔,单位为毫秒。时间间隔若为1 秒,则代码为 Timer1.Interval=1000 。3、Enabl
14、ed 和 Interval 这两个属性一般情况下需要一起使用。4、计时器只有一个事件,即Timer,是指每经过一个时间间隔(Interval) 所触发的事件。知识点 4:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 50 页 - - - - - - - - - - (1)Visual Basic 常用函数的使用方法:1、数学函数: 求平方根 :Sqr(n) 求自然对数Log(n)lnn log78=loge8/loge7(注意非 e 为底的对数需要如此转换) 求以 e 为底的幂值, ex e
15、xExp(x) 1 n0 Sqn(n)= 0 n=0 Rnd()-X=Int(Rnd*(上界 下界 +1)+ 下界 (产生随机整数),注意 Rnd 函数的取值范围是 0,0)。如设取 01000 的随机整数,包括0 和 1000,则代码为Int(Rnd*1001) ;不包括0 和 1000,则代码为Int(Rnd*999+1) 。2、转换函数: Str(x) 数值 x 转换成字符串Str(12.75)= 12.75 这样转换12.75 之前会多出一位。如果使用 CStr(12.75)=12.75 这样转换 12.75 之前不会多出一位。 Val(x) 字符 x 转换成数值,但x 要一定是数字字
16、符才行,Val( “12.75”)=12.75,如果是含有其他字符Val(12.7ab) 将无法转换。 Chr(x) 返回以 x 为 ASCII 字符Chr(97)= a;Asc(x) 给出字符x 的 ASCII 代码值Asc(A)=65 三种类型 ASCII 代码值转换:Asc(0)Asc(9)-4857 Asc(A)Asc(Z)-6590 Asc(a)Asc(z)-97122 特殊情况: Asc(ABC)=65 只求第一个字符A 的 Ascii 代码值 注意 Int(x) 、Fix(x) 与 CInt(x) 的区别Int(x) 取小于等于x 的最大整数当 x0 时,用法和 Fix 一样;当
17、 x - (* /) Mod (+ -) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 50 页 - - - - - - - - - - 关系运算符 = = Like Is 运算符优先级相同逻辑运算符运算符的优先级:Not And Or Xor Eqv 例题:(1) 表达式 4 + 5 6 * 7 / 8 Mod 9 的值是B A4 B. 5 C. 6 D. 7 (2) a=3 b=2 c=1 求 Print abc 的结果?首先 ab 的结果是 True, 然后再 Print Truec
18、此时 True 需要转换成 -1 再比较,Print -11 结果是 False,所以整个输出结果是False。知识点 6:1、交互函数的使用: InputBox 函数:A=InputBox( 提示信息 ,标题信息 , 默认值或输入框的值) 例题:(1) 执行下列语句后,将显示输入对话框,此时如果单击“ 确定 ” 按钮,则变量StrInput的内容是C 。StrInput=InputBox( 请输入字符串 , 字符串对话框,字符串 ) A.请输入字符串 B. 字符串对话框 C. 字符串 D. 空字符串 MsgBox 函数:MsgBox “ 提示信息 ” ,按钮类型值 +图标类型值 +默认焦点值
19、 , “标题信息 ”A= MsgBox “ 提示信息 ” , 按钮类型值 +图标类型值 +默认焦点值 , “标题信息 ” ;A 的值根据单击什么按钮有关,A 的值在 1,7 之间取值。比如:单击“ 确定 ” 按钮, A=1。例题:以上图形所表示的函数表达式为:MsgBox 请输入查询的学生学号:, 3 + 32 + 256, 学生基本信息查询 知识点 7:1、选择结构语句(If 条件语句 ):精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 50 页 - - - - - - - - - - 单分
20、支条件语句:格式:If 条件Then 语句块End If (称 If 块语句 ) If 条件Then 只有一条语句(称 If 条语句 ) 双分支条件语句:格式:If 条件Then 语句块 1 Else 语句块 2 End If 多分支条件语句If 条件 1 Then 语句块 1 ElseIf 条件 2 Then 语句块 2 。 。 。 。 。 。Else 语句块 n End If 其中,条件可以是:关系表达式(a5)、逻辑表达式(a5 And c4) 、变量 (i)或常数 (0)。例题:(1) 下列程序段的执行结果为A X=5 Y=-20 If Not x0 Then x=y-3 Else Y
21、=x+3 End If Print x-y;y-x A. -3 3 B. 5 -8 C. 3 -3 D. 25 -25 以上题中的 “ 条件” 主要是逻辑表达式。(2) 下列程序段的执行结果为B X=2 Y=1 If x*y0 A. True B. False C. -1 D.1 以上题中的 “ 条件 ” 主要是关系表达式。(3) 下列程序段的执行结果为C Dim x As Integer 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 50 页 - - - - - - - - - - If
22、x Then Print x Else Print x-1 A. 1 B. 0 C. -1 D.不确定以上题中的 “ 条件 ” 主要是变量。2、选择结构语句(Select Case语句 ):Select Case 测试表达式Case 表达式列表1 语句块 1 Case 表达式列表2 语句块 2 。 。 。 。 。 。Case Else 语句块 n End Select 注意:测试表达式的类型只能是数值型数据或字符型数据,表达式列表的值只要第一个符合测试表达式值的要求,就结束 Select Case语句; 表达式列表可以是三种结构或三种混合结构:、 1 To 10 、1,3,5,6,7,8 、I
23、s10 、 1,2,5,7,Is10 例题:(1) 在窗体上画一个名称为Command1 的命令按钮和两个名称分别为Text1 和 Text2 的文本框,然后编写如下事件过程:Private Sub Command1_Click() n=Text1.Text Select Case n Case 1 T 10 X=10 Case 2,4,6 X=20 Case Is5)、逻辑表达式(a5 And c4)、变量 (i)或常数 (0)。执行过程:条件成立,变量的值就是“ 参数 1” ,否则变量的值就是“ 参数 2” 。例题:(1) 设 a=6,则执行语句: x=IIF(a5,-1,0) 后, x
24、的值为D A. 5 B. 6 C. 0 D. -1 知识点 8:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 50 页 - - - - - - - - - - 1、循环结构 For 循环变量 =初值To 终值Step 步长循环体If 条件 Then 语句Exit For End If Next 循环变量注意 :循环如果正常退出时(没有执行Exit For 语句 ),那么循环变量必须要大于终值或等于终值 +步长。 Do While 条件循环体Loop Do Until 条件循环体Loop 注意
25、:左边上下两种循环是先判断条件后执行循环体,右边上下两种循环是不管条件成立与否都至少执行一次;While 循环是条件成立执行循环体,Until 循环是条件不成立执行循环体。例题:(1) 下列程序段的执行结果为B s=0:t=0:u=0 For x=1 To 3 For y=1 To x For z=y To 3 s=s+1 Next z t=t+1 Next y u=u+1 Next x Print s;t;u A. 3 6 14 B. 14 6 3 C. 14 3 6 D. 16 4 3 分析:A 组语句和 B 语句都在 X 循环内,并且是并列的,所以可以先计算B 组语句, A 组语句暂时不
26、算,这样很容易求出u=u+1 语句循环了三次,则u=3; C 组语句和D 语句都在Y循环内,并且是并列的,所以可以先计算D 组语句, C 组语句暂时不算,这样也比较容易求出 t=t+1 语句循环了六次,则t=6;然后再结合答案很快就能得出答案是选B。知识点 9:1、数组: 数组的概念Do 循环体Loop Until 条件Do 循环体Loop While 条件精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 50 页 - - - - - - - - - - 9 12 10 13 等级考试主要考一维
27、数组、二维数组和三维数组(三维的只需知道数组中可以存储多少数据即可 )。数组的格式:a(2,3 To 7,-1 To 2) ,那它的存储空间大小计算:每一维用上界-下界 +1 计算,例如(2-0+1)*(7-3+1)*(2-(-1)+1)=3*5*4=60。 数组的下标下界是根据语句Option Base n 来决定:当n=0 时,数组下标下界是从0开始;当 n=1 时,数组下标下界是从1 开始。 数组分为:固定大小数组 : Dim a(10) As Integer 动态大小数组 : Dim a() As Integer Redim a(10) Array 函数用法:为一个变体型变量 创建一个
28、数组。Dim a as Variant a=Array(1,2,3,4,5) 因此: a(0)=1 a(1)=2 a(2)=3 a(3)=4 a(4)=5 注意 :如果数组被定义为以下三种类型,(1) 数值型(2) 字符型(3)逻辑型,则它们初始化的数组元素数值分别为:0 、空字符串和False 。例题:(1) 在窗体上画一个命令按钮(其 Name 属性为 Command1),然后编写如下代码:Private Sub Command1_Click() Dim a(4,4) As Integer For i=1 To 4 For j=1 To 4 a(i,j)=(i-1)*3+j Next j
29、Next i For i=3 To 4 For j=3 To 4 Print a(j,i) Next j Print Next i End Sub 程序运行后,单击命令按钮,其输出结果为D 。A. 6 9 B. 7 10 C. 8 11 D. 9 12 7 10 8 11 9 12 10 13 分析:对循环和数组结合的问题,往往要先看B 组语句输出结果是什么,然后根据B 组语句输出结果代入到A 组语句中求结果。B 组语句输出结果:代入 A 组语句的结果:a(3,3) a(4,3) a(3,4) a(4,4) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载
30、名师归纳 - - - - - - - - - -第 10 页,共 50 页 - - - - - - - - - - 知识点 10:1、过程与函数: 过程与函数的参数类型有:实参和形参;传递方式有:值传递和地址传递。以下程序中, x,y 为实参; a,b 为形参注意:实参要与形参的类型、个数要相同。 在形参 a,b 之前如果加上关键字ByVal ,那么就是按值传递;如果加上关键字ByRef或不加关键字,那么就是按地址传递。 过程调用方式有两种:Call Swap(x,y) 或 Swap x,y (Swap 是过程名 ) 注意: 只有地址传递方式才能实现交换功能,值传递方式x,y 的值不变。当有事
31、件过程和通用过程一起运行时,先执行事件过程(Command_Click) 。例题 :(1) 假定有如下的Sub 过程:Sub S(x As Single, ByVal y as Single) t=x x=t/y y=t Mod y End Sub 在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程:Private Sub Command1_Click() Dim a As Single, b As Single a=5:b=4 S a,b Print a,b End Sub 程序运行后,单击命令按钮,输出结果为_C_。A. 5 4 B. 1 1 C. 1.25 4 D.
32、1.25 1 程序分析:首先形参 x 是地址传递方式,当a 传递给 x 时,因此 a 与 x 拥有一个共同存储空间,图形表示:;形参 y 是值传递方式,当b 传递给 y 时,因此b 与 y 是两个不同存储空间,图形表示:;那么在过程S 中:运算x=t/y 后,精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 50 页 - - - - - - - - - - x=1.25,图形表示;因此 a 的值就是 1.25;运算 y=t Mod y 后, y=1,图形表示:,因为此时b 和 y 存储空间不同
33、,则不影响b 的值,则还是 4,因此 Print a,b 的结果就是选择C 答案。知识点 11:1、菜单和鼠标事件 菜单编辑器的使用:注意:菜单中的标题可以为空,但不论是第几级菜单名称必须唯一,且不能为空。 鼠标事件 (按下鼠标键事件过程) 主要事件有: Form_MouseDown 、 Form_MouseUp 和 Form_MouseMove 。现在以某个为例说明:Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, _ Y As Single) End Sub 上述事件过程不仅使用在窗体上
34、(Form_MouseDown), 还可以使用于大多数控件上,包括命令按钮 (Command1_MouseDown) 或文本框 (Text1_MouseDown) 等。以上鼠标事件过程的参数,含义如下:(1)Button 有值 1、2 和 4,分别表示按下左键、右键和中建;(2)Shift 表示 Shift、Ctrl 和 Alt 键的状态,其值分别是1、2 和 4;(3)X ,Y 表示鼠标光标的坐标位置 弹出式菜单 (菜单和鼠标事件的结合使用) Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single
35、, _ Y As Single) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 50 页 - - - - - - - - - - If Button=1 Then 按下鼠标左键PopUpmenu File 通过 PopUpmenu 方法弹出菜单End If File 是一级菜单的名称End Sub 运行效果 :2、公共对话框 (又称通用对话框) 通用对话框是我们考试中唯一一个控件箱中没有的控件,需要我们自己添加的,添加的方法是在 “ 工程 ” 菜单的 “ 部件 ” 项中选择 “Micros
36、oft Common Dialog Control 6.0”后,才会在控件箱中出现通用对话框图标。 通用对话框图形根据以上图形,相应的程序代码如下:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 50 页 - - - - - - - - - - 注意: CommonDialog.FilterIndex = 索引(索引是从1 开始 ) 知识点 12:1、文件文件包括三种:顺序文件、随机文件和二进制文件顺序访问:文件中数据是以ASCII 码存储的。随机访问: 文件长度记录是固定不变 的,数据类型
37、可以不同,数据以二进制方式存储在文件中, 可以任意时候,任意地方访问。二进制访问:必须知道数据是如何写入文件的。 如果源文件是字符类型,那么读写文件如下所示:a.读文件的格式:文件名 (In.txt) For Input As # 文件号 (#1) Do while Not EOF( 文件号 ) Input #文件号 ,变量Loop Close #文件号或:文件名 (In.txt) For Input As # 文件号 (#1) Do while Not EOF( 文件号 ) Line Input # 文件号 ,变量Loop Close #文件号b.写文件格式:文件名 (Out.txt) Fo
38、r Output/Append As # 文件号 (#1) Print #文件号 ,变量Close #文件号注意: 当写文件以Output 方式时, 原来的文件内容将被覆盖;当写文件以Append 方式时,新的文件内容将被添加到文件尾部; 如果源文件是数值类型,那么读写文件如下所示:a.读文件格式:一维数组:Dim a(10) As Integer 文件名 (In.txt) For Input As # 文件号 (#1) For i=1 To 10 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页
39、,共 50 页 - - - - - - - - - - Input #文件号 ,a(i) Next i Close #文件号二维数组:Dim a(10 ,5) As Integer 文件名 (In.txt) For Input As # 文件号 (#1) For i=1 To 10 For j=1 To 5 Input #文件号 ,a(i,j) Next j Next i Close #文件号b.写文件格式:一维数组:文件名 (Out.txt) For Output/Append As # 文件号 (#1) For i=1 To 10 Print #文件号 ,a(i) Next i Close
40、 #文件号二维数组:文件名 (Out.txt) For Output/Append As # 文件号 (#1) For i=1 To 10 For j=1 To 5 Print #文件号 ,a(i,j) Next j Next i Close #文件号例题:(1)在考生文件夹下有文件in5.txt ,文件中有字符串0&1%$s#2&3!45u6ydf7ff8|9er。请在 Forml 的窗体上画一个文本框,名称为Text1,能显示多行;再画一个命令按钮,名称为 Cl,标题为 “ 存盘 ” 。编写适当的事件过程,使得在加载窗体时,把in5.txt 文件的内容中数字字符 显示在文本框里。然后单击“
41、 存盘” 按钮,把文本框中的内容存到文件out5.txt 中。如图所示:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 50 页 - - - - - - - - - - 根据题目要求,所编写程序如下:(2) 在考生文件下有文件in.txt ,文件有 10 个数据: 123 521 362 821 400 300 710 990 120 500. 请在 Forml 的窗体上画一个文本框,名称为Text1,能显示多行;再画一个命令按钮,名称为 Cl,标题为 “ 存盘 ” 。编写适当的事件过程,使
42、得在加载窗体时,把in5.txt 文件的内容显示在文本框里,然后统计10 个数的最大数、最小数和它们的和,并把最大数、最小数和它们的和写到“out.txt”文件中。如图所示:根据题目要求,所编写程序如下:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 16 页,共 50 页 - - - - - - - - - - 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 17 页,共 50 页 - - - - - - - -
43、- - Visual Basic 程序设计基础知识要点(程序设计篇 ) 全国计算机等级考试中常用的程序编程部分:九大问题具体例子分析:一、求最大数、最小数、求和以及求平均数例题:随机产生10 个两位整数,并存入数据a 中,然后分别求10 个元素中的最 大数、最小数 、求 10 个元素之和 以及它们的 平均数 。Private Sub Command1_Click() Dim a(10) As Integer, i As Integer, Max As Integer, Min As Integer Dim Sum as Integer, Avg As Single Sum=0 For i= 1
44、 To 10 a(i)=Int(Rnd*90)+10 产生 1099 之间的随机整数Next i Max=a(1):Min=a(1) 假设最大数和最小数For i= 1 To 10 If Maxa(i) Then 求最小数Min=a(i) End if Sum=Sum+a(i) 求和Next i Avg=Sum/10 求平均数Print “最大数: ”;Max; “最小数: ”;Min;“和: ” ;Sum; “平均数: ” ;AvgEnd Sub 二、求阶乘例题:求 10!. Private Sub Command1_Click() Dim Sum As Long, i As Integer
45、 Sum=1 For i= 1 To 10 Sum=Sum*i Next i Print “ 10!= ”;SumEnd Sub 三、求最大公约数例题:求 M 和 N 两个数的最大公约数。Private Sub Command1_Click() Dim M As Integer, N As Integer, R As Integer M=36:N=24 Do 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 18 页,共 50 页 - - - - - - - - - - R=M Mod N M=N N=R
46、Loop While R0 或 Loop Until R=0 Print M 和 N 的最大公约数为:;M End Sub 四、求素数例题:求 100200 之间的所有素数,并按每行 5 个元素格式输入所有素数。Private Sub Command1_Click() Dim n As Integer ,i As Integer j As Integer For n = 100 To 200 For i = 2 To n-1 n-1 可以是n/2,也可以是Sqr(n)形式If n Mod i =0 Then Exit ForNext i If in-1 Then j=j+1 统计素数个数Pri
47、nt n; If j Mod 5 =0 Then Print 输出 5 个数换行End If Next n End Sub 判断素数的函数过程:Function Prime (x As Integer)As Boolean Dim I As Integer For I = 2 To Sqr(x) If x Mod I= 0 Then Prime=False End If Next I Prime=True End Function 五、求水仙花数(拆数法 ) 例题:求100999 之间的所有水仙花数,并将所有水仙花数在文本框中显示。所谓水仙花数:即153=13+53+33 条件成立。方法 1:
48、(数值型:使用运算符Mod 和 ) Private Sub Command1_Click() Dim i As Integer ,a As Integer ,b As Integer ,c As Integer For i = 100 To 999 a=i100 取百位数b=i10 Mod 10 取十位数c=i Mod 10 取个位数If i=a3+b3+c3 Then Text1.Text=Text1.Text & i & Space(2) End If 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第
49、19 页,共 50 页 - - - - - - - - - - Next i End Sub 方法 2:(字符型:使用函数Mid 、Val 和 CStr) Private Sub Command1_Click() Dim i As Integer ,a As Integer ,b As Integer ,c As Integer For i = 100 To 999 a= Val(Mid(CStr(i),1,1) 取百位数b= Val(Mid(CStr(i),2,1) 取十位数c= Val(Mid(CStr(i),3,1) 取个位数If i=a3+b3+c3 Then Text1.Text=T
50、ext1.Text & i & Space(2) End If Next i End Sub 六、排序问题例题:随机产生10 个两位整数 ,并存入数据a 中,然后将这 10 个元素从小到大排序(或从大到小 ),并将排序号的数组显示在文本框中。方法 1:选择排序Private Sub Command1_Click() Dim a(10) As Integer, i As Integer, j As Integer ,temp As Integer For i= 1 To 10 a(i)=Int(Rnd*90)+10 产生 1099 之间的随机整数Next i For i= 1 To 9 比较 n