资源简介 2023-2024学年山西省吕梁市孝义中学高二(下)同步信息技术试卷(算法软件)一、选择题:本大题共5小题,共15分。1.在Visual Basic中,语句“Text1.Text=Str(a)”中的“Text”是( )A. 对象名 B. 属性名 C. 方法名 D. 事件名2.有如下VB程序段:则经过这段程序加工后,变量k的值是( )A. 1 B. 6 C. 12 D. 213.有如下VB程序段:该程序段运行后,文本框Text1中显示的内容是( )A. 25 B. 5 C. 26 D. 154.在VB中编制一个含有一个窗体的VB应用程序并保存在磁盘上,运行测试后编译成可执行程序,整个过程中肯定会产生的文件类型是( )A. vbp、.frm、.exe B. vbp、.exe、.txtC. txt、.frm、.exe D. vbp、.txt、.frm5.有如下VB程序段:该程序段运行后,标签Label1中的内容是( )A. me him her SHE B. HE I SHE me C. SHE I HE me D. her him me SHE二、非选择题:本大题共7小题,共17分。6.某Visual Basic程序如下:单击Command1按钮后,Text1显示 ______ ,Text2显示 ______ 。7.计算题。(1) ABH-1001B+39D-FH= ______ B(2) Int (-26.5)mod-15\6-9mod 2^2*5/2= ______ D8.在现代程序设计中,我们用 ______ 建立计算机世界的实体与客观世界的实体相一致的映射关系,问题的解决方案可以用一些彼此交互的对象来 ______ 表示。9.某次大型活动需要给活动现场铺地毯,由于地毯的尺寸不够大和铺设地毯的工人经验不足,他在铺设过程中将各块地毯部分铺设区域重叠。活动现场可以看成由m*n个小方格组成的矩阵(m,n<=100),每块地毯铺设位置由左上角(x1,y1)和右下角(x2,y2)两个坐标确定。小凯同学想了解每个小方格被多少块地毯覆盖,以便更好地调整地毯铺设位置,编写了VB程序,实现以下功能:在文本框Text1中输入行数m,在文本框Text2中输入列数n,在Text3中输入每块地毯铺设的坐标x1,y1,x2,y2……(坐标之间逗号分隔,地毯数量不超过100),单击计算按钮Commmand1,在列表框List1中显示每个小方格被多少块地毯覆盖。程序运行界面如图所示。(1) 文本框Text1中输入行数为5,在文本框Text2中输入列数5,在Text3中输入的地毯铺设的坐标为s=1,1,2,2,1,2,3,3则最后输出矩阵a(7)的值为 ______ 。(填数字)(2) 实现上述功能的VB程序如下,请在划线处填入合适代码。10.分析完善程序。一百个铜钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少?设一百只鸡中公鸡、母鸡、小鸡分别为x,y,z,这里x,y,z为正整数,设计算法并编写程序输出所有的买鸡方案。结果是:公鸡:4 母鸡:18 小鸡:78公鸡:8 母鸡:11 小鸡:81公鸡:12 母鸡:4 小鸡:84根据上述回答如下问题(1) 本题采用的算法是 ______ (填写:解析法/穷举法/排序法/递归法)。(2) 程序代码中空白处应填写的条件是 ______ (填A/B/C/D)。A.x+y+z=100 and 5x+3y+z/3=100B.x+y+z=100 or 5x+3y+z/3=100C.x+y+z=100 and 5*x+3*y+z/3=100D.x+y+z=100 or 5*x+3*y+z/3=10011.将以下计算 s=1*(-2)*3*(-4)*…*49*(-50)的程序段补充完整。12.下列程序段的功能是输入一个学生的一门课分数 x(百分制),当 x≥90 时,输出“优秀”;当 80≤x≤89 时,输出“良好”;当 70≤x≤79 时,输出“中等”;当 60≤x≤69 时,输出“及格”,当 x<60 时,输出“不及格”的情况。请将程序补充完整。答案和解析1.【答案】B【解析】每个对象都有一定的属性,属性反映对象的特征,可以通过赋值语句给对象的属性赋值,语句格式是:对象名属性名=值,Text1是一个对象名,Text是一个属性名故选:B。本题考查的是VB对象属性的相关知识。每个对象都有一定的属性,属性反映对象的特征,可以通过赋值语句给对象的属性赋值,语句格式是:对象名属性名=值,Text1是一个对象名,Text是一个属性名。VB中基本的知识点,需要熟练掌握。2.【答案】C【解析】通过阅读程序段可知,将字符串s中的字母全部转变成大写字母,由于字符串s中已经存在大写字母I了,所以在后的转化过程中就无需转化了,需要转化的字母有a,m,s,t,r,n,g,v,f,o,y,u共十二个转化的,所以k共累加了十二次,由于初值为0,所以看的值为12.故选:C。本题主要考查VB表达式。ord函数将字符转换为ASCII码值,chr函数将ASCII码值转换为对应字符。小写字母比大写字母的ASCII码值大32,如“a”的ASCII码值是97,“A”的ASCII码值是65。熟练掌握常用函数的功能是解题的关键。3.【答案】C【解析】解:阅读程序段可知,逐个提取字符串s中的元素,如果不能被2整除,那么将其累计到变量m上,由于m的初始值为1,所以m=1+1+7+3+5+9=26。故选:C。本题考查的知识点是VB中的循环语句。For语句是循环语句,它的格式是:For 变量=初值 To 终值[Step步长]循环体Next 变量‘熟练掌握循环语句的基本结构及结构的求解。4.【答案】A【解析】在VB集成环境下编程一个含有窗体的应用程序,首先我们要创建一个工程,就会产生一个工程文件。vbp和一个窗体文件。frm,编译完成后会生成一个可执行性的文件。exe。故选:A。一个VB工程有许多类型的文件。工程文件(*.vbp)、窗体文件(*.frm)、窗体的二进制数据文件(*.frx)、标准模块文件(*.bas)、类模块文件(*.cls)、资源文件(*.res)、ActiveX控件的文件(*.ocx),当然可能会有其他的文件,比如vbw vbg 等。本题考查了VB工程中的文件类型,需理解各种类型文件用途。5.【答案】A【解析】解:阅读程序段可知,用变量i来控制外循环,所以程序输出的是有大到小的四个变量,由于在ASCII码表中第一部分是特殊字符,然后是数字、其次是大写字母最后时小写字母。所以按照码值从小到大排列,结果是数字、英文大写字母、英文小写字母。所以程序运行结束输出的是me him her SHE,选项A符合题意。故选:A。本题考查的知识点是VB中的循环语句。For语句是循环语句,它的格式是:For 变量=初值 To 终值[Step步长]循环体Next 变量熟练掌握循环语句的基本结构及结果的求解。6.【答案】3,9【解析】解:阅读程序段可知,该程序为嵌套循环,其中变量x执行的是外循环,共执行三次,所以x的的值为3,变量b是内外循环均执行,外循环三次,内循环三次,所以变量b的值为3*3=9,单击Command1按钮后,Text1显示 3,Text2显示 9。本题考查的知识点是VB中的循环语句。For语句是循环语句,它的格式是:For 变量=初值 To 终值[Step 步长]循环体 Next 变量这类题目难度较大,首先需要读懂题干所给提示信息的意思,然后根据所给程序段中上下文的意思来填写关键变量的表达式或者是变量的取值范围等等关键语句。7.【答案】【小题1】10111010【小题2】-10【解析】解:(1)不同进制运算时,先将其转换为同一进制,ABH-1001B+39D-FH中,可以先将所有数字转换为十进制数。H代表十六进制,B代表二进制,D代表十进制。转换规则为,二进制数转换为十进制数二进制数第0位的权值是2的0次方,第1位的权值是2的1次方,以此类推,十六进制数转换为十进制数,16进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这六个字母来分别表示10,11,12,13,14,15。字母不区分大小写。十六进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方,以此类推。所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X*16的N次方。ABH转为十进制是171,1001B转为十进制是9,FH转为十进制是15,运算得到十进制结果是186,再将其转为二进制。十进制转二进制,对于整数部分,用被除数反复除以2,除第一次外,每次除以2均取前一次商的整数部分作被除数并依次记下每次的余数。另外,所得到的商的最后一位余数是所求二进制数的最高位。故得到结果为10111010。(2)INT( )函数,是VB数值函数的一种,是将一个要取整的实数(可以为数学表达式)向下取整为最接近的整数。利用INT函数可以返回一个小数的整数,如4.323,返回4,它不是四舍五入,而是舍尾法,即使4.987,也是返回4,而不是5。mod是取余数运算,\是取整数运算,^是乘幂,*是称号,-是取负。根据优先级,Int (-26.5)mod-15\6-9mod 2^2*5/2,先得到2^2*5/2=10,表达式变为Int (-26.5)mod-15\6-9mod 10,接着再运算-15\6,得到-2,表达式变为Int (-26.5)mod-2-9mod 10,最后继续运算得到结果,Int (-26.5)mod-2-9=-10。最后的结果为-10。本题考查进制运算和VB运算,运算规则和过程如下。熟练掌握各类数制之间的转换方法。8.【答案】对象,形象化【解析】解:在现代程序设计中,我们用对象建立计算机世界的实体与客观世界的实体相一致的映射关系,问题的解决方案可以用一些彼此交互的对象来形象化表示。故答案为:对象 形象化本题考查程序设计相关知识。在现代程序设计中,我们用对象建立计算机世界的实体与客观世界的实体相一致的映射关系,问题的解决方案可以用一些彼此交互的对象来形象化表示。熟练掌握编程的基本思想。9.【答案】【小题1】2【小题2】【解析】(1)根据地毯的位置坐标,可得a(7)被两块地毯覆盖,故答案为2 (2)①从坐标字符串中的提取以逗号“,”分隔的坐标,采用整体处理,累乘相加的方式,故①空答案为pos(k)=pos(k)*10+Val(c),k为坐标的总个数,k\4为地毯的块数,a,b,c,d分别表示每块地毯的左上角和右下角的坐标,通过调用add过程,对地毯覆盖的区域进行统计处理,故②空答案为call add(a,b,c,d)或add(a,b,c,d),add过程中对于地毯铺设过程的标记处理较为巧妙,如对某块区域铺设地毯,按行进行处理,每一行仅将地毯的起始位置flag值+1,结束位置的后一位置flag值-1,标记两个位置即可表示地毯的铺设情况,故③空答案为flag((i-1)*n+y2+1)=flag((i-1)*n+y2+1)–1本题考察VB程序实际应用,考察矩阵相关知识。(1)根据地毯的位置坐标,可得a(7)被两块地毯覆盖,故答案为2 (2)①从坐标字符串中的提取以逗号“,”分隔的坐标,采用整体处理,累乘相加的方式,故①空答案为pos(k)=pos(k)*10+Val(c),k为坐标的总个数,k\4为地毯的块数,a,b,c,d分别表示每块地毯的左上角和右下角的坐标,通过调用add过程,对地毯覆盖的区域进行统计处理,故②空答案为call add(a,b,c,d)或add(a,b,c,d),add过程中对于地毯铺设过程的标记处理较为巧妙,如对某块区域铺设地毯,按行进行处理,每一行仅将地毯的起始位置flag值+1,结束位置的后一位置flag值-1,标记两个位置即可表示地毯的铺设情况,故③空答案为flag((i-1)*n+y2+1)=flag((i-1)*n+y2+1)–1这类题目难度较大,首先需要读懂题干所给提示信息的意思,然后根据所给程序段中上下文的意思来填写关键变量的表达式或者是变量的取值范围等等关键语句。10.【答案】【小题1】穷举法【小题2】C【解析】解:(1)百钱买百鸡,需要将可能出现的情况一一列举出来,需要用到算法中的穷举法。故答案填写为:穷举法。(2)x代表公鸡个数,y代表母鸡个数,z代表小鸡个数,共有鸡100只,所以x+y+z=100;公鸡一只5钱、母鸡一只3钱,小鸡一钱3只,共有铜钱100,所以5*x+3*y+z/3=100。表达式x+y+z=100与5*x+3*y+z/3=100同时满足。故答案填写为:C。本题考查的知识点是穷举算法百钱买百鸡的应用。穷举法又称为枚举法,它的基本思想是根据题目的部分条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕。若某个情况验证符合题目的全部条件,则为本问题的一个解;若全部情况验证后都不符合题目的全部条件,则本题无解。熟练掌握穷举法的概念及应用。11.【答案】①根据流程图可知程序一开始就对变量s和i赋了初始值。其中s赋值为1,因此此处填写为1。②根据流程图“i为奇数”时才执行s=s*i可知此处的条件是判断i是否为奇数。判断是否为奇数可以用取2的余数的方式。此处填写i mod 2=1或者等同的 i mod 2<>0;③此处是i不是奇数的情况,根据流程图s=s*(-i)可知此处填写s*(-i)。【解析】考查按流程图描述的算法完成代码的能力题意算是用自然语言描述了算法,再根据流程图描述的算法完善程序。12.【答案】①根据下边输出的内容“优秀”结合题意‘当 x≥90 时,输出“优秀”’,可知此处填写为Case Is>=90。②根据题意‘当 70≤x≤79 时,输出“中等”’,结合此处属于“Case 70 to 79”,因此填写“中等”。③根据下边“Print‘不及格’”结合题意‘当 x<60 时,输出“不及格”的情况’,此处填写为Case Is<60。另外由于‘x<60’是上边各种情况之外的唯一情况(题意给出的各种情况)可以填写等同的Case Else。表示上边各种情况之外的情况。【解析】本题考查了vb编程中的select分支语句需要比较大小时,请使用IS、To关键字。TO表示的区间,是闭区间,不适用于开区间(或半闭半开区间)。第1页,共1页 展开更多...... 收起↑ 资源预览