1、高中信息技术算法与程序设计VB(选修)知识要点相关知识点(一)算法1.定义相关题解:1算法:就是解决问题的方法和步骤。算法是程序设计的“灵魂”,算法+数据结构程序。单选题1、运用计算机程序解决实际问题时,合理的步骤是(B)。 A、设计算法分析问题编写程序调试程序 B、分析问题设计算法编写程序调试程序 C、分析问题编写程序设计算法调试程序 D、设计算法编写程序分析问题调试程序2算法的描述方法:1算法的描述:可分多种表达方法,一般用自然语言、流程图和伪代码进行描述。2自然语言描述法:指用人们日常生活中使用的语言(本国语言),用自然语言描述符合我们的习惯,且容易理解。3流程图描述:也称程序框图,它是
2、算法的一种图形化表示方法。且描述算法形象、直观,更易理解。4伪代码描述法:是介于自然语言和计算机程序语言之间的一种算法描述。是专业软件开发人员常用方法。输入或输出判断处理或运算连接点流程线开始或结束相关题解:单选题1、图形符号 在算法流程图描述中表示( B ).A 处理或运算的功能 B 输入输出操作C 用来判断条件是否满足需求 D 算法的开始或结束2、图形符号 在算法流程图描述中表示( A ).A 处理或运算的功能 B 输入输出操作 C 用来判断条件是否满足需求D 算法的开始或结束3、以下哪个是算法的描述方法?( A )A 流程图描述法 B 枚举法 C 顺序法 D 列表法4、以下哪个是算法的描
3、述方法?( D )A 顺序法B 列表法C 集合法D 自然语言描述法5、介于自然语言和计算机语言之间的一种算法描述是下列哪个选项?( ) A、伪代码 B、流程图 C、高级语言 D、VB 程序设计语言(二)程序设计基础(1)常用高级编程语言:BASIC、VB、Pascal、C、C+、Java1面向对象的程序设计语言:其中的对象主要是系统设计好的对象,包括窗体等、控件等2控件:是指工具箱中的工具在窗体中画出的、能实现一定功能的部件,如文本框,命令按钮等。常用控件:控件对象的类型前缀名字举例窗体Formfrmfrmfind命令按钮Command buttoncmdcmdok标签Labellbllbli
4、nput文本框TextBoxtmrtmrClock若命令按钮(Command)的Enabled属性设置为True时按钮有效,设置为False时按钮无效3对象的属性、方法和事件1属性 属性Name设置对象的名称Caption决定控件中显示的内容(文字)Text决定窗体中文本框中显示的内容(初始为空白)Height决定控件高度Width决定控件宽度TOP决定控件的靠顶部位置Left决定控件的靠左边位置Font设置控件中字体格式BackColor设置控件背景色ForeColor设置控件的前景色BorderStyle设置控件的边框风格Alignment即标签文字对齐属性:(0)Left Justify
5、时文本左对齐;(1)Right Justify时文本右对齐;设置为(2)Center时文本居中。AutoSize设置为False时输入控件Caption中文字超过控件宽度时超出部分被裁剪掉,设置为True时,控件可水平扩充,以适应控件Caption属性。Visible决定控件是否可见Enabled决定控件运行时是否有效对象.属性属性值对象中属性可以在设计界面时通过属性窗中设置,也可以在运行时通过程序代码设置,方法如下例:给文本框“Txt123”的“Text”属性赋值为字符串“20”,代码如下Txt123.text =”20”变量对象.属性如果要获取对象的状态或特性,这时就要读取对象的属性值,方
6、法如下例:读取文本框“txt123”的“Text”属性的代码如下a = txt123.text2方法对象.方法参数名表例:form.print ”欢迎使用”该语句使用print方法在form1窗体中显示字符串“欢迎使用”3事件及事件驱动事件是对象对外部操作的响应,如在程序执行时,单击命令按钮会产生一个Click事件。如需要命令按钮响应Click事件,就把完成Click事件功能的代码写到Click事件的事件过程中,与事件一一对应。事件过程的形式如下:Private Sub 对象_事件名( )(事件过程代码)End Sub一个简单的VB程序求圆的周长和面积Private Sub Command1_
7、Click()Dim r As Single 定义r为单精度型Dim c As Single 定义c为单精度型Dim s As Single 定义s为单精度型r = Val(Text1.Text) 输入半径rc = 2 * 3.14159 * r 计算周长s = 3.14159 * r * r 计算面积Text2.Text = c 输出周长Text3.Text = s 输出面积End SubPrivate Sub Command2_Click()End 退出End Sub相关题解:单选题1、下列关于程序设计说法正确的是( B )。A、程序设计语言的发展经历了机器语言、汇编语言到高级语言的过程,
8、比较流行的高级语言是PASCAL, FORTRAN, EXCEL, C+等B、程序设计就是寻求解决问题的方法,并将其实现步骤编写成计算机可以执行的程序的过程C、程序设计语言和计算机语言是同一个概念的两个方面D、程序设计就是指示计算机如何去解决间题或完成一组可执行指令的过程2、下列说法错误的是( D ).A、程序设计就是寻求解决问题的方法,并将其实现步骤编写成计算机可以执行的程序的过程B、程序设计语言的发展经历了机器语言、汇编语言、高级语言的过程C、计算机程序就是指计算机如何去解决间题或完成一组可执行指令的过程D、程序设计语言和计算机语言是同一概念的两个方面3、下列不属于程序设计语言中高级语言的
9、是(C)。 A、BASIC B、C语言 C、汇编语言 D、PASCAL4、程序设计语言的发展历程中,不包括( A )。 A、自然语言 B、机器语言 C、汇编语言 D、高级语言一、常量:指在程序进行过程中不变的量。在VB中一般分数值常量与字符常量两种数值常量:就是数学中说的常数,分整型常量和实型常量两种整型常量:即整数,指不带小数点的数值如1、0、-10、+35等都是合法的整数实型常量:即实数,指带小数点的数值。实型常量又分为定点数和浮点数两种。例:定点数:3.14159和-6.8,1.99浮点数:2E6、1E5、88E例:1.2345103 可表示为1.2345E3,字母E表示底数10浮点数就
10、是数学上的科学计数法。字符串常量:被一对双引号括起来的若干个合法的字符称为字符串常量。例如:”China”、”Visual Basic”、”18”、”3.1415”等,双引号中字符,不包括双引号本身。符号常量:如果多次用到同一个常量,则可用一个有意义的名字表示这个常量。二、变量:在程序执行过程中,其值可以改变的量称为变量变量命名注意要点:1、必须以字母开头,不能以数字或其他字符开头。2、只能由字母、汉字、数字或下划线组成,不能含有小数点、空格等字符。3、最长不超过255个字符4、不能以VB保留字作变量名,如语句定义符、函数名等。5、VB不区分变量名中字母大小写。如HELLO和Hello是同一个
11、变量。数据及运算(1)常用数据类型:(整型)Integer、(长整型)Long、(单精度型)Single、(双精度型)Double、(字符串型)String、(布尔型)Boolean、(日期型)Date其中(整型)Integer、(长整型)Long、(单精度型)Single、(双精度型)Double属于数值型表示范围:(整型)Integer (-32768 32767,存储为 16 位 , 2 个字节)(长整型)Long(-21亿 21亿,可以表示人口数量)(布尔型)Boolean(True 真、是 或 False假、非)(字符串型)String(定长字符串:065535个字符,不定长字符串:
12、020亿个字符) 字符串型数据是指用 “ ”括起来的一串字符。如“欢迎进入VB世界!”、“ Visual Basic” 、“1234 ”都是字符串类型。(日期型)Date(100/1/19999/12/31) 日期型数据专门用来处理日期和时间。VB采用一对“#”把日期和时间的值括起来,如#2003/08/20#表示2003年8月20日。(2)常量和变量的命名、声明及赋值符号常量的声明:Const 常量名 As 常量类型 = 常量值如:Const pi As Single = 3.14159 常量名为pi变量的声明:Dim As 如:Dim a As Integer 定义一个整型变量,变量名为a
13、变量的赋值VB中使用Let语句给变量赋值,其形式如下:Let 变量 = 表达式其中,方括号表示这部分内容是可选的,通常可以省略该关键字。例题Private Sub Form_Click() Dim a As Integer, b As Integer, c As Integer Dim str As String Let a = 54 Let b = 114 c = a + b str = Hello World Print a=; a, b=; b, c=; c Print strEnd SubVB语言中,下列数据类型说明符中表示整型的是(B)。 A、Boolean B、Integer C、
14、Date D、String数据的输出程序中运算得到的结果,除可以使用文本框和标签显示外,对于大批量的数据更适合用Pint方法输出,格式如下对象 . Pint 表达式列表例题:Private Sub Form_Click() Dim x As Single, y As Single Form1.Print -61; -34 Form1.Print 9 * 2; 12 Form1.Print This is; a book x = 3: y = 4 Print x=; x, y=; yEnd Sub注意:Print 方法相关题解:单选题在VB 语言中,下列合法的变量名是(B)。 A、34ab B、
15、ab34 C、*abc D、cc下列选项中属于字符串常量的是( c )。 A、ab B、a+b C、1235 D、“1235”在VB 语言中,下列合法的变量名是( a )。 A、aa B、a*b C、7ab D、dim运算符1、 算术运算:+ 加 - 减 *乘 指数 例:24 = 16/ (浮点)除 例:5 / 2 = 2.5 整除 例: 5 2 = 2Mod 求余数 例:5 Mod 2 = 1相关题解单选题1、分析下列程序: Private Sub Form_Click() s=113 + 11 Mod 3 Print s End Sub当单击窗体时s的值是( A ).A、5 B、6 C、4
16、 D、3关系运算=赋值、小于号不等于大于号=大于等于号 2 结果为 True(真或是)相关题解单选题1、下面表达式的值是false的有( C ).A、969 n97 B、Int(4.99) len(basic) C、str(2000) 2逻辑运算Not(取反)And(与) Or(或)运算结果为布尔型(Boolean)True 或 False逻辑运算符的优先级为:Not And Or1、下列逻辑表达式的值为“假”的是(A)。 A、2 + 4 8 B、3 + 12 = 15 C、5 0 And 4 3 D、10 / 5 7 B、8 / 4 3 And 3 2 D、4 + 11 203、已知A,B,
17、C,D 是简单变量,且都已有互不相同的值,执行语句A=C: D=B 后,下列 关系表达式逻辑值为“真”的是(A)。 A、C=A B、A=B C、D=C D、B=C日期运算符与日期表达式日期表达式是用日期运算符“+”或“-”将算式表达式、日期型常量、日期型变量、日期函数等连接起来的式子,如表达式“#2003/09/01# +30”的运算结果是“2003-10-1”;表达式“#2003/10/20# - #2003/10/10#”的运算结果为整数10相关题解单选题1、设a=2, b=3,在VB中,表达式ab Or b3值是:( A )A、False B、True C、-1 D、1字符运算字符串连接
18、符为“+”和“&”“123” + “45” = “12345”“123” & “45” = “12345”123 + “45” = 168“123” + 45 = 168相关题解单选题VB的字符串运算符是“&”,该运算符主要用于连接两个或更多的字符串。如:abcd & efg 连接后的运算结果为:abcdefg。那么,1+2 & 3的运算结果为:(C)。 A、33 B、6 C、1+23 D、True运算符的执行顺序在VB中,当一个表达式中同时出现多种运算符时,运算次序由运算符的优先级决定,优先级高的运算符先运算,优先级相同的从左向右进行运算。不同性质的运算符优先级如下。算术运算符 字符串运算符
19、 关系运算符 逻辑运算符相关题解单选题在VB语言中,表示“a大于0且b小于12”的正确表达式是(D)。 A、b 0 B、b 12 And a 12 Or a 0 And b 12常用函数数学函数Abs(x) 求x 的绝对值,例:abs(-3.6) = 3.6Sqr(x) 求 x 的平方根,例:sqr(100) = 10 R=SQR(10000) PRINT RInt(x)求x的最大整数 例:int(3.6) = 3 int(-3.6) = -4Rnd(x)产生0,1)之间的随机数(不包括1)Sin(x) Cos(x)Tan(x) Atn(x)Exp(x) Log(x) val(x)使用三角函数
20、时,参数应是弧度,如数学中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)的作用
21、是从字符串C中N1位开始取出长度为N2 的子串。那么, Mid (aBcDeFg, 3, 3)的值为(D)。 A、aBc B、cde C、eFg D、cDe常用转换函数Val(字符串) 将字符串转换为数值Str(数值) 将数值转换为字符串Chr(字符代码)Asc(字符)Tab定位函数的使用例题Private Sub Form_Click() Dim a As Integer Dim b As Integer a = 4: b = 9 Print Tab(1); 数; Tab(9); 平方; Tab(18); 立方; Tab(27); 平方根 Print Tab(1); a; Tab(9); a
22、 * a; Tab(18); a * a * a; Tab(27); Sqr(a) Print Tab(1); b; Tab(9); b * b; Tab(18); b * b * b; Tab(27); Sqr(b)End Sub用户交互函数VB提供InputBox( )和MsgBox( )函数用于人机交互InputBox( )其语法格式为:InputBox( 提示,标题,默认值,X坐标,Y坐标)MsgBox( ) 其语法格式为:MsgBox(提示信息,按钮,标题 )表达式:是指某个求值规则,它由运算符和配对的圆括号将常量、变量、函数等操作数以合理的形式连接起来的式子。VB中有算术表达式、字
23、符串表达式、日期表达式、关系表达式和逻辑表达式等。例如在上述的程序中,式子PI*r*r是算术表达式。相关题解单选题1、Visual Basic中,下列( A )函数是求绝对值的。A、ABS(X) B、SQR(X) C、INT(X) D、GN(X)2、表达式Abs(-3.6)*sqr(100)的值是( C )。A、-36 B、360 C、36 D、-3603、下列( A )数据类型不是数值型。A、Date B、Single C、Double D、Integer4、下列函数中,返回值是字符串的是 ( A ).A、Mid B、Instr C、Val D、Len5、下列( A )函数返回系统的当前时间
24、。A、time() B、date() C、day() D、year()6、代数表达式表达式后错误的是( D )A、g*t*t/2 B、1/2*g*t2 C、g*t2/2 D、gt2/27、数学式子在VB中的正确写法是:( )A、 (2*a+b)/4*a B 、(2*a+b)/(4ab) C 、(2a+b)(4ab) D 、(2*a+b)/(4*a*b)8、判断x是否在区间a, b上,在VB中以哪个逻辑表达式是正确的?( C )A 、ax and x=b B、 ax=b C、ax and x=b综合分析1、向n变量存入1个2位整数,要使此2位数十位和个位上的值分别存入x, y变量。正确的算法是(
25、 D )。选项:x、x=Left(n, 1) y=n-x*10 Print x:Print yB、x=Left(n, 1) y=Right(n, 1) Print x:Print yC、x=n/10 y=n-x*10 Print x:Print yD、x=Int(n/10) y=n-x*10 Print x:Print y2、向x变量中输入任意一个小写字母,再将x变量中的小写字母转成大写字母。正确的算法是( A ).选项:A、输人字母到x a=Asc(x)-32 x=chr(x) Print xB、输人字母到x a=Asc(x)+32 x=chr(x) Print xC、输人字母到x a=Va
26、l(x)一32 x=Chr(x) Print xD、输人字母到x a=Val(x)+32 x=Chr(x) Print x程序设计的顺序结构顺序结构:代码按照由上到下的顺序一行一行地执行。程序执行过程中没有分支、没有重复,这种结构称为顺序结构。例题:交换两个变量中的数据。Private Sub cmdSwap_Click() Dim x As Single, y As Single Dim m As Single x = Val(txtsx.Text) y = Val(txtsy.Text) m = x: x = y: y = m 交换数据 txtdx.Text = Str(x) txtdy.
27、Text = Str(y)End SubPrivate Sub cmdEnd_Click() EndEnd Sub相关题解单选题1、以下是一段VB程序:a = 1b = a + 1c = a + b它的基本结构属于( A )A、顺序结构 B、选择结构 C、循环结构 D、树型结构2、下列VB程序运行后,变量x的值为( A ).x=2Print x+lPrint x+2A、2 B、3 C、5 D、8程序设计的分支结构行If语句行If是指在一行中写完的If语句。其一般格式为:格式一:If条件Then语句执行这种形式的If语句时,首先对条件进行判断。若条件成立,则执行Then后面的语句;若条件不成立,
28、则执行If语句后继程序行的语句格式二:If条件 Then 语句 1 Else 语句 2例题:输入三个不相同的数,求出其中最小数。Private Sub Form_Click() Dim a As Single, b As Single, c As Single Dim Min As Single a = InputBox(输入a, 输入框) b = InputBox(输入b, 输入框) c = InputBox(输入c, 输入框) If a b Then Min = a Else Min = b If c = 60 ThenLabel1.Caption = 及格 End IfIf a 0时,y
29、=4x+1)。Private Sub Form_Click()Dim x As SingleDim y As Singlex = Val(InputBox(请输入变量x)If x = 10 Then Value = 5 * xElse Value = 4 * xEnd IfA、100 B、80 C、90 D、70综合分析1、如要完成:从键盘输入一个正整数,判断是否是奇数,如是就在屏幕上显示。比较好的算法是( B D )。选项:A、输人的数存人n变量f=(n/2=Int(n/2)如果f中的值为True就显示n中值B、输人的数存人n变量f=(n/2=Int(n/2)如果f中的值为False就显示n
30、中值C、输人的数存人n变量如果n/2=Int(n/2)成立,就显示n中值D、输人的数存人n变量如果n/2=Int(n/2)不成立,就显示n中值2、下面是判断变量x是不是能被5整除的偶数的程序,横线上的逻辑表达式应为( AB ) Private Sub commandl_Click() Dim x As Integer x=Val(Text1. Text) If _ = 0 Then Labell.Caption=这个数是能被5整除的偶数 Else Labell.Caption=这个数不是能被5整除的偶数 End If选项:A、(x Mod 5) = 0 And (x Mod 2 ) = 0B、
31、x Mod 10 = 0C、x Mod 5 = 0D、x Mod 2 = 03、如要完成:从键盘输入一个正整数,判断是否是偶数,如是就在屏幕上显示。比较好的算法是( AC )。选项:A、输入的数存人n变量f=(n/2=Int(n/2)如果f中的值为True就显示n中值B、输入的数存人n变量f=(n/2=Int(n/2)如果f中的值为False就显示n中值C、输入的数存人n变量如果n/2=Int(n/2)成立,就显示n中值D、输入的数存人n变量如果n/2=Int(n/2)不成立,就显示n中值4、下列程序段运行后,m的值为( A )A=2: b=1: c=5If A b Then m = A El
32、se m = bIf c m Then m = c选项:A、1B、2C、5D、提示错误,无答案程序设计的循环结构一、For-Next循环For循环变量一般形式是:For循环变量=初值To终值 Step循环变量增量 循环体Next循环变量例题1:求s1+2+3+4.+100Private Sub Form_Click() Dim i As Integer Dim sum As Integer sum = 0 For i = 1 To 100 sum = sum + i 循环体 Next i Print sum=; sumEnd Sub例题2:Step循环变量增量Private Sub Form_
33、Click()For j = 15 To 3 Step -2Print jNext jEnd Sub循环变量的初值、终值、循环变量增量都是数值型。其中要重复执行的操作称为循环体,增量可正可负,如果没有设置Step,则增量的缺省值为11、 循环变量取初值;2、 循环变量与终值比较,没有超过终值转3,否则循结束,接着执行循环语句的后继语句;3、 执行一次循环体4、 循环变量增加一个增量5、 重复步骤24。以上可以看出,For-Next循环变量是一种当型循环。说明(a) For语句与Next语句必须成对出现,而且它们当中的“循环变量”必须是同一个变量,如上例中均为I。(b) 当循环变量为正时,循环变
34、量超过终值,是指循环变量的值大于终值时;若为负,则是指循环变量的值小于终值。AP入口出口二、DoLoop循环For-Next循环的次数是确定的,但是有的问题只知道循环结束的条件,重复执行的次数事先并不知道,这是需要Do-Loop循环格式一:Do While 条件循环体Loop例题:求最大公约数Private Sub Command1_Click() Dim a As Integer Dim b As Integer Dim r As Integer a = Val(Text1.Text) b = Val(Text2.Text) r = a Mod b Do While r 0 a = b b
35、= r r = a Mod b Loop Text3.Text = Str(b)End SubPrivate Sub Command2_Click() EndEnd Sub当VB执行Do While-Loop循环时,先判断指定的条件是否为真,若条件为真,执行循环体,条件为假时退出循环。格式二: Do 循环体Loop Until条件这种循环的执行过程如图所示。进入循环体后,先执行一次循环体A,然后再检查条件P是否成立。如果不成立,就重复执行循环体A,直到条件P成立退出循环体。APN例题:如果我国人口每年以平均1.5%的速度增长,问多少年后我国人口达到或超过15亿?设现在人口为12.3亿。Priv
36、ate Sub Form_Click() Dim p As Single Dim r As Single Dim n As Integer p = 1230000000# r = 0.015 n = 0 Do p = p * (1 + r) n = n + 1 Loop Until p = 1500000000# Print n; 年后, 人口=; pEnd Sub下列程序段执行结束后,变量y的值是(C)。 y=2 Do while y1时返回函数值为age (n-1)当n=1返回函数值为38B、定义age (n)函数 函数中当n1时返回函数值为age (n-1)-3当n=1返回函数值为38C
37、、定义age (n)函数 函数中不断地调用age (n-1)-3D、定义age (n)函数 函数中不断地调用age (n)函数自己4、排序与查找数据四、应用程序设计1、程序设计的一般步骤2、 简单程序设计综合分析1、a,b,c三变量存放不同的数,值a 最大,b 第二,比较好的算法是( )A、定义一个max(x,y)函数(值为 x,y 中的大值) a = max(max(a,b),c)B、如a b就a = b 如 a c 就 a = c l如 b b就a = b 如 a c 就 a = c l如 b c 就 b = cD、如a b就两变量交换 如 a c 就两变量交换 l如 b c 就两变量交换2、求2! +3! +4! +5!+10!的值。能完成此运算,并且比较好的算法是( A )。选项:A、定义求阶乘的函数用j c(n) 主程序中用一个循环9次调用j c(n)函数进行累加B、用一个程序完成:每一项阶乘用一个For/Next循环完成,整个程序包括9个循环C、用解析法:s=1*2+1*2*3+1*2*3*4+1*2*3*4*5*6*7*8*9*10D、不必定义函数,只要用一个单重循环就能完成3、要求打印 100 至 200之间所有偶数的平方