算法和程序设计分析及试题附答案08-算法和程序设计.doc

上传人:wux****ua 文档编号:9047298 上传时间:2020-04-02 格式:DOC 页数:46 大小:439KB
返回 下载 相关 举报
算法和程序设计分析及试题附答案08-算法和程序设计.doc_第1页
第1页 / 共46页
算法和程序设计分析及试题附答案08-算法和程序设计.doc_第2页
第2页 / 共46页
算法和程序设计分析及试题附答案08-算法和程序设计.doc_第3页
第3页 / 共46页
点击查看更多>>
资源描述
选修1:算法与程序设计第一单元 算法一、 知识内容(一)使用计算机解决问题的一般过程考试要求:对所列知识要知道其内容及含义,并能用自己的语言或动作进行表达、判断和直接运用。1一般过程(1)分析问题确定要使用计算机来“做什么”,即确定解题的任务。(2)寻求解决问题的途径和方法。(3)用计算机进行处理。2确定解决问题的方法及步骤化确定了解决问题的方法后,必须把解决问题的方法步骤化,即用某种方式告诉计算机每个需做什么。计算机开始计算之前,需把解决问题的程序存储在内存中。通常一个程序包括指令和数据两部分。(1)指令部分:指令是对计算机操作类型和操作数地址做出规定的一组符号。(2)数据部分:计算所需的原始数据、计算的中间结果或最终结果。3设计程序时需要考虑的问题(1)数据的存储:计算所需要的原始数据、计算产生的中间结果需要存储在不同的变量中。(2)计算的过程:把解决问题的方法步骤化,并用计算机能执行的指令来有序地实现对应的步骤。(3)典型的指令类型有输入指令、输出指令、算术运算指令、逻辑运算指令和控制转移指令。(二)算法及算法的表示方法考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。1算法的特征(1)有穷性。一个算法必须保证它的执行步骤是有限的, 即它是能终止的。(2)确定性。算法中的每个步骤必须有确切的含义,不应当有模棱两可的。(3)能行性。算法中的每一个步骤都要足够简单,能实际能作的,而且在能在有限的时间内完成。(4)有0个或多个输入。(5)有一个或多个输出。(三)用自然语言和流程图表示算法考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。1自然语言 就像写文章时所列的提纲一样,可以有序地用简洁的自然语言加数学符号来描述算法。2流程图 用国家颁布的标准(GB1526-89,ISO5807-1985)中规定的图示及方法来画流程图,常用的构件有如图所示。3伪代码使用某些程序设计语言中控制结构,来描述算法中各步骤地执行次序和模式;使用自然语言、数学符号或其他符号,来表示计算步骤要完成的处理或需要涉及的数据。(四)顺序、选择和循环三种基本模式考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。1顺序模式就是按指令的先后顺序依次执行2分支模式就是根据分支条件,判断条件成立情况,选择某一条路径中的指令执行3循环模式就是首先判断条件是否成立,如果不成立则直接执行循环体外的第一条指令,如果条件成立则执行循环体内的指令,然后再次判断条件是否成立,如果条件成立再次执行循环体内的指令,直至条件不成立跳出循环体为止。三种基本模式流程示意图如下图所示。二、例题分析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 所考知识点:算法的表示、流程图第二单元 VB程序设计一、知识内容(一) 面向对象程序设计的基本思想与方法考试要求:对所列知识要知道其内容及含义,并能用自己的语言或动作进行表达、判断和直接运用。1面向对象程序设计(object oriented programming,缩写OOP)方法:在进行程序设计是从分析问题领域中各种客观事物本体的属性和行为,以及它们之间的相互关系着手,在计算机中建立起这些客体的映象对象,用对象对应于问题领域中的客体,用对象间的消息传递来表示客体的相互作用、相互关系。(二)属性、类、事件和事件处理的概念考试要求:对所列知识要知道其内容及含义,并能用自己的语言或动作进行表达、判断和直接运用。1对象是客观存在的事物或概念。它有两个特点:状态和行为。2一个对象的状态是通过若干个属性(property)来描述的;行为是指对属性进行操作和处理的方法(method)。在面向对象的程序设计中,一个对象是由一组对象状态的数据和一组描述处理对象属性的方法的代码构成的。对象的属性定义其外观,方法定义其行为,事件定义其与用户的交互。3类(class)是对相同性质的对象的一种抽象,而一个对象则是类的一个“实例”。4事件(event)就是发生在对象上的事情,通常是由用户在对象上激发的一种动作。一个事件的发生,可以引起某个对象上某个方法(事件处理过程)的执行,即由某个事件驱动了相应的事件处理过程的执行。这就是面向对象程序设计中的事件驱动概念。(二) VB应用程序的界面设计与调式考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。1VB应用程序的界面设计(1)VB程序设计语言:基于Basic语言的可视化程序设计环境,采用面向对象的程序设计方法(OOP)。(2)VB应用程序设计环境的的窗口主要由对象窗口、控件工具箱、属性窗口、工程窗口组成。(3)控件工具箱集中了常用的基本控件:标签label、文本框TextBox、命令按钮Command Button、列表框ListBox等。(4)窗体(Form)是VB应用程序的基本结构。窗体可以看作是一个“容器”,其中放置着各种各样在应用程序中必须用到的对象。2VB应用程序的运行和保存运行:单击工具栏中“运行”选项中的启动按钮,运行应用程序。保存:在“文件”菜单中选“工程另存为”,该应用程序的窗体和工程分别存储到文件中,其相应的文件扩展名分别是“.frm”和“.vbp”。也可以选“文件”菜单中的“生成工程xxx.exe”,这样,就可在Windows环境中直接运行这个应用程序了。(四)事件处理代码的编制方法考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。对于对象而言,事件就是发生在该对象上的事情,通常是由用户在对象上激发的一种动作。一个事件的发生,可以引起某个对象上某个方法的执行,即由某个事件驱动了相应的事件处理过程的行为。在事件处理过程中,可以按预定设计好的方式,改变某个对象的相关属性值,因此是这个对象的状态得到相应的改变。(五)VB基本数据类型、常量、变量和数组考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。1 数据:数据是信息的一种记录形式。在VB中,常用的基本数据类型有以下几种:Integer(整数型)、Long(长整数型)、Single(单精度实数型)、Double(双精度实数型)、String(字符串型)、Boolean(逻辑型)、Date(日期型)。2常量:常量是在程序执行过程中其值不变的存储单元或数据。在VB中,常量有整数常量、实数常量、字符串常量和逻辑常量这几种类型。3变量:变量用来表示数据的存储区,在程序运行过程中,这些存储区中的值是可以改变的。变量名由字母、数字和下划线等字符组成,但必须以字母开头,在变量名中对大小写字母是不加区分的。变量说明语句的常用形式为:Dim变量名As变量的类型。4数组:数组是由一批同类型的变量构成的一个序列,组成数组的每一个变量被称为数组的元素,也称为下标变量,下标是一个整数,用来指出某个元素在数组中的位置。一维数组的常用形式为:Dim 数组变量名(A1 To A2) As 元素的类型。二维数组的常用形式为:Dim 数组变量名(A1 To A2,B1 To B2) As 元素的类型。(六)VB各类表达式与标准函数考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。1VB中的常用标准函数(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 语句1 Else 语句2或If 条件表达式Then 语句 块If语句:If 条件表达式1Then 语句块 1ElseIf 条件表达式2Then 语句块 2 ElseIf 条件表达式nThen 语句块 n Else 语句块 0 EndIf3循环语句: For 语句 For 循环变量 = 初值To终值Step 步长语句块Next 循环变量 Do 语句 Do While 条件表达式语句块Loop4注释:注释是以单引号()开头的一串文字,可以出现在程序中需要说明的位置上,通过这一串文字,对附近的程序段进行简要的说明,增加程序的可读性。注释对程序的执行效果没有任何影响,程序运行时自动跳过注释。(九)过程、事件处理过程、自定义函数考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。1VB应用程序是按模块化的方式组成的,一个程序模块是程序的一部分,每个模块负责解决整个应用问题的一部分任务。程序模块分为过程和函数两种。2过程:将程序划分成一个个较小的逻辑单元,每个逻辑单元构成一个过程。过程中的代码可以被重复调用。过程分成两类,一类是事件处理过程,另一类是通用过程。3事件处理过程: Sub 事件处理过程名(参数表) 语句块 End Sub 其中,事件处理过程名必须符合下面的规则:对象名_事件的标准名。VB的一些常用对象上的常见事件的标准名有:文本框Text:Text_Click、Text_DblClick、Text_KeyPress命令按钮Command:Command_Click、Command_DblClick标签Label:KeyPress4函数:函数是类似于过程的另一个程序模块,不同之处是函数执行完成后,函数的计算结果被送到函数的调用点上,供程序的后继部分继续进行处理。自定义函数: Function 函数名(参数表) As 类型名 语句块End Function 二、例题分析1对于对象及其特征的错误理解是()。(A) 对象都具有一个标识自己以区别其他对象的名字。(B) 对象都具有自身的属性及其属性值。(C) 对象一般只用数据表示属性,但不用代码表示行为。(D) 对象都具有自身的行为(操作)。参考答案:C 所考知识点:对象的概念。2下列控件中可用于接受用户输入文本,又可用于显示文本的是(A) Label 控件 (B) TextBox 控件(C) Timer 控件 (D) CommandButton 控件参考答案:B 所考知识点:VB的界面设计。3VB中保存工程文件的文件扩展名为(A) vbp(B) frm(C) doc(D) pas参考答案:A 所考知识点:VB应用程序的运行和保存4VB语言中,下列各种基本数据类型说明符中表示单精度实型数的是(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) 34 (B) 3/4(C) 4 mod 3(D) 3 mod 4参考答案:D 所考知识点:算术类基本运算符此题考生需注意“/”、“”、“mod”三个有关除的运算符的区别93 mod 2 + 3 2的执行结果为(A) -1(B) 3(C) 2(D) 0参考答案:C 所考知识点:算术类基本运算10a=5,b=7,c=-2,d=1时,下列结果为False的是(A) a + b c + d And a = 5 Or Not c 0 Or d a + b And a = 5 Or Not c 0 Or d 0(C) a + b c + d And a 0 Or d 0(D) a + d = 5 Or Not c 0 Or d 0 then x=y-3 Else y=x+3y的值是_(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=2For I=1 To 3If x I Then x = x + IEnd IfNext I该程序段运行后,x的值为(A) 2(B) 4(C) 5(D) 7参考答案:C 所考知识点:选择语句与循环语句的嵌套运用20下列程序段的执行结果为n=1: s=0Do while s20s=s+nn=n+2LoopPrint n; s(A) 9 16(B) 11 25(C) 11 20(D) 9 24参考答案:B 所考知识点:Do循环语句的运用第三单元 算法的程序实现一、知识内容(一)枚举算法及程序实现考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。枚举算法的基本思想是根据问题的本身性质,一一列举出该问题所有可能的情况,并根据题目的条件逐个作出判断,从中挑选出符合条件的解答。枚举算法属于搜索策略,适用于那些解变量确定的连续值域的问题。设置枚举算法要列举出所有可能的情况,不能遗漏,也不能重复。(二)解析算法及程序实现考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。解析算法的基本思想是用解析的方法找出表示问题的前提条件与所求结果之间关系的数学表达式,并通过数学表达式的计算来实现问题的求解。(三)排序算法及程序实现考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。1冒泡排序冒泡排序的基本思想是在待排序的数据中,先找到最小(大)的数据将它放到最前面,再从第二个数据开始,找到第二小(大)的数据将它放到第二个位置,以此类推,直到只剩下最后一个数据为止。2选择排序选择排序的基本思想是在所有的记录中选出最小(大)的数据,把它与第一个数据交换,然后在其余的记录中再选出最小(大)的数据与第二个数据交换,依此类推,直至所有数据排序完成。(四)查找算法及程序实现考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。1顺序查找顺序查找的基本思想是从第一个数据开始,按数据的顺序逐个将数据与给定的值进行比较,若某个数据和给定值相等,则查找成功,找到所查数据的位置;反之,查找不成功。2对分查找对分查找的基本思想是在有序的数据列中,首先将要查找的数据与有序数组内处于中间位置的数据进行比较,如果两者相等,则查找成功;否则根据数组元素的有序性,就可确定该数据应该在数组的前半部分还是后半部分继续进行查找;在新确定的范围内,继续按上述方法进行查找,直到找到要查找的数据,使查找成功,或直到子表不存在,查找不成功。对分查找的条件是被查找的数据必须是有序的。(五)递归算法考试要求:对所列知识要知道其内容及含义,并能用自己的语言或动作进行表达、判断和直接运用。函数或过程调用它本身,称为递归。递归算法的基本思想是把规模较大的、较难解决的问题变成规模较小的、容易解决的同一问题,规模较小的问题又变成规模更小的问题 ,当问题小到一定程度时,可以直接得出它的解,从而得到原来问题的解。即采用“大事化小、小事化了”的基本思想。采用递归算法的条件:(1)每一步骤解决问题的方法要一致;(2)有边界条件。二、例题分析1有5位运动员100米成绩依次为13.8,12.5,13.0,13.2,13.4,原始数据13.812.513.013.213.4第一趟12.513.813.013.213.4第二趟第三趟12.513.013.213.813.4第四趟12.513.013.213.413.8若采用选择排序算法对其进行从小到大排序,则第二趟的排序结果是(A) 12.5 13.8 13.2 13.4 13.0 (B) 12.5 13.4 13.2 13.8 13.0(C) 12.5 13.0 13.8 13.2 13.4 (D) 12.5 13.2 13.8 13.4 13.0参考答案:C 所考知识点:选择排序选择排序的基本思想是在所有的记录中选出最小(大)的数据,把它与第一个数据交换,然后在其余的记录中再选出最小(大)的数据与第二个数据交换,依此类推,直至所有数据排序完成。此题中要从小到大排序,并且已经实现第一趟排序,故在后面4个数据当中找出最小的数据“13.0”与第2个数据“13.8”交换,所以结果选C2数列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 所考知识点:选择排序此题只能根据选择排序的思路,共需进行四趟比较,具体过程如下:原始数据76392第一趟96372第二趟97362第三趟97632第四趟97632其中,第四趟不需要进行数据对调,前三趟都进行了对调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个数,依次序号为19。按照对分查找的思路,依次查找的数据为12、6、10,所以查找次数为3次。强化练习(综合题)1 有如下Visual Basic程序段:a=Howb= are youc=a+b该程序段运行后,变量c的值是 参考答案:How are you本题是读程序写结果题,属于基础题,是主要是考核字符串数据类型中“+”(字符串连接)含义的理解2有如下程序段:x=3y=4z=5If x+y=z Or y+z=x Or x+z=y then a=False Else a=True该程序段运行后,a的值是 参考答案:True本题是读程序写结果题,属于基础题,主要是考核分支If语句以及逻辑类运算符“or”的理解3有如下VB程序段:Dim n As IntegerDim m As Integerm = 0For n = 1 To 15 m = m + n mod 5Next n该程序段运行后,变量m的值是 参考答案:30本题是基础题本题是读程序写结果题,属于基础题,主要是考核循环For语句以及运算符“Mod”的理解4有如下VB程序段:n = 0s = 0Do While n =0(1) Then If x = 7 Then y = Sqr(x ) Else y = x 2Else If x 0 (2)y=3*x +2本题是改错题,属于基础题,主要考核算术表达式以及分支结构的条件语句6下面程序的功能是:计算表达式2+4+6+2n的值,在文本框Text1中输入n的值,结果在文本框Text2中输出。则程序中划线处的语句应更正为(1) (2) Private Sub Command1_Click()Dim sum As Long, , i As Integer , n As Integersum = 0n = Val(Text1.Text)For I = 2 To 2 * n Step 2sum = sum + 2 *i (1)Next IText2.Text=Val (sum) (2)End Sub参考答案:(1)sum=sum+i (2) Text2.Text=Str (sum)本题是改错题,属于基础题,只要是考核FOR语句的步长step的作用,以及Val函数和Str函数作用的区别7下面程序的功能是:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一(鸡雏三三买之)。百钱买百鸡,问鸡翁、母、雏各几何?则程序中划线处的语句应更正为(1) (2) Private Sub Form_Click()Dim x, y, z As IntegerFor x = 0 To 20 For y = 0 To 33 z = 100 - x - y If 5 * x + 3 * y + z 3 = 100 or z Mod 3=0 (1) Then Print x; y; z End If Next ZNext xEnd Sub参考答案:(1) Next Y (2)5 * x + 3 * y + z 3 = 100 or z Mod 3=0本题是改错题,属于基础题,只要是考核FOR语句的结构,以及逻辑类运算符“or”和“and”的不同含义8下面程序的功能是:求的值,直至最后一项的值0.0001。则程序中划线处的语句应更正为(1) (2) Private Sub Form_Click()N = 1: Sum = 0 (1)Do N = N + 2Term = 1 / (N 2) Sum = Sum + TermLoop Until term=0.0001(2)Print 运算结果为:; SumPrint 最后一项的值为:; TermEnd Sub参考答案:(1)sum=1 (2) term=0.0001本题是改错题,属于稍难题,只要是考核Do Until语句的理解,尤其注意在循环中累加器的初值设置以及循环终止条件,不要产生死循环。9 完成程序中的空格,打印显示如图片所示的九九乘法表:解决上述问题的Visual Basic程序如下,为了实现这一目标,在划线处,填入合适的语句或表达式是 (1) (2) Private Sub Form_Load()Form1.ShowFor a = 1 To 9 For = 1 To (1) Print a; ; b; =; (2) Next b PrintNext aEnd Sub参考答案:(1) 30-man-woman (2)s=500 或者 500=s本题是程序填空题,属于容易题,主要考核解析算法的程序实现。10 下面是一个元旦文艺会演评分程序。10位评委,除去一个最高分和一个最低分,计算平均分(评满分为10分)。解决上述问题的Visual Basic程序如下,为了实现这一目标,在划线处,填入合适的语句或表达式是 (1) (2) Max=0:Min=10For I=1 to 10 N=Val(InputBox(请输入分数) If (1) Then Max=N If N Max (2) S=S-Max-Min本题是程序填空题,属于容易题,主要考核解析算法的程序实现。11. 有30个人,其中有男人、女人和小孩。他们在一家饭馆里花去500元。已知,每个男人花30元,每个女人花20元,每个小孩花10元。问男人、女人、小孩各为多少人?解决上述问题的Visual Basic程序如下,为了实现这一目标,在划线处,填入合适的语句或表达式是 (1) (2) Sub command1_click()Dim man, woman, child, s As IntegerFor man = 1 To 15 For woman = 1 To 23 child = (1) s = 30 * man + 20 * woman + 10 * child If (2) Then list1.AddItem Str(man) + Str(woman) + Str(child) End If Next womanNext manEnd Sub参考答案:(1) 30-man-woman (2)s=500 或者 500=s本题是程序填空题,属于稍难题,主要考核枚举算法的程序实现。12. 如果一个三位数等于它的每个数字的立方和,则此数称为“水仙花”数。如:153153故153是水仙花数。下面程序用于求出100999之间的全部水仙花数解决上述问题的Visual Basic程序如下,为了实现这一目标,在划线处,填入合适的语句或表达式是 (1) (2) sub command1_click()for m=100 to 999a=int(m/100)b=int(m-100*a)/10)c=m-100*a-10*bn= if then list1.additem str(m)next mend sub 参考答案:(1) a*a*a+b*b*b+c*c*c (2) m=n本题是程序填空题,属于稍难题,主要考核枚举算法的程序实现。13如下程序段的功能是:随机产生8个1-100之间的正整数,按升序将10个数据排序输出。为了实现这一目标,在划线处,填入合适的语句或表达式是 (1) (2) (3) Const n=8Dim a(1 to n) As IntegerDim I , j , t , k as integerFor i = 1 To n (1) Next iFor i = 1 To n-1For j =(2) To nIf (3) Then t = d(i): d(i) = d(k): d(k) = t End IfNext jNext I参考答案:(1) a(i) = Int(100 * Rnd + 1)或a(I) = Int(100 * Rnd() + 1)(2)I+1(3)a(i) a(j)或a(i) = a(j)本题是程序填空题,属于稍难题,主要考核冒泡排序的程序实现,同时也考核函数Rnd和Int的正确使用。14 下列程序的功能是:在一个有序的序列中查找数值50,同时统计查找的次数并显示查找次数。为了实现这一目标,在划线处,填入合适的语句或表达式是 (1) (2) (3) Dim a(1 to 8) As Integer(定义在通用里,数组元素通过另一事件产生)Private Sub Command1_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 = 8: total = 0 Do While (1) And (f = False) total = total + 1 m = (2)) If a(m) = x hen f = True Else If x a(m) Then j = m - 1 Else i = m + 1 End If End If Loop If f = True Then Label1.Caption = (3) Else Label1.Caption = 找不到该数值 End If End Sub参考答案:(1) i a(j)或a(i) = a(j)本题是程序填空题,属于稍难题,主要考核对分查找的程序实现。15下列程序的功能是:某班级45名学生,每位学生中文姓名均不相同,并且都有一个英文名。下面程序的功能是根据学生的中文姓名查找相应的英文名,其中学号存储在数组sno中,英文名存储在数组sname中,中文姓名存储在数组ch中。在文本框text1中输入要查找的中文姓名,单击开始查找按钮,如果查找成功,则在文本框Text2中输出该学生的学号、中文姓名和英文名,否则在文本框Text2中输出查无此人!。为了实现这一目标,在划线处,填入合适的语句或表达式是 (1) (2) (3) Private Sub Command1_Click()Dim key As String, i As IntegerDim n As Integer, found As Booleanfound = Falsen = 0 : i = 1 (1) Do While i = 45 And Not foundIf ch(i) = key Then n = i: (2) i = i + 1 LoopIf (3) ThenText2.Text = 查无此人!ElseText2.Text = Str(sno(n) + 号: + ch(n) + 的英文名是 + sname(n)End IfEnd Sub 参考答案:(1) key=text1.text(2)found=true(3)not found本题是程序填空题,属于稍难题,主要考核顺序查找的程序实现。16下列程序的功能是:求两个正整数的最大公约数。求两个正整数的最大公约数可以采用辗转相除法求解。在文本框text1、text2中获取两个数据m、n,将结果显示在文本框text3上。以下是辗转相除法的算法:分别用m , n , r表示被除数、除数、余数求m/n的余数若r=0。则n为最大公约数。若r0,执行第3步将n的值放在m中,将r的值放在n中。返回重新执行第步为了实现这一目标,在划线处,填入合适的语句或表达式是 (1) (2) (3) Private Sub Command1_Click()Dim m , n , i As Integerm=Val(text1.text)n=Val(text2.text) (1) Do While r0m=n (2) r=m mod n LoopText3.text= (3) End Sub 参考答案:(1) r=m mod n(2)n=r(3)str(r)本题是程序填空题,属于稍难题,主要考核实现给出算法的相关程序的能力。17已知四位数3025有一个特殊的性质:她的前两位数字30和后两位数字25的和是55,而55的平方和刚好等于该数(552=3025)。下面程序求具有这种性质的所有四位数。其中,上述界面中“开始处理”按钮的名称是“Command1”,布尔型函数special(x)作用判断x是否具有这种性质的四位数,若x是具有这种性质的四位数,其值为True,否则为False。请在下列程序代码的基础上按照要求设计该程序。Dim n As Integer, a As IntegerFunction special(x as integer) As BooleanEnd FunctionPrivate Sub Command1_Click()For a = 1000 To 9999 If special(a) Then List1.AddItem (Str(a) Next aEnd Sub操作要求:(1)完善程序中的Function special (x)部分(2)在子程序Private Sub Command1_Click()中,主要采用的算法是:_。 参考答案:(1) Dim a, b As Integer a = x Mod 100 b = x 100 a = a + b If a 2 = x Then special = True Else specail = flase (2)枚举本题是补充一段程序,属于难题,主要考核自定义函数的能力。18下面程序求2到1000之间的平方数对,在文本框text1中输入的自然数N,找出所有小于N且满足下述条件的数对(X,Y):X+Y和X-Y都是完全平方数。例如:当X=1
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!