1、算法知识点第 1 页第一章第一章 如何用计算机解决问题如何用计算机解决问题1解决问题的过程解决问题的过程:(P3)1.分析问题设计算法界面设计、编写程序运行程序、验证结果。2.计算机程序:计算机程序:就是指示计算机如何去解决问题或完成任务的一组可执行的指令。3.程序设计:程序设计:就是寻求解决问题的方法,并将其实现步骤编写成计算机可以执行的程序的过程。4.程序设计语言:程序设计语言:泛指一切用于书写计算机程序的语言。(与计算机语言区别)5.程序设计语言发展经历了机器语言机器语言、汇编语言汇编语言到高级语言高级语言。(P11)2算法的概念概念:解决问题的方法和步骤。(P5)3算法的特征:有穷性(
2、有限性)特征:有穷性(有限性)、确定性确定性、有零个或多个输入有零个或多个输入、有一个或多个输出有一个或多个输出、可可行性行性。4算法的描述描述:自然语言、流程图、伪代码等。(P8)(P8)流程图:流程图:处理框处理框 :框中指定要处理的内容,有一个入口和一个出口。:框中指定要处理的内容,有一个入口和一个出口。输入输入/输出框输出框 :用来表示数据的输入或计算结果的输出。:用来表示数据的输入或计算结果的输出。判断框判断框 :用来表示分支情况,有一个入口和两个出口。:用来表示分支情况,有一个入口和两个出口。连接框连接框 :连接符号可串连多张流程图。:连接符号可串连多张流程图。开始开始/结束框结束
3、框 :用来表示算法的开始和结束。:用来表示算法的开始和结束。第二章第二章 程序设计程序设计 ABCABC2.12.1 可视化程序开发工具可视化程序开发工具1VB 是基于 basic 语言的可视化程序设计语言,是一种面向对象的程序设计语言。(P14)2控件:以图标的方式放在“工具箱”中,如文本框,命令按钮等。(P16)常用控件对象的类型窗体窗体FormForm命令按钮命令按钮CommandCommand ButtonButton标签标签LabelLabel文本框文本框TextBoxTextBox3对象的属性属性、方法方法和事件事件在 VB 中,文本框、标签、命令按钮都是对象。(1)(1)属性:对
4、象的特征属性:对象的特征 (P127 附录三)NameName设置对象的名称设置对象的名称CaptionCaption控件中显示的内容(文字)控件中显示的内容(文字)TextText中文本框中显示的内容中文本框中显示的内容HeightHeight决定控件高度决定控件高度WidthWidth决定控件宽度决定控件宽度TopTop决定控件的靠顶部位置决定控件的靠顶部位置LeftLeft决定控件的靠左边位置决定控件的靠左边位置Font设置控件中字体格式BackColor设置控件背景色ForeColor设置控件的前景色BorderStyle设置控件的边框风格Alignment即标签文字对齐属性AutoS
5、izeAutoSize设置为设置为 FalseFalse 时,输入控件时,输入控件 CaptionCaption 值超过控件宽度时超出部分被裁剪掉;值超过控件宽度时超出部分被裁剪掉;设置为设置为 TrueTrue 时,控件可水平扩充,以适应控件时,控件可水平扩充,以适应控件 CaptionCaption 属性。属性。Visible决定控件是否可见Enabled决定控件运行时是否有效对象的属性可以在设计界面时通过属性窗口设置,也可以在运行时通过程序代码设置。对象属性属性值例:使文本框中显示 20。Text1Text=”20”要获取对象的状态或特性,就要读取对象的属性值。变量对象属性例:获取文本框
6、“Text1”的“Text”属性。a=Text1Text(2)(2)方法:对象能够执行的操作。方法:对象能够执行的操作。(P19)对象.方法参数名表例:Form.Print ”欢迎使用”(3)(3)事件及事件驱动:事件是对象对外部操作的响应。事件及事件驱动:事件是对象对外部操作的响应。(P19)Vb 中提供的事件有:单击(click)、双击(dblclick)、加载(load)等。Private Sub 对象_事件名()(事件过程代码)End Sub(4)保存文件:(P15)vbpvbp 文件:文件:与 VB 工程有关的文件和对象清单,是一个文本文件。frmfrm 文件:文件:包含窗体及控件的
7、属性设置、相关程序代码等。basbas 文件:文件:标准模块文件。2.22.2 数据的表示与处理数据的表示与处理1.数据类型数据类型 (P20)数据类型符关键字取值范围所占内存整型整型%IntegerInteger-3276832767-32768327671616 位位/2/2 字节字节长整型长整型&LongLong4 字节单精度型单精度型!SingleSingle4 字节双精度型双精度型#DoubleDouble8 字节字符串型字符串型$StringString定长字符串:065535 个字符布尔型布尔型BooleanBooleanTrue 或 False2 字节日期型日期型DateDat
8、e100/1/19999/12/31 8 字节算法知识点第 2 页2 2常量、变量常量、变量 (P22)(1)常量:常量是在程序执行过程中其值不变的存储单元或数据。在 VB 中,常量有整数常量、实数常量、字符串常量和逻辑常量这几种类型。ConstConst 常量名常量名 AsAs 类型类型=表达式。表达式。如:如:ConstConst pi=3.1415926pi=3.1415926(2)变量:变量用来表示数据的存储区,在程序运行过程中,这些存储区中的值是可以改变的。DimDim 变量名变量名 AsAs 类型类型(P23)命名原则命名原则:变量名由字母、汉字、数字和下划线等字符组成;必须以字母
9、开头;在变变量名由字母、汉字、数字和下划线等字符组成;必须以字母开头;在变量名中不区分大小写字母;不能使用保留字;不能超过量名中不区分大小写字母;不能使用保留字;不能超过 255255 个字符。个字符。3 3运算符与表达式运算符与表达式 (P25-26)运算符类别符号含义运算优先级实例结果 指数12101024取负2-2+53*、/乘法、除法3 整除4522ModMod求余55 Mod 21算术运算符+、-加、减6字符串运算符、&连接两个字符串时尽量使用连接两个字符串时尽量使用“&”“&”。“+”“+”在遇到数字字符串和数值型数据连接时,执行加运算。在遇到数字字符串和数值型数据连接时,执行加运
10、算。结果为 True 或 False,无优先级。关系成立,结果为 True;否则是 False。关系运算符、=、字符运算符 关系运算符 逻辑运算符4 4常用语句常用语句(1)赋值语句:格式 1:变量名表达式;格式 2:对象名.属性名表达式(2)Print:在窗体上输出文本,常用分号和逗号隔开常用分号和逗号隔开。格式:对象名.Print表达式列表Tab(n):定位从第 n 列开始输出。(3)注释语句:在字符“”后加注释内容或用“Rem”注释内容”(Rem 独立成行)(4)结束语句:End,强制程序结束运行5 5与用与用户交互函数与用与用户交互函数InputBox()函数和 MsgBox()函数;
11、前者常用于输入,后者常用于输出。格式:格式:InputBox(“InputBox(“提示提示”,”,”标题标题”,”,”默认值默认值”)”)6 6函数函数(1)数学函数函数 功能实例结果Abs(x)求x的绝对值Abs(-4.6)4.6Sqr(x)求x的平方根Sqr(9)3Sin(x)Sin(x)求x的正弦值Sin(30*3.14/180)0.49Cos(x)Cos(x)求x的余弦值Cos(30*3.14/180)0.86Tan(x)Tan(x)求x的正切值Tan(60*3.14/180)1.72Atn(x)Atn(x)求x的反正切值x x的值为弧度制的值为弧度制Exp(x)求指数函数exExp
12、(2.0)7.38Log(x)求x的自然对数值 ln(x)ln(x)Log(10)2.30Int(99.8)99 Int(x)Int(x)取整,取取整,取=x0 返回 1;x=0 返回 0;x0 返回-1。(2)日期、时间函数Time():系统当前时间;Hour();Minute();Second();Date():日期;Year():年;Month():月;Day():日;(3)字符串函数:函数功能Len(字符串)求字符串的长度Left(字符串,截取长度)截取字符串左边部分Mid(Mid(字符串字符串,起始位置起始位置,截取长度,截取长度)从中间指定位置截取字符串Right(字符串,长度)截
13、取字符串右边部分String(String(数值数值,字符字符)生成指定长度与指定字符(第一个第一个)的字符串Instr(Instr(字符串字符串 1 1,字符串,字符串 2)2)在字符串 1 中寻找字符串 2,若存在则返回字串 2 第一次完整出现第一次完整出现在字符串 1 中的位置;否则返回 0。(4)转换函数函数功能实例结果Val(Val(字符串字符串)将字符串转换为数值将字符串转换为数值12+Val(2)14Str(Str(数值数值)将数值转为字符串将数值转为字符串Str(5)5Chr(Chr(字符代码字符代码)求字符代码对应的字符求字符代码对应的字符Chr(65)AAsc(Asc(字符
14、字符)求字符对应的字符代码求字符对应的字符代码Asc(C)67CInt(表达式)将表达式的结果转换为整数,小数部分四舍五入。CInt(3.14259*2)6算法知识点第 3 页常用 ASCII 码:a:97a:97;A:65A:65;00:4848;2.32.3 程序的基本结构程序的基本结构1 1顺序结构顺序结构2 2选择结构(选择结构可以嵌套)选择结构(选择结构可以嵌套)单分支:If 条件表达式条件表达式 Then 语句语句 1 End If写在一行:写在一行:If 条件表达式条件表达式 Then 语句语句 双分支:If 条件表达式条件表达式 Then 语句组语句组 1 Else 语句组语句
15、组 2 End If 多分支:If 条件条件 1 Then 语句组语句组 1 ElseIf 条件条件 2 Then 语句组语句组 2 Else 语句组语句组 n End If多重选择语句:Select Case 表达式表达式 Case 表达式列表表达式列表 1 语句组语句组 1 Case 表达式列表表达式列表 2 语句组语句组 2 Case Else 语句组语句组 n End Select3 3循环结构(循环语句可以嵌套)循环结构(循环语句可以嵌套)For 循环语句:循环语句:For 循环变量循环变量=初值初值 to 终值终值 step 步长步长 循环体(语句组)循环体(语句组)Next 循环
16、变量循环变量Do 循环:循环:(1)Do While 条件表达式条件表达式 循环体(语句组)循环体(语句组)Loop(2)Do 循环体(语句组)循环体(语句组)Loop While 条件表达式条件表达式(3)Do Until 条件表达式条件表达式 循环体(语句组)循环体(语句组)Loop(4)Do 循环体(语句组)循环体(语句组)Loop Until 条件表达式条件表达式 第三章第三章 算法的程序实现算法的程序实现1.解析法:解析法:在分析具体问题的基础上,抽取出一个数学模型,这个数学模型能用若干个解析表达式表示,解决这些表达式,问题就得以解决。2.穷举法:穷举法:也叫枚举法枚举法、列举法列举
17、法,是将求解对象一一列举出来,然后逐一加以分析、处理,并验证结果是否满足给定的条件,穷举完所有的对象,问题将最终得以解决。3.递归法:递归法:一个函数在定义时,直接或间接地调用自己。递归法一般需要定义函数来实现。自定义函数:自定义函数:public|private Function(形式参数表)as 类型 局部常量、变量定义 语句组函数名=返回值 End Function自定义过程:自定义过程:public|private Sub(形式参数表)局部常量、变量定义过程语句组 End Sub4.数组:数组:是一组相同类型的变量集合,集合中的每个元素都是独立的变量,能通过数组序算法知识点第 4 页号
18、被引用。在数组中查找数据:在数组中查找数据:顺序查找:顺序查找:从第一个元素开始,按数据的顺序查找指定的关键值。如果被查数据和该关键值相匹配则表示找到,如果所有数据与关键值都不匹配则表示被查数据中不存在该关键值,查找失败。二分法查找:二分法查找:也叫折半查找,在被查的有序数据中,取中间数与关键值比对,再确定关键值在这些数据中的前半部分还是后半部分;再取这些数的中间数比对,以此类推,直到找到为止。它要求被查数据是有序的。它要求被查数据是有序的。对数据进行排序:对数据进行排序:冒泡法排序:冒泡法排序:也叫起泡法排序,将相邻两元素进行比较和交换,逐步将一个无序序列排列为一个有序序列。(从前向后,从后
19、向前)第四章第四章 程序设计思想和方法程序设计思想和方法1结构化程序设计的思想包括以下三个方面:(1)一个大程序可以划分为若干个模块,每个模块又可以继续分为更小的子模块,最终分出的模块能完成一个独立的功能,模块之间按层次关系进行组织。(2)程序都可以由三种基本结构组成,即顺序、选择、循环结构。(3)设计时应采用自顶向下,逐步细化的实施方法。2面向对象程序设计:以所处理的数据入手,是对结构化程序设计的继承与发展。涉及到几个概念:对象、属性、方法、事件与事件驱动、类。最突出的特性:封装、继承和多态性。这三大特征是互相关联的,封装性是基础封装性是基础,继承性是关键继承性是关键,多态性是补充多态性是补充,而多态性又必须存在于集成的环境中。