高中信息技术《算法与程序设计VB(选修)》知识要点相关知识点(一)算法1.定义相关题解:1算法:就是解决问题的方法和步骤。算法是程序设计的“灵魂”,算法+数据结构=程序。运用计算机程序解决实际问题时,合理的步骤是B、分析问题→设计算法→编写程序→调试程序2.算法的描述方法:1算法的描述:可分多种表达方法,一般用自然语言、流程图和伪代码进行描述。2自然语言描述法:指用人们日常生活中使用的语言(本国语言),用自然语言描述符合我们的习惯,且容易理解。3流程图描述:也称程序框图,它是算法的一种图形化表示方法。且描述算法形象、直观,更易理解。4伪代码描述法:是介于自然语言和计算机程序语言之间的一种算法描述。是专业软件开发人员常用方法。(二)程序设计基础对象.属性=属性值对象中属性可以在设计界面时通过属性窗中设置,也可以在运行时通过程序代码设置,方法如下例:给文本框“Txt123”的“Text”属性赋值为字符串“20”,代码如下Txt123.text=”20”变量=对象.属性如果要获取对象的状态或特性,这时就要读取对象的属性值,方法如下例:读取文本框“txt123”的“Text”属性的代码如下a=txt123.text2方法[对象].方法[参数名表]例:form.print”欢迎使用”该语句使用print方法在form1窗体中显示字符串“欢迎使用”3事件及事件驱动事件是对象对外部操作的响应,如在程序执行时,单击命令按钮会产生一个Click事件。如需要命令按钮响应Click事件,就把完成Click事件功能的代码写到Click事件的事件过程中,与事件一一对应。输入或输出判断处理或运算连接点流程线开始或结束事件过程的形式如下:PrivateSub对象_事件名()……………(事件过程代码)EndSub一个简单的VB程序求圆的周长和面积PrivateSubCommand1_Click()DimrAsSingle'定义r为单精度型DimcAsSingle'定义c为单精度型DimsAsSingle'定义s为单精度型r=Val(Text1.Text)'输入半径rc=2*3.14159*r'计算周长s=3.14159*r*r'计算面积Text2.Text=c'输出周长Text3.Text=s'输出面积EndSubPrivateSubCommand2_Click()End'退出一、常量:批在程序进行过程中不变的量在VB中一般分数值常量与字符常量两种数值常量:就是数学中说的常数,分整型常量和实型常量两种整型常量:即整数,指不带小数点的数值如1、0、、-10、+35等都是合法的整数实型常量:即实数,指带小数点的数值。实型常量又分为定点数和浮点数两种。例:定点数:3.14159和-6.8,1.99浮点数:2E6、1E5、88E例:1.2345×103可表示为1.2345E3,字母E表示底数10浮点数就是数学上的科学计数法。字符串常量:被一对双引号括起来的若干个合法的字符称为字符串常量。例如:”China”、”VisualBasic”、”18”、”3.1415”等,双引号中字符,不包括双引号本身。符号常量:如果多次用到同一个常量,则可用一个有意义的名字表示这个常量。二、变量:在程序执行过程中,其值可以改变的量称为变量变量命名注意要点:1、必须以字母开头,不能以数字或其他字符开头。2、只能由字母、汉字、数字学或下划线组成,不能含有小数点、空格等字符。3、最长不超过255个字符4、不能以VB保留字作变量名,如语句定义符、函数名等。5、VB不区分变量名中字母大小写。如HELLO和Hello是同一个变量。数据及运算(1)常用数据类型:(整型)Integer、(长整型)Long、(单精度型)Single、(双精度型)Double、(字符串型)String、(布尔型)Boolean、(日期型)Date其中(整型)Integer、(长整型)Long、(单精度型)Single、(双精度型)Double属于数值型表示范围:(整型)Integer(-32768——32767,存储为16位,2个字节)(长整型)Long(-21亿——21亿,可以表示人口数量)(布尔型)Boolean(True真、是或False假、非)(字符串型)String(定长字符串:0——65535个字符,不定长字符串:0——20亿个字符)字符串型数据是指用“”括起来的一串字符。如“欢迎进入VB世界!”、“VisualBasic”、“1234”都是字符串类型。(日期型)Date(100/1/1——9999/12/31)日期型数据专门用来处理日期和时间。VB采用一对“#”把日期和时间的值括起来,如#2003/08/20#表示2003年8月20日。(2)变量的命名、声明及赋值变量的声明:Dim变量名As变量类型如:DimaAsInteger定义一个整型变量,变量名为a变量的赋值VB中使用Let语句给变量赋值,其形式如下:变量=表达式数据的输出程序中运算得到的结果,除可以使用文本框和标签显示外,对于大批量的数据更适合用Pint方法输出,格式如下[对象].Print[表达式列表]例题:PrivateSubForm_Click()DimxAsSingle,yAsSingleForm1.Print-61;-34Form1.Print9*2;12Form1.PrintThisis;abookx=3:y=4Printx=;x,y=;yEndSub注意:Print方法运算符1、算术运算:+加--减*乘^指数例:2^2=4/(浮点)除例:5/2=2.5\整除例:5\2=2Mod求余数例:5Mod2=1关系运算=赋值、小于号不等于大于号=大于等于号=小于等于号注意:关系表达式的运算结果为布尔值True或False例:32结果为True(真或是)逻辑运算Not(取反)And(与)Or(或)运算结果为布尔型(Boolean)True或False逻辑运算符的优先级为:NoAndOr日期运算符与日期表达式日期表达式是用日期运算符“+”或“-”将算式表达式、日期型常量、日期型变量、日期函数等连接起来的式子,如表达式“#2003/09/01#+30”的运算结果是“2003-10-1”;表达式“#2003/10/20#-#2003/10/10#”的运算结果为整数10字符运算字符串连接符为“+”和“&”“123”+“45”=“12345”“123”&“45”=“12345”123+“45”=168“123”+45=168运算符的执行顺序在VB中,当一个表达式中同时出现多种运算符时,运算次序由运算符的优先级决定,优先级高的运算符先运算,优先级相同的从左向右进行运算。不同性质的运算符优先级如下。算术运算符字符串运算符关系运算符逻辑运算符常用函数数学函数Abs(x)求x的绝对值,例:abs(-3.6)=3.6Sqr(x)求x的平方根,例:sqr(100)=10Int(x)求≤x的最大整数例:int(3.6)=3int(--3.6)=--4Rnd(x)产生[0,1)之间的随机数(不包括1)Sin(x)Cos(x)Tan(x)Atn(x)Exp(x)Log(x)使用三角函数时,参数应是弧度,如数学中sin300应写为:sin(30*3.14159/180)字符串函数Len(字符串)求字符串的长度,例:Len(“hello”)=5Left(字符串,截取长度)截取字符串左边部分,例:Left(“hello”,2)=“he”Mid(字符串,起始位置,截取长度),例:Mid(“hello”,2,2)=“el”Right(字符串,长度)截取字符串右边部分。例:Right(“hello”,2)=“lo”String(数值,字符)生成指定长度与指定字符的字符串,例:String(3,”9”)=”999”函数mid(C,N1,N2)的作用是从字符串C中N1位开始取出长度为N2的子串。那么,Mid(aBcDeFg,3,3)的值为(D)。A、aBcB、cdeC、eFgD、cDe常用转换函数Val(字符串)将字符串转换为数值Str(数值)将数值转换为字符串用户交互函数VB提供InputBox()和MsgBox()函数用于人机交互InputBox()其语法格式为:InputBox(提示[,标题][,默认值][,X坐标][,Y坐标])MsgBox()其语法格式为:MsgBox(提示信息[,按钮][,标题])程序设计的顺序结构顺序结构:代码按照由上到下的顺序一行一行地执行。程序执行过程中没有分支、没有重复,这种结构称为顺序结构。程序设计的分支结构行If语句行If是指在一行中写完的If语句。其一般格式为:格式一:If条件Then语句执行这种形式的If语句时,首先对条件进行判断。若条件成立,则执行Then后面的语句;若条件不成立,则执行If语句后继程序行的语句格式二:If条件Then语句1Else语句2例题:输入三个不相同的数,求出其中最小数。PrivateSubForm_Click()DimaAsSingle,bAsSingle,cAsSingleDimMinAsSinglea=InputBox(输入a,输入框)b=InputBox(输入b,输入框)c=InputBox(输入c,输入框)IfabThenMin=aElseMin=bIfcMinThenMin=cPrint最小数=;MinEndSub执行这种形式的语句时,先进行判断。若条件成立,则执行语句1;否则执行语句2。块If语句上述If-then语句只能根据条件的真假是否执行一条语句,当Then部分和Else部分包含的内容较多时,则可选用“块If语句”结构。格式三:If条件Then语句块EndIf格式四:If条件Then语句块1Else语句块2EndIf程序设计的循环结构一、For-Next循环For循环变量一般形式是:For循环变量=初值To终值Step循环变量增量循环体Nxt循环变量例题1:求s=1+2+3+4.....+100PrivateSubForm_Click()DimiAsIntegerDimsumAsIntegersum=0Fori=1To100sum=sum+i'循环体NextiPrintsum=;sumEndSub例题2:Step循环变量增量PrivateSubForm_Click()Forj=3To15Step2PrintjNextjEndSub循环变量的初值、终值、循环变量增量都是数值型。其中要重复执行的操作称为循环体,增量可正可负,如果没有设置Step,则增量的缺省值为11、循环变量取初值;2、循环变量与终值比较,没有超过终值转3,否则循结束,接着执行循环语句的后继语句;3、执行一次循环体4、循环变量增加一个增量5、重复步骤2~4。以上可以看出,For-Next循环变量是一种当型循环。说明(a)For语句与Next语句必须成对出现,而且它们当中的“循环变量”必须是同一个变量,如上例中均为I。(b)当循环变量为正时,循环变量超过终值,是指循环变量的值大于终值时;若为负,则是指循环变量的值小于终值。二、Do-Loop循环For-Next循环的次数是确定的,但是有的问题只知道循环结束的条件,重复执行的次数事先并不知道,这是需要Do-Loop循环格式一:当循环:DoWhile条件循环体Loop当VB执行DoWhile-Loop循环时,先判断指定的条件是否为真,若条件为真,执行循环体,条件为假时退出循环。AP入口出口格式二:直到循环Do循环体LoopUntil条件这种循环的执行过程如图所示。进入循环体后,先执行一次循环体A,然后再检查条件P是否成立。如果不成立,就重复执行循环体A,直到条件P成立退出循环体。例题:如果我国人口每年以平均1.5%的速度增长,问多少年后我国人口达到或超过15亿?设现在人口为12.3亿。PrivateSubForm_Click()DimpAsSingleDimrAsSingleDimnAsIntegerp=1230000000#r=0.015n=