资源简介 4.1解析法训练3学校:___________姓名:___________班级:___________考号:___________一、选择题1.在由小写字母组成的字符串中,找出同一字母第一次与最后一次出现的最大间隔距离,如字符串“abccbcb”,字母“b”第一次与最后一次分别出现在位置2和7,相距5,间隔距离最大。编写VB代码如下:填空处的代码可由以下部分组成:①d(i)=0 ②t=Val(Mid(s,i,1)) ③IF d(t)<>0 And i-d(t)>c Then c=i-d(t)④d(i)=1 ⑤t=Asc(Mid(s,i,1))-Asc("a")+1) ⑥If i-d(t)>c Then c=i-d(t)代码顺序正确的是A.④⑥⑤ B.①⑤⑥ C.④②③ D.①⑤③2.有如下VB程序段:若数组b中的值依次为“5,10,7,20,30,40,40,60,55,70”,则程序运行后Text1中的内容是A.43 B.42 C.41 D.403.下面VB程序的功能为:在文本框Text1和Text2中输入两个整数,单击按钮对象Command1,在标签对象Label1中显示这两个数的差。Function lsc(x,y) As Integer If x>y Thenlsc=x-y Elselsc=y-x End IfEnd FunctionPrivate Sub Command1_Click( ) Dim a1 As Integer,a2 As Integer a1=Val(Text1.Text) a2=Val(Text2.Text) Label1.Caption=________End Sub要实现上述功能,程序画线处应填入的语句为( )A.lsc(x,y) B.lsc(Text1.Text,Text2.Text)C.lsc D.lsc(a1,a2)4.下图所示的流程图中 C 的值为( )A.2 B.3 C.5 D.65.在下面列出的四个程序段中,不能正确地将 x和y两个变量中的数据进行交换的是( )A.x=y y=x B.x=x+y y=x-y x=x-yC.m=x x=y y=m D.m=y y=x x=m6.下列说法正确的是( )A.子过程可以嵌套调用 B.子过程不可以嵌套调用C.子过程可以嵌套定义 D.函数过程不可以递归调用7.有如下通用过程和事件过程,运行程序后,单击窗体,程序的运行结果是( )public function ss(x as integer,y as integer) as integer if x>y then ss=x-y else ss=y-xEND FUNCTIONPRIVATE SUB FORM CLICK( )DIM A AS INTEGER ,B AS INTEGER A=8: B=6 PRINT SS(A,B)END SUBA.2 B.-2 C.8 8 D.6 68.在窗体上画一个命令按钮,其Name属性为Command1,然后编写如下代码:Option Base 1Private Sub Command1 Click Dim a(4,4) For i = 1 To 3 For j = 1 To 3 a(i,j)=(i-1)*3+j Next j Next i PRINT A(3,1)End Sub程序运行后,单击命令按钮,其输出结果为.A.6B.7C.8D.99.以下适合用解析算法解决的问题是( )A.将10个评委的打分按由大到小的顺序进行排序 B.计算出租车费C.找出一管乒乓球中质量不符合标准的球 D.求三位正整数中的“水仙花数”10.一玻璃球从高空做自由落体运动,在到达地面时速度为98m/s,请问:该玻璃球从高空开始下落到地面用了多少时间?编程求此问题最佳算法是( )A.穷举法 B.顺序查找算法 C.递归算法 D.解析法11.找出表示问题的前提条件与结果之间关系的数学表达式,并通过表达式的计算来时限问题求解,这种方法叫做( )A.解析法 B.顺序查找算法 C.递归算法 D.穷举法12.用 UltraEdit 软件观察字符内码如下图所示,下列描述正确的是( )A.可推断“j”的内码为 70HB.“陈旻”字内码为 B3C2HC.“M”内码用二进制表示为:01001101BD.“name”占用 4b 存储空间13.【加试题】编号为 1 到 8 的纸牌顺时针排成一圈,现从编号为 1 的牌从数字 1 开始顺时针数下 去,1、2、3、 、20、21、 ,一圈又一圈,则当数到数字 N 时,所在纸牌的编号为( )A.N Mod 8 B.(N+1) Mod 9 C.1+(N-1) Mod 8 D.1+(N-1) Mod 714.利用海伦公式求三角形面积的算法属于( )A.排序法 B.解析法 C.枚举法 D.查找法15.以下只能用解析算法求解的是( )A.已知边长a、b、c,求三角形面积。B.求用10元、20元和50元三种纸币组合支付360元的不同方案。C.求2000以内的素数。D.求所有的水仙花数的总和。16.计算三角形面积的算法如下:①输入三角形三边长a,b,c②计算半周长p=(a+b+c)/2③计算三角形面积s=Sqr(p*(p-a)*(p-b)*(p-c))④输出面积s上述算法属于( )A.排序算法 B.解析算法C.枚举算法 D.查找算法参考答案:1.D【详解】本题综合考查VB程序解决实际问题的能力。是求最值的变形,先定义一个数组d,有26个元素,分别记录26个字母出现的初始位置。先初始化数组元素值为0,如果出现,则记录当前位置。将字母a对应到d(1)里,下标为1,下标t的值通用ASCII码来实现。如果d(t)<>0表明不是第一次出现,可以求两次出现的间距值,并与前一个值进行比较。故选D2.A【详解】本题综合考查VB 程序解决实际问题,并有数组的嵌套。数组a的元素初值为0。根据第二个For循环,可得a数组中,下标为5,7,11,11,30,40,41,55,61,71的元素值分别为1,1,-1,-1,1,1,-1,1,-1,-1。第三个循环中,求变量c的值,即对数组a的值求和时,出现0的次数。在a(5)之前有4个,在加到a(21)到a(29)时,也为0,有9个。在加到a(71)到a(100)时,都为0,共有4+9+30=43个。故选A3.D【详解】本题主要考查VB程序的执行。lsc(x,y)是求x与y的差函数,单击按钮对象Command1,在标签对象Label1中显示这两个数的差,故程序画线处应填入的语句为lsc(a1,a2),故本题选D选项。4.C【详解】本题考查的是流程图相关知识。“=”是赋值号,A=2,B=3,将2、3分别给AB,C=A+B=2+3=5。选项C正确。5.A【详解】本题考查的是程序赋值语句的相关知识。赋值语句功能:将赋值号右边的值赋值给左边的变量中。可假设初始值x=5,y=6代入验证:A选项 执行x=y后 :x=6,y=6;执行y=x后:x=6,y=6并没有交换。故答案应选A6.A【详解】本题考查的知识点是VB应用。子过程是一种可重复使用的代码块,它执行一个特定的任务。而函数过程则是一种返回特定类型值的可重复使用的代码块。子过程可以嵌套调用,不可以嵌套定义,函数过程可以递归调用。故答案为A选项。7.A【详解】本题考查的知识点是VB程序。ss函数实现的功能是计算两个数的差,大的数值减去小的数值,在窗体处理程序中两个参数分别是8和6,差值是2,故答案为A选项。8.B【详解】本题主要考查VB程序的嵌套循环结构。a(3,1)=(3-1)*3+1=7,故程序运行后,单击命令按钮,其输出结果为7,故本题选B选项。9.B【详解】本题主要考查解析算法。所谓解析法(analysis algorithm)是指用解析的方法找出表示问题的前提条件与结果之间关系的数学表达式,并通过表达式的计算来实现问题求解。计算出租车费可以使用分支结构,分段使用解析式求解,故本题选B选项。10.D【详解】本题考查想知识点是算法的相关知识。穷举法也叫枚举法或列举法。 在研究对象是由有限个元素构成的集合时,把所有对象一一列举出来,再对其一一进行研究。这里所研究的对象(元素)可以是各个个体事物,也可以是构成研究对象的各类。解析法是指用解析的方法找出表示问题的前提条件与结果之间关系的数学表达式,并通过表达式的计算来实现问题求解。递归算法是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过程)来表示问题的解。一个过程(或函数)直接或间接调用自己本身,这种过程(或函数)叫递归过程(或函数)。由题干可知,此问题最佳算法是解析算法,故答案为D选项。11.A【详解】本题考查的知识点是算法中的解析法。解析法是指用解析的方法找出表示问题的前提条件与结果之间关系的数学表达式,并通过表达式的计算来实现问题求解。故答案为A选项。12.C【详解】本题考查字符内码查看与进制转换。A选项,根据字符“i”的内码69H,可以得到“j’的内码是69H+1H=6AH,选项错误;B选项,“陈旻”的内码是:B3 C2 95 46;C选项,“M”的内码是4DH,转换成二进制是:(01001101)2,选项正确。D选项,“name”占用4B的存储空间,注意1B=8b,选项错误。故本题答案是C选项。13.C【详解】本题主要考查解析算法。编号为1到8的纸牌顺时针排成一圈,可知周期是8,应对8取余,如果使用表达式N Mod 8,当N=8时,N mod 8=0不可行,应使用N-1对8取余之后再加1,故当数到数字N时,所在纸牌的编号为1+(N-1) Mod 8(可以验证所有纸牌编号均可行),故本题选C选项。14.B【详解】本题主要考查解析算法。海伦公式,公式中a,b,c分别为三角形三边长,p为半周长,S为三角形的面积。故利用海伦公式求三角形面积的算法属于解析法,故本题选B选项。15.A【详解】本题主要考查解析算法。已知边长a、b、c,求三角形面积,由海伦公式,s=(a+b+c)/2,面积area=sqrt(s*(s-a)*(s-b)*(s-c)),其余选项可以通过穷举的方法求解,故本题选A选项。16.B【详解】本题主要考查解析算法。解析算法,即找出表示问题的前提条件与结果之间关系的数学表达式,并通过表达式的计算来实现问题求解的方法。题干面积s应用数学表达式,属于解析算法,故本题选B选项。 展开更多...... 收起↑ 资源预览