资源简介 高中信息技术综合库——算法软件操作一、高中信息技术综合库——算法软件操作1.阅读下面一段程序,运行后可能会出现什么结果( )Private Sub Command1_ Click ()Dim i As IntegerFor i=1 To 10If Not i Mod 2=0 or i Mod 5=0 ThenPrint iNext iEnd SubA.出现错误:块If没有End ifB.在窗体中输出2、4、5、6、8、10C.出现错误:Next没有ForD.在窗体中输出1、3、5、7、9、102.李强调试“求三角形面积”VB程序时,显示“s=d×g÷2”出错,如下所示,其出错的原因是( )Private Sub Command1_Click()Dim d As Single, g As Single, s As Single ‘定义程序中使用的变量d = Val(Text1. Text) ‘在Text1中输入三角形的底g = Val(Text2. Text) ‘在Text2中输入三角形的高s = d×g÷2 ‘计算三角形面积Text3. Text = s ‘在Text3中显示面积值End SubA.变量没有定义 B.语法错误C.运算符错误 D.关键字错误3.现有VB程序“矩形面积和.vbp”,可计算100个矩形序列的面积和,计算公式为s=1 * 2+2 * 3+…+100 * 101,该程序运行时,单击“计算”按钮,即显示结果。但该程序代码有3处错误,请修改。Private SubCommand1_Click()Dim i AS IntegerDim As LongFor i = 1 To 100s = s + i *(i+1)Nest iText1. Caption= sEnd Sub(1)修改“Dim As Long”行中的错误;(2)修改“Nest i”行中的错误;(3)修改“Text1. Caption=s”行中的错误;4.在下图所示的VB“代码窗口”中,“对象”“过程”列表分别是( )A.①② B.①③ C.③④ D.②③5.以下程序中的循环体执行的次数是( )For A=1 To 200 Step 4S=S+A:Next APrint SA.48 B.49 C.50 D.516.张文同学使用VB编写了一个程序用来求半径为r(通过Text1输入)的圆面积(π取值3.14),该程序如下。请帮助他修改程序中的错误。Private Sub Command1_ Click( )Dim pi As SingleConst pi=3. 14Text2.Text=2 pi*Text1.TextText3.Text=pi*Text2.Text*Text2.TextEnd Sub①删除程序中多余的语句; ②修改语句“Text2.Text=2 pi*Text1.Text”行中的错误; ③修改语句“Text3.Text=pi*Text2.Text*Text2.Text”行中的错误; ④使用常用工具栏中的“保存工程”按钮保存文件。7.小张同学在学习了选修教材《算法与程序设计》后,准备小试牛刀一下,就编了“判断一个数能否被7整除”的小程序,其中有三处错误,请帮助他修改。Private Sub Command1_ Click()Dim i As IntegerDim As Stringi= Text1.TextIf i/7=0 Then '判断文本框中输入的数是否是7的倍数j=i &“是7的倍数,能被7整除!” '是7的倍数,输出能被7整除!Elsej=i&"不是7的倍数,不能被7整除!" '不是7的倍数,就输出不是7的倍数,不能被7整除!!EndIfLabel3.Caption=jEnd Sub(1)修改语句“Dim As String”行中的错误;(2)修改语句“If i/7=0 Then”行中的错误;(3)修改语句“End”行中的错误。8.张羽用VB编写了一个程序,保存在计算机中根据图标判断,下面4个文件中,其中为张羽编写的工程文件是( )。A. 算法的特征.htm B. 斐波那契数列问题.vbpC. Visua Basic精简版.exe D. VB精编程技巧.wmv9.下图是王明同学编写的一段VB代码,运行后A和B的值分别是( )。Dim A, B As IntegerA=5B=6B=A+BA=A*BPrint A,BA.30 11 B.55 11 C.55 66 D.11 5510.在 Visual basic中,要将字符串变量a和b的值连接并将结果在文本框Text1中输出,下列代码合适的是( )。A.Str(a+b)=Text1. Text B.Text. Text=a+bC.a+b= Text1. Text D.Text1. Text=a+b11.下面程序执行结束,文本框Text1中显示( )Private Sub Form_Click()a = "123": b = "456"c = Val(a) + Val(b)Text1.Text=str(c\100)End SubA.123 B.3 C.5 D.57912.(2018高二上·诸暨期中)某编码由4个信息位和3个校验位组成,通过对编码信息进行验算,能够检测并纠正一位错误代码。该7位编码中b1~b4为信息位,p1~p3为校验位,位置如下:编码中位 1 2 3 4 5 6 7对位信息 p1 p2 b1 p3 b2 b3 b4校验的方式如下,求校验值g1、g2、g3:g1 = p1 Xor b1 Xor b2 Xor b4g2 = p2 Xor b1 Xor b3 Xor b4g3 = p3 Xor b2 Xor b3 Xor b4其中Xor 为异或运算,规则是:0 Xor 0 =0,0 Xor 1 =1,1 Xor 0 =1,1 Xor 1 =0,p1 Xor b1 是将p1、b1 转换为二进制后按位进行异或运算,如7 Xor 12 的结果为11。⑴若计算得到的校验值g1、g2、g3均为0,说明校验正确,数据无错误。例如:若7位编码为1101001,计算校验值g1、g2、g3值均为0,验证正确。⑵若校验值g1、g2、g3不全为0,说明数据有错,出错位置为g3g2g1(二进制数表示),纠错的方法是对错误的位进行取反,即“0”变“1”,“1”变“0”。例如:若7位编码为1111001,计算校验值g1=1、g2=1、g3=0,不全为0,说明数据有错,错误位置在011(二进制数)位,即第3位,原位置上“1”应为“0”,正确编码为1101001。小明为此编写了VB程序,程序运行时,在文本框Text1中输入编码值,单击“校验”按钮Command1后,在文本框Text2中输出运行结果,如图所示。实现上述功能的VB程序如下,请回答下列问题:(1)若按上述规则的7位编码为1001000,其中一位有错,则正确的编码应为 。(2)请在划线处填入合适的代码。Function check(s As String) As IntegerDim i As Integer g1 As Integer, g2 As Integer, g3 As IntegerDim c(1 To 7) As IntegerFor i = 1 To 7c(i) = Val(Mid(s, i, 1))Next ig1 = c(1) Xor c(3) Xor c(5) Xor c(7)g2 = c(2) Xor c(3) Xor c(6) Xor c(7)g3 = c(4) Xor c(5) Xor c(6) Xor c(7)If g1 + g2 + g3 = 0 Then check = 0 Else check = End FunctionPrivate Sub Command1_Click()Dim i As Integer, m As Integer, Outs As Stringm = If m = 0 ThenText2.Text = "验证正确,数据无错误"ElseFor i = 1 To 7If i = m ThenOuts = Outs + Chr( Asc(Mid(Text1.Text, i, 1)) Xor )ElseOuts = Outs + Mid(Text1.Text, i, 1)End IfNext iText2.Text = "第" + Str(m) + "位上数据有错误,正确编码应为:" + OutsEnd IfEnd Sub答案解析部分1.【答案】C【知识点】程序的调试及运行;分支结构语句及程序实现;循环结构语句及程序实现2.【答案】C【知识点】程序的调试及运行;运算符、基本运算与表达式【解析】【解答】VB中,乘号是*,除号是/。题中的乘除好用的是数学表达式中的符号。故答案选C。【分析】本题考查的是VB程序的调试及基本运算符。VB中必须使用VB认可的规范的符号。3.【答案】(1)改成“Dim s As Long”(2)改成“Next i”;(3)改成“Text1. Text=s”;【知识点】程序的调试及运行;循环结构语句及程序实现4.【答案】A【知识点】程序设计工具及编程环境【解析】【解答】①是对象列表, ②是过程列表,③是运算符,④是滚动条。故答案选A。【分析】本题考查的是对VB代码窗口的认识。5.【答案】C【知识点】循环结构语句及程序实现【解析】【解答】根据语句A=1 To 200 Step 4可知,循环体执行了200/4=50次。故答案选C。【分析】本题考查的是循环结构。for语句通过遍历序列中的元素实现循环,并通过序列的元素数量来控制循环次数,即循环过程中,序列中的每个元素都会依次被赋值给变量,并分别执行一次循环体。6.【答案】将语句“Dim pi As single”删除;“Text2.Text= 2*pi*Text1.Text”;改成“Text3.Text=pi*Text1.Text*Text1.Text”【知识点】程序的调试及运行7.【答案】(1)改成“Dim j As String”(2)改成“If Text1. Text mod 7=0 Then”(3)改成“End If”【知识点】程序的调试及运行8.【答案】B【知识点】窗体文件、工程文件及其扩展名【解析】【解答】VB工程文件的扩展名是vbp。故答案选B。【分析】本题考查的是文件扩展名。htm是网页扩展名,exe是可执行程序,wmv是视频文件。9.【答案】B【知识点】顺序结构及程序实现【解析】【解答】初始值:A=5,B=6。执行B=A+B=11,A=A*B=55。所以输出A、B的结果为55、11。故答案选B。【分析】本题考查的是顺序结构程序的运行。顺序结构:事物的发展通常按照一定的顺序进行。10.【答案】D【知识点】常量、变量及变量的赋值11.【答案】C【知识点】程序的调试及运行;常量、变量及变量的赋值【解析】【解答】a=“456”是将字符串型数据“456”赋值给a,b=“456”将字符串型数据“456”赋值给b,c=val(a)+val(b)是分别把a和b的值转换为数值型,然后相加,此时c=579,Text1.Text=str(c\100)是将c整除100后,转换为字符类型赋值给Text1.Text,因此,文本框 Text1 中显示5。故答案选C。【分析】本题主要考查VB程序的运行。12.【答案】(1)1001100(2)g3 * 4 + g2 * 2 + g1;check(Text1.Text);1【知识点】程序的调试及运行;运算符、基本运算与表达式;常量、变量及变量的赋值【解析】【解答】(1)根据上述规则,分别求校验值g1、g2、g3:g1=1 Xor 0 Xor 0 Xor 0=1,g2=0 Xor 0 Xor 0 Xor 0=0,g3=1 Xor 0 Xor 0 Xor 0=1,校验值g1、g2、g3不全为0,说明数据有错,出错位置为101,即第3位,将第3位取反后的编码为1001100。故答案为:1001100。(2)1处语句是计算数据出错的位置,g3的权值是2 ,g2的权值是2 ,g3的权值是2 ,所以check=g3 * 4 + g2 * 2 + g1;2处语句是调用自定义函数check,该函数的参数是Text1中输入的文本,所以该处语句是check(Text1.Text);3处语句是通过异或运算将出错位置的二进制数进行取反,当某二进制数异或1时,恰好将该数取反,所以该处应为1。故答案为:g3 * 4 + g2 * 2 + g1 ;check(Text1.Text);1。【分析】本题考查算法与程序设计的综合应用能力,分析问题解决问题的能力和根据题意填写程序代码的应用能力。1 / 1高中信息技术综合库——算法软件操作一、高中信息技术综合库——算法软件操作1.阅读下面一段程序,运行后可能会出现什么结果( )Private Sub Command1_ Click ()Dim i As IntegerFor i=1 To 10If Not i Mod 2=0 or i Mod 5=0 ThenPrint iNext iEnd SubA.出现错误:块If没有End ifB.在窗体中输出2、4、5、6、8、10C.出现错误:Next没有ForD.在窗体中输出1、3、5、7、9、10【答案】C【知识点】程序的调试及运行;分支结构语句及程序实现;循环结构语句及程序实现2.李强调试“求三角形面积”VB程序时,显示“s=d×g÷2”出错,如下所示,其出错的原因是( )Private Sub Command1_Click()Dim d As Single, g As Single, s As Single ‘定义程序中使用的变量d = Val(Text1. Text) ‘在Text1中输入三角形的底g = Val(Text2. Text) ‘在Text2中输入三角形的高s = d×g÷2 ‘计算三角形面积Text3. Text = s ‘在Text3中显示面积值End SubA.变量没有定义 B.语法错误C.运算符错误 D.关键字错误【答案】C【知识点】程序的调试及运行;运算符、基本运算与表达式【解析】【解答】VB中,乘号是*,除号是/。题中的乘除好用的是数学表达式中的符号。故答案选C。【分析】本题考查的是VB程序的调试及基本运算符。VB中必须使用VB认可的规范的符号。3.现有VB程序“矩形面积和.vbp”,可计算100个矩形序列的面积和,计算公式为s=1 * 2+2 * 3+…+100 * 101,该程序运行时,单击“计算”按钮,即显示结果。但该程序代码有3处错误,请修改。Private SubCommand1_Click()Dim i AS IntegerDim As LongFor i = 1 To 100s = s + i *(i+1)Nest iText1. Caption= sEnd Sub(1)修改“Dim As Long”行中的错误;(2)修改“Nest i”行中的错误;(3)修改“Text1. Caption=s”行中的错误;【答案】(1)改成“Dim s As Long”(2)改成“Next i”;(3)改成“Text1. Text=s”;【知识点】程序的调试及运行;循环结构语句及程序实现4.在下图所示的VB“代码窗口”中,“对象”“过程”列表分别是( )A.①② B.①③ C.③④ D.②③【答案】A【知识点】程序设计工具及编程环境【解析】【解答】①是对象列表, ②是过程列表,③是运算符,④是滚动条。故答案选A。【分析】本题考查的是对VB代码窗口的认识。5.以下程序中的循环体执行的次数是( )For A=1 To 200 Step 4S=S+A:Next APrint SA.48 B.49 C.50 D.51【答案】C【知识点】循环结构语句及程序实现【解析】【解答】根据语句A=1 To 200 Step 4可知,循环体执行了200/4=50次。故答案选C。【分析】本题考查的是循环结构。for语句通过遍历序列中的元素实现循环,并通过序列的元素数量来控制循环次数,即循环过程中,序列中的每个元素都会依次被赋值给变量,并分别执行一次循环体。6.张文同学使用VB编写了一个程序用来求半径为r(通过Text1输入)的圆面积(π取值3.14),该程序如下。请帮助他修改程序中的错误。Private Sub Command1_ Click( )Dim pi As SingleConst pi=3. 14Text2.Text=2 pi*Text1.TextText3.Text=pi*Text2.Text*Text2.TextEnd Sub①删除程序中多余的语句; ②修改语句“Text2.Text=2 pi*Text1.Text”行中的错误; ③修改语句“Text3.Text=pi*Text2.Text*Text2.Text”行中的错误; ④使用常用工具栏中的“保存工程”按钮保存文件。【答案】将语句“Dim pi As single”删除;“Text2.Text= 2*pi*Text1.Text”;改成“Text3.Text=pi*Text1.Text*Text1.Text”【知识点】程序的调试及运行7.小张同学在学习了选修教材《算法与程序设计》后,准备小试牛刀一下,就编了“判断一个数能否被7整除”的小程序,其中有三处错误,请帮助他修改。Private Sub Command1_ Click()Dim i As IntegerDim As Stringi= Text1.TextIf i/7=0 Then '判断文本框中输入的数是否是7的倍数j=i &“是7的倍数,能被7整除!” '是7的倍数,输出能被7整除!Elsej=i&"不是7的倍数,不能被7整除!" '不是7的倍数,就输出不是7的倍数,不能被7整除!!EndIfLabel3.Caption=jEnd Sub(1)修改语句“Dim As String”行中的错误;(2)修改语句“If i/7=0 Then”行中的错误;(3)修改语句“End”行中的错误。【答案】(1)改成“Dim j As String”(2)改成“If Text1. Text mod 7=0 Then”(3)改成“End If”【知识点】程序的调试及运行8.张羽用VB编写了一个程序,保存在计算机中根据图标判断,下面4个文件中,其中为张羽编写的工程文件是( )。A. 算法的特征.htm B. 斐波那契数列问题.vbpC. Visua Basic精简版.exe D. VB精编程技巧.wmv【答案】B【知识点】窗体文件、工程文件及其扩展名【解析】【解答】VB工程文件的扩展名是vbp。故答案选B。【分析】本题考查的是文件扩展名。htm是网页扩展名,exe是可执行程序,wmv是视频文件。9.下图是王明同学编写的一段VB代码,运行后A和B的值分别是( )。Dim A, B As IntegerA=5B=6B=A+BA=A*BPrint A,BA.30 11 B.55 11 C.55 66 D.11 55【答案】B【知识点】顺序结构及程序实现【解析】【解答】初始值:A=5,B=6。执行B=A+B=11,A=A*B=55。所以输出A、B的结果为55、11。故答案选B。【分析】本题考查的是顺序结构程序的运行。顺序结构:事物的发展通常按照一定的顺序进行。10.在 Visual basic中,要将字符串变量a和b的值连接并将结果在文本框Text1中输出,下列代码合适的是( )。A.Str(a+b)=Text1. Text B.Text. Text=a+bC.a+b= Text1. Text D.Text1. Text=a+b【答案】D【知识点】常量、变量及变量的赋值11.下面程序执行结束,文本框Text1中显示( )Private Sub Form_Click()a = "123": b = "456"c = Val(a) + Val(b)Text1.Text=str(c\100)End SubA.123 B.3 C.5 D.579【答案】C【知识点】程序的调试及运行;常量、变量及变量的赋值【解析】【解答】a=“456”是将字符串型数据“456”赋值给a,b=“456”将字符串型数据“456”赋值给b,c=val(a)+val(b)是分别把a和b的值转换为数值型,然后相加,此时c=579,Text1.Text=str(c\100)是将c整除100后,转换为字符类型赋值给Text1.Text,因此,文本框 Text1 中显示5。故答案选C。【分析】本题主要考查VB程序的运行。12.(2018高二上·诸暨期中)某编码由4个信息位和3个校验位组成,通过对编码信息进行验算,能够检测并纠正一位错误代码。该7位编码中b1~b4为信息位,p1~p3为校验位,位置如下:编码中位 1 2 3 4 5 6 7对位信息 p1 p2 b1 p3 b2 b3 b4校验的方式如下,求校验值g1、g2、g3:g1 = p1 Xor b1 Xor b2 Xor b4g2 = p2 Xor b1 Xor b3 Xor b4g3 = p3 Xor b2 Xor b3 Xor b4其中Xor 为异或运算,规则是:0 Xor 0 =0,0 Xor 1 =1,1 Xor 0 =1,1 Xor 1 =0,p1 Xor b1 是将p1、b1 转换为二进制后按位进行异或运算,如7 Xor 12 的结果为11。⑴若计算得到的校验值g1、g2、g3均为0,说明校验正确,数据无错误。例如:若7位编码为1101001,计算校验值g1、g2、g3值均为0,验证正确。⑵若校验值g1、g2、g3不全为0,说明数据有错,出错位置为g3g2g1(二进制数表示),纠错的方法是对错误的位进行取反,即“0”变“1”,“1”变“0”。例如:若7位编码为1111001,计算校验值g1=1、g2=1、g3=0,不全为0,说明数据有错,错误位置在011(二进制数)位,即第3位,原位置上“1”应为“0”,正确编码为1101001。小明为此编写了VB程序,程序运行时,在文本框Text1中输入编码值,单击“校验”按钮Command1后,在文本框Text2中输出运行结果,如图所示。实现上述功能的VB程序如下,请回答下列问题:(1)若按上述规则的7位编码为1001000,其中一位有错,则正确的编码应为 。(2)请在划线处填入合适的代码。Function check(s As String) As IntegerDim i As Integer g1 As Integer, g2 As Integer, g3 As IntegerDim c(1 To 7) As IntegerFor i = 1 To 7c(i) = Val(Mid(s, i, 1))Next ig1 = c(1) Xor c(3) Xor c(5) Xor c(7)g2 = c(2) Xor c(3) Xor c(6) Xor c(7)g3 = c(4) Xor c(5) Xor c(6) Xor c(7)If g1 + g2 + g3 = 0 Then check = 0 Else check = End FunctionPrivate Sub Command1_Click()Dim i As Integer, m As Integer, Outs As Stringm = If m = 0 ThenText2.Text = "验证正确,数据无错误"ElseFor i = 1 To 7If i = m ThenOuts = Outs + Chr( Asc(Mid(Text1.Text, i, 1)) Xor )ElseOuts = Outs + Mid(Text1.Text, i, 1)End IfNext iText2.Text = "第" + Str(m) + "位上数据有错误,正确编码应为:" + OutsEnd IfEnd Sub【答案】(1)1001100(2)g3 * 4 + g2 * 2 + g1;check(Text1.Text);1【知识点】程序的调试及运行;运算符、基本运算与表达式;常量、变量及变量的赋值【解析】【解答】(1)根据上述规则,分别求校验值g1、g2、g3:g1=1 Xor 0 Xor 0 Xor 0=1,g2=0 Xor 0 Xor 0 Xor 0=0,g3=1 Xor 0 Xor 0 Xor 0=1,校验值g1、g2、g3不全为0,说明数据有错,出错位置为101,即第3位,将第3位取反后的编码为1001100。故答案为:1001100。(2)1处语句是计算数据出错的位置,g3的权值是2 ,g2的权值是2 ,g3的权值是2 ,所以check=g3 * 4 + g2 * 2 + g1;2处语句是调用自定义函数check,该函数的参数是Text1中输入的文本,所以该处语句是check(Text1.Text);3处语句是通过异或运算将出错位置的二进制数进行取反,当某二进制数异或1时,恰好将该数取反,所以该处应为1。故答案为:g3 * 4 + g2 * 2 + g1 ;check(Text1.Text);1。【分析】本题考查算法与程序设计的综合应用能力,分析问题解决问题的能力和根据题意填写程序代码的应用能力。1 / 1 展开更多...... 收起↑ 资源列表 高中信息技术综合库——算法软件操作(学生版).docx 高中信息技术综合库——算法软件操作(教师版).docx