全国计算机等级考试二级VB复习资料与考试要点_第1页
全国计算机等级考试二级VB复习资料与考试要点_第2页
全国计算机等级考试二级VB复习资料与考试要点_第3页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Visual Basic程序设计基础知识要点(概念分析篇)知识点1:(1)在工程资源管理器窗口中可以包含:工程文件、窗体模块文件、 标准模块文件和类模块文件(其中可以包含许多各种文件类型)(2)Visual Basic 应用程序可以以解释方式执行和编译方式执行。 例题:(1)以下叙述中错误的是_jAA .在工程资源管理器窗口中只能包含一个工程文件及属于该工 程的其他文件。B .以.bas为扩展名的文件是标准模块文件。C .窗体文件包含该窗体及其控件的属性。D .一个工程中可以有多个标准模块文件。(2)以下叙述中错误的是_CA .打开一个工程文件时,系统自动装入与该工程有关的窗体、 标准模块等文

2、件。B .保存Visual Basic 程序时,应分别保存窗体文件及工程文 件。C . Visual Basic 应用程序只能以解释方式执行。D .事件可以由用户引发,也可以由系统引发。知识点2:(1)窗体和各种控件的名称(Name是唯一的,用来标识一个窗体 或控件的。而窗体和控件的标题是用来说明的,是可有可无的。(2) 各种控件之间有部分相同的属性,并不是拥有所有属性。控件 有些属性只能在属性窗口中设置,但也有少数属性只能在代码 状态设置。(3) Forml.Hide方法和Unload Forml方法的区别:第一个方法窗体消失并不存在于内存中;第二个方法窗体消失但仍存在于内 存中。例题:(1

3、)以下叙述中正确的是 AA .窗体的Names性指定窗体的名称,用来标识一个窗体。 B .窗体的Namei性的值是显示在窗体标题栏中的文本。C .可以在运行期间改变对象的 Name!性的值。D .对象的Name!性值可以为空(2)以下叙述中错误的是 CA.Visual Basic是事件驱动型可视化编辑工具。B.Visual Basic应用程序不具有明显的开始和结束语句。C.Visual Basic工具箱中的所有控件都具有 Width和Height属性。D.Visual Basic中控件的某些属性只能在运行时设置。知识点3:(1)标签(Label1):Autosize的True属性可以自动调整标

4、签的大小,而False属性不能(2)文本框(Textl):1、Maxiength属性表示文本框所能容纳的字符数。2、Password属性表示口令输入,可以是“ *”或“? ”等。 设置文本框输入字符为“ *”: Textl.Password二” *” ,还原文本框字 符:Text1.Password= ” ,3、 ScrollBars属性是表示文本框有垂直或水平滚动条,但 是需要和多行属性Multiline 结合一起使用。4、SelLe ngth属性是表示选中文本框中字符的个数:Text1.SelLength。SelStart属性是表示选中文本框中字符或光标之 前的字符数:Text1.SelS

5、trart 。SelText属性是表示选中文本框中 的字符:Text1. SelText 。5、文本的主要事件是Change事件:(标签内容随文本框内容 变化而变化)Private sub Text1_Cha nge()Label1.capti on=Text1.textEnd sub6、文本框的方法只有一个:Text1.SetFocus例题:(1) 能够获得一个文本框中被选取文本的内容的属性是CA . Text B. SelLength C. SelText D. SelStrart(2) 在窗体上画一个文本框(其名称为Text1)和标签(其名称为 Label1)。要求程序运行后,如果在文本

6、框中输入字符,则立即在标 签中显示相同的内容。以下可以实现上述操作的事件过程是AA Private Sub Text1_Change()B.Private SubText1_Click ()Label1.caption=Text1.TextLabel1.caption=Text1.TextEnd Sub End SubCPrivate SubLabel1_Change()D. Private SubLabel1_Click ()Label1.caption=Text1.TextLabel1.caption=Text1.TextEnd Sub( 3)命令按钮 (Command1):1 、Defa

7、ult 属性:当一个命令按钮的 Default 属性为 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

8、可以用,但 Check1.Value=True 不可用(因为 True 只能转化数值 1而不是 1)。( 5)列表框 (List1):1 、List 属性是一个数组型属性: List1.List( 索引) ,索引可以是数字0、1丄istl.listindex, 变量i ( Listl.Text 等同于 List1.list(List1.listindex)。2、 MultSelect 属性:用来设置一次可以多选表项数。MultSelect 属性值为 0 时,每次只能选择一项; MultSelect 属性值 为 1 时,可以同时选择多个项目; MultSelect 属性值为 2 时,可以 用辅助

9、键 Shift 或 Ctrl 选择多个项目。3 、常用方法: AddItem 方法表示添加的是一个项目,而Removeite m方法表示通过删除索引的方式删除项目。Removeitem索引 索引可以是数字0、1丄istl.listindex,变量i。( 6)组合框( Combo1):1 、 Style 属性: Style 属性值为 0 时,表示下拉式组合框;Style 属性值为 1 时,表示下简单组合框; Style 属性值为 2 时,表 示下拉式列表框。其他功能类似列表框 (List1) 。( 7)图片框和图像框 (Picture1 和 Image1):1 、图片框 (Picture1) :

10、Authorize 属性值为 True 时,表示 图片框大小随图片大小改变而改变; Authorize 属性值为 False 时, 表示图片框只能部分显示大图片。2 、图像框 (Image1):Stretch 属性为 True 时,图片大小随 图像框的大小改变而改变; Stretch 属性为 True 时,图像框的大小 随图片大小的改变而改变。3、两种图形类型都可以按照下面这个方法加载图片:称.扩展名”)Image1.picture=LoadPicture(App.Path & “ 图片名称. 扩展名”)如果要清楚图片:Picture1.picture=LoadPicture(“” )

11、Image1.picture=LoadPicture( “” )注意:如果使用App.Path方法需要先保存好窗体文件和工程 文件到考生文件夹中。(8)滚动条(HScrolll):1、Max和Min属性是分别表示滚动条的最大和最小刻度,刻度值用Value属性值来表示:HScroll1.value 。2 、LargeChange和SmallChange属性是分别表示移动滚动条上的左右箭头按钮的移动量和移动滚动条上滚动框的移动量。3 、Scroll和Change事件分别表示拖动滚动条上滚动框的操作和单击滚动条上箭头按钮的操作。:卑击飆产生: rhang已事牛,- 知陶JidHah制重:单去魚現框两

12、嵯:白旌产生: : :*牛稔动::.:/:(9)计时器(Timer1):1、Enabled属性:Enabled属性值为True时,表示计时器可以走动;Enabled属性值为False时,表示计时器停止走动;2 、Interval属性:是表示计时器运动的时间间隔,单位为毫秒。1 秒时间:Timerl.Interval=1000 。3 、Enabled和Interval这两个属性一般情况下需要一起使用。 知识点4:(1) Visual Basic 常用函数的使用方法:1 、数学函数:求平方根:Sqr( n) 求自然对数 Log(n) In n log 78=log e8/log e7(注意非 e

13、为底的对数需要如此转换)求以e为底的幕值,ex ex Exp(x)1 . n>0 Sqn(n)二 0n=0-1n<0 Rad()->X=I nt(R nd*(上界一下界+1)+下界(产生随机整数)2 、转换函数: Str(x) 数值 x 转换成字符串 str(12.75)=” 12.75这样转换12.75之前会多出一位。如果使用 Cstr(12.75)= ”12.75 ” 这样转换12.75之前不会多出一位。 Val(x) 字符x转换成数值,但x要一定是数字字符 才行,Val( “ 12.75 ”)=12.75,如果是含有其他字符 Val( “ 12.7ab ”) 将无法转换

14、。 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” )-97122特殊情况:Asc( “ ABC )=65 只求第一个字符“ A”的Ascii代码值 Fix(x) 将数值型数据x的小数部分舍去Fix(12.8)=12 Fix(-12.5)=-12;Int(x)取小于等于x的最大整数当x>0时,用法和Fix 一样;

15、当x<0 时,Int(-12.3)= -13;Cint(x)将数值型数据x的小数部分四舍五入Cint(12.7)=13Cin t(12.3)=12但是有特殊情况:_ x当x是偶数Cin t(x.5)=x+1当x是奇数3 、字符函数 Left(x , n)从x字符串左边起取n个字符Left("ABCDEFG",3)="ABC"Right(x, n) 从 x 字符串右边起取 n 个字符Right("ABCDEFG",3)="EFG"。取n2个字符Mid(x,n)从字符串x左边第n个位置开始向右全部取Mid(&qu

16、ot;ABCDEFG",3,2)="CD"Mid("ABCDEFG",3)= "CDEFG" Instr(n,s1,s2) 从字符串si的第n个位置起查找s2在si中位置,如果n省略,则默认从字符串si的第1个位置起查找s2在si中位置In str (2,"ABCDEFG","CD")=31、运算符:算术运算符运算符的优先级:八 > -> (* /) > > Mod >(+ -)关系运算符< <=>>=<> Like I

17、s运算符优先级相同逻辑运算符运算符的优先级:Not > And > Or > Xor > Eqv例题:(1) 表达式4 +5 6 * 7 / 8 Mod9 的值是 B知识点5:A.4B. 5 C. 6 D. 7(2) a=3 b=2 c=1 求 Print a>b>c 的结果?首先a>b的结果是true,然后再PrintTrue>c此时True需要转换成-1再比较,Print -1>1结果是False , 所以整个输出结果是False。知识点6:1、交互函数的使用: In putBox 函数:A=InputBox("提示信息&qu

18、ot;,"标题信息","默认值或输入框的值")例题:(1) 执行下列语句后,将显示输入对话框,此时 MsgBox 函数:MsgBox“提示信息”,按钮类型值+图标类型值+如果单击“确定”按钮,则变量 strl nput的内容是 CstrI nput二 In putBox("请输入字符串","字符串对话框","字符串")A."请输入字符串"B."字符串对话框”C."字符串"D.空字符串默认焦点值,“标题信息”A= MsgBox“提示信息”,按钮类型

19、值+图标类型值+默认焦点值,“标题信息”;A的值根据单击什么按钮有关,A的 值在1,7之间取值。比如:单击“确定”按钮, A=1。例题:(1)以上图形所表示的函数表达式为:MsgBox"请输入查询的学生学号:",3 + 32 + 256,"学生基本信息查询"知识点7:1 、选择结构语句(If条件语句):单分支条件语句:格式:If 条件The n语句块EndIf(称If块语句) If 条件 The n只有一条语句(称If条语句)双分支条件语句:格式:If 条件Then语句块1Else语句块2End If多分支条件语句If条件1 The n语句块1Elsei

20、f条件2 Then语句块2o o o o o oElse语句块nEnd If其中,条件可以是:关系表达式(a>5)、逻辑表达 式(a>5 And c>4)、变量(i)或常数(0)。例题:(1) 下列程序段的执行结果为 _AX=5Y=-20If Not x>0 The nx=y-3ElseY=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 Then y=y-1 Else y=-1Print y-x>0A

21、. True B. False C. -1D.1以上题中的“条件”主要是关系表达式。(3) 下列程序段的执行结果为CDim x As In tegerIf x Then Print x Else Print x-1A. 1 B. 0C.-1D.不确定以上题中的“条件”主要是变量。2、选择结构语句(Select Case 语句):Select Case 测试表达式Case 表达式列表1语句块1Case 表达式列表2语句块2O O O O O。Case Else语句块nEnd Select注意:测试表达式的类型只能是数值数据或字符型,表达式列表的值只要第一个符合测试表达式值的要求,就结束Selec

22、tCase语句;表达式列表可以是三种结构或三种混合结构:、1 To 10、1,3,5,6,7,8、Is>10、1,2,5,7,ls>10例题:(1)在窗体上画一个名称为 Comma nd的命令按钮和两个名称分别为Text1和Text2的文本框,然后编写如下事件过程:Private Sub Comma nd1_Click()n=Text1.textSelect Case nCase 1 T10X=10Case 2,4,6X=20Case ls<10X=30Case 10X=10End SelectText2.text=xEnd Sub程序运行后,如果在文本框Text1中输入10

23、,然后单击命令按钮,则在Text2中显示的内容是_AA. 10B. 20C. 30D.403、选择结构语句(IIF函数):变量=IIF(条件,参数1,参数2)其中,条件可以是:关系表达式(a>5)、逻辑表达式(a>5 And c>4)、变量(i)或常数(0)。执行过程:条件成立,变量的值就是“参数1”,否则变量的值就是“参数2”。例题:(1)设a=6,则执行语句:x=IIF(a>5,-1,0) 后,x的值为DA. 5 B. 6 C. 0 D.-1For循环变量=初值To 终值Step 步长 循环体If条件The n语句Exit ForEnd IfNext循环变量注意:循

24、环如果正常退出时(没有执行Exit For语句), 那么循环变量必须要大于终值或等于终值循环体步长。 Do While 条件 Loop While 条件循环体LoopDo Un til 条件循环体Do循环体Loop Un til 条件Loop注意:左边上下两种循环是先判断条件后执行循环体,右边上下两种循环是不管条件成立与否都至少执行一次;While循环是条件成立执行循环体,Un til循环是条件不成立执行循环体。 例题:(1)下列程序段的执行结果为Bs=0:t=0:u=0For y=1 To x瑜 Z=y To 3 八 lj=s+1Next zNext yu=u+1Next xPrint s;

25、t;uA.3 6 14 B. 14 6 3 C. 14 3 6 D.16 4 3分析:A组语句和B语句都在X循环内,并且是并列的,所以可以先计算B组语句,A组语句暂时不算,这样很容易求出u=u+1 语句循环了三次,则u=3; C组语句和D语句都在丫循环内,并且是 并列的,所以可以先计算 D组语句,C组语句暂时不算,这样也比较 容易求出t=t+1语句循环了六次,则t=6 ;然后再结合答案很快就能 得出答案是选B。知识点9:数组的概念(三维的只需知道数组中可以存储多少数据即可 )。数组的格式:a(2,3 To 7,-1 To 2),那它的存储空间大小计算:每一维用上界 -下界+1 计算,例如(2-

26、0+1)*(7-3+1)*(2-(-1)+1)=3*5*4=60。数组的下标下界是根据语句 Option Base n来决 定:当n=0时,数组下标下界是从0开始;当n=1时,数组下标下界 是从1开始。数组分为:固定大小数组:Dim a(10) AsIn teger动态大小数组:Dim a() As IntegerRedim a(10) Array函数用法:为一个 变体型变量创建一个数 组。Dim a as Varia nta=Array(1,2,3,4,5)因 此:a(0)=1a(1)=2a(2)=3a(3)=4a(4)=5注意:如果数组被定义为一下三种类型,(1)数 值型(2)字符型(3)

27、逻辑型,则它们初始化的数组元素数值分别 为:0、空字符串和False。例题:Commanc),然后编写如下代码:Private Sub Comma nd1_Click()Dim a(4,4) As In tegerFor i=1 To 4or j=1 To 4'a(i,j)=(i-1)*3+jNext jNext iFor i=3 To 4For j=3 To 4B pri nt a(j,i)Next jPrintNext iEnd Sub程序运行后,单击命令按钮,其输出结果为D。A. 6 9 B. 7 10 C. 87 108 1191210 13分析:对循环和数组结合的问题,往往要

28、先看 B组语句输出结果是什么,然后根据B组语句输出结果代入到A组语句中求结果组语句输a出结果:3)a(4,4)代入A组语知识点10:句的结果:121013a(3,4)1、过程与函数:过程与函数的参数类型有:实参和形参;传递方式 有:值传递和地址传递。 以下程序中,x,y为实参;a,b为形参注意:实参要与形参的类型、个数要相同。在形参a,b之前如果加上关键字 ByVai,那么就是值传递;如果加上关键字 ByRef或不加关键字,那么就是地址传递。过程调用方式有两种:Call S)或S (Swap是过程'实现两个数的交换功能Private Sub Commandl_C1 ick()Dim x

29、 As IntegBr, y As Integerx 二:甘二 20_Print X,y En£ SubDim t is Integera = bEndPrivate Sub StArapfk As Ititeger, As Integer)地址传递方式注意:只有地址传递方式才能实现交换功能,值传递方式x,y的值不变。当有事件过程和通用过程一起运行时,先执行事 件过程(Comma nd_Click)。例题:(1) 假定有如下的Sub过程:Sub S(x As Si ngle,ByVal y as Si ngle)t=xx=t/yy=t Mod yEnd Sub在窗体上画一个命令按钮,

30、其名称为Comma nd1然后编写如下事件过程:Private Sub Comma nd1_Click()Dim a As Sin gle, b As Si nglea=5:b=4S a,bPrint a,bEnd Sub程序运行后,单击命令按钮,输出结果为C A. 5 4 B. 1 1 C. 1.25 4 D.程序分析:因此a与x拥有一个共同存储空间,图形表示:;形参y是值传递方式,当b传递给y时,因此b与y是两个不同存储空间,图形表示:;那么在过程S中:运算x=t/y后,x=1.25,图形表示;因此a的值就是1.25 ;运算y=t Mody后,y=1,图形表示:斗卜觀制縉y |,因为此时b

31、和y存储空间不同,则不影响b的值,则还是4,因此Print a,b 的结果就 是选择C答案。知识点11:、菜单和鼠标事件菜单编辑器的使用:注意:菜单中的标题可以为空,但不论是第几级菜单名称必须唯一,且不能为空 鼠标事件(按下鼠标键事件过程)主要事件有:Form_MouseDown Form_MouseUp 和 Form_MouseMove现在以某个为例说明:PrivateSub Form_MouseDown(ButtonAs Integer,Shift As Integer, X As Single, Y As Single)End Sub 上述事件过程不仅使用在窗体上(Form_MouseD

32、ow n)还可以使用于大多数控件上,包括命令按钮 (Command1_MouseDoW或)文本框(Text1_MouseDown等。以上鼠标事件过程的参数,含义如下:(1)Button 有值 1、2 和 4,分别表示按下左键、 右键和中建;(2) Shift表示 Shift 、 Ctrl 和 Alt 键的状态, 其值分别是 1、2 和 4;(3)X, Y 表示鼠标光标的坐标位置 弹出式菜单(菜单和鼠标事件的结合使用)PrivateSub Form_MouseDown(ButtonAs Integer,Shift As Integer, X As Single, Y As Single)If B

33、utton=1 Then按下鼠标左键FilePopUpmenu通过 PopUpmenu方法弹出菜单End If'File是一级菜单的名称End Sub运行效果:2、公共对话框(又称通用对话框)通用对话框是我们考试中唯一一个控件箱中没有的控件,需要我们自己添加的,添加的方法是在“工程”菜单的“部件”项中选择“ Microsoft Com mon Dialog Co ntrol 6.0 ”后,才会在控件箱中出现通用对话框图标通用对话框图形根据以上图形,相应的程序代码如下:lJrivate Sub Cornnaiid 1_C1 i ck ()ConononDi ulogl. DialagTi

34、 tlw亍'"扌幵建用对话世一ConimorDi al ogl + Ft 1 eName 二:垫屯 l.Ft" ,* “ ,、,、CnnnnajTClizxlDgLT Hi 1 ter ="所有文件 |+T + IWardlXn件 |+ dniz I丈丰文件 CarnTDorDialogl. FllTerlndez 二 3CtnmDorDialofl, InitDlr = *D: *CulUIUulJ?! ol Dl . SJlcAMOpdi ' S'-jffiCullitHJljDi alutjl A'. '. 1 uli

35、l:遵用吐话華圭弄育岡独打?f恋件对话框和保存文件对话獰.以上是“打开文件对" r :理果足倔存夬件.甘话框貝j£ConuDonCi al gl. ShowOpen改掬CdinmcnDmcigl = ShowSave, '或把ComrrcinDi alziei. Action=lSfcConinonDialcgl. Action=2HP可:End Sub注意:CommonDialog.Filterlndex =索引(索引是从1开始)知识点12:1、文件文件包括三种:顺序文件、随机文件和二进制文件 顺序访问:文件中数据是以 ASCII码存储的。 随机访问:文件长度记录

36、是 固定不变的,数据类型可以不同,数据以二进制方式存储在文件中,可以任意时候,任意地方访问。 如果源文件是字符类型, 那么读写文件如下所示:读文件的格式:#文件号 (#1)Do while Not Eof(Input #文件名 (In.txt)" For Input As 文件号)文件号 , 变量LoopClose #文件号写文件格式:OpenApp.Path & 文 件 名 (Out.txt)" ForOutput(Append) As # 文件号 (#1)Print #文件号 , 变量Close #文件号注意:当写文件以 Output 方式时, 原来的文件内容

37、将被覆盖;当写文件以 Append 方式时,新的文件内容将被添加到文 件尾部; 如果源文件是数值类型, 那么读写文件如下所示: Dim a(10) As IntegerOpenApp.Path & 文件名 (In.txt)" For Input As#文件号 (#1)For i=1 To 10In put #文件号,a(i)Next iClose #文件号写文件格式:OpenApp.Path & 文件名(Out.txt)" ForOutput(Append) As # 文件号倂 1)For i=1 To 10Print # 文件号,a(i)Next iClo

38、se #文件号例题:(1)在考生文件夹下有文件in 5.txt ,文件中有字符串 “0& 1%$s#2&3!45u6ydf7ff8|9er ”。请在 Forml 的窗体上画一个文本框,名称为Text1,能显示多行;在画一个命令按钮,名称为Cl,标题为“存盘”。编写适当的事件过程,使得在加载窗体时,把in5.txt文件的内容中数字字符显示在文本框里。然后单击“存盘” 按钮,把文本框中的内容存到文件 out5.txt中。如图所示:根据题目要求,所编写程序如下:Private Sub ComnandljClick 0Open App, Path & ?out.十kF For

39、Output As #2Print #2j Textl. TexiClose #2End SubPrivatE Sub 氏皿丄口胡。Dim s As StringDim n As Integer, 1 As Integer, c As String Open App. Path & "In. For Input As #1 Do While Not EOF(l)Input #1, sLoopClose #1ri - Lents)for 1 = 1 To nc = IffidG, i, 1)If c >=时 And c <=分 ThenTeitl. Text 二 T

40、extl. Tett + cEnd IfHext iEnd Sub(2)在考生文件下有文件in.txt,文件有10个数据:123 521 362 821 400 300 710 990 120 500. 请在 Forml 的窗体上 画一个文本框,名称为Text1,能显示多行;在画一个命令按钮,名 称为Cl,标题为“存盘”。编写适当的事件过程,使得在加载窗体时, 把in5.txt文件的内容显示在文本框里,然后统计10个数的最大数、 最小数和它们的和,并把最大数、最小数和它们的和写到“out.txt ” 文件中。如图所示:根据题目要求,所编写程序如下:Dim a(10) As_Integer, m

41、ay As Integer. inirL-As Integer. 211m As Lona Private Sub Conoandl_Click()Open top. Path 風"Wut.txT” For Output As #2Frint 吃 口氓 min, sumCLose #2£迪Private Sub Forni_Laad ()Dim l As IntegerOpen App. Path & "1口七謳十"For Input As #1For i. = 1 To 10Input #1a(i)Teiitl. Test = Textl. T

42、ext & a(i) &. Spa.ce (1)Nezt iClose #1For i = 1 Ta 10 .maz = n:min = a1-1)I£ ati) > max Thenmax - a(i)End IfIf a(i) < min The口min = a(i)End If.sum = sum + a(i)Me)ft iEnd SubVisual Basic程序设计基础知识要点(程序设计篇)全国计算机等级考试中常用的程序编程部分:一、求最大数、最小数、求和以及求平均数二、求阶层三、求最大公约数四、求素数五、求水仙花数(拆数法)六、 排序(选择排序

43、、直接插入排序和冒泡排序)七、 字符操作1、字符串取反(反向输出字符串)2、判断字符串中的某个字符是否为字母3、统计每类字符的个数八、 矩阵求法(二维数组)九、 文件读写操作1、 字符型读写操作2、 数值型读写操作 九大问题具体例子分析: 一、求最大数、最小数、求和以及求平均数例题:随机产生10个两位整数,并存入数据a中,然后分 别求 10 个元素中的 最大数、 最小数 、求 10 个元素之和 以及它们的 平 均数。Private Sub Command1_Click()Dima(10) As Integer, i As Integer, Max AsInteger, Min As Integ

44、erDim Sum as Integer, Avg As SingleSum=0For i= 1 To 10a(i)=Int(Rnd*90)+10'产生 1099 之间的随机整数'假设最大数和'求最大数'求最小数'求和'求平均数;Min; “和:”;Sum;Next iMax=a(1):Min=a(1)最小数For i= 1 To 10If Max<a(i) ThenMax=a(i)End IfIf Min>a(i) ThenMin=a(i) ThenEnd ifSum=Sum+a(i)Next iAvg=Sum/10Print“最大

45、数:” ;Max; “最小数:”“平均数:” ;AvgEnd Sub二、求阶层 例题:求 10! .Private Sub Command1_Click()Dim Sum As Long, i As Integer Sum=1For i= 1 To 10Sum=Sum*iNext iPrint“ 10!= ” ;SumEnd Sub三、求最大公约数例题:求M和N两个数的最大公约数。Private Sub Command1_Click()DimM As Integer, N As Integer,R AsIntegerM=36:N=24DoR=M Mod NM=NN=RLoopWhile R&l

46、t;>0 ' 或LoopUntil R=0Print“M和N的最大公约数为:”;MEnd Sub四、求素数例题:求 100200 之间的所有素数 ,并按每行 5 个元素 格式输入所有素数。Private Sub Command1_Click()Dimn As Integer,i As Integer j AsIntegerFor 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 ' 统计素数

47、个数Print n;If j Mod 5 =0 Then Print '输出 5 个数换行End IfNext nEnd Sub五、求水仙花数(拆数法)例题:求 100999 之间的所有水仙花数, 并将所有水仙花数在文本框中显示。所谓水仙花数:即153=1八3+5八3+3八3条件成立。方法 1:(数值型:使用运算符 Mod 和 )DimPrivate Sub Command1_Click()i As Integer ,a As Integer ,b AsInteger ,c As IntegerFor i = 100 To 999a=i100'取百位数b=i10 Mod 10&

48、#39;取十位数c=i Mod 10'取个位数If i=aA3+bA3+cA3 ThenText1.Text=Text1.Text& i &Space(2)End IfNext iEnd Sub方法 2:(字符型:使用函数 Mid、Val 和 CStr )Private Sub Command1_Click()Dimi As Integer ,a As Integer ,b AsInteger ,c As IntegerFor i = 100 To 999a= Val(Mid(Cstr(i),1,1)'取百位数b= Val(Mid(Cstr(i),2,1)

49、9;取十位数c= Val(Mid(Cstr(i),3,1)'取个位数If i=aA3+bA3+cA3 ThenText1.Text=Text1.TextSpace(2)End IfNext iEnd Sub六、排序问题例题:随机产生 10 个 两位整数 ,并存入数据 a 中,然后将这 10个元素从小到大排序 (或从大到小) ,并将排序号的数组显示 在文本框中。方法 1:选择排序Private Sub Command1_Click()Dima(10) As Integer, i As Integer, j AsInteger ,temp As IntegerFor i= 1 To 10

50、a(i)=Int(Rnd*90)+10'产生 1099之间的随机整数Next i'比较 n-1 轮'每一轮比较几从大到小:For i= 1 To 9For j = i+1 To 10If a(i)>a(j) Thena(i)<a(j)temp=a(i)a(i)=a(j) a(j)=temp End IfNext jNext iFor i =1 To 10Text1.Text=Text1.Text & a(i) & space(2)Next iEnd Sub方法 2:直接插入排序Private Sub Command1_Click()j AsD

51、im a(10) As Integer, i As Integer, Integer ,temp As IntegerDim Pointer As Integer1099For i= 1 To 10 a(i)=Int(Rnd*90)+10 '产生 之间的随机整数For i= 1 To 9Next i'比较 n-1 轮Pointer=iFor j = i+1 To 10'每一轮比较几If a(Pointer)>a(j) Then Pointer=jNext jIf i <> Pointer Thentemp=a(i)a(i)=a(j) a(j)=temp

52、 End IfNext iFor i =1 To 10Text1.Text=Text1.Text & a(i) & space(2)Next iEnd Sub方法 1:冒泡排序Private Sub Command1_Click()j AsDim a(10) As Integer, i As Integer, Integer ,temp As Integer1099For i= 1 To 10 a(i)=Int(Rnd*90)+10 '产生 之间的随机整数Next iFor i= 1 To 9'比较 n-1 轮For j = 1 To 10-i'每一轮比

53、较几从大到小:If a(j)>a(j+1) Thena(i)<a(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 、字符串取反例题:在文本框中输入一个字符串,比如:ABCDEFGH然后反向输出,结果为:HGFEDCBAPrivate Sub Command1_Click()Dim s As String ,n As Integer ,i As Integern=Len

54、(Text1.Text )For i = n To 1 Step-1For i =1 To ns = s + Mid(Text1.Text,i,1) ' s =Mid(Text1.Text,i,1) + sNext iPrint sEnd Sub2、判断字符串中的某个字符是否为字母 例题:在文本框中输入一个字符串,比如:A$4Ch&*Fiy%41H输出字符串中的所有字母,结果为:AChFiyHPrivate Sub Command1_Click()Dim s As String ,n As Integer ,i As Integer ,c As Stringn=Len(Text

55、1.Text )For i = 1 To nc=Mid(Text1.Text,i,1)If c >= "A" And c<= "Z" Or c >= "a" And c<= "z" Thens = s + cEnd IfNext iPrint sEnd Sub 3、统计每类字符的个数例题:在文本框中输入一个字符串,比如:A$m4Ch&*F13iy%p41,H请分别统计出大写字母、小写字母、数字字符和其他字符的个数。Private Sub Command1_Click()Dim n As Integer ,i As Integer ,c As StringDim n1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论