浙教版高中信息技术浙江高考复习资料算法和程序设计分析及试题附

2018-11-21 14:24

选修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应用程序的界面设计与调式

考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。

1.VB应用程序的界面设计

(1)VB程序设计语言:基于Basic语言的可视化程序设计环境,采用面向对象的程序设计方法(OOP)。

(2)VB应用程序设计环境的的窗口主要由对象窗口、控件工具箱、属性窗口、工程窗口组成。 (3)控件工具箱集中了常用的基本控件:标签label、文本框TextBox、命令按钮Command Button、列表框ListBox等。

(4)窗体(Form)是VB应用程序的基本结构。窗体可以看作是一个“容器”,其中放置着各种各样在应用程序中必须用到的对象。

2.VB应用程序的运行和保存

运行:单击工具栏中“运行”选项中的启动按钮,运行应用程序。 保存:在“文件”菜单中选“工程另存为”,该应用程序的窗体和工程分别存储到文件中,其相应的文件扩展名分别是“ .frm”和“ .vbp”。也可以选“文件”菜单中的“生成工程xxx.exe”,这样,就可在Windows环境中直接运行这个应用程序了。

(四)事件处理代码的编制方法考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。

对于对象而言,事件就是发生在该对象上的事情,通常是由用户在对象上激发的一种动作。一个事件的发生,可以引起某个对象上某个方法的执行,即由某个事件驱动了相应的事件处理过程的行为。

在事件处理过程中,可以按预定设计好的方式,改变某个对象的相关属性值,因此是这个对象的状态得到相应的改变。

(五)VB基本数据类型、常量、变量和数组

考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。

1. 数据:数据是信息的一种记录形式。在VB中,常用的基本数据类型有以下几种:Integer(整

数型)、Long(长整数型)、Single(单精度实数型)、Double(双精度实数型)、String(字符串型)、Boolean(逻辑型)、Date(日期型)。

*逻辑(Boolean)数据类型

只有两个值True,或False。将逻辑数据转换成整型时:True为-1,False为0;其它数据转换成逻辑数据时:非0为True, 0为False。

2.常量:常量是在程序执行过程中其值不变的存储单元或数据。在VB中,常量有整数常量、实数常量、字符串常量和逻辑常量这几种类型。

3.变量:

变量的命名规则

1. 以字母或汉字开头,后可跟字母、数字或下划线组成. 2. 变量名最长为255个字符;

3. VB中不区分变量名的大小写,不能使用VB中的关键字; 4.字符之间必须并排书写,不能出现上下标

变量说明语句的常用形式为:Dim 变量名 As 变量的类型。

4.数组:数组是由一批同类型的变量构成的一个序列,组成数组的每一个变量被称为数组的元素,也称为下标变量,下标是一个整数,用来指出某个元素在数组中的位置。

一维:Dim 数组名([<下界>to]<上界>)[As <数据类型>]

二维:Dim 数组名([<下界>] to <上界>,[<下界> to ]<上界>) [As <数据类型>]

一维数组的常用形式为:Dim 数组变量名(A1 To A2) As 元素的类型。

二维数组的常用形式为:Dim 数组变量名(A1 To A2,B1 To B2) 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)。

Int(9.59) =9 Int(9.28)=9

Int(-9.59) =-10 Int(-9.21) =-10 Asc(\值为: 65 (只取首字母的Ascii值) Val(\值为:0, Val(\值为1.2 chr(x),将Ascii转化为字符 str(x) 将数值转化字符 fix(x) 截掉小数部分

fix (9.59) =9 fix (9.28)=9 fix (-9.59) =-9 fix (-9.21) =-9

Mid(x,m,n):返回字符串x从第m个字符起的n个字符所组成的字符串。

Mid(\

Len(x):返回字符串x的长度,如果x不是字符串,则返回x所占存储空间的字节数。

len(\ 随机函数Rnd

Rnd函数可以不要参数,其括号也省略。返回[0 ~ 1)(即包括0,但不包括1)之间的双精度随机数。若要产生1~100的随机整数,则可通过下面的表达式来实现:

Int(Rnd*100)+1 ' 包括1和100

Int(Rnd*99)+1 ' 包括1,但不包括100 产生[N,M]区间的随机数的Visual Basic表达式: Int(Rnd *(M-N+1))+N 2.基本运算与表达式

(1)VB的基本运算:VB的基本运算包括算术运算、关系运算和逻辑运算三大类。 算术类基本运算有:^、-、*、/、\\、Mod、+、- 关系类基本运算有:=、<>、<、>、<=、>= 逻辑类基本运算有:Not 、And 、Or

(2)表达式:表达式主要用来规定值的计算过程,以及对于某些情况或条件的判断。一个表达式中可能包括算术运算、关系运算和逻辑运算等多种基本运算,以及这些基本运算所涉及的数据(变量和常量)。

(3)基本运算的优先级从高到低为:^(1级),-(指负号,2级),﹡、/(3级),\\(4级),Mod(5级),+、-(6级),=、<>、<、>、<=、>=(7级),Not(8级),And(9级),Or(10级)。

1、整数除法

25.3\\6.3=25\\6=4 25.6\\6.6=26\\7=3 2、取余

25.3 mod 6.3=25 mod 6=1 25.6 mod 6.6=26 mod 7 =5 (七)常用的VB语句

考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。 (八)使用VB实现顺序、选择、循环三种控制结构

考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。

1.赋值语句: 变量名 = 表达式

或 对象名.属性名 = 表达式

2.选择语句:

判断语句形式: (1) If <表达式> Then 语句块 End If

或 If <表达式> Then <语句> (2)If <表达式> Then <语句块1> Else

<语句块2> End If

或 If <表达式> Then <语句1> Else <语句2> (3)If <表达式1> Then <语句块1>

ElseIf <表达式2>Then <语句块2> … [Else

语句块 n+1 ] End If 循环: (1)、For 初值 to 终值 [Step 步长] 语句块

Next 循环变量 (2)、 Do While <条件> 语句块

Loop

4.注释:注释是以单引号(')开头的一串文字,可以出现在程序中需要说明的位置上,通过这一串文字,对附近的程序段进行简要的说明,增加程序的可读性。注释对程序的执行效果没有任何影响,程序运行时自动跳过注释。

(九)过程、事件处理过程、自定义函数考试要求:对所列知识要理解其确切含义及与其它知识的联系,能够用所学的信息技术知识和操作方法解决实际问题,熟练应用信息技术进行信息的处理。 命令按钮:COMMANDBUTTON

属性:name,Caption,Top,Left,Height,Width,Font,Enabled,backcolor 事件:click,load,dblclick,keypress 标签 LABEL

属性:name,Caption,Top,Left,Height,Width,Font,Enabled,backcolor 事件:click,load,dblclick,keypress 文本框 TEXTBOX

属性:name,text,Top,Left,Height,Width,Font,Enabled,backcolor 事件:click,load,dblclick,keypress,Change 列表框控件ListBox

属性:List、ListCount和ListIndex,MultiSelect,Selected,Sorted 事件:click,load,dblclick,Change

方法:AddItem(),RemoveItem(),Clear()

4.函数:函数是类似于过程的另一个程序模块,不同之处是函数执行完成后,函数的计算结果被送

到函数的调用点上,供程序的后继部分继续进行处理。

自定义函数: Function 函数名(参数表) As 类型名 语句块 End Function 了解自定义函数,读懂程序。 递归:自己调用自己

二、例题分析

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) \ (C) Val(\ (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) 2?b (D) b+5 参考答案:D 所考知识点:算术表达式

题中a+|b|和3b-2a均属数学表达式,在VB中表达为a+abs(b)和3*b-2*a,而2?b中“?”不属于基本运算符

12.在Visual Basic中,\的运算结果是

(A) \ (B) False (C) \(D) \参考答案:D 所考知识点:字符串表达式

“+”运算符两边的操作数如果均为数值型,则进行算术运算;如果均为字符串,则它的作用是将两个字符串连接起来。题中两边均为字符串,帮结果为D。值得一提的是,“+”两头的操作数的数据类型必须是同一类型的,否则会提示错误

13.以下哪项是Visual Basic合法数组元素的表示法

(A) X9 (B) X[9] (C) X(I+9) (D) X{9} 参考答案:D 所考知识点:数组

延伸:在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) txt3.text=txt1.text+txt2.text (B) Command1.name=cmdOK (C) 12label.Caption=1234 (D) A=InputBox(Hello) 参考答案:A 所考知识点:赋值语句、对象属性

在对象属性的赋值语句当中,一切要注意赋值号两边的数据类型是否一致,且书写语句是否规范。题中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: 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 参考答案: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 参考答案: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 参考答案:B 所考知识点:Do循环语句的运用

(D) 10

(D) 7

(D) 9 24

Next I (2) P=S/8

Print \最高分\最低分\最后得分\参考答案:(1) 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 Integer For 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 woman Next man End Sub

参考答案:(1) 30-man-woman (2)s=500 或者 500=s

本题是程序填空题,属于稍难题,主要考核枚举算法的程序实现。 12. 如果一个三位数等于它的每个数字的立方和,则此数称为“水仙花”数。如:

333

153=1+5+3故153是水仙花数。下面程序用于求出100~999之间的全部水仙花数解决上述问题的Visual Basic程序如下,为了实现这一目标,在划线处,填入合适的语句或表达式是 (1) (2)

sub command1_click() for m=100 to 999 a=int(m/100)

b=int((m-100*a)/10) c=m-100*a-10*b

n=

if then list1.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(1 to n) As Integer

Dim I , j , t , k as integer For i = 1 To n (1) Next i

For i = 1 To n-1

For j =(2) To n If (3) Then

t = d(i): d(i) = d(k): d(k) = t End If Next j Next 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<=j

(2)Fix(I+j)/2+1

(3)a(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 Integer Dim n As Integer, found As Boolean found = False n = 0 : i = 1 (1)

Do While i <= 45 And Not found

If ch(i) = key Then n = i: (2)

i = i + 1 Loop

If (3) Then Text2.Text = \查无此人!\Else

Text2.Text = Str(sno(n)) + \号:\的英文名是\End If End 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为最大公约数。若r<>0,执行第3步 ③将n的值放在m中,将r的值放在n中。 ④返回重新执行第①步

为了实现这一目标,在划线处,填入合适的语句或表达式是 (1) (2) (3)

Private Sub Command1_Click() Dim m , n , i As Integer m=Val(text1.text) n=Val(text2.text)

(1) Do While r<>0 m=n

(2)

r=m mod n Loop

Text3.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 Integer

Function special(x as integer) As Boolean

End Function

Private Sub Command1_Click() For a = 1000 To 9999

If special(a) Then List1.AddItem (Str(a)) Next a End 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=10,Y=6时,有10+6=16=42 10-6 =4=22

其中,上述界面中“开始处理”按钮的名称是“Command1”,布尔型函数numbert(x,y)作用判断x,y是否为平方数对,若x,y是平方数对,其值为True,否则为False。

请在下列程序代码的基础上按照要求设计该程序。 Dim n As Integer, x, y As Integer

Function number(x, y As Integer) As Boolean

End Function

Private Sub Command1_Click() For x = 2 To 1000

For y = x + 1 To 1000

If number(x, y) Then List1.AddItem (Str(x) + \与\Next y Next x End Sub 操作要求:

(1)完善程序中的Function number(x,y)部分

(2)在子程序Private Sub Command1_Click()中,主要采用的算法是:__________。 参考答案:(1)Dim a, b As Integer a = x + y b = y - x

If Sqr(a) = Int(Sqr(a)) And Sqr(b) = Int(Sqr(b)) Then number = True Else number

= False

(2)枚举

本题是补充一段程序,属于难题,主要考核自定义函数的能力。

19.下面程序求2到1000之间的亲密数对,找出所有小于1000且满足下述条件的数对(A,B):如果A的约数之和等于B,B的约数之和等于A,A和B称为亲密数对。如220的所有约数(即能被它整除)为:1、2、4、5、10、11、20、22、44、55、110,而1+2+4+5+10+11+20+22+44+55+110=284; 284的所有约数为:1、2、4、71、142,而1+2+4+71+142=220。所以220和284就是亲密数对

其中,上述界面中“开始处理”按钮的名称是“Command1”,布尔型函数numbert(x,y)作用判断x,y是否为亲密数对,若x,y是亲密数对,其值为True,否则为False。

请在下列程序代码的基础上按照要求设计该程序。 Dim n As Integer, x, y As Integer

Function number(x, y As Integer) As Boolean

End Function

Private Sub Command1_Click() For x = 2 To 1000

For y = x + 1 To 1000

If number(x, y) Then List1.AddItem (Str(x) + \Next y Next x

End Sub操作要求:

(1)完善程序中的Function numbertwo(x,y)部分

参考答案

模拟练习第1套

选择题: CBACB CADBB DBD 综合题: 1、Goodbye

2、(1)sum=sum+i (2)Text2.Text=Str(sum) 3、(1)n=n+1 (2)a(n-1)+a(a-2) 4、(1)d(i)=Int(Rnd*100+1) (2)d(j)i 5、(1) For i = 2 To Int(Sqr(x))

If x Mod i = 0 Then f=False Exit For Else

f=True End If Next i

(2)枚举算法

模拟练习第2套

选择题: CAAAC ACBDB DCA 综合题: 1、6

2、(1)t=1 (2)Text1.Text=Str(t) 3、(1)total=total+a(i) (2)ans=ans+1 4、(1)i<=j (2)Fix((i+j)/2) (3)Str(a(m)) 5、(1)Function area(a, b, c As Single) As Single

Dim p As Single p = (a + b + c) / 2

area = Sqr(p * (p - a) * (p - b) * (p - b)) End Function (2)解析算法

模拟练习第3套

选择题: CADAC BCCCC ACD 综合题: 1、28

2、(1)sum=sum+1/i (2)Text1.Text=Str(m) 3、(1)p=p*(1+r) (2)Loop 4、(1)i (2)sum1=sum1+j (3)sum=sum+sum1 5、(1)Function perfect(x) As Boolean

Dim k, sum As Integer sum = 1

For k = 2 To x \\ 2

If x Mod k = 0 Then sum = sum + k Next k

If sum = x Then perfect = True Else perfect = flase End Function (2)枚举算法

模拟练习第4套

选择题: DADBA DDBBD CCC 综合题: 1、21

2、(1)t=False (2)s Mod 5=0 3、(1)20 (2)c=a+b 4、(1)a<0 or a>255 (2)a=a Mod 2 (3)c(i)=a 5、(1)Function fact(n As Integer) As Double

Dim i as integer Fac=1

For i=1 to n Fac=fac*i Next i

End Function (2)解析算法

模拟练习第5套

选择题: CCCBC DAAAC DCC 综合题: 1、10

2、(1)x=0 or y=0 (2)x>0 3、(1)y<40 (2)x=(100-y)/5 4、(1)i mod j=0 (2)a(i)=(a(i)+1) mod 2 (3)a(i)=0 5、(1)if Number > a(mid) then i=mid+1 else j=mid-1

end if

(2)对分查找

模拟练习第6套

选择题: BBAAC CBABC CC 综合题: 1、100

2、(1)n=37006+10*i (2)n mod 29=0 or n mod 47=0 3、(1)x>0 (2)x=x-a(i) 4、(1)key=text1.text (2)i<=j (3)key>cno(m) 5、(1)Function f(x As Integer) As Boolean

Dim i As Integer f = True

For i = 2 To Sqr(x)

f x Mod i = 0 Then f = False Next i

End Function

(2)对分查找


浙教版高中信息技术浙江高考复习资料算法和程序设计分析及试题附.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:广东省揭阳市2017年高中毕业班高考第二次模拟考试理综化学试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: