




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Visual Basic 程序设计基础知识要点(概念分析篇)知识点 1:(1)在工程资源管理器窗口中可以包含:工程文件、窗体模块文件、标准模块文件和类 模块文件(其中可以包含许多各种文件类型) 。( 2) Visual Basic 应用程序可以以解释方式执行和编译方式执行。例题:(1)以下叙述中错误的是 AA 在工程资源管理器窗口中只能包含一个工程文件及属于该工程的其他文件。B 以 .bas 为扩展名的文件是标准模块文件。C 窗体文件包含该窗体及其控件的属性。D 一个工程中可以有多个标准模块文件。(2)以下叙述中错误的是 CA 打开一个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件
2、。B 保存 Visual Basic 程序时,应分别保存窗体文件及工程文件。C Visual Basic 应用程序只能以解释方式执行。D 事件可以由用户引发,也可以由系统引发。知识点 2:(1) 窗体和各种控件的名称( Name)是唯一的,用来标识一个窗体或控件的。而窗体和 控件的标题是用来说明的,是可有可无的。(2)各种控件之间有部分相同的属性,并不是拥有所有属性。控件有些属性只能在属性 窗口中设置,但也有少数属性只能在代码状态设置。( 3) Form1.Hide 方法和 Unload Form1 方法的区别:第一个方法窗体消失并不存在于内 存中;第二个方法窗体消失但仍存在于内存中。例题:1
3、) 以下叙述中正确的是 AA 窗体的 Name属性指定窗体的名称,用来标识一个窗体。 B 窗体的 Name属性的值是显示在窗体标题栏中的文本。C 可以在运行期间改变对象的 Name属性的值。D 对象的 Name属性值可以为空。(2) 以下叙述中错误的是 CA Visual BasicB Visual BasicC Visual BasicD Visual Basic 知识点 3:是事件驱动型可视化编辑工具。 应用程序不具有明显的开始和结束语句。 工具箱中的所有控件都具有 Width 和 Height 属性。 中控件的某些属性只能在运行时设置。False 属性不1) 标签 (Label1) :
4、Autosize 的 True 属性可以自动调整标签的大小,而2) 文本框 (Text1) :1、Maxlength 属性表示文本框所能容纳的字符数。2、Password 属性表示口令输入,可以是“ * ”或“?”等。设置文本框输入字符为 * ”: Text1.Password= ” * ” , 还原文本框字符: Text1.Password= ” ,3、ScrollBars 属性是表示文本框有垂直或水平滚动条,但是需要和多行属性Multiline 结合一起使用。4、SelLength 属性是表示选中文本框中字符的个数: Text1.SelLength 。 SelStart 属性是表示选中文本
5、框中字符或光标之前的字符数: Text1.SelStrart 。 SelText 属性是表 示选中文本框中的字符: Text1. SelText 。5、文本的主要事件是 Change事件: ( 标签内容随文本框内容变化而变化 ) Private sub Command_Change ()Label1.caption=Text1.textEnd sub6 、文本框的方法只有一个: Text1.SetFocus 例题:(1) 能够获得一个文本框中被选取文本的内容的属性是CA Text B. SelLength C. SelText D. SelStrart (2)在窗体上画一个文本框 (其名称为
6、Text1) 和标签 (其名称为 Label1) 。要求程序运行后, 如果在文本框中输入字符, 则立即在标签中显示相同的内容。 以下可以实现上述操作的事件 过程是 AA Private Sub Text1_Change ()B. Private Sub Text1_Click()Label1.caption=Text1.Text Label1.caption=Text1.TextEnd Sub End SubC Private Sub Label1_Change () D. Private Sub Label1_Click ()Label1.caption=Text1.Text Label1.
7、caption=Text1.TextEnd Sub(3)命令按钮 (Command1):1 、 Default 属性:当一个命令按钮的 Default 属性为 True 时,按回车键和单击该 命令按钮的效果相同。2 、 Cancel 属性:当一个命令按钮的 Cancel 属性为 True 时,按 ESC键和单击该命 令按钮的效果相同。(4)单选按钮和复选框 (Option1 和 Check1) :1 、单选按钮: Value 属性的值是 True( 选中 ) 和 False( 未选中 ) ,Option1.Value=True 等同于 Option1.Value 用法。2 、复选框: Valu
8、e 属性的值是 0( 未选中 ) 、 1( 选中 ) 和 2( 表示暂时不可用 ) 。 Check1.Value=False 可以用,但 Check1.Value=True 不可用 ( 因为 True 只能转化数值 1 而不是 1) 。(5)列表框 (List1):1 、 List 属性是一个数组型属性: List1.List( 索引 ) ,索引可以是数字0 、1 ,List1.listindex,变量 i (List1.Text 等同于 List1.list(List1.listindex) )。2、 MultSelect 属性:用来设置一次可以多选表项数。 MultSelect 属性值为
9、0 时, 每次只能选择一项; MultSelect 属性值为 1 时,可以同时选择多个项目; MultSelect 属性 值为 2 时,可以用辅助键 Shift 或 Ctrl 选择多个项目。3 、常用方法: AddItem 方法表示添加的是一个项目,而 Removeitem 方法表示通过 删除索引的方式删除项目。 RemoveItem 索引 索引可以是数字 0、1 ,List1.listindex, 变量 i 。(6)组合框( Combo1):1 、 Style 属性: Style 属性值为 0 时,表示下拉式组合框; Style 属性值为 1 时, 表示下简单组合框; Style 属性值为
10、2 时,表示下拉式列表框。 其他功能类似列表框 (List1) 。(7)图片框和图像框 (Picture1 和 Image1):、图片框 (Picture1) :Autosize 属性值为 True 时,表示图片框大小随图片大小改变而改变; Autosize 属性值为 False 时,表示图片框只能部分显示大图片。2 、图像框 (Image1) : Stretch 属性为 True 时,图片大小随图像框的大小改变而改 变; Stretch 属性为 True 时,图像框的大小随图片大小的改变而改变。3、两种图形类型都可以按照下面这个方法加载图片: Picture1.picture=LoadPic
11、ture(App.Path &“ 图片名称 . 扩展名” )Image1.picture=LoadPicture(App.Path &“ 图片名称 . 扩展名” )如果要清楚图片:Picture1.picture=LoadPicture(“” )Image1.picture=LoadPicture(“” )注意 :如果使用 App.Path 方法需要先保存好窗体文件和工程文件到考生文件夹中。(8) 滚动条 (HScroll1) :1 、Max 和 Min 属性是分别表示滚动条的最大和最小刻度,刻度值用Value 属性值来表示: HScroll1.value 。2 、LargeC
12、hange 和 SmallChange 属性是分别表示移动滚动条上的左右箭头按钮的移 动量和移动滚动条上滚动框的移动量。3 、Scroll 和 Change 事件分别表示拖动滚动条上滚动框的操作和单击滚动条上箭头按 钮的操作。(9) 计时器 (Timer1) :1、Enabled 属性: Enabled 属性值为 True 时,表示计时器可以走动; 为 False 时,表示计时器停止走动;2 、 Interval 属性:是表示计时器运动的时间间隔,单位为毫秒。 Timer1.Interval=1000 。Enabled 属性值1 秒时间:3 、 Enabled 和 Interval 这两个属性
13、一般情况下需要一起使用。知识点 4:1) Visual Basic 常用函数的使用方法:1 、数学函数:换) 求平方根: Sqr(n) 求自然对数 Log(n) 求以 e 为底的幂值,1 n>0Sqn(n)= 0 n=0Rad()->X=Int(Rnd*(ln n log 78=log e8/log e7( 注意非 e 为底的对数需要如此转ex e x Exp(x)上界下界 +1)+ 下界(产生随机整数)、转换函数: Str(x)数值 x 转换成字符串 str(12.75)= ” 12.75 ” 这样转换 12.75 之前会多出一位。如果使用 Cstr(12.75)= ”12.75
14、 ” 这样转换 12.75 之前不会多出一位。 Val(x) 字 符 x 转 换 成 数 值 , 但 x 要 一 定 是 数 字 字 符 才 行 , Val( “12.75”)=12.75, 如果是含有其他字符 Val( “12.7ab ” )将无法转换。 chr(x) 返回以 x 为 Asccii 代码值的字符 chr(97)= ” a” ;Asc(x) 给出字 符 x 的 Asccii 代码值 Asc( “ A” )=65三种类型 ASCII 代码值转换:Asc( “ 0”)Asc( “9”)- 4857Asc( “A”)Asc( “ Z”)- 6590Asc( “ a”)Asc( “z”
15、)- 97122特殊情况: Asc( “ABC” )=65 只求第一个字符“ A”的 Ascii 代码值 Fix(x) 将数值型数据 x 的小数部分舍去 Fix(12.8)=12 Fix(-12.5)=-12;Int(x) 取小于等于 x 的最大整数 当 x>0 时,用法和 Fix 一样;当 x<0 时,Int(-12.3)= -13;Cint(x) 将数值型数据 x 的小数部分四舍五入 Cint(12.7)=13 Cint(12.3)=12但是有特殊情况: x 当 x 是偶数Cint(x.5)= x+1 当 x 是奇数3 、字符函数 Left(x,n) 从 x 字符串左边起取 n
16、 个字符 Left("ABCDEFG",3)="ABC" Right(x,n) 从 x 字符串右边起取 n 个字符 Right("ABCDEFG",3)="EFG" 。 Mid(x,n1,n2) 从字符串 x 左边第 n1 个位置开始向右起取 n2 个字符 Mid(x,n) 从字符串 x 左边第 n 个位置开始向右全部取 Mid("ABCDEFG",3,2)= "CD" Mid("ABCDEFG",3)= "CDEFG" Instr(n
17、,s1,s2) 从字符串 s1 的第 n 个位置起查找 s2 在 s1 中位置,如果 n 省略,则默认从字符串 s1 的第 1 个位置起查找 s2 在 s1 中位置 Instr(2,"ABCDEFG","CD")=3知识点 5:1 、运算符: 算术运算符运算符的优先级: > - > (* /) > > Mod > (+ -) 关系运算符< <= > >= = <> Like Is 运算符优先级相同 逻辑运算符运算符的优先级: Not > And > Or > Xor &g
18、t; Eqv 例题:(1) 表达式 4 + 5 6 * 7 / 8 Mod 9的值是 BA 4B. 5 C. 6 D. 7( 2) a=3 b=2 c=1求 Print a>b>c 的结果?首先 a>b 的结果是 true, 然后再 Print True>c 此时 True 需要转换 成 -1 再比较, Print -1>1 结果是 False ,所以整个输出结果是 False 。知识点 6:1 、交互函数的使用: InputBox 函数:A=InputBox(" 提示信息 "," 标题信息 "," 默认值或输入框
19、的值 ") 例题:(1) 执行下列语句后, 将显示输入对话框, 此时如果单击 “确定” 按钮, 则变量 strInput 的内容是 CstrInput=InputBox(" 请输入字符串 "," 字符串对话框 "," 字符串 ")A "请输入字符串 " B. " 字符串对话框 "C. " 字符串 " D. 空字符串 MsgBox 函数:MsgBox “提示信息” , 按钮类型值 + 图标类型值 +默认焦点值 , “标题信 息”A=MsgBox “提示信息” , 按钮
20、类型值 +图标类型值 +默认焦点值 , “标题信息”; A的值根据单击什么按钮有关, A的值在 1,7 之间取值。 比如:单击“确定” 按钮, A=1。例题:( 1)以上图形所表示的函数表达式为:MsgBox "请输入查询的学生学号: ", 3 + 32 + 256, "学生基本信息查询 "知识点 7:1 、选择结构语句( If 条件语句): 单分支条件语句:格式:If条件 Then语句块End If(称 If块语句)If条件 Then 只有一条语句(称 If条语句) 双分支条件语句:格式: If条件 Then 语句块 1ElseEnd If语句块 2
21、多分支条件语句If 条件 1 Then 语句块 1Elseif 条件 2 Then 语句块 2Else语句块 n End If其中,条件可以是:关系表达式 (a>5) 、逻辑表达式 (a>5 And c>4) 、变 量(i) 或常数 (0) 。例题:( 1) 下列程序段的执行结果为AX=5Y=-20 If Not x>0 Then x=y-3 Else Y=x+3End IfPrint x-y;y-xA. -3 3 B. 5 -8 C. 3 -3 D. 25 -25 以上题中的“条件”主要是逻辑表达式。( 2) 下列程序段的执行结果为BX=2Y=1If x*y<1
22、 Then y=y-1 Else y=-1Print y-x>0A. TrueB. False C. -1 D.1以上题中的“条件”主要是关系表达式。( 3) 下列程序段的执行结果为CDim x As IntegerIf x Then Print x Else Print x-1A. 1 B. 0 C. -1 D. 不确定 以上题中的“条件”主要是变量。2、选择结构语句( Select Case 语句):Select Case 测试表达式Case 表达式列表 1 语句块 1Case 表达式列表 2语句块 2。Case Else 语句块 nEnd Select 注意:测试表达式的类型只能是
23、数值数据或字符型,表达式列表的值只要第一个 符合测试表达式值的要求,就结束 Select Case 语句;表达式列表可以是三种结构或三种 混合结构:、 1 To 10 、 1,3,5,6,7,8、 Is>10 、 1,2,5,7,Is>10例题:( 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 Is<10 X=
24、30 Case 10 X=10 End Select Text2.text=xEnd Sub 程序运行后, 如果在文本框 Text1 中输入 10,然后单击命令按钮, 则在 Text2 中显示的内容是 AA. 10B. 20C. 30 D.403、选择结构语句( IIF 函数): 变量 =IIF( 条件,参数 1,参数 2) 其中,条件可以是:关系表达式 (a>5) 、逻辑表达式 (a>5 And c>4) 、变 量(i) 或常数 (0) 。执行过程:条件成立,变量的值就是“参数1”,否则变量的值就是“参数 2”。例题:(1) 设 a=6, 则执行语句: x=IIF(a>
25、;5,-1,0) 后, x 的值为 D A. 5B. 6C. 0D. -1知识点 8:1 、循环结构 For 循环变量 = 初值 To 终值 Step 步长 循环体If 条件 Then 语句 Exit ForEnd If Next 循环变量 注意:循环如果正常退出时 (没有执行 Exit For 语句) ,那么循环变量必须 要大于终值或等于终值 +步长。 Do While 条件 循环体LoopDo循环体Loop While 条件Do Until 条件 循环体 LoopDo循环体Loop Until 条件注意:左边上下两种循环是先判断条件后执行循环体,右边上下两种循环是不管条件成立与否都至少执行
26、一次; While 循环是条件成立执行循环体, Until 循环是条 件不成立执行循环体。例题:( 1) 下列程序段的执行结果为Bs=0:t=0:u=0For x=1 To 3 =1 To xFor yFor z=y To 3 s=s+1NextNext z t=t+1u=u+y1Next xPrint s;t;uC. 14 3 6 D. 16 4 3A. 3 6 14 B. 14 6 3分析:A 组语句和 B 语句都在 X循环内,并且是并列的,所以可以先计算B 组语句, A 组语句暂时不算,这样很容易求出u=u+1语句循环了三次,则 u=3; C组语句和 D语句都在 Y 循环内,并且是并列的
27、,所以可以先计算D组语句, C组语句暂时不算,这样也比较容易求出 t=t+1 语句循环了六次,则 t=6 ;然后再结合答案很快就能得出答案是选B。知识点 9:1 、数组: 数组的概念 等级考试主要考一维数组、二维数组和三维数组 ( 三维的只需知道数组 中可以存储多少数据即可 ) 。数组的格式: 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
28、 时,数组下标下界是从 1 开始。 数组分为:固定大小数组 : Dim a(10) As Integer动态大小数组 : Dim a() As Integer Redim a(10) Array 函数用法:为一个 变体型变量 创建一个数组。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属性
29、为 Command)1 , 然后编写如 下代码:Private Sub Command1_Click()Dim a(4,4) As IntegerFor i=1 To 4For j=1 To 4a(i,j)=(i-1)*3+jNext jNext iFor i=3 To 4For j=3 To 4Print aNext j(j,i)PrintNext iEnd Sub程序运行后,单击命令按钮,其输出结果为A. 6 9B. 7 10C. 8 11 D. 9 12B组语句输出结果是什么,然7 10 8 11 9 12 10 13 分析: 对循环和数组结合的问题,往往要先看后根据 B 组语句输出结果
30、代入到 A 组语句中求结果。a(3,3)a(4,3)a(3,4)a(4,4)B 组语句输出结果:9121013代入 A 组语句的结果:知识点 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=xx=t/yy=t Mod yEnd Sub在窗体上画一个命令按钮, 其名称为 Command,1 然后编写如下事件过程:Private Sub Command1_Click()Dim a As Single, b As Singlea=5:b=4S a,bPrint a,bEnd Sub程序运行后,单击命令按钮,输出结果为 C。A. 5 4 B. 1 1 C. 1.2
32、5 4 D. 1.25 1程序分析:首先形参 x 是地址传递方式,当 a 传递给 x 时,因此 a 与 x 拥有一个共 同存储空间,图形表示: ;形参 y 是值传递方式,当 b 传递给 y 时,因此 b 与 y 是两个不同 存储空间,图形表示: ;那么在过程 S中:运算 x=t/y 后, x=1.25 ,图形表示;因此 a的值 就是 1.25 ;运算 y=t Mod y 后, y=1 ,图形表示 : ,因为此时 b 和 y 存储空间不同,则不影 响 b 的值,则还是 4, 因此 Print a,b 的结果就是选择 C 答案。知识点 11:1 、菜单和鼠标事件 菜单编辑器的使用:注意:菜单中的标
33、题可以为空,但不论是第几级菜单名称必须唯一,且不能 为空。 鼠标事件(按下鼠标键事件过程)主要事件有: Form_MouseDown 、 Form_MouseUp 和 Form_MouseMove。现在以某个为例说明:Private Sub Form_MouseDown(ButtonAs Integer, Shift As Integer, XAs Single, Y As Single)End Sub上述事件过程不仅使用在窗体上 (Form_MouseDown), 还可以使用于大多数 控件上,包括命令按钮 (Command1_MouseDown或) 文本框 (Text1_MouseDown)
34、 等。以上鼠标事件过程的参数,含义如下:(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, Y As Single)If Button=1 Then按下鼠标左键PopUpmenu File 通过 PopUpmenu方法弹出菜单End If File 是一
35、级菜单的名称End Sub运行效果 :2 、公共对话框 ( 又称通用对话框 ) 通用对话框是我们考试中唯一一个控件箱中没有的控件, 需要我们自己添 加的,添加的方法是在“工程”菜单的“部件”项中选择“ Microsoft Common Dialog Control 6.0 ”后,才会在控件箱中出现通用对话框图标。 通用对话框图形根据以上图形,相应的程序代码如下:注意: CommonDialog.FilterIndex = 索引 (索引是从 1 开始)知识点 12:1、文件 文件包括三种:顺序文件、随机文件和二进制文件 顺序访问:文件中数据是以 ASCII 码存储的。 随机访问:文件长度记录是
36、固定不变 的,数据类型可以不同,数据以二 进制方式存储在文件中, 可以任意时候,任意地方访问 。 二进制访问:必须知道数据是如何写入文件的。 如果源文件是字符类型,那么读写文件如下所示: 读文件的格式:文件名 (In.txt)" For Input As #文件号 (#1)Do while Not Eof(文件号 )Input #文件号 , 变量文件号LoopClose #写文件格式:文件名 (Out.txt)" For Output(Append) As # 文件号 (#1)Print # 文件号 , 变量Close #文件号注意:当写文件以 Output 方式时, 原来
37、的文件内容将被覆盖; 当写文件以 Append 方式时,新的文件内容将被添加到文件尾部; 如果源文件是数值类型,那么读写文件如下所示:Dim a(10) As Integer文件名 (In.txt)" For Input As # 文件号 (#1)For i=1 To 10Input # 文件号 ,a(i)Next iClose #文件号写文件格式:文件名 (Out.txt)" For Output(Append) As # 文件号 (#1)For i=1 To 10Print # 文件号 ,a(i)Next iClose #文件号例题:( 1)在 考 生 文 件 夹 下
38、有 文 件 in5.txt , 文 件 中 有 字 符 串 “0&1%$s#2&3!45u6ydf7ff8|9er ”。请在 Forml 的窗体上画一个文本框,名称为 Text1 , 能显示多行;在画一个命令按钮,名称为 Cl ,标题为“存盘” 。编写适当的事件过程,使得 在加载窗体时, 把 in5.txt 文件的内容中 数字字符 显示在文本框里。 然后单击 “存盘” 按钮, 把文本框中的内容存到文件 out5.txt 中。如图所示:根据题目要求,所编写程序如下:( 2) 在考生文件下有文件 in.txt ,文件有 10 个数据: 123 521 362 821 400 300
39、 710 990 120 500. 请在 Forml 的窗体上画一个文本框,名称为Text1 ,能显示多行;在画一个命令按钮,名称为 Cl ,标题为“存盘” 。编写适当的事件过程,使得在加载窗体时,把 in5.txt 文件的内容显示在文本框里,然后统计 10 个数的最大数、最小数和它们的和,并 把最大数、最小数和它们的和写到“ out.txt ”文件中。如图所示:根据题目要求,所编写程序如下:Dim 8(10) As Integer, max As IrrtEgET, min As IntERer, gum As Long Private Sub Commandl_Click()Open Ap
40、p. Path & out. txtx,For Output As #2Print #2, max, min, sumClose #2End SubPrivate Sub Form_Load()Dim i As IntegerOpen App. Path & "In. For Input As #1Eor i = 1 To 10 Input #1 a(i)Text1Text = Textl.Text & a(i) & Space(1) Nd: iClose #1For i = 1 To 10max = a(l): min = a(l) If a(i)
41、> max Then max = a(i)End IfIf a(i) < min Then min = a(i)End If.sum = sum + a(i)Next iEnd SubVisual Basic 程序设计基础知识要点(程序设计篇) 全国计算机等级考试中常用的程序编程部分:一、求最大数、最小数、求和以及求平均数二、求阶层三、求最大公约数四、求素数五、求水仙花数(拆数法)六、排序(选择排序、直接插入排序和冒泡排序)七、字符操作1、字符串取反(反向输出字符串)2、判断字符串中的某个字符是否为字母3、统计每类字符的个数八、矩阵求法(二维数组)九、文件读写操作1、 字符型读写操
42、作2、 数值型读写操作九大问题具体例子分析: 一、求最大数、最小数、求和以及求平均数 例题:随机产生 10个两位整数 ,并存入数据 a中,然后分别求 10 个元素中的 最 大数、最小数 、求 10个元素之和 以及它们的 平均数 。Private Sub Command1_Click()Dim a(10) As Integer, i As Integer, Max As Integer, Min As IntegerDim Sum as Integer, Avg As SingleSum=0For i= 1 To 10a(i)=Int(Rnd*90)+10'产生 1099 之间的随机整数
43、Next iMax=a(1):Min=a(1)For i= 1 To 10'假设最大数和最小数If Max<a(i) Then Max=a(i)End If'求最大数If Min>a(i) Then Min=a(i) Then End if'求最小数Sum=Sum+a(i)'求和Next iAvg=Sum/10Print “最大数:” ;Max;最小数:'求平均数” ;Min; “和:”;Sum; “平均数:”;AvgEnd Sub二、求阶层例题:求 10! .Private Sub Command1_Click() Dim Sum As L
44、ong, i As Integer Sum=1For i= 1 To 10Sum=Sum*iNext iPrint10!= ” ;SumEnd Sub三、求最大公约数 例题:求 M和 N 两个数的最大公约数。Private Sub Command1_Click()Dim M As Integer, N As Integer, R As Integer M=36:N=24DoR=M Mod NM=NN=RLoop While R<>0'或 Loop Until R=0Print“ M和 N 的最大公约数为:”; MEnd Sub四、求素数例题:求 100200 之间的所有素数
45、 , 并按每行 5 个元素格式输入所有素数。 Private Sub Command1_Click()Dim n As Integer ,i As Integer j As IntegerFor n = 100 To 200For i = 2 To n-1' n-1 可以是 n/2, 也可以是 Sqr(n) 形式If n Mod i =0 Then Exit ForNext iIf i>n-1 Thenj=j+1 '统计素数个数Print n;If j Mod 5 =0 Then Print'输出 5 个数换行End IfNext nEnd Sub五、求水仙花数(
46、拆数法)例题:求 100999 之间的所有水仙花数,并将所有水仙花数在文本框中显示。 所谓水仙花数:即 153=13+53+33 条件成立。方法 1:(数值型:使用运算符 Mod 和 )Private Sub Command1_Click()Dim i As Integer ,a As Integer ,b As Integer ,c As IntegerFor i = 100 To 999a=i100'取百位数b=i10 Mod 10'取十位数c=i Mod 10'取个位数If i=a3+b3+c3 ThenText1.Text=Text1.Text & i
47、& Space(2)End IfNext iEnd Sub方法 2:(字符型:使用函数 Mid、 Val 和 CStr )Private Sub Command1_Click()Dim i As Integer ,a As Integer ,b As Integer ,c As IntegerFor i = 100 To 999a= 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 ThenText1.Text=Text1.
48、Text & i & Space(2)End IfNext iEnd Sub六、排序问题例题:随机产生 10个两位整数 ,并存入数据 a中,然后将这 10 个元素从小到 大排序(或从大到小) , 并将排序号的数组显示在文本框中。方法 1:选择排序Private Sub Command1_Click()Dim a(10) As Integer, i As Integer, j As Integer ,temp As IntegerFor i= 1 To 10a(i)=Int(Rnd*90)+10Next iFor i= 1 To 9For j = i+1 To 10If a(i)
49、>a(j) Then temp=a(i) a(i)=a(j) a(j)=tempEnd If'产生 1099 之间的随机整数'比较 n-1 轮'每一轮比较几次'从大到小: a(i)<a(j)Next jNext iFor i =1 To 10 Text1.Text=Text1.Text & a(i) & space(2)Next iEnd Sub 方法 2:直接插入排序 Private Sub Command1_Click()Dim a(10) As Integer, i As Integer, j As Integer ,temp
50、As IntegerDim Pointer As IntegerFor i= 1 To 10 a(i)=Int(Rnd*90)+10Next iFor i= 1 To 9Pointer=iFor j = i+1 To 10'产生 1099 之间的随机整数'比较 n-1 轮'每一轮比较几次If a(Pointer)>a(j) Then Pointer=jNext jIf i <> Pointer Thentemp=a(i)a(i)=a(j)a(j)=tempEnd IfNext iFor i =1 To 10Text1.Text=Text1.Text &
51、amp; a(i) & space(2) Next iEnd Sub方法 1:冒泡排序Private Sub Command1_Click()Dim a(10) As Integer, i As Integer, j As Integer ,temp As IntegerFor i= 1 To 10 a(i)=Int(Rnd*90)+10 '产生 1099 之间的随机整数Next iFor i= 1 To 9 '比较 n-1 轮 For j = 1 To 10-i'每一轮比较几次If a(j)>a(j+1) Then'从大到小: a(i)<a
52、(j)temp=a(j)a(j)=a(j+1) a(j+1)=tempEnd IfNext jNext iFor i =1 To 10Text1.Text=Text1.Text & a(i) & space(2)Next iEnd Sub 七、字符操作 1 、字符串取反 例题:在文本框中输入一个字符串,比如:ABCDEFG,H然后反向输出,结果为:HGFEDCB。APrivate Sub Command1_Click()Dim s As String ,n As Integer ,i As Integer n=Len(Text1.Text )For i = n To 1 Ste
53、p-1' For i = 1 To ns = s + Mid(Text1.Text,i,1) ' s = Mid(Text1.Text,i,1) + s Next iPrint sEnd Sub2、判断字符串中的某个字符是否为字母 例题:在文本框中输入一个字符串,比如:A$4Ch&*Fiy%41H,输出字符串中的所有字母,结果为: A4ChFiyH。Private Sub Command1_Click()Dim s As String ,n As Integer ,i As Integer ,c As Stringn=Len(Text1.Text )For i = 1
54、To nc=Mid(Text1.Text,i,1)If c >= "A" And c<= "Z" Or c >= "a" And c<= "z" ThenEnd IfNext iPrint sEnd Sub3、统计每类字符的个数 例题:在文本框中输入一个字符串,比如:A$m4Ch&*F13iy%p41H,请分别统计出大写字母、小写字母、数字字符和其他字符的个数。Private Sub Command1_Click()Dim n As Integer ,i As Integer ,c
55、As StringDim n1 As Integer ,n2 As Integer ,n3 As Integer ,n4 As Integern=Len(Text1.Text )For i = 1 To nc=Mid(Text1.Text,i,1)Select Case cCase "A" To "Z"n1 = n1 + 1Case "a" To "z"n2 = n2 + 1Case "0" To "9"n3 = n3 + 1Case Elsen4 = n4 + 1End S
56、electNext iPrint" 大写字母个数: " ;n1;" 小写字母个数: " ; n2 ;"数字字符个数:";n3;"其他字符个数: " ;n4End Sub八、矩阵(二维数组)四种矩阵的算法: (图形表示)对比图图 图 图 图 例题:有一个 4 行 4列二维数组,现随机生成 16 个两位整数,并将它们存入到二维数 组中,现根据以上四种图形分别求主对角线、副对角线、外圈数据以及内圈数据之和。第一种矩阵算法: (主对角线)Private Sub Command1_Click()Dim a(4,4) As Integer ,i As Integer ,j As IntegerDim sum As IntegerFor i = 1 To 4For j= 1 To 4a(i,j) = Int(Rnd*90) + 10Next jNext iFor i = 1 To 4For j= 1 To 4If i = j Then' 行下标和列下标相同sum = sum + a(i,j)End IfNext jNext iPrint "主对角线数据之和 " ; sumEnd Sub第二种矩阵算法: (副对角线)Pr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服装店铺店长培训
- 2025机械设备租赁合同样本常用
- 翼状胬肉手术护理
- 2025合同协议电子产品分期付款合同调整
- 2025企业经营借款担保合同
- 2025仓储空间的租赁合同
- 2025年浙江货运从业资格证考试模拟考试题库
- 2025年桂林资格证模拟考试
- 2025年宁夏货运从业资格证模拟考试0题答案解析
- 数据通讯专业试题及答案
- 【含答案】高处安装、维护、拆除理论考试200题
- 太极拳文化与养生智慧树知到期末考试答案章节答案2024年宁波财经学院
- 2024年开封大学单招职业适应性测试题库及答案解析
- 电子税务局出口退税在线申报操作(生产企业)
- 个人价值倾向测试题附有答案
- (2023)四年级科学质量监测试题
- 自然常数e的意义与计算
- 糖尿病眼部护理课件
- (课件)文题5【乡情】
- 如何培养严重精神障碍患者的社交技能和人际交往能力
- 护工病房护理培训:针对病房环境中的护理工作的专项培训课件
评论
0/150
提交评论