收藏 分销(赏)

2017-信息技术vb选修知识点.pdf

上传人:精*** 文档编号:1443222 上传时间:2024-04-26 格式:PDF 页数:20 大小:1.06MB
下载 相关 举报
2017-信息技术vb选修知识点.pdf_第1页
第1页 / 共20页
2017-信息技术vb选修知识点.pdf_第2页
第2页 / 共20页
2017-信息技术vb选修知识点.pdf_第3页
第3页 / 共20页
2017-信息技术vb选修知识点.pdf_第4页
第4页 / 共20页
2017-信息技术vb选修知识点.pdf_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、精心整理精心整理选修知识点(一)计算机解决问题的流程图(二)算法一、算法定义:是解决问题的方法和步骤。算法是程序设计的“灵魂”。算法+数据结构程序。二、算法的描述方法:分自然语言、流程图和伪代码三种。1、自然语言:人们日常生活中的语言(本国语言),用自然语言描述符合我们的习惯,且容易理解。2、流程图:也称程序框图,它是算法的一种图形化表示方法。且描述算法形象、直观,更易理解。3、伪代码:是介于自然语言和计算机程序语言之间的一种算法描述。是专业软件开发人员常用方法。三、算法的 5 个特征:1、有穷性:执行有限步之后结束,且每一步的执行时间也都是有限的。2、确定性:每一步都有确切的含义。3、可行性

2、:原则上能精确运行,用纸和笔做有限次运算后即可完成。4、输入:有零个或多个输入。5、输出:至少产生一个输出。(三)程序设计基础计算机程序设计语言经历了机器语言、汇编语言、高级语言的发展过程。常用高级语言:BASIC、VB、Pascal、C、C+、Java、Delphi、Fortran、Powerbuilder 等。面向对象的程序设计语言,如 vb:其中的对象主要是系统设计好的对象,包括窗体、控件等。控件:是指工具箱中的工具在窗体中画出的能实现一定功能的部件,如标签、文本框、命令按钮等。常用控件:对象的三要素:属性、方法、事件 属性Name设置对象的名称Font设置控件中字体格式控件对象的类型前

3、缀名字举例窗体Formfrmfrmfind命令按钮Commandcmdcmdok标签Labellbllblinput文本框TextBoxtxttxtClock若命令按钮(Command)的 Enabled 属性设置为 True 时按钮有效,设置为 False 时按钮无效输入、输出判断处理、运算连接点流程线开始、结束精心整理精心整理Caption决定控件中显示的内容BackColor设置控件背景色Text决定窗体中文本框中显示的内容ForeColor设置控件的前景色(即文字颜色)Height决定控件高度Top决定控件与窗体顶部的距离Width决定控件宽度Left决定控件与窗体左边的距离Visib

4、le设置控件是否可见BorderStyle设置控件的边框风格Alignment即标签文字对齐属性:(0)LeftJustify 时文本左对齐;(1)RightJustify 时文本右对齐;设置为(2)Center 时文本居中。对象中属性可以在设计界面时通过属性窗中设置,也可以在运行时通过赋值语句在代码窗口设置:对象名.属性名属性值例:给文本框 Txt123 的 Text 属性赋值为字符串”20”,代码如下:Txt123.text=“20”注意:如果直接给对象名赋值的话,是赋值给对象的默认属性。例:Txt123=“20”相当于 Txt123.text=“20”都是给文本框 Txt123 的 te

5、xt 属性赋值。如果要获取对象的状态或特性,这时就要读取对象的属性值,方法如下:变量名对象名.属性名例:读取文本框“txt123”的“Text”属性的代码如下:a=txt123.text 方法常见的方法如下:PrintClsMoveShow格式:对象.方法参数名表例:Form1.Print”欢迎使用”事件及事件驱动常见的事件如下:Click、DblClick、KeyPress、Load、MouseUp 等。事件是对象对外部操作的响应,如在程序执行时,单击命令按钮会产生一个 Click事件。如需要命令按钮响应 Click 事件,就把完成 Click 事件功能的代码写到Click 事件的事件过程中

6、,与事件一一对应。事件过程的形式如下:PrivateSub 对象名_事件名()(事件过程代码)EndSub一、常量一、常量:指在程序进行过程中不变的量,在 VB 中一般分数值常量与字符常量两种数值常量:就是数学中说的常数,分整型常量和实型常量两种整型常量:即整数,指不带小数点的数值如 1、0、-10、+35 等都是合法的整数实型常量:即实数,指带小数点的数值。实型常量又分为定点数和浮点数两种。例:定点数:3.14159 和-6.8,1.99 浮点数:2E6、1E5、88E例:1.2345103可表示为 1.2345E3,字母 E 表示底数 10浮点数就是数学上的科学计数法。字符串常量:被一对英

7、文双引号括起来的若干个合法的字符称为字符串常量。例如:”China”、”VisualBasic”、”18”、”3.1415”等,是指英文双引号中的字符,不包括英文双引号本身。?精心整理精心整理符号常量:如果多次用到同一个常量,则可用一个有意义的名字表示这个常量。二、二、变变量:量:在程序执行过程中,其值可以改变的量称为变量。变量命名注意要点:1、必须以字母或汉字开头,不能以数字或其他字符开头。2、只能由字母、汉字、数字或下划线组成,不能含有小数点、空格等字符。3、最长不超过 255 个字符4、不能以 VB 保留字作变量名,如语句定义符、函数名(Integer、End、Print、Dim)等。5

8、、VB 不区分变量名中字母大小写。如 HELLO 和 Hello 是同一个变量。三、数据及运算三、数据及运算1、常用数据类型:(框选的内容都要熟记)2、常量和变量的命名、声明及赋值(注意:符号常量声明和赋值必须一起完成,变量却必须分 2 2 句)符号常量的声明和赋值 Const 常量名As 常量类型=常量值(或表达式)如:ConstpiAsSingle=3.14159ConstpiAsSingle=3.14159 常量名为 pi注意:常量必须在声明的时候立马赋值,如果没有“=3”部分就是错误的。变量的声明:DimAs如:DimaAsInteger 定义一个整型变量,变量名为 a变量的赋值 VB

9、 中使用“=”给变量赋值,其形式为:变量名=表达式四、运算符四、运算符1、算术运算符(注意:算术运算符的优先级问题、区分/Mod 三个运算符)2、字符串运算符“+”和“&”作用是将运算符两边的字符串连接为一个新的字符串。使用&运算符时应注意前后加空格。注意特例:当数值型和字符型连接时,+把数据都转化成数值型然后相加,返回一个数值型数据。例如:“123”+“45”=“12345”123+123+“4545”=168=168“123”&“45”=“12345”123&“45”=“12345”3、关系运算符(优先级相同)注意:关系表达式的运算结果为布尔值 TrueTrue 或FalseFalse=等

10、于小于号不等于大于号=大于等于号99,结果为False。(3)数值型与可转换为数值型的数据,按数值比较。例:29189,结果为False。4、逻辑运算符 NotNot(取反)AndAnd(与)OrOr(或)优先级依次降低Not 对一个逻辑量进行运算,And 和 Or 是对两个逻辑量进行运算,运算结果都为逻辑值 TrueTrue 或 FalseFalse运算符说明优先级说明举例结果NotNot非非1 1当操作数为假时,结果为真当操作数为假时,结果为真NotFalseTrueAndAnd与与2 2操作数均为真时,结果才为真操作数均为真时,结果才为真TrueAndFalseFalseOrOr或或3

11、3操作数中有一个为真时,结果为真操作数中有一个为真时,结果为真FalseOrTrueTrue5、日期运算符与日期表达式日期表达式是用“+”或“-”将算式表达式、日期型常量、日期型变量、日期函数等连接起来的式子。例如:表达式“#2003/09/01#+30”的运算结果是“2003-10-1”表达式“#2003/10/20#-#2003/10/10#”的运算结果为整数 106、运算符的执行顺序:算术运算符 字符串运算符?关系运算符?逻辑运算符如 a=2:b=3:c=4:d=5 则表达式 abAnd2*acOrc=d 的值为 True7、表达式的写法虽然 VB 中的表达式与代数式中的算式很相似,但两

12、者却是完全不同的概念。要注意区别,如在 VB 中不能使用等。下表中列出了一些代数式对应的 VB 表达式。代数式VB表达式说明(2*a+b)/(4*a*b)在VB表达式中无法写分式,,乘法运算符*不能省略g*t2/2VB中不能使用上标,指数必须用VB运算符表示abca=bAndb0Sgn(x)=0 x=0-1x0Sin(x)正弦函数Sin(x),x 的单位为弧度Cos(x)余弦函数Cos(x),x 的单位为弧度Tan(x)正切函数Tan(x),x 的单位为弧度注意注意:(1)Int(x)是取小于等于是取小于等于x的最大整数的最大整数。例如:Int(3.12)=3Int(2.1+3)=5Int(-

13、4.6)=-5Int(-1-2.5)=-4(2)Rnd函数产生函数产生0,1)之间的一个随机数之间的一个随机数,它常与Randomize(以初始化随机数生成器)结合使用,如果要产生0,A)间的随机整数随机整数,表达式为Int(Rnd*A)产生A,B)间的随机数:Rnd*(B-A)+A产生A,B间的随机整数:Int(Rnd*(B-A+1)+AInt(Rnd*(B-A+1)+A2、字符串函数(注意的以下字符串函数返回的值是数值型,还是字符串型。)注意注意:(1)String函数只返回n n个个指定的字符串的首字符首字符。(2)Left(字符串,n)和Right(字符串,n)中,当n的值大于字符串的

14、长度时,返回整个字符串整个字符串。(3)Mid(字符串,m,n)函数中,如果m大于字符串的长度,则返回空串,如果省略n,则返回m开始的全部字符。3、常用转换函数函数功能实例结果函数功能实例结果Len(Len(字符串字符串)求字符串的长度(字符个数)求字符串的长度(字符个数)Len(2008奥运)6Left(Left(字符串,字符串,n)n)截取字符串左边截取字符串左边n n个字符个字符Left(2008奥运,4)“2008”Mid(Mid(字符串,字符串,m m,n)n)从字符串第从字符串第m m个字符开始截取个字符开始截取n n个字符个字符Mid(2008奥运,3,2)“08”Mid(Mid

15、(字符串,字符串,m)m)从字符串第从字符串第m m个字符开始截取剩余字符个字符开始截取剩余字符Mid(2008奥运,3)“08奥运”Right(Right(字符串,字符串,n)n)截取字符串右边截取字符串右边n n个字符个字符Right(2008奥运,2)“奥运”String(nString(n,字符串,字符串)生成指定长度的指定字符的字符串生成指定长度的指定字符的字符串String(3,89)“888”InStr(InStr(字符串字符串1 1,字符串,字符串2)2)在字符串在字符串1 1中查找字符串中查找字符串2.2.并返回其出现的位置并返回其出现的位置InStr(2008奥运,奥)5精

16、心整理精心整理Val(Val(数值型字符串数值型字符串)将数值型字符串转换为数值将数值型字符串转换为数值Val(99)+Val(88)187Str(Str(数值数值)将数值转换为字符串将数值转换为字符串Str(5)5Chr(Chr(字符代码字符代码)将字符的将字符的AscAsc码转换为对应的字符码转换为对应的字符Chr(65)AAsc(Asc(字符字符)求字符对应的求字符对应的ASCIIASCII码码Asc(A)65CInt(CInt(表达式表达式)将表达式结果作四舍五入处理将表达式结果作四舍五入处理CInt(3.6)4Fix(Fix(表达式表达式)将表达式结果的小数部分截去将表达式结果的小数

17、部分截去Fix(3.8)3注意注意(1 1)对于Str(Str(数值数值)函数,如果其中的数值为正数,则返回的字符串的第一个字符为空格(符号位)。如Str(5)的结果为两个字符长度的字符串5,如要得到不含符号位的字符串,可使用CStr()CStr()函数函数。(2 2)CInt(CInt(表达式)当表达式的值对应的小数位为.5 的时候比较特殊,函数结果为离表达式的值最近的一个偶数。如 CInt(4.5)=4(3 3)Asc(Asc(字符字符)函数函数,只求字符中的第一个字符的ASCII码值,如:Asc(AB)=65(4 4)ASCIIASCII码的大小:空格码的大小:空格 数值数值 大写字母大

18、写字母 小写字母小写字母常用字符的ASCII码值:空格的ASCII码为:320的ASCII码为:48A的ASCII码为:65a的ASCII码为:97其他数字和英文字母按序依次类推。(5 5)字母转换。因大写字母的 ASCII 码比对应的小写字母小 32,所以可通过 Chr和 Asc 函数互相转换。例:a 转 AChr(Asc(a)-32)A 转 aChr(Asc(A)+32)注意式子中不能省略4、日期函数(1)Date()Date()、Time()Time()、Now()Now()。这三个函数没有参数没有参数,分别返回计算机系统的当前日期、时间、日期与时间。如2011年5月29日,PrintD

19、ate()或者PrintDate都会打印出2011-5-29(2)Year()Year()、Month()Month()、Day()Day()。这三个函数必须有参数,即必须指定一个日期,分别返回指定日期的年、月和日。函数实例结果Day(#8/18/2008#)18Month(#8/18/2008#)8Year(#8/18/2008#)20085 5、定位函数(与 Print 语句配合使用的),以控制输出数据的格式,主要包括Tab、Space 等。(l)Tab函数。功能:将被输出的内容放在由参数n所指定的位置(列数)处,在书写时,被输出的内容要放在Tab函数的右面,并用分号分隔。例:PrintT

20、ab(15);姓名;Tab(30);成绩(2)Space函数。功能:产生由n个空格所组成的字符串。6、用户交互函数VB 提供 InputBox()和 MsgBox()函数用于人机交互。(1)InputBox()格式:InputBox(提示,标题,默认值,X坐标,Y坐标)功能:在程序中调用InputBox函数,将产生一个提示用户输入内容的输入框,等待用户输入信息,并返回字符精心整理精心整理串类型的数据。用户要想得到InputBox()函数的返回值,就必须将函数的结果赋值给指定的变量。格式为:变量=InputBox(提示,标题,默认值)注意:每执行一次InputBox()函数,用户只能输入一个数据

21、。输入框的样式是固定的,我们可以改变的是输入框的“提示”和“标题”的内容。例如:r=InputBox(请输入r,输入圆半径)2.MsgBox()格式为:MsgBox(提示信息,按钮,标题)功能:用于在程序运行过程中产生一个消息框,可以看作是输出对话框,该函数的返回值为数值型数据。格式:MsgBox(提示信息,按钮,标题)例如:p=MsgBox(你输入的密码不正确,是否继续?,vbYesNo,错误提示)当用户单击消息框中的一个按钮后,消息框即从屏幕上消失。在上面的语句中,将函数的返回值赋给变量P,在程序中可引用P作相应的处理。六、常用六、常用语语句句1、赋值语句格式 1:Let 变量=表达式功能

22、:将右边表达式的结果赋给左边变量。通常情况,LetLet可以省略可以省略。=为赋值号。它与数学中的=是不同的。特别要跟方程式区分开跟方程式区分开。如:X=5即把数值5赋值给变量XY=5Mod2+7即先计算表达式5Mod2+7的值,再将值8赋值给变量YN=N+1即将N的值加1后后再赋给NX=Y即将变量Y的值赋值给变量X也可以在一行内给多个变量赋值,两条语句之间用冒号:隔开,如:s=0:a=l:b=2格式2:对象名.属性名=表达式如果省略属性名,则直接赋值给对象的默认属性。如:Text1.Text=你好!即把字符串你好!赋给Textl的Text属性。注意:赋值语句一般都独立成行,如果有类似赋值的语

23、句出现在一些结构中,大家要会辨别。例如跟在以下关键字之后Ifx=5Whilex=5Untilx=5Printx=5Ifx=5Whilex=5Untilx=5Printx=5以上结构中的x=5不再是赋值语句,因为=在这里是个关系运算符在这里是个关系运算符,判断左右是否相等,所以x=5是一个关系表达式,其值应该是个逻辑型,不是True就是False。2 2、PrintPrint语旬语旬格式:对象名.Print表达式列表功能:Print方法具有计算和输出计算和输出双重功能。对于表达式,它先计算其值,然后再在指定的对象上输出文本,对于常量、变量则直接输出其值。对象可以是窗体、图片框、打印机等。对象名可

24、以省略,省略时表示在当前窗体上输出数据。说明:(1)表达式列表可以是一个或多个表达式,之间用英文的;或或,隔开。如果用逗号逗号分隔,则按标标准输出格式准输出格式输出各数据,此时以14个字符位置为一个区段,逗号后的表达式在下一个区段输出;如果之间用分分号号分隔,则按紧凑格式紧凑格式输出数据。精心整理例:Print1;2;3;4+3Printl,2,3,4+3输出结果为:1237输出结果为:1237(2)如果Print语句末尾没有逗号或分号语句末尾没有逗号或分号,表示该Print输出完结果后自动换行输出完结果后自动换行,后面再执行Print时将在下一行的起始位置输出数据;如果在Print语句末尾使

25、用逗号末尾使用逗号,则在同一行上跳到下一个输出区段输出下一个Print所输出的内容。如果在Print语句的末尾加上一个分号末尾加上一个分号,表示下一个Print输出的内容将按紧凑格式紧跟在前一个Print所输出的内容后面;(3)当一个Print语句的后面无任何表达式后面无任何表达式时,则输出一空行或换行换行。注意:与注意:与TabTab()函数结合使用,掌握各种图形的输出。()函数结合使用,掌握各种图形的输出。3、注释语句、注释语句为了提高程序的可读性,通常需要在程序的适当位置加上必要的注释。在VB中添加注释语句的方法为在字符后加注释内容或采用Rem注释内容两种形式。格式1:注释内容注释内容用

26、写的注释语句既可以单独写一行,也可以跟在其他语句后。格式2:RemRem注释内容注释内容用Rem写的注释语句必须单独写一行。4 4、结束语旬、结束语旬格式:End功能:强制程序结束运行。PrivateSubCommand1_Click()EndEndSub该过程用于结束程序,即单击命令按钮Commandl时,结束程序的运行。(四)程序设计的三大基本结构一、顺序结构代码按照由上到下的顺序一行一行地执行。程序执行过程中没有分支、没有重复。二、分支结构(选择结构)程序在运行时会根据不同的条件决定程序的走向。实现选择结构的语句有 IfIf语句和 SelectSelect 语句。1 1、IfIf 语句分

27、为单分支、双分支和多分支三类。(1)单分支 ifif 结构:(注意:行 if 和块 if 的区别只在书写格式上。)行 if 语句:IFThen 语句 A块 if 语句:IFThen语句 AEndif(2)(2)双分支 ifif 结构:行 if 语句:IFThen 语句 AElse 语句 B块 if 语句:IFThen语句 AELSE精心整理语句 BENDIF(3)多分支 If 语句IfThenElseIfThenElseEndIf2 2、SelectCaseSelectCase 语句SelectCase Case 表达式列表 1 1语句组 1Case 表达式列表 2 2语句组 2CaseELS

28、E语句组 N+1EndSelectSelect/Case语句的执行过程执行过程是:先求测试表达式的值,然后顺序测试该值符合哪一个Case子句的情况,如果找到了,则直接执行该Case子句下面的语句块,然后执行EndSelect的后续语句;如果没找到,则执行CaseElse下面的语句块,然后执行EndSelect的后续语句。说明说明:(1)测试表达式可以是数值型或字符串型表达式。(2)表达式列表形式有以下4种。一个表达式或用逗号隔开的若干表达式,例如2,4,6,8。表达式1To表达式2,例如60To80。注意,表达式1应该小于表达式2Is关系运算符表达式,例如Is80。表达式,例如x+3。三、循环

29、结构1 1、For-NextFor-Next 循环(适合于解决循环次数事先能够确定的问题。)For 循环变量一般形式是:ForFor 循环变量=初值 ToTo 终值StepStep 步长值 循环体 NextNext循环变量 注意:要会区分选择结构和循环结构的流程图。如上图:甲为循环结构,有向上回到条件框的箭头。乙为选择结构(双分支)。精心整理说明:说明:(1)循环变量,必须为数值型。循环初值、循环终值也是数值型或数值表达式。(2)循环的有效区间是由循环初值、循环终值所限定的闭区间。(3)步长值是循环变量的增量,是一个数值表达式。若步长值为正,则初值就应小于终值,否则循环体一次都不执行;若步长值

30、为负,则初值应大于终值,否则循环体一次都不执行。如果步长值是1,Step1可略去不写。但若步长值为0,会造成死循环,这是要避免的,可用Ctrl+Break结束程序。(4)循环体是For语句和Next语句之间的语句序列,也是需要重复执行的语句组。(5)Next后的循环变量与For语句中的循环变量必须相同。(6)循环的次数=(循环终值-循环初值)步长值+1For/NextFor/Next循环语句的执行过程:循环语句的执行过程:(1)系统将初值赋给循环变量,并自动记下终值和步长。(2)检查循环变量的值是否越过终值。如越过就结束循环,执行Next后面的语句;否则执行一次循环体。(3)执行Next语句:

31、将循环变量增加一个步长值再赋给循环变量,转到第2步继续执行循环。2 2、DoDoLoopLoop 循环(对于不能预先确定次数,但需要执行多次的情况,可以使用 Do/LoopDo/Loop 循环。)格式一:DoWhileDoWhile 条件表达式循环体LoopLoop先判断条件是否为真,若条件为真,执行循环体,条件为假时退出循环。因此可能一次都不执行循环。格式二:DoDo循环体LoopWhileLoopWhile 条件表达式先执行一次循环体,再判断条件是否为真,若条件为真,执行循环体,条件为假时退出循环。因此至少执行一次循环体。格式三:DoDo循环体LoopUntilLoopUntil 条件表达

32、式先执行一次循环体,再判断条件是否为假,若条件为假,执行循环体,条件为真时退出循环。因此至少执行一次循环体。精心整理格式四:DoUntilDoUntil 条件表达式循环体LoopLoop先判断条件是否为假,若条件为假,执行循环体,条件为真时退出循环。因此可能一次都不执行循环。注意:If 语句和 Do 语句中都有的条件表达式,一般是一个关系表达式或逻辑表达式,其值不是 True 就是 False。但如果是数值型的表达式的话,会进行强制转换,即数字 0 转换成 False,非 0 转换成 True。(五)算法与问题解决一、解析法一、解析法解析法又称公式法。解析法就是在分析具体问题的基础上,抽取出一

33、个数学模型,这个数学模型能用若干个解析表达式表示出来。求解了这些表达式,问题也就得以解决。如:求解一元二次方程a*x2+b*x+c=0的实根dimx1asdouble,x2asdoubledimaASDouble,bASDouble,cASDoubleifb*b-4*a*c=0thenx1=(-b+sqr(b*b-4*a*c)/(2*a)x2=(-b-sqr(b*b-4*a*c)/(2*a)text1.text=str(x1)text2.text=str(x2)elseprint“方程无解”endif分析:X=x1=(-b+sqr(b*b-4*a*c)/(2*a)x2=(-b-sqr(b2-4

34、*a*c)/(2*a)二、穷举法穷举法是将求解对象一一列举一一列举出来,然后逐一加以分析、处理,并验证逐一加以分析、处理,并验证结果是否满足给定的条件,穷举完所有对象,问题将最终得以解决。穷举法也叫枚举法、列举法。精心整理穷举法关键是如何列举所有可能的情况,不能遗漏,也不能重复。注意取值范围,减少计算机工作量。适用编程问题:水仙花问题、鸡兔同笼问题、百钱百鸡问题、素数问题。水仙花问题、鸡兔同笼问题、百钱百鸡问题、素数问题。如:已知公鸡每只3元,母鸡每只5元,每3只小鸡1元。用100元钱买100只鸡,应各买多少只鸡?三、数组及其应用数组是一组相同类型的变量集合。数组用一个统一的名字代表逻辑上相关

35、的一批数据,每个元素靠下标变量来区分。有一个下标的数组称为一维数组。数组中的数据,逻辑上是相互关联的。1、使用数组要先声明数组的大小和数据类型。声明数组的格式如下:Dim数组名(最大下标常量)As数据类型例1:Dims(9)AsInteger表示:名称为s的一维数组中包含10个元素,下标从O到9。用来存放整型数据。也可以指定下标的起始值。例2:Dimx(2to10)AsSingle这个数组含有9个元素,下标从2到10,数据类型属于单精度实型。还可以说明多维数组。例3:DimD(4,2To6,3To9)Aslong说明了一个3维数组,一共5*5*7个数组成员,数据类型属于长整型。2 2、应注意的

36、问题:、应注意的问题:(1)在同一个程序中,任何数组只能声明一次。例如:Dims(5)AsIntegerDims(10)AsInteger这样,运行时会报错:当前范围内的声明重复。(2)下标必须是常量且为整数(若不是整数,程序运行时自动4舍5入为整数)。DimaAsInteger,bAsInteger,cAsIntegerFora=0to33公鸡数Forb=0to20母鸡数Forc=0to100小鸡数Ifa+b+c=100anda*3+b*5+c/3=100?thenPrinta;b;cendifNextcNextbNextaDimaAsInteger,bAsIntegerDimcAsInte

37、gerFora=0to33公鸡数Forb=0to20母鸡数c=100-a-b小鸡数Ifa*3+b*5+c/3=100?thenPrinta;b;cendifNextbNexta精心整理(3)同一个程序中,数组名不能与变量名相同。例如:DimsAsIntegerDims(10)AsInteger这样,运行时会报错:变量与数组不能同名。(4)数组必须先声明后使用否则运行时会报错:子程序或函数未定义。(5)数组使用时,下标不能超出声明的范围。例如:Dims(10)AsIntegerPrints(11)这样运行时会报错:下标越界。(6)数组声明时和变量一样,要注意类型。例如:Dims(10)AsInt

38、egerS(3)=40000 这样运行时会报错:溢出。3、数组的应用数组的赋值、计算、输出通常都与 ForNext 循环结合使用。For 语句中的循环变量作为数组元素的下标,通过循环变量的不断改变,达到对每个数组元素依次进行处理的目的。例子:利用数组实现:输出 10 个1,100的随机数,并输出它们的和与平均值。Dima(9)AsInteger数组的定义DimsAsIntegerRandomize将 RND 函数随机化Fori=0To9精心整理a(i)=Int(100-1+1)*Rnd)+1Printa(i)s=s+a(i)NextiPrint和为:;sPrint平均值为:;s/10四、顺序查

39、找顺序查找是查找算法中简单、易行的算法。进行查找时一般从数据的第一个元素开始,按照数据的顺序查找指定的关键值。如果被查数据和该关键值相匹配,则表示找到;如果所有数据与关键值都不匹配,则表示被查数据中不存在该关键值,查找失败。顺序查找的数据不要求是有序的。五、二分法查找(二分法查找也叫折半查找)二分法查找要求被查数据是有序的查找思路:对于有序数列(从小到大排),设定下界 low(最小元素下标)和上界 high(最大元素下标),当满足条件 lowhigh,则说明找不到。精心整理Dima(9)AsIntegerDimmidAsIntegera(0)=12:a(1)=20:a(2)=27:a(3)=3

40、6:a(4)=45:a(5)=50:a(6)=55:a(7)=60:a(8)=79:a(9)=105low=0:high=9DoWhilelowhighmidmid=(low+high)2 注意:midmid 是中点位置,而 a(mid)a(mid)是中点位置的值Ifa(mid)a(mid)=55ThenPrint找到了ExitDoElseIfa(mid)highThenprint没有 55!六、冒泡排序排序的种类有交换排序、选择排序、快速排序等。“冒泡法排序”也叫“起泡法排序”,是一种比较简单、易懂的交换排序方法。它通过将相邻元素进行比较和交换,逐步将一个无序序列排列为一个有序序列。简单说:

41、就精心整理是对相邻数据两两比较,将符合条件的数据冒上来(沉下去),然后用同样的方法再冒泡处理余下的数据,直至全部数据完成排序。(1)标准的从后往前的升序Dima(9)AsIntegerFori=0To9a(i)=Int(100-1+1)*Rnd)+1Printa(i);Nexti定义数组给数组的每个元素赋值1,100的随机数并输出Forj=1To9Fori=9Tojstep-1Ifa(i)a(i+1)Thent=a(i+1)a(i+1)=a(i)a(i)=tEndIfNextiNextj将数组中元素从小到大冒泡排序从 a(0)开始比较、交换(大的往后换)外循环控制排序的趟数内循环控制每一趟排序

42、比较的成员和次数Fork=0To9Printa(k);Nextk显示排序后的数组元素七、递归法1、自定义函数:编程者自己编写的函数。自定义函数定义格式:FunctionFunction()As精心整理函数名=返回值EndFunctionEndFunction自定义函数的调用有三种格式:格式 1:变量=函数名称(参数)格式 2:Call 函数名称(参数)格式 3:函数名称参数2、递归法如果一个函数在定义时,直接或间接地调用了自己,这种算法称为递归法。例如函数 A 自己调用了自己。另外如果函数 A 调用了函数 B,函数 B 反过来再调用函数 A 的算法,这也是递归算法。用递归写出的算法往往十分简洁

43、。递归法一般需要自定义函数或过程来实现。例 1:用递归函数求 n!注意给函数名 s s 赋的值,就是该函数的返回结果值。Functions s(nAsInteger)自定义递归函数的过程Ifn=1thens s=1Elses s=n*s s(n-1)EndFunctionPrivateSubCommand1_Click()DimnAsIntegern=Val(InputBox(请输入 N 的值)分析:5!=5*4!4!=4*3!3!=3*2!2!=2*1!1!=1n!=n*(n-1)!如果用 s(n)来表示 n!,精心整理Prints s(n)调用递归函数EndSub当 n=1 时,s(n)=

44、?当 n1 时,s(n)=?例例2 2:求两个自然数,它们的和是:求两个自然数,它们的和是667667,最小公倍数与最大公约数之比是,最小公倍数与最大公约数之比是6060:1 1。分析:设两个自然数中较小的一个为m,显然m=1是不满足条件的,m的取值范围应是2333,那么另外一个就是667-m。处理方法:对m从2到333检查,当bei=yue*60时,输出m与667-m。主程序:主程序:PrivateSubForm_Click()DimmAsInteger,yueAsInteger,beiAsIntegerForm=2To333yue=gys(m,667-m)bei=gbs(m,667-m)I

45、fbei=yue*60ThenPrintm,667-mnextmEndSub自定义函数自定义函数gys()gys()求最大公约数求最大公约数自定义函数自定义函数gbs()gbs()求最小公倍数求最小公倍数Functiongys(aAsInteger,bAsInteger)AsIntegerDimiAsIntegerFori=aTo1Step-1If(aModi=0)And(bModi=0)Thengys=iExitFunctionEndIfNextiEndFunctionFunctiongbs(aAsInteger,bAsInteger)AslongDimiAslongi=bDoWhileiM

46、oda0i=i+bLoopgbs=iEndFunction(六六)程序程序设计设计思想和方法思想和方法一、结构化程序设计的思想和方法特点:先整体后局部,先抽象后具体。思想:把一个大的程序按照功能功能划分为若干个模块划分为若干个模块,每个小的模块完成一个确定的功能,在这些模块之间按层次关系进行组织,互相协作完成整个程序要完成的功能。方法:自顶向下自顶向下,先设计第一层(顶层),然后步步深入,逐层细分,逐步求精逐层细分,逐步求精。二、面向对象程序设计的思想突出特征是:继承性、封装性、多态性。因为实际设计中,用户的需求和软硬件是不断变化的,所以结构化程序设计按功能划分设计的模块必然也是易变的和不稳定

47、的,所以可重用性差。面向对象程序设计以数据为中心,而它相对功能而言,具有较强的稳定性,模块可重用性也比较高。(七)程序中的作(七)程序中的作图图精心整理1、画线命令 LineLine 格式:对象名.Line(起点坐标)-(终点坐标),线的颜色例:Form1.Line(-1,-1)-(1,1),vbred2、画圆命令 CircleCircle:格式:对象名.Circle(圆心坐标),半径,颜色例:Form1.circle(0,0),3,vbred3、画点命令 PSetPSet:格式:对象名.PSet(点坐标),颜色例:Form1.Pset(0,0),vbred4、改变坐标系 ScaleScale 格式:对象名.Scale(对象左上角坐标)-(对象右下角坐标)例:Form1.Scale(-1.5,-1.5)-(1.5,1.5)

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 高中其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服