算法与程序设计(VB)知识点_第1页
算法与程序设计(VB)知识点_第2页
算法与程序设计(VB)知识点_第3页
算法与程序设计(VB)知识点_第4页
算法与程序设计(VB)知识点_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、稽山中学信息技术学业水平考试复习资料-算法与程序设计(VB)算法与程序设计操作知识点 知识目标知识条目考核要求说明1 算法及其表示方式 算法的基本概念 算法的常用表示方法 顺序、选择、循环三种控制结构b选择题操作题2算法的程序实现对象、属性、事件和事件处理的概念VB应用程序的界面设计与调试基本数据类型、常量、变量、常用的标准函数、一维数组算术、关系、逻辑三类基本运算及表达式赋值语句、选择语句、循环语句、注释语句解析算法、枚举算法等常用算法的实现c知识点整理1、算法及其表示方式考点一:计算机解决问题的过程用计算机来解决问题要经历三个步骤:1、分析问题,确定要用计算机做什么?2、寻找解决问题的途径

2、和方法(设计算法);3、用计算机进行处理(编制和运行程序)。计算机的基本功能与特征:计算机的基本功能是计算,计算机对信息的加工处理本质上是通过计算完成的。是在程序指令的控制下完成对所有数据的处理。计算机的基本特征:速度快;准确性高;存储容量大。考点二:算法何为算法?简单地说,算法(Algorithm)就是解决问题的方法和步骤。算法的特征:(1)有穷性(有限性)。(2)确定性(唯一性)。(3)可行性(能行性)。(4)有0到多个输入。(5)有1到多个输出。如何描述算法?算法描述可以有多种表达方法,一般用自然语言、流程图和计算机语言进行描述。流程图中最基本、最常用的几种符号:2、程序的基本控制结构&

3、#160;   任何正规的程序无论它有多复杂,都可以分解为三种基本结构,即顺序结构、选择结构和循环结构。由这三种基本结构可以派生出多样、复杂的“多分支结构”,用其解决各种问题。结构类型流程图示意 功能说明  顺序结构     一个步骤完成后,顺序执行紧跟着的下个处理步骤。如电视节目,按先后顺序直线下来。    一般的程序设计语言中,顺序结构的语句主要是赋值语句、输入/输出语句等。 选择(分支)结构     在日常生活中,常常需

4、要对给定的条件进行分析、比较和判断,并根据结果采取不同的操作。在Visual Basic中,这样的问题通过选择结构来解决。如根据天气情况,选择体育课场地问题。选择结构的语句包括If语句和Select Case语句。 循环结构 对某个情况e进行判断,当结果为真时,执行处理步骤step,然后再次判断这个情况e,当结果为真是,再次执行步骤step,并继续判断情况e。总是重复上述过程,直到判断的结果为假。循环结构的语句可以用ForNext语句和Do whileloop语句实现。3、算法的程序实现可视化程序开发工具VB(visual basic)考点一:可视化编程的任务设计过程创建工

5、程的基本过程:启动VB,创建一个工程vbp(包括窗体frm)界面设计对象属性设置 编写代码调试运行程序保存退出。注意保存文件的两种情况:1.工程源文件的保存    程序没有设计完成,为方便下次的修改编辑,可以将文件保存成工程文件。一个工程通常有两个部分组成:窗体文件.frm和工程文件.vbp,工程文件至少由一个窗体构成。由于一个工程由多个文件构成,为方便处理,可以将同一工程的所有文件放在一个文件夹中。2.工程可执行文件的保存一个程序设计完成后,为方便程序的实际应用,我们可以将工程文件保存成可执行文件.exe。工程的可执行文件只可运行程序,不能对可执行文件

6、进行修改编辑。考点二:VB中的几个基本概念:1.类简单地说,类是对一类东西抽象出的结果,是一组具有相同属性和操作的对象的集合。在VB中,类是系统设计好的,工具箱上的可视类图标就是标准类控件。部分控件名的前缀约定和命名举例:对象类型意义前缀命名举例Form窗体frmfrmlandCommand命令按钮cmdcmdOKLabel标签lbllblInputTextBox文本框txttxtSourceListbox列表框lstlstaddimage图像框imgbackimgtimer定时器timerpicturetimer2.对象对象是类的一个实例,是其中具体的个体。例如,窗体上的一个文本框、一个标签

7、都是对象。一个命令按钮就是命令按钮类的一个对象。对象有三个要素:属性、方法和事件。属性:对象的特征称为对象的属性。类中有很多对象,而这些对象既有共有的特点也有各自的特点。VB类控件主要属性及其含义:通用属性功能含义Name 定义对象的名称,该属性是所有对象共有的属性。每个对象的名称都是唯一的。在代码编写中,对对象的引用也是通过Name属性,用户可以使用系统默认的Name属性值,也可以自己定义。Caption 返回或设置对象的标题栏或图标下的文本。Appearance 返回或设置对象的外观样式。属性值为0,对象的样式为平面;为1,对象样式为立体。ForeColor&

8、#160;返回或设置对象的前景色,在弹出的调色板中选取颜色。BackColor 返回或设置对象的背景色,在弹出的调色板中选取颜色。Height 返回或设置对象的高度,VB中的单位是twips(缇),1twips=1/1440英寸。Width 返回或设置对象的宽度。Left 返回或设置控件左边与其容器(窗体、图片框控件、框架控件)左侧之间的距离。Top 返回或设置控件顶端与其容器(窗体、图片框控件、框架控件)顶部之间的距离。Visible 返回或设置一个值,该值用来确定对象是否可见。Enabled 返回或设置一个值,该值用来确

9、定对象是否响应用户产生的事件。在VB中,一个对象有很多属性,我们可以通过改变属性窗口中的相应属性值来改变对象的特征。窗体常用属性及其含义属性名功能含义Name定义对象的名称。Captipon设置窗体标题栏显示的文字。Picture设置窗体背景图片。文本框常用属性及其含义属性名功能含义Name定义对象的名称,该属性是所有对象共有的属性。Text 该属性存放了文本框内显示的内容。用户可在设计、运行、中断三种状态下设置或修改文本框内的文本。MultiLine 当MultiLine为True时,才可以在文本框内输入多行文本。即文本超过控件边界时,自动换行。ScrollBars

10、60;设置边框的滚动条模式,文本框有四种边框模式:ScrollBars=0,文本框无滚动条;ScrollBars=1,有水平滚动条;ScrollBars=2,有垂直滚动条;ScrollBars=3,有水平和垂直滚动条;文本框出现滚动条前提是必须设置MultiLine为True,否则无效。PasswordChar 设置文本框内的显示内容为该属性值的内容。一般设置密码时,会将该属性值设置为“*”,这样用户输入的密码都会以“*”形式显示在文本框内。命令按钮常用属性及其含义属性名功能含义Name定义对象的名称。Captipon设置命令按钮上显示的文字。Enabled 设置命令按钮是

11、否有效,是否响应应触发事件。Picture设置按钮上所加载的图片。标签常用属性及其含义属性名功能含义Name定义对象的名称。Captipon设置标签上显示的文字。列表框常用属性及其含义属性名功能含义Name定义对象的名称。itemdata给列表框中的每一项指定一个数字。图像框常用属性及其含义属性名功能含义Name定义对象的名称。Picture给图像框设置一张显示图像。定时器常用属性及其含义属性名功能含义Name定义对象的名称。enabled设置定时器的有效性。interval设置定时器的间隔时间,1000表示1秒。事件:VB是按照事件驱动机制运行程序的,事件的执行能被对象响应。如用户单击一个命

12、令按钮就是一个事件。这个事件就可以被命令按钮识别并响应,称为命令按钮的单击(Click)事件,不同的对象能识别的事件也是不同的。方法:方法指对象的动作,就是让对象实施一个动作或执行一项任务。方法是控制对象功能及操作的内部程序。总之,方法指明了对象“能做什么”。4、VB数据的表示考点一、数据类型在VB中,为了便于数据的表示与处理,VB提供了数值型、字符串型、布尔型、日期型等基本数据类型,下表所示的是我们常用的数据类型。 VB常用的数据类型数据关键字所占内存取值范围 整型Integer 2字节 -32768 32767长整型Long 4字节

13、0;-2147483648 2147483647单精度型Single 4字节负数:-3.402823E38 -1.4011298E-45;正数:1.401298E-45 3.402823E38双精度型Double 8字节 负数:-1.797493134E308 -4.940656458E-324;正数:4.940656458E-324 1.797493134E308;字符串型String 10字节+字符串长度定长字符串:0 65535个字符;不定长字符串:0 20亿个字符。布尔型(逻辑型)Boolean 2字节 True 或False

14、日期型Date 8字节 100/1/1 9999/12/31考点二、常量与变量1.常量的形式及定义   在程序运行期间始终保持不变的量,我们把它叫做常量(Constant)。VB中的常量有数值常量、字符串常量等。(1)数值常量类似于数学中的常数,如打字速度为“60”。(2)用一对双引号括起来的字符串称为字符串常量。例如,“China”、“Vi- sual Basic”、“18”、“3.14”等。字符串常量指的是双引号中的字符,不包括双引号本身。     如果程序中多次用到同一个常量,往往用一个有意义的符号表示,这种

15、常量称为符号常量;代表常量的符号称为“常量名”,其定义形式如下:Const  常量名  As 类型表达式如:Const  PI3.14159262.变量及其定义变量有一个名字,它对应着相应的内存单元。(1)变量命名必须以字母或汉字开头,而不能以数字或其他字符开头。只能由字母、汉字、数字和下划线组成,不能含有小数点、空格等字符。字符个数不超过255个。变量名不能使用VB中的保留字。(信息提示:保留字也称关键字,由VB专用,具有特殊含义。例如,Print、Sub、End等都是VB中的保留字。)VB不区分变量名中字母的大小写。如HELLO和Hello是同一个变量。为增加

16、程序的可读性,变量名最好取有意义的名称,建议前面加上类型缩写。(2)变量声明变量应该先声明后使用。VB中变量声明的方法是:Dim <变量名> As <数据类型>例如,Dim N As Integer,定义变量N为整型,初始值为0.(3)数组的定义数组的定义格式一:    Dim 数组名(常量) As 数据类型数组的定义格式二: Dim 数组(下界 to 上界)  As 数据类型    例如,用数组aryChinese来表示50名同学的语文成绩,可以定义为:   

17、 Dim aryChinese(49) As Single 或Dim aryChinese(0 to 49) As Single    这个数组共有50个元素,分别为aryChinese(0)、aryChinese(1)aryChinese(49),数据类型为单精度。考点三、运算符与表达式运算符的运算规则及优先级如下表所示:优先顺序运算符类型运算符1算术运算符(指数运算)2-(取负)3*、/(乖、除)4(整除)5Mod(求余)6+、-(加、减)7字符串运算符&、+(字符串连接)8关系运算符=、<>、<、<=、>、>=9逻

18、辑运算符Not(非)10And(与)11Or(或)5、数据处理考点一:程序中常用语句1. 赋值语句     VB中赋值语句用“=”来实现。赋值语句“=”后面可以是常量、变量或表达式。赋值语句中的“=”与数学中的“=”是不同的!如:N =  N+1,这里的意义是将N的值加1后重新赋给N,结果N的值比原值增加了1。2. Print语句    语法格式:对象名.Print 表达式列表    功能:在指定的对象上输出文本。3. 注释语句     为了提高程序的可读性,通常需

19、要在程序适当的位置加上必要的注释。添加注释是编程的一个好习惯。    VB中注释语句的格式为:在字符“'”后加注释内容或用“Rem 注释内容”。           如:r = InputBox ("输入r:")  '输入半径r4.结束语句      语法格式:End功能:强制程序结束运行。考点二:程序中常用函数1.数学函数    数学函数用于数学运算

20、,包括三角函数、求平方根函数、求绝对值函数、对数函数、指数函数等,它们与相应的数学定义相同。如表所示。常用数学函数函数功能实例结果Abs(x)求x的绝对值Abs(-4.6)4.6Sqr(x)求x的平方根Sqr(9) 3Sin(x)求x的正弦值Sin(30*3.14/180) 0.499770102643102Cos(x)求x的余弦值Cos (30*3.14/180)  0.866158094405463Tan(x)求x的正切值Tan(60*3.14/180) 1.72992922008979Atn(x)求x的反正切值4*Atn(1) 

21、3.14159265358979Exp(x)求指数函数ex Exp(2.0)  7.38905609893065Log(x)求x的自然对数值Log(10) 2.30258509299405Int(x)取整数函数Int(99.8) 99Rnd(x)产生01之间(不包括1)的随机数Rnd() 返回一个随机数2.字符串函数    VB系统提供了丰富的字符串处理函数,给编程带来了极大的方便(见表)。常用字符串函数函数功能实例结果Len(字符串) 求字符串的长度Len("2008奥运")6Left(字符串,截取长度

22、) 截取字符串左边部分Left("2008奥运",4) 2008Mid(字符串,起始位置,截取长度)从中间指定位置截取字符串Mid("2008奥运",3,2)08Right(字符串,长度)截取字符串右边部分Right("2008奥运",2)奥运String(数值,字符)生成指定长度与指定字符的字符串String(3,"9")9993.日期函数  Date()函数返回系统的当前日期。Time()函数返回系统的当前时间,如:dtmBeginTime = Time(),将系统当前时间赋给变量dtmBeginTi

23、me。以此类推,Day()、Month()、Year()函数分别返回指定日期的日数、月份数、年份数。4.常用转换函数在程序设计过程中,我们经常要将不同类型的数据进行转换,这时就需要使用转换函数。VB中常用转换函数如表所示。常用转换函数函数功能实例结果Val(字符串)将字符串转换为数值2+Val(12)14Str(数值)将数值转为字符串Str(5)5Chr(字符代码)求字符代码对应的字符Chr(65)AAsc(字符)求字符对应的字符代码Asc("A")65Cint(表达式)将表达式的结果转换为整数,小数部分四舍五入Cint(3.14259*2)65.与用户交互函数VB提供In

24、putBox()函数和MsgBox()函数用于人机交互。(1)InputBox()函数在前面已经用过,其语法格式为:      InputBox(提示信息,标题,默认值 ,x坐标,y坐标)参数一:提示信息为弹出对话框中显示的说明,必填项,通常为字符串,其余参数可依据实际选择使用;参数二:标题为弹出对话框标题栏中显示的名称,通常为字符串;参数三:默认值为弹出对话框输入项中显示的值;参数四和参数五:X坐标和Y坐标用来设置对话框的弹出位置。(2)MsgBox()函数是VB程序设计中常用的交互函数,其功能非常强大,可以显示多种样式的消息对话框。基本语法

25、格式:      MsgBox(提示信息,按钮,标题) 该函数的返回结果为一数值,其中:参数一:提示信息为弹出对话框中显示的说明,必填项,通常为字符串,其余参数可依据实际选择使用;参数二:按钮一般用VB的内部符号常量,这些符号常量有vbOkOnly、vbOKCancel、vbYesNo、vbYesNoCancel等等,它们一般可以望文生义。参数三:标题为弹出对话框标题栏中显示的名称,通常为字符串。6、算法的程序实现考点一:选择结构的程序实现在VB中,选择结构可用if语句来实现,if语句有如下三种形式: 形式 示意图 

26、;(1)单分支选择结构,形式为:      If 条件 Then          语句或语句组      End If    '语句组是指有多条语句的情况 (2)双分支选择结构,形式为:     If 条件 Then       

27、 语句或语句组1     Else        语句或语句组2     End If  (3)多分支选择结构,形式为:    If 条件 Then       语句或语句组1    ElseIF 条件2 Then      语句或语句组2 

28、0;      ElseIF 条件n Then      语句或语句组n    Else      语句或语句组n+1    End If 语句实例:例一:在三个文本框中输入任意三个数,求三个数中的最大数。 例二:求一元二次方程的解。Private Sub Command1_Click()Dim a, b, c, largest, j As Singlea = Val(txts

29、hu1.Text)b = Val(txtshu2.Text)c = Val(txtshu3.Text)If a >= b Then largest = a Else largest = bEnd IfIf c > largest Then largest = cEnd Ifj = MsgBox("三数中的最大数为:" & largest, vbOKCancel, "最大数")End SubPrivate Sub Command1_Click()Dim a, b, c, delta, x1, x2 As Singlea = Val(tx

30、ta.Text)b = Val(txtb.Text)c = Val(txtc.Text)delta = b * b - 4 * a * cIf delta > 0 Thenx1 = (-b + Sqr(delta) / (2 * a)x2 = (-b - Sqr(delta) / (2 * a)MsgBox "一元二次方程有不同的两解,一解为:" & x1, vbYesNo, "求解结果"MsgBox "一元二次方程的另一解为" & x2, vbYesNo, "求解结果"ElseIf delt

31、a = 0 Thenx1 = (-b + Sqr(delta) / (2 * a)MsgBox "一元二次方程有相同两解,为:" & x1, vbYesNo, "求解结果"Else: MsgBox "此方程在实数范围内无解!", vbYesNo, "求解结果"End IfEnd Sub考点二:循环结构的程序实现VB循环结构常用的语句是ForNext语句和Do WhileLoop语句等。那么用程序如何解决上面的问题呢?ForNext语句和Do WhileLoop语句的语法格式: ForNext语句的

32、格式 Do WhileLoop语句的格式For 循环变量=初值 To 终值 Step 步长   循环体Next 循环变量说明:(1)For-Next语句通常是在循环次数确定的时候使用;(2)步长即循环变量的增量,当步长为1时,Step 步长可以省略不写。Do While 条件循环体Loop 说明:(1)当问题只知道循环结束的条件,重复执行的次数事先并不知道,这时就需要用Do WhileLoop循环语句;(2)Do WhileLoop语句是在条件成立的时候执行循环体,条件不成立时退出循环。   For/Next语句和Do While/L

33、oop语句在许多情况下是可以通用的,如上例所示。但是,For/Next语句更适合用于循环次数容易确定的场合,而Do While/Loop语句的使用则更灵活。语句实例:  ForNext语句实现: Do WhileLoop语句实现:Private Sub cmdOk_Click()  Dim i As Integer, Sum As Integer  Sum = 0  For i = 1 To 24     Sum = Sum + i  Next i  lblsum.Capti

34、on = "两年共存入:" & Sum & "元"End SubPrivate Sub cmdOk_Click()  Dim i As Integer, Sum As Integer  i=0 Sum = 0 do while i<=24     Sum = Sum + i     i=i+1 loop lblsum.Caption = "两年共存入:" &

35、 Sum & "元"End Sub考点三:解析算法与枚举算法解析算法枚举算法解析法就是在分析具体问题的基础上,抽取出一个数学模型,这个数学模型能用若干个解析表达式表示出来,解决了这些表达式,问题也就得以解决。解析法是程序设计中最常用的算法之一。提示:高级程序设计语言提供的内部函数其内部实现大多也是用了解析法。    枚举法也叫穷举法、列举法,它是将求解对象一一列举出来,然后逐一加以分析、处理,并验证结果是否满足给定的条件,穷举完所有对象,问题将最终得以解决。举例:    某超市规定,顾客购买同种商品10件以

36、上(含10件)可享受批发价。请设计一个收款机程序,输入顾客所购买商品的零售价、批发价、购买数量及付款数,程序能计算出顾客的应付款及需要找回的零钱。请设计解析法,并用流程图或伪代码描述。 Private Sub cmdjiezhang_Click()Dim lingjia, pijia, sum, yingfu, zhaoqian As SingleDim num As IntegerRem lingjia-零售价;pijia-批发价;num-购买数量;sum-付款金额;yingfu-应付款;zhaoqian-需找回零钱。lingjia = Val(txtling.Text)pijia

37、 = Val(txtpi.Text)num = Val(txtnum.Text)sum = Val(txtfu.Text)If num >= 10 Then   yingfu = pijia * num   zhaoqian = sum - yingfuElse   yingfu = lingjia * num   zhaoqian = sum - yingfuEnd IfLabel3.Caption = "您实际应付的金额为:" & yingfu & "!收到付

38、款金额为:" & sum & "!应找您零钱金额为:" & zhaoqian & "!谢谢您的惠顾,欢迎再次光临!"End Sub举例:用穷举法编写程序,找出所有的“水仙花数”。水仙花数是指一个 n 位数 ( n3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:13 + 53 + 33 = 153)方法一:Private Sub Command1_Click() Dim sum As Integer Dim i, a, b, c As Integer List1.Clear For i = 100 T

39、o 999 a = i 100 b = i 10 Mod 10 c = i Mod 10 If a 3 + b 3 + c 3 = i Then List1.AddItem (Str(i) sum = sum + 1 End If Next iLabel1.Caption = "个数:" + Str(sum)End Sub方法二:Private Sub Command1_Click() Dim sum As Integer Dim i, j, k As Integer List1.Clear For i = 1 To 9 For j = 0 To 9 For k = 0 T

40、o 9 If i 3 + j 3 + k 3 = 100 * i + 10 * j + k Then List1.AddItem (Str(100 * i + 10 * j + k) sum = sum + 1 End If Next k Next jNext iLabel1.Caption = "个数:" + Str(sum)End Sub考点四:数组的应用1. 数组及其定义什么是数组?数组不是一种基本数据类型,而是一组相同类型的变量集合,集合中的每个元素都是独立的变量,它们能够通过数组序号被引用。变量与数组的关系如图所示,变量类似于一个个独立的柜子,而数组则类似于一组柜

41、子,它们共同构成一个整体,可以用统一的编号进行管理。数组的定义数组的定义格式一:    Dim 数组名(常量) As 数据类型数组的定义格式二: Dim 数组(下界 to 上界)  As 数据类型    例如,用数组aryChinese来表示50名同学的语文成绩,可以定义为:    Dim aryChinese(49) As Single 或Dim aryChinese(0 to 49) As Single    这个数组共有50个元素,分别为aryChi

42、nese(0)、aryChinese(1)aryChinese(49),数据类型为单精度。数组的赋值数组的赋值和一般变量的赋值类似,下面这段代码可以将数组中各元素重新置0:    For i = 0  To  49       aryChinese( i ) = 0    Next    程序设计中,常常通过循环语句来处理数组中的数据。2. 数组的应用数据的查找常见的查找算法主要有:顺序查找和二分(对分)查找。顺序查

43、找二分(对分)查找原理实现顺序查找是查找算法中简单、易行的算法。进行查找时,等待查找的候选数据放在数组变量中,要寻找的特定数据称为查找键,存在变量key中,查找一般从数组的第一个元素开始,按照数据的顺序查找指定的关键值;如果被查数据和该关键值相匹配,则表示找到;如果所有数据与关键值都不匹配,则表示被查数据中不存在该关键值,查找失败。二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。流程图程序实现i=1Do while i<=nIf d(i)=key ThenPrint i

温馨提示

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

评论

0/150

提交评论