1、3 高中学业水平考试会考通用技术正文3要点1算法的基本特征及描述方法【要点点拨】算法的基本特征:有穷性、确定性、能行性、有0个或多个输入、有一个或多个输出。算法的三种描述方法各有优劣:自然语言像列提纲一样,条理清晰,通俗易懂,但缺乏直观性和简洁性,容易产生歧义;流程图是描述算法最常用的方法,形象、直观、容易理解;伪代码是介于计算机程序和自然语言之间的一种算法描述,并不是真正的程序代码,不能直接运行。【例1】下列问题不能用算法描述的是(A)A求所有自然数之和B将四位十进制数转换为对应的二进制数C将100个实数按升序排列D求100个整数中的最大值和最小值【分析】本题考查算法的特征。算法具有有穷性,
2、所有自然数是无穷的,所以不能用算法描述。【备选例题】下列叙述正确的是(B)A使用流程图描述算法的缺点是不够直观B算法执行时可以不需要输入数据C用求根公式解一元二次方程,当判别式的值小于0时,方程无实根,则该算法无需输出信息D用伪代码描述算法的优点是伪代码可以直接编译运行【分析】本题既考查了算法的特征,也考查了算法的三种描述。流程图是描述算法最常用的方法,形象、直观、容易理解,而伪代码是介于计算机程序和自然语言之间的一种算法描述,并不是真正的程序代码,不能直接运行;算法可以没有输入,但必须有一个或多个输出。要点2三种控制结构【要点点拨】算法包含三种基本控制结构:顺序、选择、循环。三种基本控制结构
3、通常会组合起来使用,以表达各种比较复杂问题的算法。要求能理解并分辨三者的功能、特点和适用范畴,读懂流程图的含义。在实际运用中,能根据需求,选择和使用合适的结构。【例2】已知s123n,下列算法的功能是计算使s大于10000的最小n值:变量s赋初值0,变量n赋初值0将n的值增加1将s的值加上n的值,结果存放在s中如果s的值大于10000则转否则转输出n的值上述算法描述中步的控制结构是(C)A顺序结构 B选择结构C循环结构 D树型结构【分析】按编号的先后顺序,在执行第步前,第步已经执行过一次,在第步中若条件不成立则返回到第步又执行一次,也就实现了重复循环的功能。【备选例题】有算法流程图如下图所示:
4、该流程图的结构属于(B)A顺序结构 B分支结构C树型结构 D循环结构【分析】流程图的结构有顺序结构、分支(选择)结构和循环结构;观察流程图,它不是自上而下的一条直线,该流程图不符合顺序结构的特点;循环结构的流程线是需要返回到判断框之前,分支结构是根据条件,先判断条件成立情况,当条件成立时选择指令1执行,否则执行指令2,所以该流程图属于分支结构。要点3变量的命名【要点点拨】要判断变量的命名是否合法,可以以变量名的命名规则为判断依据,即由字母、汉字、数字和下划线组成,必须以字母或汉字开头,变量名不能与系统已有的有固定含义的符号相冲突,在变量名中对大小写字母是不加区分的。【例3】下列可作为VB变量名
5、的是(B)A3D BX_YCXY DAnd【分析】本题考查变量的命名规则,变量由字母、汉字、数字和下划线组成;必须以字母或汉字开头;变量名不能与系统已有的有固定含义的符号相冲突。以此为依据,3D是以数字开头;x+y有加号,与已有的有固定含义的符号相冲突;And是关键词。因此x_y符合题意。【备选例题】下列Visual Basic的变量名合法的是(C)A. int B. 2intC. int2 D. int【分析】本题考查变量的命名规则,变量由字母、汉字、数字和下划线组成;必须以字母或汉字开头;变量名不能与系统已有的有固定含义的符号相冲突。以此为依据,2int是以数字开头;int是关键词,与已有
6、的有固定含义的符号相冲突;in+t有加号。因此只有int2符合题意。要点4表达式的书写【要点点拨】基本运算的优先级从高到低为:(1级),(指负号,2级),*、/(3级),(4级),Mod(5级),、(6级),、(7级),Not(8级),And(9级),Or(10级)。在书写时要注意运算符号的优先级别。【例4】将数学表达式 写成VB表达式,正确的是(C)A(11 / x1) (1x )B(11 /(x1) ) 1xC(11 /( x1) ) (1x)D11 /(x1) (1x)【分析】本题考查VB表达式的正确书写。书写时要注意运算符号的优先级,注意括号的运用。【备选例题】已知三条线段的长度分别为
7、a,b,c,判断它们能组成三角形的条件是(B)A. abc0B. abc and acb and bca C. (abc) and (acb) or (bca)D. abc or acb or bca【分析】本题既考查了VB表达式的书写,也考查了运算符的运用。根据运算符的优先级别,有时候不一定要使用括号。要点5循环结构【要点点拨】当满足循环条件时,则一直循环,直到超过循环变量的范围,循环结束。循环结构的三个要素:循环变量、循环体和循环终止条件,循环结构在程序框图中是利用判断框来表示的,判断框内写上条件,两个出口分别对应着条件成立和条件不成立时所执行的不同指令,其中一个要指向循环体,然后再从循环
8、体回到判断框的入口处。【例5】有如下VB程序段:ma(1)For i2to100Ifa(i) mthenma(i)Next i该程序段执行后,变量m中存储的是(c)A累加值 B计数值C最大值 D最小值【分析】本题考查For语句和If语句的综合运用。仔细分析其算法和运行顺序,可以得出,本题是求数组a(i)中的最大值。【备选例题】有如下程序段:x2For i1 To 3If x i Then xxiEnd IfNext i该程序段运行后,x的值为(c)A2B4C5D7【分析】本题也考查For语句和If语句的综合运用。通过分析,只有当i3时,才满足x20 And bmi 25 ThenLabel3.
9、CaptionStr(bmi)”合格” 输出bmi指数及健康状态ElseLabel3.CaptionStr(bmi)”不合格” 输出bmi指数及健康状态End Sub调试程序时,单击命令按钮“com1”,出现如右图所示的提示信息:出现该错误的原因是(d)A变量h类型定义错误B变量bmi类型定义错误CIf语句缺少ElseDIf语句缺少End If 【分析】本题主要考查对Visual Basic程序代码的理解与程序调试的能力。要求学生能根据错误提示分析错误原因,找出解决方法。图中显示的错误提示:语法错误。一般把观察方向指向语法结构的完整性。由分析得知,程序中每个If都需要有一个End If与之相配
10、套。因为本题是If语句缺少End If。要点7事件处理过程名【要点点拨】事件处理过程名由对象名、事件名组成。在属性窗口中,可以看出对象名、类型及该对象的相关属性。根据题中给出的用户事件及对象名,即可得出事件处理过程名;或者根据题意,正确选择对象和合适的事件。【例7】小李在设计VB程序时所使用的复选框对象的属性窗口如图所示,他想编制该复选框单击事件的处理过程,则该事件处理过程名是(c)ACheckBox_Click B加粗_Click CCheck1_Click D复选框_Click【分析】本题主要考查事件处理过程名以及学生的实际运用能力。本题具有一定的迷惑性,很容易被提供的图片所吸引,其实在图
11、中仅可以看出复选框对象的名称为“Check1”,对于相应的触发事件则隐含在题干“复选框单击事件”中。【备选例题】程序运行界面如图所示。要求在文本框Text1中输入字符串,单击“翻转”按钮Command1后,在标签Text2中显示处理后的字符串。需要编写的VB事件处理过程的名称为(a)ACommand1_Click BText1_ClickCForm_Click DLabel2_Click【分析】本题考查能否根据题意正确选择对象和合适的事件。要求学生能正确掌握事件名、方法、属性名、属性值等概念。要点8解析算法【要点点拨】解析算法的基本思想是用解析的方法找出表示问题的前提条件与所求结果之间关系的数
12、学表达式,深刻理解题意后,建立正确的数学模型,列出数学表达式,以实现问题的求解。【例8】某景点规定,身高在1.2米以下的儿童免票,身高在1.21.5米的儿童购买半价票,身高超过1.5米的购买全价票。则此算法是(b)A枚举算法 B解析算法C对分查找 D排序算法【分析】本题考查解析算法的基本思想。根据题意,以三种情况计算门票价格,用分支模式进行分类计算,符合解析算法的思想。【备选例题】某地出租车按照行驶距离(以千米为单位按整数计,小数部分四舍五入)计费,行驶距离取整后,计费规则如下:3千米(包括3千米)以内10元;超过3千米但低于10千米(包括10千米)时,超过部分每千米2元;超过10千米时,超过
13、部分每千米3元。例如,行驶距离8千米时将收取10(83)220元,行驶距离12千米时将收取10(103)2(1210)330元。现要求编写VB程序(运行界面如图所示),实现如下功能:在文本框Text1中输入行驶距离,单击“计算”按钮Command1,在标签Label3中显示相应的费用。某同学按此要求编写的程序如下,其中函数f(x)用于计算费用,但加框处代码有错,请改正。Function f(x As Integer) As IntegerIfThen f10ElseIf x 10 Thenf Elsef10(103)*2(x10)*3End IfEnd FunctionPrivate Sub
14、Command1_Click()Dim n As Integer, r As IntegernInt(Val(Text1.Text)0.5)n为取整后的行驶距离rf(n)r为需收取的费用Label3.CaptionStr(r)End Sub【分析】本题是一道典型的解析算法考题。公式都已经直接提供,所以都比较简单,只要看清题目,再把公式转换成VB的表达式就可以了。题目描述中提到“3千米(包括3千米)以内10元”,所以处应该改为x3;处是x10的情况,除了超过部分的(x3)*2,还需要再加上3千米以内的10元。【答案】x3(x3)*210要点9枚举算法【要点点拨】枚举算法即指根据问题的本身性质,一
15、一列举出该问题所有可能的情况,并在逐一列举的过程中,检验每个可能解是否是问题的真正解。在列举过程中要尽可能让列举范围最小化,但是列举的时候,不能遗漏,避免重复。【例9】在给定的正整数区间10,55中寻找能被3除余1,被7除余2的正整数的个数的算法是(c)A解析算法 B排序算法C枚举算法 D对分查找【分析】本题考查枚举算法的基本思想。枚举算法的两个关键点:一是一一列举出所有的可能,二是逐个验证是否是问题的真正解。本题要求从正整数区间10,55中寻找能被3除余1,被7除余2的正整数的个数,就需要从10到55的整数中,一个一个进行判断,符合枚举算法的思想。【备选例题】徐一易的Email邮箱密码忘记了
16、,但他急需要收一封很重要的来信,请你帮他找出密码。他只记得密码的一些零星信息:密码是六位数字,前面两位为31;最后两位数字相同;能被12和28整除。程序界面如图所示,单击 “帮助找回密码”按钮(Command1)后,可能的密码显示在列表框List1中。解决此问题的相应程序如下:Private Sub Command1_Change( )Dim a As Integer, S As Long, b As Integer, I As IntegerFor I0 To 9999 S310000IIf S Mod 120 or S Mod 280 ThenaS mod 10b(S Mod 100) 1
17、0If ab Then List1.AddItem Str(S)End IfEnd IfNext IEnd Sub纠正程序和的错误处,填入适当的语句或表达式,把程序补充完整:程序中处应更改为_。程序中处应更改为_。【分析】本题考查学生对枚举法的理解。代码中出现两处错误,其中一处是事件处理过程名,题干中指出“单击帮助找回密码按钮”,则事件处理过程名是Command1_click。题干中指出“能被12和28整除”,则逻辑运算符应该为and。故纠错还是比较容易的。【答案】Command1_clickS Mod 120 and S Mod 280【】【】【当堂巩固】1下列步骤是用计算机解决物质密度计算
18、问题时经历的三个阶段:编制计算机程序,用计算机进行处理确定密度计算公式,设计算法分析问题,确定计算机解题任务为“根据物质的质量与体积计算密度”上述阶段的正确顺序是( a )A BC D2不能用算法描述“输出自然界中的所有质数”,是因为解决该问题的算法不具有( a )A确定性 B有效性C能行性 D有0个或多个输入3Visual Basic中,添加一个文本框,在工具箱中要选择最适合的控件是( b )A. B. C. D. 4已知有如下Visual Basic程序段:Private Sub Command1_dbclick()a”Visual”b”Basic”Text2.TextabEnd Sub程
19、序运行后,如果单击命令按钮,则在文本框中显示的是( c )AVisual BBasic CVisual Basic D出错5有如下Visual Basic程序段:s0;k1Dowhilek 3 Then sskkk1Loop该程序段运行后,变量s的值是_3_。6设计VB程序,使其具有下列功能:在文本框Text1中输入一串字符(数字、字母均可),单击“开始”按钮Command1,在标签Label2中输出结果。该程序的设计界面如图所示:Private Sub Command1_Click()Dim ch As String, sh As StringDim i As Integer, j As Integer chText1.TextFor i1 To Len(ch)jAsc(Mid(ch, i, 1)If j 96 And j 123 ThenshshChr(j32)ElseEnd IfNextEnd Sub(1)根据输出结果,分析该程序的功能是()A将输入的字符串原样输出B将输入的字符串转换成ASCII码后输出C将输入的字符串中小写字母转换成大写字母后输出(2)当运行调试程序时,发现_(填“”或“”)处有错误,应改为_。【答案】(1)C(2)Label2.Captionsh
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1