算法和程序设计分析及试题附答案-08-算法和程序设计_第1页
算法和程序设计分析及试题附答案-08-算法和程序设计_第2页
算法和程序设计分析及试题附答案-08-算法和程序设计_第3页
算法和程序设计分析及试题附答案-08-算法和程序设计_第4页
算法和程序设计分析及试题附答案-08-算法和程序设计_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、选修1:算法与程序设计 第一单元算法 一、知识内容 (一)使用计算机解决问题的一般过程 考试要求:对所列知识要知道其内容及含义,并能用自己的语言或动作进行表达、判断和直接 运用。 1. 一般过程 (1)分析问题确定要使用计算机来“做什么”,即确定解题的任务。 (2)寻求解决问题的途径和方法。 (3)用计算机进行处理。 2. 确定解决问题的方法及步骤化 确定了解决问题的方法后,必须把解决问题的方法步骤化,即用某种方式告诉计算机每个需做 什么。 计算机开始计算之前,需把解决问题的程序存储在内存中。通常一个程序包括指令和数据两部 分。 (1)指令部分:指令是对计算机操作类型和操作数地址做出规定的一组

2、符号。 (2)数据部分:计算所需的原始数据、计算的中间结果或最终结果。 3. 设计程序时需要考虑的问题 (1)数据的存储:计算所需要的原始数据、计算产生的中间结果需要存储在不同的变量中。 (2)计算的过程:把解决问题的方法步骤化,并用计算机能执行的指令来有序地实现对应的步 骤。 (3)典型的指令类型有输入指令、输出指令、算术运算指令、逻辑运算指令和控制转移指令。 (-)算法及算法的表示方法 考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和 操作方法解决实际问题,熟练应用信息技术进行信息的处理。 1. 算法的特征 (1)有穷性。一个算法必须保证它的执行步骤是有限

3、的,即它是能终止的。 (2)确定性。算法中的每个步骤必须有确切的含义,不应当有模棱两可的。 (3)能行性。算法中的每一个步骤都要足够简单,能实际能作的,而且在能在有限的时间内完 成。 (4)有0个或多个输入。 (5)有一个或多个输出。 (三)用自然语言和流程图表示算法 考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和 操作方法解决实际问题,熟练应用信息技术进行信息的处理。 1. 自然语言 就像写文章时所列的提纲一样,可以有序地用简洁的自然语言加数学符号来描述算法。 2. 流程图 用国家颁布的标准(GB1526-89, ISO5807-1985)中规定的图示及方

4、法来画流程图,常用的构 件有如图所示。 117 符号名称 图形 功能 起止柜 () 表示篦法的开始和结束 辐入丿输出框 / / 表示程法的辐入/辐出操作 处理梅 表示篦法中的各种处遵換作 判斷框 O 表示算法中的条件判断操作 流程线 表示篦法的执行方向 连接点 O 表示流程圈的延绫 3. 伪代码 使用某些程序设计语言中控制结构,来描述算法中各步骤地执行次序和模式;使用自然语言、 数学符号或其他符号,来表示计算步骤要完成的处理或需要涉及的数据。 (四)顺序、选择和循坏三种基本模式 考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和 操作方法解决实际问题,熟练应用信

5、息技术进行信息的处理。 1. 顺序模式就是按指令的先后顺序依次执行 2. 分支模式就是根据分支条件,判断条件成立情况,选择某一条路径中的指令执行 3. 循坏模式就是首先判断条件是否成立,如果不成立则直接执行循环体外的第一条指令,如果 条件成立则执行循环体内的指令,然后再次判断条件是否成立,如果条件成立再次执行循环体内的 指令,直至条件不成立跳出循坏体为止。 三种基本模式流程示意图如卞图所示。 Y 指令2 才旨令1 指令 顺厚扌莫式 分支模式 循坏模式 二、例题分析 1. 下面关于算法的描述,正确的是 (A)一个算法只能有一个输入 (B)算法只能用框图来表示 (C)一个算法的执行步骤可以是无限的

6、 (D)一个完整的算法,不管用什么方法来表示,都至少有一个输出结果 参考答案:D所考知识点:算法的特征 US 2. 算法描述可以有多种表达方法,下面哪些方法不可以描述“闰年问题”的算法 (A)自然语言(B)流程图 (C)伪代码 (D)机器语言 参考答案:D所考知识点:算法的描述 3. 算法与程序的关系 (A)算法是对程序的描述(B)算法决定程序,是程序设计的核心 (C)算法与程序之间无关系(D)程序决定算法,是算法设计的核心 参考答案:B所考知识点:算法的概念 4. 人们利用计算机解决问题的基本过程一般有如下四个步骤(),请按各步骤的先后顺序在 卜列选项中选择正确的答案 调试程序分析问题设计算

7、法编写程序 (A) (0 (D) 129 参考答案:B所考知识点:用计算机解决问题的过程 5. 在一次电视选秀活动中,有三个评位为每位选手打分。如果三个评委都亮绿灯,则进入下一轮: 如果两个评委亮绿灯,则进入待定席;如果红灯数超过二盏则淘汰。最适合用到的程序结构是 (A)循环(B)赋值(C)分支(D)顺序 参考答案:c所考知识点:算法的基本模式 6 下列流程图符号属于判断框的是 (A) II 参考答案:D所考知识点:算法的表示、流程图 第二单元VB程序设计 一、知识内容 (一)面向对象程序设计的基本思想与方法 考试要求:对所列知识要知道其内容及含义,并能用自己的语言或动作进行表达、判断和直接

8、运用。 1. 面向对彖程序设计(object oriented programming,缩写OOP)方法:在进行程序设计是 从分析问题领域中各种客观事物本体的属性和行为,以及它们之间的相互关系着手,在计算机中建 立起这些客体的映象一一对象,用对象对应于问题领域中的客体,用对象间的消息传递来表示客体 的相互作用、相互关系。 (-)属性、类、事件和爭件处理的概念 考试要求:对所列知识要知道其内容及含义,并能用自己的语言或动作进行表达、判断和直接 运用。 1. 对彖是客观存在的事物或概念。它有两个特点:状态和行为。 2. 一个对象的状态是通过若干个属性(property)来描述的;行为是指对属性进行

9、操作和处理 的方法(method)o在面向对彖的程序设计中,一个对彖是由一组对象状态的数据和一组描述处理对 象属性的方法的代码构成的。对彖的属性定义其外观,方法定义其行为,爭件定义其与用户的交互。 3. 类(class)是对相同性质的对象的一种抽彖,而一个对彖则是类的一个“实例”。 4. 事件(event)就是发生在对象上的事情,通常是由用户在对象上激发的一种动作。一个事 件的发生,可以引起某个对彖上某个方法(事件处理过程)的执行,即由某个事件驱动了相应的事 件处理过程的执行。这就是面向对彖程序设计中的爭件驱动概念。 (-)VB应用程序的界面设计与调式 考试要求:对所列知识要理解其确切含义及与

10、其它知识的联系,能够用所学的信息技术知识和 操作方法解决实际问题,熟练应用信息技术进行信息的处理。 1. VB应用程序的界面设计 (1)VB程序设计语言:基于Basic语言的可视化程序设计坏境,采用面向对彖的程序设计方 法(OOP)。 (2)VB应用程序设计坏境的的窗I I主要由对象窗1、控件工具箱、属性窗I】、工程窗II组成。 (3)控件工具箱集中了常用的基本控件:标签label、文本框TextBox、命令按钮Command Button、 列表框ListBox等。 (4)窗体(Form)是VB应用程序的基本结构。窗体可以看作是一个“容器”,其中放置着各种 各样在应用程序中必须用到的对彖。

11、2. VB应用程序的运行和保存 运行:单击工具栏中“运行”选项中的启动按钮,运行应用程序。 保存:在“文件”菜单中选“工程另存为”,该应用程序的窗体和工程分别存储到文件中,其相 应的文件扩展名分别是.frm”和“ .vbp”。也可以选“文件”菜单中的“生成工程XXX. exe”, 这样,就可在Windows环境中直接运行这个应用程序了。 (四)事件处理代码的编制方法考试要求:对所列知识要理解其确切含义及与其它知识的联系,能 够用所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。 对于对象而言,事件就是发生在该对彖上的事情,通常是由用户在对彖上激发的一种动作。一 个事件的

12、发生,可以引起某个对象上某个方法的执行,即由某个事件驱动了相应的事件处理过程的 行为。 在事件处理过程中,可以按预定设计好的方式,改变某个对彖的相关属性值,因此是这个对彖 的状态得到相应的改变。 (五)VB基本数据类型、常量、变量和数组 考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和 操作方法解决实际问题,熟练应用信息技术进行信息的处理。 1. 数据:数据是信息的一种记录形式。在VB中,常用的基本数据类型有以卞几种:Integer (整 数型)、Long(长整数型)、Single(单精度实数型)、Double(双精度实数型)、String(字符串型)、 Bo

13、olean (逻辑型)、Date (日期型)。 2. 常量:常量是在程序执行过程中其值不变的存储单元或数据。在VB中,常量有整数常量、 实数常量、字符串常量和逻辑常量这几种类型。 3. 变量:变量用来表示数据的存储区,在程序运行过程中,这些存储区中的值是可以改变的。 变量名由字母、数字和下划线等字符组成,但必须以字母开头,在变量名中对人小写字母是不加区 分的。 变量说明语句的常用形式为:Dim变量名As变量的类型。 4. 数组:数组是由一批同类型的变量构成的一个序列,组成数组的每一个变量被称为数组的元 素,也称为下标变量,下标是一个整数,用来指出某个元素在数组中的位置。 一维数组的常用形式为:

14、Dim数组变量名(Al To A2) As元素的类型。 二维数组的常用形式为:Dim数组变量名(Al To A2, Bl To B2) As元素的类型。 (A) VB各类表达式与标准函数 考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和 操作方法解决实际问题,熟练应用信息技术进行信息的处理。 1. VB中的常用标准函数 (1)常用数学函数:Abs(X)、Int(X)、Sqr(X)、Rnd ()、Exp(X)、Log(X)、Sin(X)、Cos(X)、 Tan(X)o (2)常用类型转换函数和字符串函数:Asc (X)、Chr (X)、Vai (X)、Str (

15、X)、Len (X)、Hid (X, n, k)、 Fix (X) a 2. 基本运算与表达式 (DVB的基本运算:VB的基本运算包括算术运算、关系运算和逻辑运算三大类。 算术类基本运算有:、-、*、/、Mod、+、- 关系类基本运算有:二、=、= 逻辑类基本运算有:Not、And、Or (2)表达式:表达式主要用来规定值的计算过程,以及对于某些情况或条件的判断。一个表达 式中可能包括算术运算、关系运算和逻辑运算等多种基本运算,以及这些基本运算所涉及的数据(变 量和常量 (3)基本运算的优先级从高到低为:八(1级),-(指负号,2级),* . / (3级), 3级), Mod (5 级),+、

16、-(6 级),二、=、=(7 级),Not (8 级),And (9 级),Or (10 级)。 (七)常用的VB语句 考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和 操作方法解决实际问题,熟练应用信息技术进行信息的处理。 (八)使用VB实现顺序、选择、循环三种控制结构 考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和 操作方法解决实际问题,熟练应用信息技术进行信息的处理。 1 赋值语句:变量名=表达式 或对彖名.属性名二表达式 2. 选择语句: 行If语句:If条件表达式Then语句1 Else语句2 或If条件表达式Th

17、en语句 块If语句: If 条件表达式1 Then 语句块1 Elself 条件表达式2 Then 语句块2 Elself 条件表达式n Then 语句块n Else 语句块0 End If 3. 循环语句: For语句 For循坏变量二初值To终值Step步长 语句块 Next循坏变量 Do语句 Do Wh订e条件表达式 语句块 Loop 4. 注释:注释是以单引号()开头的一串文字,可以出现在程序中需要说明的位置上,通过 这一串文字,对附近的程序段进行简要的说明,增加程序的可读性。注释对程序的执行效呆没有任 何影响,程序运行时自动跳过注释。 (九)过程、事件处理过程、自定义函数考试要求:

18、对所列知识要理解其确切含义及与其它知识的 联系,能够用所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。 1. VB应用程序是按模块化的方式组成的,一个程序模块是程序的一部分,每个模块负责解决 整个应用问题的一部分任务。程序模块分为过程和函数两种。 2. 过程:将程序划分成一个个较小的逻辑单元,每个逻辑单元构成一个过程。过程中的代码可 以被重复调用。过程分成两类,一类是事件处理过程,另一类是通用过程。 3. 事件处理过程:Sub事件处理过程名(参数表) 语句块 End Sub 其中,爭件处理过程名必须符合下面的规则:对象名_事件的标准名。 VB的一些常用对彖上的常见事件

19、的标准名有: 文本框 Text: Text_Click Text_DblClick Text_KeyPress 命令按钮 Command: Command_Click Command_DblClick 标签 Label: KeyPress 4. 函数:函数是类似于过程的另一个程序模块,不同之处是函数执行完成后,函数的计算结果 被送到函数的调用点上,供程序的后继部分继续进行处理。 自定义函数:Function函数名(参数表)As类型名 语句块 End Function 二、例题分析 1. 对于对彖及其特征的错误理解是()。 (A)对象都具有一个标识自己以区别其他对彖的名字。 (B) 对象都具有自

20、身的属性及其属性值。 (0对彖一般只用数据表示属性,但不用代码表示行为。 (D)对象都具有自身的行为(操作)。 参考答案:C所考知识点:对象的概念。 2下列控件中可用于接受用户输入文本,又可用于显示文本的是 (A) Label 控件 (B) TextBox 控件 (C) Timer 控 件 (D) CommandButton 控件 参考答案:B所考知识点:VB的界面设计。 3. VB中保存工程文件的文件扩展名为 (A) vbp(B) frm(C) doc 参考答案:A所考知识点:VB应用程序的运行和保存 4. VB语言中,下列各种基本数据类型说明符中表示单精度实型数的是 (A) Integer

21、(B) Boolean(C) Single 参考答案:c所考知识点:基本数据类型 5. 在Visual Basic中,卜列属于字符串常量的是 (D) pas (D) String (A) Abs(lOO) (B) 100 (0 VaiC100)(D) 1/2 参考答案:B所考知识点:数据、标准函数的应用。 解此题需要了解各函数返回值的数据类型,以及数值和字符串的表示方法。题中Abs()函数求 的是数值的绝对值,返回的是数值;Q1()函数是将数字字符串转换为数值:返回值是数值,1/2本 身就是数值;而数字字符串的表示需要加引号。 6下列可以作为Visual Basic的变量名的是 (A) sqr

22、(B) 2pai(C) cjl(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) 34(B) 3/4(C) 4 mod 3(D) 3 mod 4 参考答案:D所考知

23、识点:算术类基本运算符 此题考生需注意“/”、“”、“mod”三个有关除的运算符的区别 9. 3 mod 2 + 3 2的执行结果为 (A) -1(B) 3(0 2(D) 0 参考答案:C所考知识点:算术类基本运算 10. a二5, b=7, c=-2, d二1 时,下列结果为 False 的是 (A) a+bc+dAnda=5OrNotc0Orda+bAnda=5OrNotc0Ord0 (C) a+bc+dAnda 0 Or d 0 (D) a+d=5OrNotc0Ord0 then x二y-3 Else y二x+3 y的值是 (A) 2(B) -23(0 8(D) -17 参考答案:C所考

24、知识点:选择语句 18. 循环语句For i二1 To 10 step 2的循坏次数是 (A) 5(B) 9(0 8(D) 10 参考答案:A所考知识点:循环语句的运用 19. 有如下程序段: x=2 For 1=1 To 3 If x I Then X = X + I End If Next I 该程序段运行后,X的值为 (A) 2(B) 4(0 5 参考答案:C所考知识点:选择语句与循环语句的嵌套运用 20. 下列程序段的执行结果为 n=l: s二0 Do while s20 s=s+n n=n+2 Loop Print n; s (A) 916(B) 1125(0 11 20 (D) 7

25、 (D) 9 24 参考答案:B所考知识点:Do循环语句的运用 第三单元算法的程序实现 一、知识内容 (一)枚举算法及程序实现考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用 所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。 枚举算法的基本思想是根据问题的本身性质,一一列举出该问题所有可能的情况,并根据题目 的条件逐个作出判断,从中挑选出符合条件的解答。 枚举算法属于搜索策略,适用于那些解变屋确定的连续值域的问题。设置枚举算法要列举出所 有可能的情况,不能遗漏,也不能重复。 (-)解析算法及程序实现考试要求:对所列知识要理解其确切含义及与其它知识的联系,

26、能够用 所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。 解析算法的基本思想是用解析的方法找出表示问题的前提条件与所求结果之间关系的数学表 达式,并通过数学表达式的计算来实现问题的求解。 (三)排序算法及程序实现考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用 所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。 1. 冒泡排序 冒泡排序的基本思想是在待排序的数据中,先找到最小(人)的数据将它放到最前面,再从第 二个数据开始,找到第二小(人)的数据将它放到第二个位置,以此类推,直到只剩下最后一个数 据为止。 2. 选择排序 选择排序

27、的基本思想是在所有的记录中选岀最小(大)的数据,把它与第一个数据交换,然后 在其余的记录中再选出最小(大)的数据与第二个数据交换,依此类推,直至所有数据排序完成。 (四)查找算法及程序实现考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用 所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。 1. 顺序查找 顺序查找的基本思想是从第一个数据开始,按数据的顺序逐个将数据与给定的值进行比较,若 某个数据和给定值相等,则查找成功,找到所查数据的位置:反之,查找不成功。 2. 对分查找 对分查找的基本思想是在有序的数据列中,首先将要查找的数据与有序数组内处于中间位置的

28、 数据进行比较,如呆两者相等,则查找成功;否则根据数组元素的有序性,就可确定该数据应该在 数组的前半部分还是后半部分继续进行查找:在新确定的范闱内,继续按上述方法进行查找,直到 找到要查找的数据,使查找成功,或直到子表不存在,查找不成功。 对分查找的条件是被查找的数据必须是有序的。 (五)递归算法 考试要求:对所列知识要知道其内容及含义,并能用自己的语言或动作进行表达、判断和直接 运用。 函数或过程调用它本身,称为递归。递归算法的基本思想是把规模较人的、较难解决的问题变 成规模较小的、容易解决的同一问题,规模较小的问题又变成规模更小的问题,当问题小到一定程 度时,可以直接得出它的解,从而得到原

29、来问题的解。即采用“大事化小、小事化了”的基本思想。 采用递归算法的条件:(1)每一步骤解决问题的方法要一致;(2)有边界条件。 例题 分析 1.有5位运动员100米成绩依次为13.8, 12.5, 13.0, 13.2, 13.4, 原始数据 13.8 12. 5 13.0 13.2 13.4 第一趟 12.5 13.8 13.0 13.2 13.4 第二趟 第三趟 12.5 13.0 13.2 13.8 13.4 第四趟 12.5 13.0 13.2 13.4 13.8 若采用选择排序算法对其进行从小到人排序,则第二趟的排序结呆是 (A) 12.513.813. 213.413.0(B)

30、12. 513.413.213.813.0 (C) 12.513.013. 813.213.4(D) 12. 513. 213.813.413.0 参考答案:C所考知识点:选择排序 选择排序的基本思想是在所有的记录中选出最小(人)的数据,把它与第一个数据交换,然后 在其余的记录中再选出最小(人)的数据与第二个数据交换,依此类推,直至所有数据排序完成。 此题中要从小到犬排序,并且已经实现第一趟排序,故在后面4个数据当中找出最小的数据“13.0” 与第2个数据13.8”交换,所以结果选C 2. 数列1, 4, 7, 10, 13,的递推公式为()。 (A) f(l)=l;f(n)=n+3(B) f

31、 (1)二l;f (n)二n*2T (C) f(l)=l;f(n)=n*2+l(D) f (1)二l;f (n)二f (nT)+3 参考答案:D所考知识点:递归算法 由数列可推出规律,从第二项开始,每一项跟前一项的差为3,故得出递推公式 3. 用选择排序法对数据7, 6, 3, 9, 2从人到小排序,共需经过多少次数据对调。 (A) 3(B) 4(0 5(D) 10 参考答案:A所考知识点:选择排序 此题只能根据选择排序的思路,共需进行四趟比较,具体过程如卞: 原始数据 7 6 3 9 2 第一趟 9 6 3 7 2 第二趟 9 7 3 6 2 第三趟 9 7 6 3 2 第四趟 9 7 6

32、3 2 其中,第四趟不需要进行数据对调,前三趟都进行了对调 4. 要从n个数据元素中顺序查找一个元素,最多查找次数是 (A) 1(B) n(0 n/2(D) lgn 参考答案:B所考知识点:顺序査找 此题稍简单,只要稍理解顺序查找的概念,就能选择答案 5. 对分查找算法的前提是 (A)被查找数据元素个数是奇数(B)被查找数据元素个数是偶数 (C)被查找数据元素是有序的(D)被查找数据元素是无序的 参考答案:C所考知识点:对分查找的概念 此题稍简单,只要稍理解对分查找的概念,就能选择答案 6. 用对分查找法从数列3, 6, 7, 10, 12, 16, 25, 30, 75中找到数据10的最少查

33、找次数是 (A) 2(B) 3(0 4(D) 7 参考答案:B所考知识点:对分査找 用对分查找的方法需分别对上列数据进行编号,共9个数,依次序号为9。按照对分查找的 思路,依次查找的数据为12、6、10,所以查找次数为3次。 强化练习(综合题) 1. 有如下Visual Basic程序段: a=HHowH b=H are you11 c=a+b 该程序段运行后,变量C的值是 参考答案:How are you 本题是读程序写结果题,属于基础题,是主要是考核字符串数据类型中“+”(字符串连接)含 义的理解 2. 有如下程序段: x=3 円 z=5 If x+y=z Or y+z=x Or x+z=

34、v then a=HFalseH Else a=”TruL 该程序段运行后,a的值是 参考答案:HTiueM 本题是读程序写结果题,属于基础题,主要是考核分支If语句以及逻辑类运算符“or”的理解 3. 有如卜VB程序段: Dmi n As Integer Dmi m As Integer m = 0 For n = 1 To 15 m = m + n mod 5 Next n 该程序段运行后,变量m的值是 参考答案:30 本题是基础题本题是读程序写结果题,属于基础题,主要是考核循坏For语句以及运算符“Mod” 的理解 4. 有如卜VB程序段: n = 0 s = 0 Do Wliile n

35、 =30 n = n+3 s = s + n Loop 执行该程序段后,变量s的值是 参考答案:198 本题是读程序写结果题,属于基础题,主要是考核循坏Do while语句的理解,尤其要注意循坏 的终止条件 5 下面程序用来计算: x| x =0 (1) Then If x = 7 Then y = Sqr(x) Else v = x A2 Else Ifx0(2)尸3*x+2 本题是改错题,属于基础题,主要考核算术表达式以及分支结构的条件语句 6. 下面程序的功能是:计算表达式2+4+6+.+2n的值,在文本框Textl中输入n的值,结果在文本 框Text2中输出。则程序中划线处的语句应更正

36、为(1) (2) Private Sub Command l_Click() Dmi sum As Long, i As Integer, n As Integer sum = 0 n = Val(Textl.Text) For I = 2 To 2 * n Step 2 sum = sum + 2 *i (1) Next I Text2T亡xt=Val (siini)(2) End Sub 参考答案:(l)sum=suni4-i _Text2.Text=Str (sum) 本题是改错题,属于基础题,只套是考核FOR语句的步长step的作用,以及Vai函数和Str函 数作用的区别 7. 下面程

37、序的功能是:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一(鸡雏三三买之)。百 钱买百鸡,问鸡翁、母、雏各几何?则程序中划线处的语句应更正为(1) (2) Private Sub Form_ClickQ Dim x, y, z As Integer For x = 0 To 20 For y = 0 To 33 z= 100 - x - v If 5*x + 3*y + z 3 = 100 ot z Mod 3=0 (1) Then Print x; y; z End If Next Z Next x 131 162 End Sub 参考答案:(l)NextY (2)5 *x + 3 *y +

38、 z3 = 100 or z Mod 3=0 本题是改错题,属于基础题,只要是考核FOR语句的结构,以及逻辑类运算符“or”和“and” 的不同含义 下面程序的功能是: 的值,直至最后一项的值=0.0001 (2) Pont”运算结果为:”;Sum Prmt 最后一项的值为:”;Term End Sub 参考答案:(l)sum=l term=0.0001 本题是改错题,属于稍难题,只要是考核Do Until语句的理解,尤其注意在循环中累加器的初 值设置以及循环终止条件,不要产生死循环。 9. 完成程序中的空格,打印显示如图片所示的九九乘法表: * Forml 口1 x| 23456789 XX

39、XXXXXXX 123-456789 4 5 6 7 8 0 2 4 6 8 4-6-811111 2:二二 22222222 3456789 2 9 1 sS 3 3 1518212427 33333 162024盘32策 = 1三二二二- 4 4 4 4 4 4 X X X X X X 5 6 7 8 2530354045 5 5 5 5 5 36424854 6 6 6 6 X X X X 6 7 8 9 XXX 7 8 9 杓56 ”x”; b;(2) Next b Print Next a End Sub 参考答案: 30-man-woman (2)s=500 或者 500=s 本题

40、是程序填空题,属于容易题,主要考核解析算法的程序实现。 10. 下面是一个元旦文艺会演评分程序。10位评委,除去一个最高分和一个最低分,计算平均分 (评满分为10分)。 解决上述问题的Visual Basic程序如下,为了实现这一目标,在划线处,填入合适的语句或表达 式是 (1) (2) Max=0:Min=10 For 1=1 to 10 N=Val(InputBox(请输入分数) If (1) Then Max=N If N Max (2) S=S-Max-Mui 本题是程序填空题,属于容易题,主要考核解析算法的程序实现。 11. 有30个人,其中有男人、女人和小孩。他们在一家饭馆里花去5

41、00元。己知,每个男人花30 元,每个女人花20元,每个小孩花10元。问男人、女人、小孩各为多少人?解决上述问题的Visual Basic程序如下,为了实现这一目标,在划线处,填入合适的语句或表达式是 (1) (2) Sub command l_clickQ Dim mail, woman, child, s As Integer For man = 1 To 15 For woman = 1 To 23 cliild =(1) s = 30 * mail + 20 * woman + 10 * child If (2) Then listl.Addltem Str(man) + Sti(wo

42、maii) + Str(child) End If Next woman Next mail End Sub 参考答案:(1) 30-man-woman (2)s=500 或者 500=s 本题是程序填空题,属于稍难题,主要考核枚举算法的程序实现。 12. 如果一个三位数等于它的每个数字的立方和,则此数称为“水仙花”数。如: 153 = 13+53+33故153是水仙花数。下面程序用于求出100999之间的全部水仙花数解决上 述问题的Visual Basic程序如下,为了实现这一目标,在划线处,填入合适的语句或表达式是 (1) (2) sub commandl_click() for m二10

43、0 to 999 a=int(m/100) b=int(m-100*a) /10) c=m-100*a-10*b n= if then listl.additem str(m) next m end sub 参考答案:(1)a*a*a+b*b*b+c*c*c (2) m=n 本题是程序填空题,属于稍难题,主要考核枚举算法的程序实现。 13. 如下程序段的功能是:随机产生8个1-100之间的正整数,按升序将10个数据排序输出。 为了实现这一目标,在划线处,填入合适的语句或表达式是 (1) (2) (3) Const n=8 Dim a(l to n) As Integer Dim I, j ,

44、t, k as integer For i = 1 To n (1) Next i For i = 1 To n-1 For j = (2) Ton If (3) Then t = d(i): d(i) = d(k): d(k) = t End If Next j Next I 参考答案:(l)a(i) = Int(100 * Rnd + D或 a(I) = Int(100 * Rnd() + 1) (2) 1+1 (3) a(i) a(j)或 a(i) = a(j) 本题是程序填空题,属于稍难题,主要考核冒泡排序的程序实现,同时也考核函数Rnd和Lit 的正确使用。 14. 下列程序的功能是

45、:在一个有序的序列中查找数值50,同时统计查找的次数并显示查找次数。 为了实现这一目标,在划线处,填入合适的语句或表达式是 (1) (2) (3) Dim a(l to 8) As Integer (定义在通用里,数组元素通过另一事件产生) Private Sub Conimaiid l_Click() Dim m As Integer, I As Integer, j As Integer, x As Integer, total As Integer Dim f As Boolean f= False: x= 30: i= 1: j = b (A) 10 5(B) 14 5(C)01(D)

46、 10 30 13. 计算圆周长的算法描述如下: 输入圆半径r; 计算圆周长a(计算公式为a=2jrr); 输出结果; 结束。 上述算法属于 (A)枚举算法(B)排序算法 (C)递归算法 (D)解析算法 二、综合题 1. 有如下Visual Basic程序段: a=”Good b=Bye* c=a+b 该程序段运行后,变量c的值是 2. 下面程序的功能是:计算表达式1+3+5+(2“1)的值,在文本框Textl中输入n的值,结果在 文本框Text2中输出。则程序中划线处的语句应更正为 (1) (2) Private Sub Comniaiid l_Click() Dim sum As Long

47、, i As Integer, n As Integer suin= 0 n = Val(Textl.Text) For I=lTo2*n-l Step 2 sum = sum + 2(1) Next I Text2.Text=Val(sum) (2) End Sub 3. 有一个有趣的兔子繁殖问题:第1个月买来1哀怜对小兔子,两个月后,这对兔子就会生1对小 兔子,以后每个月都会生一对小兔子;而生下来的这对小兔子,两个月后又会开始生1对小兔子。 依次类推,试问:几个月后,兔子将超过50对? 分析问题得出月份与兔子对数的关系如下表: 月份: 1 2 3 4 5 6 7 8 9 兔子: 1 1 2

48、 3 5 8 13 21 35 由表知兔子繁殖规律:从第3个月开始,以后每月的兔子对数都是它相邻的前面2个月的兔子 对数之和。 解决上述问题的Visual Basic程序如下,为了实现这一目标,在划线处,填入合适的语句或表达 式是 (1) (2) Private Sub Command l_Click() Dim a(l To 100) As Integer, n As Integer a(l) = 1 a=1 a(3) = a(2) + a(l) 11 = 3 Do While a(n) B (D) A&E 7. Visual Basic函数Fix(x)的作用是截掉数据的小数部分。已知a是实

49、数,当关系表达式Fix(a)=a为 真时,则表示a是 (D)小数 (A)负数(B)正数(C)整数 &随机产生一个两位正整数的VB表达式是 (A) l+Iiit(100*Riid) (E) 10+Im(90*Rnd)(C) Int(100*Rnd) (D) Im(90*Rnd) (C) 2?H?a(D)2*3.1416*a 9. 圆周长的计算公式为L=2na,其中a为圆半径。在Visual Basic中,能正确表示2?ra的表达式是 (A) True (B) False (c)-i (0)1 11.有如下程序段: a=Sqi(3) b=Sqr(2) c=ab 该程序段运行后, (A)-l c的值

50、为 (B)0 (C) False (D) True (A) 2na (B) 2*ir*a 10.设 a=2, b=3, c=4, d=5,表达式 ab AND cc 的值是 12. 下面的程序段用于计算5=1*2+3*4+5*6+7*8+9*10,则在程序的划线处应该填上 s=0 fbrk=l to 10 Step s=s+k*(k+l) Nextk (A)0(B)l(C)2(D)k 13. 只能被1或本身整除的大于1的自然数称为素数。判断大于1的某自然数m是不是素数的算法 基本思想是:把m作为被除数,将2到m-1中的自然数作为除数,逐一进行相除,如果都除不尽, m就是素数,否则m就不是素数。

51、这种判定素数的算法主要属于 (A)枚举算法(B)解析算法(C)递归算法 (D)排序算法 二、综合题 1. 有如下程序段: Dim x, y, z As Integer x = 12 y = 32 x = x Mod 10 y = y 8 z = x + y 该程序段运行后,z的值为 2. 下面程序的功能是:计算表达式Ix2x3xxio的值,并在文本框Textl中输出表达式的值。为 了实现这一功能,则程序中划线处的语句应更正为 (1) (2) Private Sub Comniaiid l_Click() Dim I As Integer, t As Long t = 0(1) For i =

52、1 To 10 t = t * i Nexti Text 1.caption = Str( t)(2) End Sub 3. 会员积分的计算。超市会根据会员顾客的一次性消费总额给予一定的积分,会员可在年终依据积 分换得相应的商品。每次消费时,计算机会自动累加所购商品的总价并折算成积分。 超市折算积分的规则是这样的:每满100元(不到150元)消费就给1积分,如果总消费额达 150元及以上,那么每40元消费可以获得0.5积分。 下列程序可根据已经输入的所有己购买商品的价格(己经保存在数组a中),计算总消费并折算 成积分,最后显示当前一次性总消费额(显示在标签Label2中)以及所获得的积分总值(

53、显示在标 签 Label4 中)。 解决上述问题的Visual Basic程序如下,为了实现这一目标,在划线处,填入合适的语句或表达 式是 (1) (2) Const n = 10 Dim a(n) As Single Dim i As Integer Dim ans As Single, total As Single Private Sub Comniaiid l_Click() total = 0: aiis = 0 For i = 1 To n Nexti If total =100 Then (2) Else aiis = Fix(total / 40)/2 End If Label

54、2.Caption = Str(total) Label2.Caption = Str(ans) End Sub 4. 下列程序的功能是在一个有序的序列中查找数值30,同时统计查找的次数并显示查找次数。 为了实现这一目标,在划线处,填入合适的语句或表达式是 (1) (2) (3) Dim a(l to 6) As Integer Private Sub Comniaiid l_Click() Dim mAs Integer, I As Integer, j As Integer, x As Integer, total As Integer Dim f As Boolean f = False

55、: x = 30: i= 1: j = 6: total = 0 Do While U) And f= False total = total + 1 m= (2J If a(m) = x Then f= True Else If x =3 Then s=s+k Next 该程序段运行后,变量s的值是 (A)l(B)2 (C) 456123 (C)3 (D)123456 (0)10 13.把问题所有可能的解一一地罗列出来,并对每一个可能的解进行判断,从中挑选出符合条件的 解答,这种思想的算法属于 (A)排序算法(B)对分查找 (C)解析算法 (D)枚举算法 二、综合题 1. 有如下VB程序段:

56、 n = 123 s = 0 Do While n 1 s=s+n5 n = n 5 Loop 执行该程序段后,变量s的值是 2. 下面Visual Basic程序的功能是:计算表达式1+1/3+1/5+1/99的值,并在文本框Textl中输出 该表达式的值。为了实现这一功能,则程序中划线处的语句应更正为 (1) (2) Private Sub Comniaiid l_Click() Dim sum As Single, i As Integer suin= 0 For i = 1 To 99 Step 2 sum = sum + i(1) Nexti Text2.Text = Sti(sum

57、) (2) End Sub 3. 我国是人口大国,2007年初,我国人口总数已达13亿5千万。假设我国年人口增长率为0.5%, 则从2007年起多少年后我国人I I就会达到或超过15亿? 解决上述问题的Visual Basic程序如下,为了实现这一目标,在划线处,填入合适的语句或表达 式是 (1) (2) Private Sub Commandl_click() Dim n As Integer, r As Single Dim p As Double 1 = 0.5/100 p= 13.5 n = 0 Do While p 15 (1) n = n + 1 (2) Textl.Text =

58、Sti(n) End Sub 4. 下列程序段实现以下功能,求1+(1+2) + (1+2 + 3) +(l + 2 + 3+n), n由用户输入。 为了实现这一目标,在划线处,填入合适的语句或表达式是 (1) (2) (3) Private Sub Form_ClickQ n = Val(Textl.Text) Sum = 0 For i = 1 To n Srnnl = 0 Forj = 1 To U) (2) Nextj (3) Nexti Text2.Text = Str(Sum) End Sub 5. 下面程序求1到n之间的完全数。分析:所谓完全数是指小于该数本身的因子之和等于它本身

59、, 如6=1+2+3, 6即是一个完全数。 其中,上述界面中开始处理”按钮的名称是“Commaiidl”,布尔型函数perfect(x)作用判断x 是否为完全数,若x是完全数,其值为True,否则为False。 请在下列程序代码的基础上按照要求设计该程序。 Dim n As Integer, a As Integer Function perfect (x as integer) As Boolean End Function Private Sub Command l_Click() n = Val(Textl.Text) For a = 1 To n If perfect (a) Then

60、 List 1.Additem (Str(a) Next a End Sub 操作要求: (1) 完善程序中的Function perfect (x)部分 (2) 在子程序Private Sub Commandl_ClickQ中,主要采用的算法是: 模拟练习题(第4套) 一、选择题 1. 控件工具箱中的工具A是。 (A) 文件列表(B)单选按钮(C)图片框(D)标签框 2. 能被对彖所识别的动作是 (A) 事件(B)方法(C)属性(D)过程 3. 在 Visual Basic 代码窗 I I 中,语句 Command 1 .Captiou=运行完成!中的 Command 1 是 (A)属性名(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论