1、. .XX省高XX息技术算法与程序设计VB(选修)知识要点相关知识点(一)算法1.定义相关题解:1算法:就是解决问题的方法和步骤。算法是程序设计的“灵魂”,算法+数据结构程序。单选题1、下列关于算法说法不正确的是( A )A、算法独立于任何具体的语言,BASIC算法只能用BASIC语言来实现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 自然语言描述法(二)程序设计基础(1)常用高级编程语言:BASIC、VB、Pascal、C、C+、Java1面向对象的程序设计语言:其中的对象主要是系统设计好的对象,包括窗体等、控件等2控件:是指工具箱中的工具在窗体中画出的、能实现一定功能的部件,如文本框,命令按钮等。常用控件:控件对象的类型前缀名字举例窗体Formfrmfrmfind命令按钮mand buttoncmdcmdok标签Labellbllblinput文本框TextBoxtmrtmrClock若命令按钮(mand)的Enabled属性设置为True时按钮有效,设置为False时按
4、钮无效3对象的属性、方法和事件1属性属性Name设置对象的名称Caption决定控件中显示的内容(文字)Text决定窗体中文本框中显示的内容(初始为空白)Height决定控件高度Width决定控件宽度TOP决定控件的靠顶部位置Left决定控件的靠左边位置Font设置控件中字体格式BackColor设置控件背景色ForeColor设置控件的前景色BorderStyle设置控件的边框风格Alignment即标签文字对齐属性:(0)Left Justify时文本左对齐;(1)Right Justify时文本右对齐;设置为(2)Center时文本居中。AutoSize设置为False时输入控件Capt
5、ion中文字超过控件宽度时超出部分被裁剪掉,设置为True时,控件可水平扩充,以适应控件Caption属性。Visible决定控件是否可见Enabled决定控件运行时是否有效对象.属性属性值对象中属性可以在设计界面时通过属性窗中设置,也可以在运行时通过程序代码设置,方法如下例:给文本框“Txt123”的“Text”属性赋值为字符串“20”,代码如下Txt123.text =”20”变量对象.属性如果要获取对象的状态或特性,这时就要读取对象的属性值,方法如下例:读取文本框“txt123”的“Text”属性的代码如下a = txt123.text2方法对象.方法参数名表例:form.print ”
6、欢迎使用”该语句使用print方法在form1窗体中显示字符串“欢迎使用”3事件及事件驱动事件是对象对外部操作的响应,如在程序执行时,单击命令按钮会产生一个Click事件。如需要命令按钮响应Click事件,就把完成Click事件功能的代码写到Click事件的事件过程中,与事件一一对应。事件过程的形式如下:Private Sub 对象_事件名( )(事件过程代码)End Sub一个简单的VB程序求圆的周长和面积Private Sub mand1_Click()Dim r As Single 定义r为单精度型Dim c As Single 定义c为单精度型Dim s As Single 定义s为单
7、精度型r = Val(Text1.Text) 输入半径rc = 2 * 3.14159 * r 计算周长s = 3.14159 * r * r 计算面积Text2.Text = c 输出周长Text3.Text = s 输出面积End SubPrivate Sub mand2_Click()End 退出End Sub相关题解:单选题1、下列关于程序设计说法正确的是( B )。A、程序设计语言的发展经历了机器语言、汇编语言到高级语言的过程,比较流行的高级语言是PASCAL, FORTRAN, EXCEL, C+等B、程序设计就是寻求解决问题的方法,并将其实现步骤编写成计算机可以执行的程序的过程C
8、、程序设计语言和计算机语言是同一个概念的两个方面D、程序设计就是指示计算机如何去解决间题或完成一组可执行指令的过程2、下列说法错误的是( D ).A、程序设计就是寻求解决问题的方法,并将其实现步骤编写成计算机可以执行的程序的过程B、程序设计语言的发展经历了机器语言、汇编语言、高级语言的过程C、计算机程序就是指计算机如何去解决间题或完成一组可执行指令的过程D、程序设计语言和计算机语言是同一概念的两个方面一、常量:批在程序进行过程中不变的量在VB中一般分数值常量与字符常量两种数值常量:就是数学中说的常数,分整型常量和实型常量两种整型常量:即整数,指不带小数点的数值如1、0、-10、+35等都是合法
9、的整数实型常量:即实数,指带小数点的数值。实型常量又分为定点数和浮点数两种。例:定点数:3.14159和-6.8,1.99浮点数:2E6、1E5、88E例:1.2345103 可表示为1.2345E3,字母E表示底数10浮点数就是数学上的科学计数法。字符串常量:被一对双引号括起来的若干个合法的字符称为字符串常量。例如:”China”、”Visual Basic”、”18”、”3.1415”等,双引号中字符,不包括双引号本身。符号常量:如果多次用到同一个常量,则可用一个有意义的名字表示这个常量。二、变量:在程序执行过程中,其值可以改变的量称为变量变量命名注意要点:1、必须以字母开头,不能以数字或
10、其他字符开头。2、只能由字母、汉字、数字学或下划线组成,不能含有小数点、空格等字符。3、最长不超过255个字符4、不能以VB保留字作变量名,如语句定义符、函数名等。5、VB不区分变量名中字母大小写。如HELLO和Hello是同一个变量。数据及运算(1)常用数据类型:(整型)Integer、(长整型)Long、(单精度型)Single、(双精度型)Double、(字符串型)String、(布尔型)Boolean、(日期型)Date其中(整型)Integer、(长整型)Long、(单精度型)Single、(双精度型)Double属于数值型表示X围:(整型)Integer (-32768 32767
11、,存储为 16 位, 2 个字节)(长整型)Long(-21亿 21亿,可以表示人口数量)(布尔型)Boolean(True 真、是 或 False假、非)(字符串型)String(定长字符串:065535个字符,不定长字符串:020亿个字符) 字符串型数据是指用 “”括起来的一串字符。如“欢迎进入VB世界!”、“ Visual Basic” 、“1234 ”都是字符串类型。(日期型)Date(100/1/19999/12/31) 日期型数据专门用来处理日期和时间。VB采用一对“#”把日期和时间的值括起来,如#2003/08/20#表示2003年8月20日。(2)常量和变量的命名、声明及赋值符
12、号常量的声明:Const 常量名As 常量类型 = 常量值如:Const pi As Single = 3.14159 常量名为pi变量的声明:Dim As 如:Dim a As Integer 定义一个整型变量,变量名为a变量的赋值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 +
13、 b str = Hello World Print a=; a, b=; b, c=; c Print strEnd Sub数据的输出程序中运算得到的结果,除可以使用文本框和标签显示外,对于大批量的数据更适合用Pint方法输出,格式如下对象 . Pint 表达式列表例题:Private Sub Form_Click() Dim x As Single, y As SingleForm1.Print -61; -34 Form1.Print 9 * 2; 12Form1.Print This is; a book x = 3: y = 4Print x=; x, y=; yEnd Sub注意:
14、Print 方法相关题解:单选题1、下列变量名写法错误的是( B )A、abc_123B、123abcC、abc123D、abc2、下列语句中定义了一个实型变量的是 ( B )A、Dim end as IntegerB、Dim sum As SingleC、Dim Name As StringD、其它三项都不对3、在VB中,以下哪个是正确表示十六进制整型数常量?( D )A、32FB、H32FC、h32FD、&32F4、在VB中,以下关于符号常量的声明,声明正确的是:( C )A、Dim TAG as StringB、Const TAG as String Visual + BasicC、Co
15、nst TAG as String =Visual BasicD、Const TAG as String5、下面( B )不是字符串常量A、TrueB、#False#C、 D、你好运算符1、 算术运算:+ 加 - 减 *乘 指数 例:22 = 4/ (浮点)除例:5 / 2 = 2.5 整除例:5 2 = 2Mod 求余数例:5 Mod 2 = 1求:3 * 30 6 / 2相关题解单选题1、分析下列程序: Private Sub Form_Click() s=113 + 11 Mod 3 Print s End Sub当单击窗体时s的值是( A ).A、5B、6C、4D、3关系运算=赋值、小
16、于号不等于大于号=大于等于号 2 结果为 True(真或是)相关题解单选题1、下面表达式的值是false的有( C ).A、969 n97B、Int(4.99) len(basic)C、str(2000) 2逻辑运算Not(取反)And(与) Or(或)运算结果为布尔型(Boolean)True 或 False逻辑运算符的优先级为:No And OrTrue Or False And False And Not False日期运算符与日期表达式日期表达式是用日期运算符“+”或“-”将算式表达式、日期型常量、日期型变量、日期函数等连接起来的式子,如表达式“#2003/09/01# +30”的运算
17、结果是“2003-10-1”;表达式“#2003/10/20# - #2003/10/10#”的运算结果为整数10相关题解单选题1、设a=2, b=3,在VB中,表达式ab Or b3值是:( B )A、FalseB、TrueC、-1D、1字符运算字符串连接符为“+”和“&”“123” + “45” = “12345”“123” & “45” = “12345”123 + “45” = 168“123” + 45 = 168运算符的执行顺序在VB中,当一个表达式中同时出现多种运算符时,运算次序由运算符的优先级决定,优先级高的运算符先运算,优先级相同的从左向右进行运算。不同性质的运算符优先级如下
18、。算术运算符 字符串运算符 关系运算符 逻辑运算符7+6 5-3 and 3*155/2常用函数数学函数Abs(x) 求x 的绝对值,例:abs(-3.6) = 3.6Sqr(x) 求 x 的平方根,例:sqr(100) = 10Int(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)使用三角函数时,参数应是弧度,如数学中sin300应写为:sin(30*3.14159/180)字符串函数Len(字符串) 求字符串的长度 ,例:Len(“hell
19、o”) = 5Left(字符串,截取长度) 截取字符串左边部分,例:Left(“hello”,2) = “he”Mid(字符串,起始位置,截取长度) ,例:Mid(“hello”,2,2) = “el”其他:Right (字符串,长度)截取字符串右边部分。例: Right (“hello”,2) = “lo” String(数值,字符)生成指定长度与指定字符的字符串,例:String(3,”9”) = ”999”常用转换函数Val(字符串)将字符串转换为数值Str(数值) 将数值转换为字符串Chr(字符代码)Asc(字符)Tab定位函数的使用例题Private Sub Form_Click()
20、 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 * 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( )其语法格式
21、为:InputBox( 提示,标题,默认值,X坐标,Y坐标)MsgBox( ) 其语法格式为:MsgBox(提示信息,按钮,标题 )相关题解单选题1、Visual Basic中,下列( A )函数是求绝对值的。A、ABS(X) B、SQR(X) C、INT(X) D、GN(X)2、表达式Abs(-3.6)*sqr(100)的值是( C )。A、-36B、360C、36D、-3603、下列( A )数据类型不是数值型。A、DateB、SingleC、DoubleD、Integer4、下列函数中,返回值是字符串的是 ( A ).A、MidB、InstrC、ValD、Len5、下列( A )函数返回
22、系统的当前时间。A、time()B、date()C、day()D、year()6、代数表达式表达式后错误的是( D )A、g*t*t/2B、1/2*g*t2C、g*t2/2D、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变量。正确的算法是
23、( 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=V
24、al(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
25、.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、2B、3C、5D、8程序设计的分支结构行If语句行If是指在一行中写完的If语句。其一般格式为:格式一:If条件Then语句执行这种形式的If语句时,首先对条件进行判断。若条件成立,则执行Then后面的语句;若条件不成立,则执
26、行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=4
27、x+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中值
28、C、输人的数存人n变量如果n/2=Int(n/2)成立,就显示n中值D、输人的数存人n变量如果n/2=Int(n/2)不成立,就显示n中值2、下面是判断变量x是不是能被5整除的偶数的程序,横线上的逻辑表达式应为( AB ) Private Sub mandl_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、x Mod
29、 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 Else m
30、= bIf c m Then m = c选项:A、1B、2C、5D、提示错误,无答案程序设计的循环结构一、For-Next循环For循环变量一般形式是:For循环变量=初值To终值Step循环变量增量 循环体Nxt循环变量例题1:求s1+2+3+4.+100Private Sub Form_Click() Dim i As Integer Dim sum As Integer sum = 0For i = 1 To 100 sum = sum + i 循环体Next i Print sum=; sumEnd Sub例题2:Step循环变量增量Private Sub Form_Click()Fo
31、r j = 3 To 15 Step 2Print jNext jEnd Sub循环变量的初值、终值、循环变量增量都是数值型。其中要重复执行的操作称为循环体,增量可正可负,如果没有设置Step,则增量的缺省值为11、 循环变量取初值;2、 循环变量与终值比较,没有超过终值转3,否则循结束,接着执行循环语句的后继语句;3、 执行一次循环体4、 循环变量增加一个增量5、 重复步骤24。以上可以看出,For-Next循环变量是一种当型循环。说明(a) For语句与Next语句必须成对出现,而且它们当中的“循环变量”必须是同一个变量,如上例中均为I。(b) 当循环变量为正时,循环变量超过终值,是指循环
32、变量的值大于终值时;若为负,则是指循环变量的值小于终值。AP入口出口二、DoLoop循环For-Next循环的次数是确定的,但是有的问题只知道循环结束的条件,重复执行的次数事先并不知道,这时需要Do-Loop循环格式一:Do While 条件循环体Loop例题:求最大公约数Private Sub mand1_Click() Dim a As Integer Dim b As Integer Dim r As Integer a = Val(Text1.Text) b = Val(Text2.Text) r = a Mod bDo While r 0 a = b b = r r = a Mod
33、bLoop Text3.Text = Str(b)End SubPrivate Sub mand2_Click() EndEnd Sub当VB执行Do While-Loop循环时,先判断指定的条件是否为真,若条件为真,执行循环体,条件为假时退出循环。格式二: Do 循环体Loop Until条件这种循环的执行过程如图所示。进入循环体后,先执行一次循环体A,然后再检查条件P是否成立。如果不成立,就重复执行循环体A,直到条件P成立退出循环体。APN例题:如果我国人口每年以平均1.5%的速度增长,问多少年后我国人口达到或超过15亿?设现在人口为12.3亿。Private Sub Form_Click
34、() Dim p As Single Dim r As Single Dim n As Integer p = 1230000000# r = 0.015 n = 0Do p = p * (1 + r) n = n + 1Loop Until p = 1500000000# Print n; 年后, 人口=; pEnd Sub1、下列流程图表示的是程序的( B )基本结构的算法。A 其它三项都不是 B 循环结构 C 选择结构 D 顺序结构2、在VB中,以下程序段:x=0Do While x50 x=(x+2)*(x+3)Loop执行后,x的值为:( C ).A、168B、50C、72D、03、
35、阅读下面程序,当单击窗体之后,窗体上输出的是( A ) Private Sub Form_Click() Dim i As Integer:Dim s As Integer s = 0 For i = 1 To 5 s = s + i Next i Print s,iEnd Sub选项:A、156B、 s=15 i=6C、6 5D、s=6 i=54、要求计算机打印出100至200之问所有偶数的平方根值。正确的算法是( C )。选项:A、i=100 Do While i200:Print i,Sqr(i):LoopB、i=100 Do While i200:Print i,Sqr(i):i=i+
36、1:LoopC、For i=100 To 200 Step 2:Print i,Sqr(i):Next iD、For i=100 To 200:Print i,Sqr(i):Next i5、下列程序段中,循环体执行的次数是( B )y = 2Do While y = 8 y = y+yLoop选项:A、2B、3C、4D、56、阅读下面程序,当单击窗体之后,m的值是( C ).Private Sub Form_Click() Dim m As Integer:Dim i As Integer m = 0 For i = 1 To 3 m = m + 2 Next i Print mEnd Sub
37、选项:A、0B、4C、6D、87、在VB中,假定有以下程序段:For i=1 To 3 Step 2 Print VBNext i则语句Print VB的执行次数是:( B )。A、1B、2C、3D、48、下列程序段中,循环体执行的次数是( B ) x=0 For y=1 To 10 step -1 x=x+1 Next yA、1B、0C、10D、49、在VB中,假定有以下程序段:For i=3 To 1 Print VBNext i则语句Print “VB”的执行次数是:( D )A、出错 B、2C、1D、011、单击窗体后,文本框Text1、Text2中显示的内容是( A )Private
38、 Sub Form_Click( )Dim x as Integer, n as Integer x = 1 n = 0Do While x 20 n = n + 1 x = x * 3LoopText1.text = Str(x)Text2.text = Str(n)End SubA、273 B、3 27 C、203 D、3 2113、读下面程序,单击窗体后,在文本框显示的内容是( B )Private Sub Form_Click( ) Dim a( 8 ),b( 8 ) as Integer Dim i,j As Integer For j = 1 To 4 a( j ) = 2 * j
39、 b( j ) = a( j ) * 3 Next j Text1.Text = b( j / 2 )End SubA、10 B、12 C、14 D、186面向对象程序设计思想相关题解单选题1、在visual Basic中显示和编辑程序代码时,采用( C ).A 工程资源管理器窗口 B 窗体设计器窗口C 代码编辑窗口 D 属性窗口2、在VB中,要设置文本框的缺省文字,应使用属性:( A )A、TextB、NameC、CaptionD、Font3、在VB中,要设置窗口的标题文本,应使用属性:( B )A 、FontB 、CaptionC 、NameD 、Text4、用visual Basic编程,我们把工具箱中的工具称为( A )A、控件 B、工具 C、窗体 D、事件5、在VB中,要设置某个对象属性时,应进入:( D )A 任意模式