下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、选修知识点(一)计算机解决问题的流程图(二)算法一、算法定义:是解决问题的方法和步骤。算法是程序设计的“灵魂” 数据结构=程序。二、算法的描述方法:分自然语言、流程图和伪代码三种。1、 自然语言:人们日常生活中的语言(本国语言),用自然语言描述符合我们 的习惯,且容易理解。2、流程图:也称程序框图,它是算法的一种图形化表示方法。 且描述算法形象、 直观,更易理解。3、伪代码:是介于自然语言和计算机程序语言之间的一种算法描述。是专业软 件幵发人员常用方法。算法+三、算法的5 个特征始、结丿 输入、输出,有穷性:执行有限步之后结束,且母勺执行时间也都是有限的。确定性:每一步都有确切的含义。可行性:
2、原贝上能精确运行,用纸和笔做有限次运算后即可完成。特开始、结1、2、3、4、5、连接输入:有零个或多个输入。输出:至少产生一个输出。(三)程序设计基础计算机程序设计语言经历了 机器语言、汇编语言、高级语言 的发展过程。常用高级语言:BASIC VB P ascal、C C+ Java、Del phi、Fortra n、Powerbuilder 等。面向对象的程序设计语言,如vb :其中的对象主要是系统设计好的对象,包括窗体、控件等。控件:是指工具箱中的工具在窗体中画出的能实现一定功能的部件,如标签、 文本框、命令按钮等。常用 控件:对象 的三 要素:属性控件对象的类型前缀名字举例窗体Formf
3、rmfrmfi nd命令按钮Comma ndcmdcmdok标签Labellbllbli nput文本框TextBoxtxttxtClock若命令按钮(Command的 Enabled属性设置为True时按钮有效,设置为、方法、事件123 +属性Name设置对象的名称Font设置控件中字体格式Cap ti on决定控件中显示的内容BackColor设置控件背景色Text决定窗体中文本框中显示ForeColor设置控件的前景色(即文Height决定容件高度Top决颜控件与窗体顶部的距Width决定控件宽度Left离定控件与窗体左边的距Visible设置控件是否可见BorderStyle离置控件的
4、边框风格Alig nment即标签文字对齐属性:(0)L eft Justify (1)Right Justify 时文本右对齐;设置时文本左对齐;呈为(2)Center时文本居中。对象中属性可以在设计界面时通过属性窗中设置,也可以在运行时通过赋值语 句在代码窗口设置:对象名.属性名=属性值例:给文本框Txt123的Text属性赋值为字符串” 20”,代码如下:二 注意:如果直接给对象名赋值的话,是赋值给对象的默认属性。例:Txt123 =“ 20 ” 相当于 二 “ 20 ” 都是给文本框 Txt123的text属性赋值。如果要获取对象的状态或特性,这时就要读取对象的属性值,方法如下:变量
5、名=对象名.属性名a =Show”欢迎使用”、DbICIick 、Key Press、例:读取文本框“ txt123 ”的“ Text ”属性的代码如下:方法常见的方法如下:Print Cls Move格式:对象.方法参数名表例:事件及事件驱动常见的事件如下:ClickLoad、MouseUp 等。事件是对象对外部操作的响应,如在程序执行时,单击命令按钮会产生一个Click事件。如需要命令按钮响应 Click事件,就把完成Click事件功能的代码 写到Click事件的事件过程中,与事件一一对应。事件过程的形式如下:Private Sub 对象名_事件名()(事件过程代码)End Sub一、常量
6、:指在程序进行过程中不变的量,在VB中一般分数值常量与字符常量两种数值常量:就是数学中说的常数,分整型常量和实型常量两种整型常量:即整数,指不带小数点的数值如1、0、-10、+35等都是合法的整数实型常量:即实数,指带小数点的数值。 实型常量又分为定点数和浮点数两种。例:定点数:和,浮点数:2E6 1E5 88E例:X 10可表示为,字母 E表示底数10 浮点数就是数学上的科学计数法。字符串常量:被一对英文双引号括起来的若干个合法的字符称为字符串常量。例如:” China”、” Visual Basic ”、” 18”、” ”等,是指英文双引号中的 字符,不包括英文双引号本身。?符号常量:如果
7、多次用到同一个常量,则可用一个有意义的名字表示这个常量。二、变量:在程序执行过程中,其值可以改变的量称为变量。变量命名注意要点:1、必须以字母或汉字 幵头,不能以数字或其他字符幵头。2、只能由字母、汉字、数字或下划线 组成,不能含有小数点、空格等字符。3、最长不超过255个字符4、 不能以VB保留字作变量名,如语句定义符、函数名(Integer、End、 Print、Dim)等。5、 VB不区分变量名中字母大小写。女口 HELL笛Hello是同一个变量。三、数据及运算1、 常用数据类型:(框选的内容都要熟记)2、 常量和变量的命名、声明及赋值(注意:符号常量声明和赋值必须一起完 成,变量却必须
8、分2句)符号常量的声明和赋值Const常量名As常量类型二 常量值(或 表达式)如:Const pi As Single =常量名为 pi部分就是2、字符串运算符作用是将运算符两边的字符串连接为一个新的字符串。使用 前后加空格。注意特例:当成数值型然后相加,返回一个数值型数据。例如:“ 123” + “ 45” = “ 12345”注意:常量必须在声明的时候 立马赋值,如果没有 “二3 ”女口: Dim a As Integer 变量的赋值 VB中使用“二定义一个整型变量,变量名为a变量名二”给变量赋值,其形式为:表达式四、运算符1、算术运算符(注意:算术运算符的优先级问题、区分 八Mod三个
9、运算符)金艮运3化老热扌旨铁11U24注意:r5+2-3a?+42(1和/J? J2 5mod的4? 2M(xi运算+2(1+5256量如420-515错误的和“ &a&运算符时应注意+”0变量的声明:Dim 变量名As 变量类型“45” = 168“ 123” &a& “ 45 ” =3、关系运算符False= 等于大于号45=12345”(优先级相同)=“12345”123注意:关系表达式的运算结果为布尔值True或小于号 大于等于号 99,结果为 False。(3)数值型与可转换为数值型的数据,按数值比较。例:29 189,结果为False。4、逻辑运算符级依次降低Not对一个逻辑量进行
10、运算,为逻辑值True或FalseAnd和Or是对两个逻辑量进行运算,运算结果都Not (取反)And (与)Or (或)优先5、日期运算符与日期表达式日期表达式是用“ +”或“-”将算式表达式、日期型常量、 函数等连接起来的式子。例如: 表达式 “ #2003/09/01# + 30”“ 2003-10-1 ”表达式“ #2003/10/20# - #2003/10/10#”6、 运算符的执行顺序 :算术运算符 字符串运算符 辑运算符女口 a = 2: b = 3: c = 4: d = 5d的值为True7、表达式的写法虽然VB中的表达式与代数式中的算式很相似,但两者却是完全不同的概念。注
11、意区别,如在 VB中不能使用 工等。下表中列出了一些代数式对应的 VB表达式。日期型变量、日期的运算结果是的运算结果为整数?关系运算符10?逻贝y表达式 a b And 2 * a c Or c =运算符说明优先级说明举例结果Not非1当操作数为假时,结果为真Not FalseTrueAnd与2操作数均为真时,结果才为真True And FalseFalseOr或3操作数中有一个为真时,结果为真False Or TrueTrue代数式VB表达式说明(2*a+b)/(4 *a* b)在VB表达式中无法写分式,乘法运算符*不能省略g* t2/2VE中不能使用上标,指数必须用VB1算符A表示awbw
12、ca=b And bSgn(X)=0 Y-1 x0x=00-Si n(x)正弦函数Sin(x), x的单位为弧度Cos(x)余弦函数Cos(x), x 的单位为弧度Ta n(x)正切函数Ta n(x), x的单位为弧度注意:(1)Int (x)是取小于等于X的最大整数。例如:Int =3Int +3) =5Int ( -4. 6) = -5Int ( -1-2. 5) = -4(2)Rnd函数产生0, 1)之间的一个随机数,它常与Randomize (以初始化随机数生成器)结合 使用,如果要产生0函数功能实例结果Len(字符串)求字符串的长度(字符个数)Len (2008 奥运)6Left(字
13、符串,n )截取字符串左边n个字符Left ( 2008 奥运 ”,4)2008 ”Mid(字符串,m n )从字符串第m个字符开始截取n个字符Mid (2008 奥运”,3, 2)08”Mid(字符串,m )从字符串第m个字符开始截取剩余字符Mid (2008 奥运 ”,3)08奥运”Right(字符串,n )截取字符串右边n个字符Right ( 2008 奥运 ”,2)奥运”String ( n,字符串)生成指定长度的指定字符的字符串String (3, 89)888”nStr(字符串1,字符串2)在字符串1中查找字符串2.并返回其出现的位置InStr(2008 奥运”,”奥)5注意:(1
14、)String函数只返回n个指定的字符串的首字符。Left(字符串,n )和Right(字符串,n )中,当n的值大于字符串的长度时,返回整个字符串。(3) Mid(字符串,m n)函数中,如果m大于字符串的长度,则返回空串,如果 省略n,则返回m开始的全部字符。3、常用转换函数函数功能实例结果Val(数值型字符串)将数值型字符串转换为数值Val (99) +Val (88)187Str(数值)将数值转换为字符串Str (5)5Chr(字符代码)将字符的Asc码转换为对应的字符Chr (65)AAsc(字符)求字符对应的ASCII码Asc (A)65CInt(表达式)将表达式结果作四舍五入处理
15、CI nt4Fix(表达式)将表达式结果的小数部分截去Fix3注意(1)对于Str(数值)函数,如果其中的数值为正数,则返回的字符串的第一个字符为空格(符号位)。如Str(5)的结果为两个字符长度的字符串” 5,如要得到不含符号位的字符串,可使用CStr()函数。(2) CInt(表达式)当表达式的值对应的小数位为.5的时候比较特殊,函数结果为离表达式的值最近的一个偶数。如CInt()=4如:Asc(AB )=65(3)Asc(字符)函数,只求”字符中的第一个字符的ASCII码值,(4)ASCII码的大小:空格 数值 大写字母 小写字母的ASCII码为:48的ASCII码为:97常用字符的AS
16、CII码值:空格的ASCII码为:320A的ASCII码为:65其他数字和英文字母按序依次类推。(5) 字母转换。因大写字母的 ASCII码比对应的小写字母小32,所以可通过 Chr和Asc函数互相转换。A 转 a Chr (Asc (A) + 32 )例:a 转 A Chr ( Asc ( a) -32)注意式子中不能省略4、日期函数(1)Date()、Time()、Now()。时间、日期与时间。都会打印出 2011-5-29这三个函数 没有参数,分别返回计算机系统的当前日期、如2011 年5月 29日, Print Date() 或者 Print Date(2)Year()、Month()
17、、Day()。这三个函数必须有参数,即必须指定一个日期,分别返回指定日期的年、月和日。函数实例结果Day(#8/18/2008#)18Mon th(#8/18/2008#)8Year (#8/18/2008#)20085、定位函数(与Print语句配合使用的),以控制输出数据的格式,主要包括 Tab、Space 等。(l) Tab函数。功能:将被输出的内容放在由参数n所指定的位置(列数)处,在书写时,被输出的内容要放在Tab函数的右面,并用分号分隔。例:Print Tab (15);(2) Space 函数。6、用户交互函数VB提供 InputBox()(1) Inpu tBox ()姓名”;
18、Tab (30); 成绩”功能:产生由n个空格所组成的字符串。和MsgBox()函数用于人机交互。格式:InputBox(提示,标题,默认值,X坐标,Y坐标)功能:在程序中调用InputBox函数,将产生一个提示用户输入内容的输入框,等待用户输入信息, 并返回字符串类型的数据。用户要想得到InputBox ()函数的返回值,就必须将函数的结果赋值给指定的变量。格式为:变量=InputBox(提示,标题,默认值)注意:每执行一次InputBox()函数,用户只能输入一个数 据。输入框的样式是固定的,我们可以改变的是输入框 的提示”和标题”的内容。例如:r = InputBox (请输入r,输入圆
19、半径”)2. MsgBox()格式为:MsgBox(提示信息,按钮,标题)功能:用于在程序运行过程中产生一个消息框,可以看作是输出对话框,该函数的返回值为数值型数据。格式:MsgBox(提示信息,按钮,标题)例如:p=MsgBox(你输入的密码不正确,是否继续”,vbYesNo ,错误提示”)当用户单击消息框中的一个按钮后,消息框即从屏幕上消失。在上面的语句中,将函数的返 回值赋给变量P,在程序中可引用P作相应的处理。六、常用语句1、赋值语句格式1: Let 变量二表达式功能:将右边表达式的结果赋给左边变量 。即把数值5赋值给变量X即先计算表达式5 Mod 2 + 7 的值,再将值8赋值给变量
20、丫 即将N的值加1后后再赋给N即将变量丫的值赋值给变量X:隔开,如:s=0: a=l:通常情况,Let可以省略。”=为赋值号。它与数学中的”=是不同的。特别要 跟方程式区分开。 如:X=5Y =5 Mod 2 + 7N =N + 1X=Y也可以在一行内给多个变量赋值,两条语句之间用冒号b=2格式2:对象名.属性名=表达式如果省略属性名,则直接赋值给对象的默认属性。女口: Texti. Text = 你好!即把字符串你好! 赋给Text I 的Text属性。注意:赋值语句一般都独立成行,如果有类似赋值的语句出现在一些结构中,大家要会辨别。例如跟在以下关键字之后If x=5 While x=5 U
21、n til x=5 Print x=5以上结构中的x=5 不再是赋值语句,因为”=在这里是个关系运算符,判断左右是否相等,所以x=5是一个关系表达式,其值应该是个逻辑型,不是True 就是False。2、Print 语旬格式:对象名JPrint 表达式列表功能:Print方法具有计算和输出双重功能。对于表达式,它先计算其值,然后再在指定的对象上输出文本,对于常量、变量则直接输出其值。对象可以是窗体、图片框、打印机等。对象名”可以省略,省略时表示在当前窗体上输出数据。说明:(1)表达式列表可以是一个或多个表达式,之间用英文的 ”;”或”,”隔开。如果用 逗号分隔,则按标准输出格式输出各数据,此时
22、以14个字符位置为一个区段, 逗号后的表达式在 下一个区段输出;如果之间用 分号分隔,则按 紧凑格式 输出数据。例:Print 1 ; 2 ; 3 ; 4 + 3Print l , 2,3,4 + 3输出结果为:1 2 3 7输出结果为:1237(2) 如果Print语句末尾没有逗号或分号,表示该Print输出完结果后自动换行,后面再执行Print时将在下一行的起始位置输出数据;如果在Print语句末尾使用逗号,则在同一行上跳到下一个输出区段输出下一个Print所输出的内容。如果在Print语句的末尾加上一个分号,表示下一个Print输出的内容将 按紧凑格式紧跟在前一个Print所输出的内容后
23、面;(3)当一个Print语句的后面无任何表达式 时,则输出一空行或 换行。注意:与Tab ()函数结合使用,掌握各种图形的输出。3、注释语句为了提高程序的可读性,通常需要在程序的适当位置加上必要的注释。在 为在字符后加注释内容或采用格式1:注释内容用写的注释语句既可以单独写一行, 格式2: Rem注释内容用Ren写的注释语句必须单独写一行。4、 结束语旬格式:EndRem注释内容”两种形式。也可以跟在其他语句后。功能:强制程序结束运行。VB中添加注释语句的方法Private Sub Comma nd1_Click()EndEnd Sub该过程用于结束程序,即单击命令按钮Comma ndl时,
24、结束程序的运行。(四)程序设计的三大基本结构一、顺序结构代码按照由上到下的顺序一行一行地执行。程序执行过程中没有分支、没有重复。二、分支结构(选择结构)程序在运行时会根据不同的条件决定程序的走向。Select 语句。1、If语句分为单分支(1)单分支if行if块if结构:语句:语句:实现选择结构的语句有If语句和、双分支和多分支三类。行if和 块if的区别只在书写格式上。)IF IF Then语句A The nEnd if双分支if结构:行if语句:IF 块if语句:IF Then语句A Else 语句B The nELSE语句BEND IF(3)多分支If语句If ThenElself Th
25、enElse语句块 n+1 End If2、Select Case语句Select Case 测试表达式表达式列表1 语句组1表达式歹y表2语句组CaseCaseELSE语句组End SelectCaseN+1注意:要会区分选择结构和循环结构的流程图。如上图:甲为循环结构,有向上回到条件框的语句的执行过程 是:先求测试表达式”的值,然后顺序测试该值符合哪一个Case子句的情况,如果找到了,则直接执行该Case子句下面的语句块,然后执行End Select的后续语句;如果没找到,则执行Case Else下面的语句块,然后执行 End Select的后续语句。说明:(1)测试表达式”可以是数值型或
26、字符串型表达式。(2)表达式列表”形式有以下4种。Select/Case一个表达式或用逗号隔开的若干表达式,例如2,4,6,8。表达式1 To表达式2,例如60 To 80。注意,表达式1应该小于 表达式2 Is关系运算符表达式,例如Is 80 。 表达式,例如X+3。三、循环结构1、For-Next循环(适合于解决循环次数事先能够确定的问题。)For循环变量一般形式是:For循环变量二初值To终值Step 循环体Next 循环变量说明:(1)循环变量,必须为数值型。循环初值、循环终值也是数值型或数值表达式。(2 )循环的有效区间是由循环初值、循环终值所限定的闭区间。(3) 步长值是循环变量的
27、增量,是一个数值表达式。若步长值为正,则初值就应小于终值,否则循环体一次都不执行;若步长值为负,则初值应大于终值,否则循环体一次都不执行。如果步长值是1,SteP 1可略去不写。但若步长值为 0,会造成死循环,这是要避免的,可用Ctrl+Break 结束程序。(4) 循环体是For语句和Next语句之间的语句序列,也是需要重复执行的语句组。(5) Next后的循环变量与For语句中的循环变量必须相同。(6) 循环的次数=(循环终值-循环初值)步长值+ 1For/ Next循环语句的执行过程:(1)系统将初值赋给循环变量,并自动记下终值和步长。步长值(2) 检查循环变量的值是否越过终值。如越过就
28、结束循环,执行Next后面的语句;否则执行一次循环体。(3) 执行Next语句:将循环变量增加一个步长值再赋给循环变量,转到第2步继续执行循环。2、Do- Loop循环(对于不能预先确定次数,但需要执行多次的情况,可以使用Do/Loop 循环。)格式一: Do While条件表达式循环体Loop先判断条件是否为真,若条件为真,执行循环体,条件为假时退出循环。因此可能 一次都不执行循环。格式二:Do循环体Loop While 条件表达式先执行一次循环体,再判断条件是否为真,若条件为真,执行循环体,条件为假时 退出循环。因此至少执行一次循环体。格式三: Do循环体Loo P Un til条件表达式
29、先执行一次循环体,再判断条件是否为假,若条件为假,执行循环体,条件为真时 退出循环。因此至少执行一次循环体。格式四: Do Un til条件表达式循环体Loop先判断条件是否为假,若条件为假,执行循环体,条件为真时退出循环。因此可能 一次都不执行循环。注意:If语句和Do语句中都有的条件表达式,一般是一个关系表达式或逻辑 表达式,其值不是 True就是False。但如果是数值型的表达式的话,会进行强制转 换,即数字0转换成False,非0转换成True。(五)算法与问题解决一、解析法解析法又称公式法。解析法就是在分析具体问题的基础上,抽取出一个数学模型,这个数学模型能用若干个解析表达式表示出来
30、。求解了这些表达式,问题也就得以解决。如:求解一元二次方程 a*xA2+b*x+c=0的实根dim x1 as double , x2 as double分析:dim a AS Double,b AS Double,c AS DoubleX=if b*b-4*a*c=0 the nx1=(-b+sqr(b*b-4*a*c)/(2*a)x1=(-b+sqr(b*b-4*a*c)/(2*a)x2=(-b-sqr(b*b-4*a*c)/(2*a)x2=(-b-sqr(bA2-4*a*c)/(2*a)=str(x1) =str(x2)elseprint“方程无解”end if二、穷举法穷举法是将求解对
31、象 一一列举出来,然后逐一加以分析、处理,并验证 结果是否满足给定的条件, 穷举完所有对象,问题将最终得以解决。穷举法也叫枚举法、列举法。穷举法关键是如何列举所有可能的情况,不能遗漏,也不能重复。注意取值范围,减少计算机工作 量。适用编程问题:水仙花问题、鸡兔同笼问题、百钱百鸡问题、素数问题。如:已知公鸡每只3元,母鸡每只5元,每3只小鸡1元。用100元钱买100只鸡,应各买多少只鸡Dim a As In teger, b As In teger,c As In tegerFor a=0 to 33公鸡数For b=0 to 20母鸡数For c=0 to 100小鸡数If a+b+c=100
32、 and a*3+b*5+c/3=100 ?thenPrint a;b;cend ifNext cNext bNext aDim a As In teger, b As In tegerDim c As In tegerFor a=0 to 33For b=0 to 20公鸡数母鸡数小鸡数c=100-a-bIf a*3+b*5+c/3=100 ?thenPrint a;b;cend ifNext bNext a三、数组及其应用数组是一组相同类型的变量集合。数组用一个统一的名字代表逻辑上相关的一批数据,每个元素靠下标变量来区分。有一个下标的数组称为一维数组。数组中的 数据,逻辑上是相互关联的。1
33、、使用数组要先声明数组的大小和数据类型。声明数组的格式如下:Dim 数组名(最大下标常量)As 数据类型例 1: Dim s (9) As In teger表示:名称为s的一维数组中包含10个元素,下标从C到9。用来存放整型数据。 也可以指定下标的起始值。例 2: Dim x (2 to 10) As Si ngle这个数组含有9个元素,下标从2到 10,数据类型属于单精度实型。还可以说明多维数组。例 3: Dim D (4, 2 To 6, 3 To 9) As long说明了一个3维数组,一共5*5*7个数组成员,数据类型属于长整型。2、应注意的问题:例如:(1 )在同一个程序中,任何数组
34、只能声明一次。Dim s(5) As In tegerDim s(10) As In teger这样,运行时会报错:当前范围内的声明重复。(2) 下标必须是常量且为整数(若不是整数,程序运行时自动4舍5入为整数)。(3) 同一个程序中,数组名不能与变量名相同。例如:这样,运行时会报错:变量与数组不能同名。Dim s As In tegerDim s (10) As In teger(4)数组必须先声明后使用否则运行时会报错:子程序或函数未定义。(5)数组使用时,下标不能超出声明的范围。例如:Dim s (10) As In tegerPri nt s(11)这样运行时会报错:下标越界。(6)数
35、组声明时和变量一样,要注意类型。例如:Dim s (10) As In tegerS(3)=40000这样运行时会报错:溢出。3、数组的应用数组的赋值、计算、输出通常都与For Next循环结合使用。For语句中的循环变量作为数组元素的下标,通过循环变量的不断改变,达到对每个数组元素依次进行处理的目的。例子:利用数组实现:输出 10个1,100的随机数,并输出它们的和与平均值。Dim a(9) As In teger数组的定义Dim s As In tegerRan domize将RND函数随机化For i = 0 To 9a ( i ) = In t(100 - 1 + 1) * Rnd)
36、+ 1Print a( i )s = s + a( i )Next iPrint 和为:;SPrint 平均值为:;S/10四、顺序查找顺序查找是查找算法中简单、易行的算法。进行查找时一般从数据的第一个元素开始,按照数据的 顺序查找指定的关键值。如果被查数据和该关键值相匹配,则表示找到;如果所有数据与关键值都不匹 配,则表示被查数据中不存在该关键值,查找失败。顺序查找的数据不要求是有序的。五、二分法查找(二分法查找也叫折半查找)二分法查找要求被查数据是有序的查找思路:对于有序数列(从小到大排),设定下界low (最小元素下标)和上界high (最大元素下标),当满足条件lowv二high时,求
37、中点mid,将中点元素的值与所要查找的值比较,若中点元素值比所要查找元素小,则应找后半段,所以low二mid+1,否则应找前半段 high二mid-1,直到找到为止;若 lowhigh,则说明找不到。Dim a(9) As In tegerDim mid As In teger a(0)=12 : a(1)=20 : a(2)=27 : a(3)=36 : a(4)=45 : a(5)=50 : a(6)=55 : a(7)=60 :a(8)=79 : a(9)=105 low = 0 : high = 9Do While low = highmid = (low + high) 2注意:mi
38、d是中点位置,而a(mid)是中点位置的值If a(mid) = 55 The nPrint 找到了 Exit DoElseIf a(mid) high Then p ri nt 六、冒泡排序排序的种类有交换排序、选择排序、快速排序等。“冒泡法排序”也叫“起泡法排序”,是一种比较简单、易懂的交换排序方法。它通过将相邻元素进行比较和交换,逐步将一个无序序列排列为一个有序序列。简单说:就是对相邻数据两两比较,将符合条件的数据冒上来(沉下去),然后用同样的方法再冒泡处理余下的数据,直至全部数据完成排序。(1)标准的从后往前的升序Dim a(9) As In tegerFor i = 0 To 9a(
39、i) = In t(100 - 1 + 1) * Rnd)Pri nt a(i);Next iForj = 1 To 9For i = 9 To j ste p -1If a(i ) a(i+1) Then外循环控制排序的趟数t = a(i+ 1)内循环控制每一趟排序比较的成员和次数显示排序后的数组元素a(i+ 1) = a(i)a(i) = tEnd IfNext iNext jFor k= 0 To 9Print a(k);Next k七、递归法1、自定义函数:编程者自己编写的函数。自定义函数定义格式:Function 函数名称 ( 参数列表 )As 类型局部常量、变量说明 语句组函数名二
40、返回值End Fun cti on格式2: Call函数名称(参数)格式3:函数名称参数2、递归法 如果一个函数在定义时,直接或间接地调用了自己,这种算法称为递归法。例如函数A自己调用了自己。另外如果函数A调用了函数B,函数B反过来再调用函数A的算法,这也是递归算法。用递归写出的算法往往十分简洁。递归法一般需要自定义函数或过程来实现。例1:用递归函数求n!注意给函数名s赋的值,就是该函数的返回结果值。Function s(n As Integer)自定义递归函分析:5!=5*4!数的过程4!=4*3!If n=1 the ns=1 Elses=n *s( n-1)3!=3*2!End Fun cti
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中职学生转专业协议书范文模板
- 托运汽车运输协议书范文模板
- 中建一局联采框架协议书范文
- 学生不遵守纪律后签订协议书范文模板
- 螺栓设计计算公式 大全
- 山西煤炭的运输
- 2023-2024学年云南省大姚县一中高考数学试题仿真试题(一)
- 卫生院辉煌成就与前瞻-以人为本追求卓越医疗服务
- 2023-2024学年四川省成都市龙泉中学高三下学期练习九数学试题
- 电工技术心得8篇
- 《合并同类项》赛课一等奖教学课件
- 12富起来到强起来 第一课时教案 道德与法治
- 临床流行病学智慧树知到答案章节测试2023年南方医科大学
- 2021年高考浙江卷英语试题(含答案)
- 幼儿园教师职业道德第七单元
- 下颌磨牙髓腔解剖及开髓
- GB/T 706-2008热轧型钢
- GB/T 5530-2005动植物油脂酸值和酸度测定
- GB/T 14194-2017压缩气体气瓶充装规定
- GB 7947-2006人机界面标志标识的基本和安全规则导体的颜色或数字标识
- 《网络工程实训》课程简介与教学大纲
评论
0/150
提交评论