算法和程序设计分析及试题附答案 08算法和程序设计Word格式.docx
《算法和程序设计分析及试题附答案 08算法和程序设计Word格式.docx》由会员分享,可在线阅读,更多相关《算法和程序设计分析及试题附答案 08算法和程序设计Word格式.docx(60页珍藏版)》请在冰豆网上搜索。
2.流程图
用国家颁布的标准(GB1526-89,ISO5807-1985)中规定的图示及方法来画流程图,常用的构件有如图所示。
3.伪代码
使用某些程序设计语言中控制结构,来描述算法中各步骤地执行次序和模式;
使用自然语言、数学符号或其他符号,来表示计算步骤要完成的处理或需要涉及的数据。
(四)顺序、选择和循环三种基本模式
1.顺序模式就是按指令的先后顺序依次执行
2.分支模式就是根据分支条件,判断条件成立情况,选择某一条路径中的指令执行
3.循环模式就是首先判断条件是否成立,如果不成立则直接执行循环体外的第一条指令,如果条件成立则执行循环体内的指令,然后再次判断条件是否成立,如果条件成立再次执行循环体内的指令,直至条件不成立跳出循环体为止。
三种基本模式流程示意图如下图所示。
二、例题分析
1.下面关于算法的描述,正确的是
(A)一个算法只能有一个输入
(B)算法只能用框图来表示
(C)一个算法的执行步骤可以是无限的
(D)一个完整的算法,不管用什么方法来表示,都至少有一个输出结果
参考答案:
D所考知识点:
算法的特征
2.算法描述可以有多种表达方法,下面哪些方法不可以描述“闰年问题”的算法
(A)自然语言(B)流程图(C)伪代码(D)机器语言
算法的描述
3.算法与程序的关系
(A)算法是对程序的描述
(B)算法决定程序,是程序设计的核心
(C)算法与程序之间无关系
(D)程序决定算法,是算法设计的核心
B所考知识点:
算法的概念
4.人们利用计算机解决问题的基本过程一般有如下四个步骤(①~④),请按各步骤的先后顺序在下列选项中选择正确的答案
①调试程序②分析问题③设计算法④编写程序
(A)①②③④(B)②③④①(C)③②④①
(D)②③①④
用计算机解决问题的过程
5.在一次电视选秀活动中,有三个评位为每位选手打分。
如果三个评委都亮绿灯,则进入下一轮;
如果两个评委亮绿灯,则进入待定席;
如果红灯数超过二盏则淘汰。
最适合用到的程序结构是
(A)循环(B)赋值(C)分支(D)顺序
C所考知识点:
算法的基本模式
6.下列流程图符号属于判断框的是
(A)
(B)
(C)
(D)
算法的表示、流程图
第二单元VB程序设计
一、知识内容
(一)面向对象程序设计的基本思想与方法
1.面向对象程序设计(objectorientedprogramming,缩写OOP)方法:
在进行程序设计是从分析问题领域中各种客观事物本体的属性和行为,以及它们之间的相互关系着手,在计算机中建立起这些客体的映象——对象,用对象对应于问题领域中的客体,用对象间的消息传递来表示客体的相互作用、相互关系。
(二)属性、类、事件和事件处理的概念
1.对象是客观存在的事物或概念。
它有两个特点:
状态和行为。
2.一个对象的状态是通过若干个属性(property)来描述的;
行为是指对属性进行操作和处理的方法(method)。
在面向对象的程序设计中,一个对象是由一组对象状态的数据和一组描述处理对象属性的方法的代码构成的。
对象的属性定义其外观,方法定义其行为,事件定义其与用户的交互。
3.类(class)是对相同性质的对象的一种抽象,而一个对象则是类的一个“实例”。
4.事件(event)就是发生在对象上的事情,通常是由用户在对象上激发的一种动作。
一个事件的发生,可以引起某个对象上某个方法(事件处理过程)的执行,即由某个事件驱动了相应的事件处理过程的执行。
这就是面向对象程序设计中的事件驱动概念。
(二)VB应用程序的界面设计与调式
1.VB应用程序的界面设计
(1)VB程序设计语言:
基于Basic语言的可视化程序设计环境,采用面向对象的程序设计方法(OOP)。
(2)VB应用程序设计环境的的窗口主要由对象窗口、控件工具箱、属性窗口、工程窗口组成。
(3)控件工具箱集中了常用的基本控件:
标签label、文本框TextBox、命令按钮CommandButton、列表框ListBox等。
(4)窗体(Form)是VB应用程序的基本结构。
窗体可以看作是一个“容器”,其中放置着各种各样在应用程序中必须用到的对象。
2.VB应用程序的运行和保存
运行:
单击工具栏中“运行”选项中的启动按钮,运行应用程序。
保存:
在“文件”菜单中选“工程另存为”,该应用程序的窗体和工程分别存储到文件中,其相应的文件扩展名分别是“
.frm”和“
.vbp”。
也可以选“文件”菜单中的“生成工程xxx.exe”,这样,就可在Windows环境中直接运行这个应用程序了。
(四)事件处理代码的编制方法考试要求:
对于对象而言,事件就是发生在该对象上的事情,通常是由用户在对象上激发的一种动作。
一个事件的发生,可以引起某个对象上某个方法的执行,即由某个事件驱动了相应的事件处理过程的行为。
在事件处理过程中,可以按预定设计好的方式,改变某个对象的相关属性值,因此是这个对象的状态得到相应的改变。
(五)VB基本数据类型、常量、变量和数组
1.数据:
数据是信息的一种记录形式。
在VB中,常用的基本数据类型有以下几种:
Integer(整数型)、Long(长整数型)、Single(单精度实数型)、Double(双精度实数型)、String(字符串型)、Boolean(逻辑型)、Date(日期型)。
2.常量:
常量是在程序执行过程中其值不变的存储单元或数据。
在VB中,常量有整数常量、实数常量、字符串常量和逻辑常量这几种类型。
3.变量:
变量用来表示数据的存储区,在程序运行过程中,这些存储区中的值是可以改变的。
变量名由字母、数字和下划线等字符组成,但必须以字母开头,在变量名中对大小写字母是不加区分的。
变量说明语句的常用形式为:
Dim 变量名 As 变量的类型。
4.数组:
数组是由一批同类型的变量构成的一个序列,组成数组的每一个变量被称为数组的元素,也称为下标变量,下标是一个整数,用来指出某个元素在数组中的位置。
一维数组的常用形式为:
Dim数组变量名(A1ToA2)As元素的类型。
二维数组的常用形式为:
Dim数组变量名(A1ToA2,B1ToB2)As元素的类型。
(六)VB各类表达式与标准函数
1.VB中的常用标准函数
(1)常用数学函数:
Abs(X)、Int(X)、Sqr(X)、Rnd()、Exp(X)、Log(X)、Sin(X)、Cos(X)、Tan(X)。
(2)常用类型转换函数和字符串函数:
Asc(X)、Chr(X)、Val(X)、Str(X)、Len(X)、Mid(X,n,k)、Fix(X)。
2.基本运算与表达式
(1)VB的基本运算:
VB的基本运算包括算术运算、关系运算和逻辑运算三大类。
算术类基本运算有:
^、-、*、/、\、Mod、+、-
关系类基本运算有:
=、<
>
、<
、>
=、>
=
逻辑类基本运算有:
Not、And、Or
(2)表达式:
表达式主要用来规定值的计算过程,以及对于某些情况或条件的判断。
一个表达式中可能包括算术运算、关系运算和逻辑运算等多种基本运算,以及这些基本运算所涉及的数据(变量和常量)。
(3)基本运算的优先级从高到低为:
^(1级),-(指负号,2级),﹡、/(3级),\(4级),Mod(5级),+、-(6级),=、<
=(7级),Not(8级),And(9级),Or(10级)。
(七)常用的VB语句
(八)使用VB实现顺序、选择、循环三种控制结构
1.赋值语句:
变量名=表达式
或 对象名.属性名=表达式
2.选择语句:
行If语句:
If条件表达式 Then语句1Else语句2
或 If条件表达式 Then语句
块If语句:
If条件表达式1 Then
语句块1
ElseIf条件表达式2 Then
语句块2
……
ElseIf条件表达式n Then
语句块n
Else
语句块0
End If
3.循环语句:
For语句 For循环变量=初值 To 终值 Step步长
语句块
Next循环变量
Do语句 DoWhile条件表达式
Loop
4.注释:
注释是以单引号('
)开头的一串文字,可以出现在程序中需要说明的位置上,通过这一串文字,对附近的程序段进行简要的说明,增加程序的可读性。
注释对程序的执行效果没有任何影响,程序运行时自动跳过注释。
(九)过程、事件处理过程、自定义函数考试要求:
1.VB应用程序是按模块化的方式组成的,一个程序模块是程序的一部分,每个模块负责解决整个应用问题的一部分任务。
程序模块分为过程和函数两种。
2.过程:
将程序划分成一个个较小的逻辑单元,每个逻辑单元构成一个过程。
过程中的代码可以被重复调用。
过程分成两类,一类是事件处理过程,另一类是通用过程。
3.事件处理过程:
Sub事件处理过程名(参数表)
语句块
EndSub
其中,事件处理过程名必须符合下面的规则:
对象名_事件的标准名。
VB的一些常用对象上的常见事件的标准名有:
文本框Text:
Text_Click、Text_DblClick、Text_KeyPress
命令按钮Command:
Command_Click、Command_DblClick
标签Label:
KeyPress
4.函数:
函数是类似于过程的另一个程序模块,不同之处是函数执行完成后,函数的计算结果被送到函数的调用点上,供程序的后继部分继续进行处理。
自定义函数:
Function函数名(参数表)As类型名
语句块
EndFunction
1.对于对象及其特征的错误理解是()。
(A)对象都具有一个标识自己以区别其他对象的名字。
(B)对象都具有自身的属性及其属性值。
(C)对象一般只用数据表示属性,但不用代码表示行为。
(D)对象都具有自身的行为(操作)。
对象的概念。
2.下列控件中可用于接受用户输入文本,又可用于显示文本的是
(A)Label控件
(B)TextBox控件(C)Timer控件
(D)CommandButton控件
VB的界面设计。
3.VB中保存工程文件的文件扩展名为
(A)vbp
(B)frm
(C)doc
(D)pas
A所考知识点:
VB应用程序的运行和保存
4.VB语言中,下列各种基本数据类型说明符中表示单精度实型数的是
(A)Integer
(B)Boolean
(C)Single
(D)String
基本数据类型
5.在VisualBasic中,下列属于字符串常量的是
(A)Abs(100)(B)"
100"
(C)Val("
)(D)1/2
数据、标准函数的应用。
解此题需要了解各函数返回值的数据类型,以及数值和字符串的表示方法。
题中Abs()函数求的是数值的绝对值,返回的是数值;
Val()函数是将数字字符串转换为数值;
返回值是数值,1/2本身就是数值;
而数字字符串的表示需要加引号。
6.下列可以作为VisualBasic的变量名的是
(A)sqr(B)2pai(C)cj1(D)a+b
变量的命名。
解此题需要了解变量的命名规则。
变量名是由字母、数字和下划线等字符的任意字符组成,但必须以字母开头,另外值得一提的是变量名不能使用VB中的保留字。
题中sqr属于VB的保留字;
5pai不是字母开头;
a+b中“+”号是非法字符。
7.函数Sqr(X)功能是
(A)求X的算术平方根(B)求X的绝对值
(C)求不大于X的最大整数(D)数值X转换成字串X
标准函数。
8.下列运算结果中,值最大的是
(A)3\4(B)3/4(C)4mod3(D)3mod4
算术类基本运算符
此题考生需注意“/”、“\”、“mod”三个有关除的运算符的区别
9.3mod2+3\2的执行结果为
(A)-1(B)3(C)2(D)0
算术类基本运算
10.a=5,b=7,c=-2,d=1时,下列结果为False的是
(A)a+b>
c+dAnda>
=5OrNotc>
0Ord<
0
(B)c+d>
a+bAnda>
0Ord>
(C)a+b>
c+dAnda<
5OrNotc>
(D)a+d<
b+cAnda>
=5OrNotc<
逻辑类基本运算
11.下列属于正确的VisualBasic表达式是
(A)a+|b|(B)3b-2a(C)2?
b(D)b+5
算术表达式
题中a+|b|和3b-2a均属数学表达式,在VB中表达为a+abs(b)和3*b-2*a,而2?
b中“?
”不属于基本运算符
12.在VisualBasic中,"
20"
+"
08"
的运算结果是
(A)"
28"
(B)False(C)"
20+08"
(D)"
2008"
字符串表达式
“+”运算符两边的操作数如果均为数值型,则进行算术运算;
如果均为字符串,则它的作用是将两个字符串连接起来。
题中两边均为字符串,帮结果为D。
值得一提的是,“+”两头的操作数的数据类型必须是同一类型的,否则会提示错误
13.以下哪项是VisualBasic合法数组元素的表示法
(A)X9(B)X[9](C)X(I+9)(D)X{9}
数组
延伸:
在VB的表达式中,一般只出现小括号,其它括号只能出现在字符串当中。
14.下列属于正确的赋值语句是
(A)a+b=5(B)a=2+3(C)2+3=a(D)a+b=2+3
赋值语句
赋值语句首先要计算赋值号右边的表达式的值,然后将此值赋给赋值号左边的变量或对象属性。
题中A、C、D的左边均不是变量也不是对象属性,只有B符合赋值语句的要求
15.下列语句中正确是
(A)txt3.text=txt1.text+txt2.text(B)Command1.name=cmdOK
(C)12label.Caption=1234(D)A=InputBox(Hello)
赋值语句、对象属性
在对象属性的赋值语句当中,一切要注意赋值号两边的数据类型是否一致,且书写语句是否规范。
题中B、C选项Command1.name与12label.Caption均是字符串类型,故“=”均需加引号;
而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:
x=y
赋值语句的运用
X,Y的值的交换需要一个中间值Z,先将X保存在Z中,如此X的值就可以保存Y的值,再将Z中的值赋值给Y,这时候实现了X与Y的值的交换。
17.有如下程序段:
x=5:
y=-20
ifNotx>
0thenx=y-3Elsey=x+3
y的值是__________
(A)2(B)-23(C)8(D)-17
选择语句
18.循环语句Fori=1To10step2的循环次数是
(A)5(B)9(C)8(D)10
循环语句的运用
19.有如下程序段:
x=2
ForI=1To3
Ifx<
IThen
x=x+I
EndIf
NextI
该程序段运行后,x的值为
(A)2(B)4(C)5(D)7
选择语句与循环语句的嵌套运用
20.下列程序段的执行结果为
n=1:
s=0
Dowhiles<
20
s=s+n
n=n+2
Loop
Printn;
s
(A)916(B)1125(C)1120(D)924
Do循环语句的运用
第三单元算法的程序实现
(一)枚举算法及程序实现考试要求:
枚举算法的基本思想是根据问题的本身性质,一一列举出该问题所有可能的情况,并根据题目的条件逐个作出判断,从中挑选出符合条件的解答。
枚举算法属于搜索策略,适用于那些解变量确定的连续值域的问题。
设置枚举算法要列举出所有可能的情况,不能遗漏,也不能重复。
(二)解析算法及程序实现考试要求:
解析算法的基本思想是用解析的方法找出表示问题的前提条件与所求结果之间关系的数学表达式,并通过数学表达式的计算来实现问题的求解。
(三)排序算法及程序实现考试要求:
1.冒泡排序
冒泡排序的基本思想是在待排序的数据中,先找到最小(大)的数据将它放到最前面,再从第二个数据开始,找到第二小(大)的数据将它放到第二个位置,以此类推,直到只剩下最后一个数据为止。
2.选择排序
选择排序的基本思想是在所有的记录中选出最小(大)的数据,把它与第一个数据交换,然后在其余的记录中再选出最小(大)的数据与第二个数据交换,依此类推,直至所有数据排序完成。
(四)查找算法及程序实现考试要求:
1.顺序查找
顺序查找的基本思想是从第一个数据开始,按数据的顺序逐个将数据与给定的值进行比较,若某个数据和给定值相等,则查找成功,找到所查数据的位置;
反之,查找不成功。
2.对分查找
对分查找的基本思想是在有序的数据列中,首先将要查找的数据与有序数组内处于中间位置的数据进行比较,如果两者相等,则查找成功;
否则根据数组元素的有序性,就可确定该数据应该在数组的前半部分还是后半部分