算法与程序设计知识点
汇总
Document serial number【KKGB-LBS98YT-BS8CB-BSUT-BST108】
算法与程序设计知识点汇总
第一章 计算机解决问题的基本过程
一、开始分析问题 设计算法 编写程序 调试、运行程序
问题解决
二、算法-----程序设计的“灵魂”
1、定义:就是解决问题的方法和步骤
2、特征:
1、确定性:每一步都有确切的含义
2、有穷性:执行的步骤和每一步执行的时间都是有限的
3、输入:有零个或多个输入
4、输出:至少产生一个输出
5、可行性:原则上可精确运行
3、算法的描述:1、自然语言 2、流程图(P11) 3、伪代码(p12)
4、计算机语言
算机直接执行,必须经过转换处理。
高级语言:更接近于自然语言(英语)和数学语言的编程语言,容易掌握和使用,也不能直接识别,必须经过转换才能被计算机执行。
第二章
一、visiual basic 可视化程序开发工具,主要是让程序设计人员利用软件本身所提供的各种控件,像搭积木一样构造应用程序的各种界面,然后再编写少量的代码就可以构建应用程序,提供了程序设计,编辑,调试,运行于一体的集成开发环境。
二、的集成开发环境
三个工作栏: 标题栏 菜单栏 工具栏
六个基本窗口:
主窗口(main) 窗体窗口(form) 工具箱窗口(toolbox)
工程窗口(project) 属性窗口(properties) 窗体布局窗口(formlayout)
熟悉常用控件(标签、文本框、命令按钮)的作用,图标及其属性
五、数据的表示与处理
1、
Integer整型 2 Byte-32768~32767(-215~215-1) Long长整型 4 Byte(-231~231-1)
Single单精度实型 4 Byte ~~
Double双精度实型8 Byte
String字符串型10 Byte+串长
度
0~约20亿个字符
Boolean布尔型 2 Byte True或False
Date日期型8 Byte100/1/1~9999/12/31
2
常量说明:Const a= const a as single=
变量说明: Dim a As integer
Dim b As integer
Dim a,b As integer
3、运算符
(1) 算术运算符
(2)字符
串运算符
&、+ 字符串连接
" 123 " + " 456 " 结果 " 123456 "
" 123 " & " 456 " 结果 " 123456 "
区别: + 两边必须是字符串, & 不一定
例如:
"abcdef" & 12345 ' 结果为 "abcdef12345 "
"abcdef " + 12345 ' 出错
"123" & 456 ' 结果为" 123456 "
“123” + 456 ' 结果为 579
注意:
"123 " + True '结果为 122
True转换为数值-1,False转换为数值0
(3)关系运算符
a、将两个操作数进行大小比较,结果为逻辑量。如:3>2结果为True。
b、字符串比较,则按字符的ASCII码值从左到右一一比较,直到出现不同的字符为止.。
例: " ABCDE " > " ABRA " 结果为 False
注释:A—Z的ASCII码值为65—90;
a—z的ASCII码值为97—122;(选修教材124页)
(4) 逻辑运算符
(5) 运算符的执行顺序
算术运算符>字符串运算符>关系运算符>逻辑运算符
4、语句
赋值语句:赋值符号“=”
作用:对象属性的动态设置。如对象名.属性=”显示”
对象属性值的返回y=valX=val(inputbox(“请输入x”))
X=5
X=x+5
X=x+5
y=x
结果:x=15 y=15
输出语句:print语句
注释语句:Rem或‘
结束语句:end
5、函数
常用函数:
(1)开方: Sqr(25) =5
(2)绝对值:Abs =
(3)取整:Int(x)取的是小于等于或者不大于x的整数如:
Int =3 Int =-4
(4)求字符串长度:L en(“2008奥运”)=6
(5)Left( )函数
功能:取左字符串函数
例:Left(“ABCD”,2)= “AB”
(6)Right( )函数
功能:取右字符串函数
例:Right(“ABCD”,2)= “CD”
(7)Mid(“字符串”,N,M)
功能:从原字符串的第n个位置开始取m个字符,即取中段字符串函数
例:Mid(“abcdefg”,3,4)= “cdef”
(8) String( )函数
功能:生成指定长度和指定字符的字符串
例:String(3,“9” ) = “999”
(9) Val( )函数
功能:将字符串转换为数值
例:2+Val(“12” ) =14
(10) Str( )函数
功能:将数值转换为字符串
例:Str(5) =“5”
(11) Chr( )函数
功能:求字符代码(ASCII码(选修教材124页))对应的字符
例:Chr(65) =“A”
(12) Asc( )函数
功能:求字符对应的字符代码(ASCII码(选修教材124页))
例:Asc (“A”) =65
(13) CInt( )函数
功能:将表达式的结果转换为整数,小数部分四舍五入
例:CInt*2 ) =6
5、程序的三种基本结构
顺序结构:
选择结构:
语法:(1)
If 条件Then
语句
End If
语法(2)
If 条件Then
语句1
Else
语句2
End If
循环结构:
语法
For 循环变量=初值 To 终值 [Step 增量]
[循环体]
Next [循环变量]
Do While 条件表达式
语句块
Loop
第三章
1、算法的程序实现
解析法:设未知数,列解析表达式的方法。
穷举法(枚举法):一一列举。
如:水仙花数、玫瑰花数、鸡兔同笼、百鸡百钱(教材49页)、100块砖100人搬等。递归法:调用自己。
如:小猴摘桃、兔子繁殖(“斐波那契数列”问题)、比萨斜塔向下抛小球(教材70页)、古印度移动盘子(教材70页)
排序法:对给定的一组数据进行升序或降序排序。
冒泡排序:它通过将相邻元素进行比较和交换,逐步将一个无序序列排列为一个有序序列。
查找法:从一组数据中找出某一个数。
顺序查找:顺序查找的基本思想是从第一个数据开始,按数据的顺序逐个将数据与给定的值进行比较,若某个数据和给定值相等,则查找成功,找到所查数据的位置;反之,查找不成功。
二分(折半)查找:对分查找的条件是被查找的数据必须是有序的。
附:例题分析
一、
1.下面关于算法的描述,正确的是
(A) 一个算法只能有一个输入
(B) 算法只能用框图来表示
(C) 一个算法的执行步骤可以是无限的
(D) 一个完整的算法,不管用什么方法来表示,都至少有一个输出结果
参考答案:D 所考知识点:算法的特征
2.算法描述可以有多种表达方法,下面哪些方法不可以描述“闰年问题”的算法(A) 自然语言 (B) 流程图 (C) 伪代码 (D) 机器语言
参考答案:D 所考知识点:算法的描述
3.算法与程序的关系
(A) 算法是对程序的描述 (B) 算法决定程序,是程序设计的核心
(C) 算法与程序之间无关系 (D) 程序决定算法,是算法设计的核心
参考答案:B 所考知识点:算法的概念
4.人们利用计算机解决问题的基本过程一般有如下四个步骤(①~④),请按各步骤的先后顺序在下列选项中选择正确的答案
①调试程序②分析问题③设计算法④编写程序
(A) ①②③④ (B) ②③④① (C) ③②④① (D) ②③①④
参考答案:B 所考知识点:用计算机解决问题的过程
5.在一次电视选秀活动中,有三个评位为每位选手打分。如果三个评委都亮绿灯,则进入下一轮;如果两个评委亮绿灯,则进入待定席;如果红灯数超过二盏则淘汰。最适合用到的程序结构是
(A) 循环 (B) 赋值 (C) 分支 (D) 顺序
参考答案:C 所考知识点:算法的基本模式
6.下列流程图符号属于判断框的是
(A) (B) (C) (D)
参考答案:D 所考知识点:算法的表示、流程图
二、
1.对于对象及其特征的错误理解是()。
(A) 对象都具有一个标识自己以区别其他对象的名字。
(B) 对象都具有自身的属性及其属性值。
(C) 对象一般只用数据表示属性,但不用代码表示行为。
(D) 对象都具有自身的行为(操作)。
参考答案:C 所考知识点:对象的概念。
2.下列控件中可用于接受用户输入文本,又可用于显示文本的是
(A) Label 控件 (B) TextBox 控件 (C) Timer 控件 (D) CommandButton 控件
参考答案:B 所考知识点:VB的界面设计。
3.VB中保存工程文件的文件扩展名为
(A) vbp (B) frm (C) doc (D) pas
参考答案:A 所考知识点:VB应用程序的运行和保存
4.VB语言中,下列各种基本数据类型说明符中表示单精度实型数的是
(A) Integer (B) Boolean (C) Single (D) String
参考答案:C 所考知识点:基本数据类型
5.在Visual Basic中,下列属于字符串常量的是
(A) Abs(100) (B) "100" (C) Val("100") (D) 1/2
参考答案:B 所考知识点:数据、标准函数的应用。
解此题需要了解各函数返回值的数据类型,以及数值和字符串的表示方法。题中Abs()函数求的是数值的绝对值,返回的是数值;Val()函数是将数字字符串转换为数值;返回值是数值,1/2本身就是数值;而数字字符串的表示需要加引号。
6.下列可以作为Visual Basic的变量名的是
(A) sqr (B) 2pai (C) cj1 (D) a+b
参考答案:C 所考知识点:变量的命名。
解此题需要了解变量的命名规则。变量名是由字母、数字和下划线等字符的任意字符组成,但必须以字母开头,另外值得一提的是变量名不能使用VB中的保留字。题中sqr 属于VB的保留字;5pai不是字母开头;a+b中“+”号是非法字符。
7.函数Sqr(X)功能是
(A) 求X的算术平方根 (B) 求X的绝对值
(C) 求不大于X的最大整数 (D) 数值X转换成字串X
参考答案:A 所考知识点:标准函数。
8.下列运算结果中,值最大的是
(A) 3\4 (B) 3/4 (C) 4 mod 3 (D) 3 mod 4
参考答案:D 所考知识点:算术类基本运算符
此题考生需注意“/”、“\”、“mod”三个有关除的运算符的区别
9.3 mod 2 + 3 \ 2的执行结果为
(A) -1 (B) 3 (C) 2 (D) 0
参考答案:C 所考知识点:算术类基本运算
10.a=5,b=7,c=-2,d=1时,下列结果为False的是
(A) a + b > c + d And a >= 5 Or Not c > 0 Or d < 0
(B) c + d > a + b And a >= 5 Or Not c > 0 Or d > 0
(C) a + b > c + d And a < 5 Or Not c > 0 Or d < 0
(D) a + d < b + c And a >= 5 Or Not c < 0 Or d < 0
参考答案:D 所考知识点:逻辑类基本运算
11.下列属于正确的Visual Basic表达式是
(A) a+|b| (B) 3b-2a (C) 2b (D) b+5
参考答案:D 所考知识点:算术表达式
题中a+|b|和3b-2a均属数学表达式,在VB中表达为a+abs(b)和3*b-2*a,而2b中“”不属于基本运算符
12.在Visual Basic中,"20"+"08"的运算结果是
(A) "28" (B) False (C) "20+08" (D) "2008"
参考答案:D 所考知识点:字符串表达式
“+”运算符两边的操作数如果均为数值型,则进行算术运算;如果均为字符串,则它的作用是将两个字符串连接起来。题中两边均为字符串,结果为D。值得一提的是,“+”两头的操作数的数据类型必须是同一类型的,否则会提示错误
13.以下哪项是Visual Basic合法数组元素的表示法
(A) X9 (B) X[9] (C) X(I+9) (D) X{9}
参考答案:C 所考知识点:数组
延伸:在VB的表达式中,一般只出现小括号,其它括号只能出现在字符串当中。14.下列属于正确的赋值语句是
(A) a+b=5 (B) a=2+3 (C) 2+3=a (D) a+b=2+3
参考答案:B 所考知识点:赋值语句
赋值语句首先要计算赋值号右边的表达式的值,然后将此值赋给赋值号左边的变量或对象属性。题中A、C、D的左边均不是变量也不是对象属性,只有B符合赋值语句的要求15.下列语句中正确是
(A) =+ (B) =cmdOK
(C) =1234 (D) A=InputBox(Hello)
参考答案:A 所考知识点:赋值语句、对象属性
在对象属性的赋值语句当中,一切要注意赋值号两边的数据类型是否一致,且书写语句是否规范。题中B、C选项与均是字符串类型,故“=”后均需加引号;而D项中InputBox的输入值需是字符串,所以Hello需加引号;A选项要理解两点:一是txt1、txt2、txt3均表示文本框的名称,二是“+”代表的是连接符的功能,题中只是将txt1和txt2中的字符串连接后赋给txt3。
16.下列程序段中,可以实现变量X、Y的值交换的是
(A) y=x: x=y (B) z=x: y=z: x=y (C) z=x: x=y: y=z (D) z=x: w=y: y=z: x=y
参考答案:C 所考知识点:赋值语句的运用
X,Y的值的交换需要一个中间值Z,先将X保存在Z中,如此X的值就可以保存Y的值,再将Z中的值赋值给Y,这时候实现了X与Y的值的交换。
17.有如下程序段:
x=5: y=-20
if Not x>0 then x=y-3 Else y=x+3
y的值是__________
(A) 2 (B) -23 (C) 8 (D) -17
参考答案:C 所考知识点:选择语句
18.循环语句For i=1 To 10 step 2 的循环次数是
(A) 5 (B) 9 (C) 8 (D) 10
参考答案:A 所考知识点:循环语句的运用
19.有如下程序段:
x=2
For I=1 To 3
If x< I Then
x = x + I
End If
Next I
该程序段运行后,x的值为
(A) 2 (B) 4 (C) 5 (D) 7
参考答案:C 所考知识点:选择语句与循环语句的嵌套运用
20.下列程序段的执行结果为
n=1: s=0
Do while s<20
s=s+n
n=n+2
Loop
Print n; s
(A) 9 16 (B) 11 25 (C) 11 20 (D) 9 24
三、
1.有5
(A) (B)
(C) (D)
2.数列1,4,7,10,13,……的递推公式为( )。
(A) f(1)=1;f(n)=n+3 (B) f(1)=1;f(n)=n*2-1
(C) f(1)=1;f(n)=n*2+1 (D) f(1)=1;f(n)=f(n-1)+3
参考答案:D 所考知识点:递归算法
由数列可推出规律,从第二项开始,每一项跟前一项的差为3,故得出递推公式
3.用选择排序法对数据7,6,3,9,2从大到小排序,共需经过多少次数据对调。(A) 3 (B) 4 (C) 5 (D) 10
参考答案:A 所考知识点:选择排序
4.要从n个数据元素中顺序查找一个元素,最多查找次数是
(A) 1 (B) n (C) n/2 (D) lgn
参考答案:B 所考知识点:顺序查找
此题稍简单,只要稍理解顺序查找的概念,就能选择答案
5.二分查找算法的前提是
(A)被查找数据元素个数是奇数 (B)被查找数据元素个数是偶数
(C)被查找数据元素是有序的 (D)被查找数据元素是无序的
参考答案:C 所考知识点:二分查找的概念
此题稍简单,只要稍理解二分查找的概念,就能选择答案
6.用二分查找法从数列3,6,7,10,12,16,25,30,75中找到数据10的最少查找次数是
(A) 2 (B) 3 (C) 4 (D) 7
参考答案:B 所考知识点:对分查找
用对分查找的方法需分别对上列数据进行编号,共9个数,依次序号为1~9。按照对分查找的思路,依次查找的数据为12、6、10,所以查找次数为3次。