高中信息技术综合库——算法软件操作

文档属性

名称 高中信息技术综合库——算法软件操作
格式 zip
文件大小 243.4KB
资源类型 试卷
版本资源
科目 信息技术(信息科技)
更新时间 2021-06-18 18:04:10

文档简介

高中信息技术综合库——算法软件操作
一、高中信息技术综合库——算法软件操作
1.阅读下面一段程序,运行后可能会出现什么结果(  )
Private Sub Command1_ Click ()
Dim i As Integer
For i=1 To 10
If Not i Mod 2=0 or i Mod 5=0 Then
Print i
Next i
End Sub
A.出现错误:块If没有End if
B.在窗体中输出2、4、5、6、8、10
C.出现错误:Next没有For
D.在窗体中输出1、3、5、7、9、10
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 Sub
A.变量没有定义 B.语法错误
C.运算符错误 D.关键字错误
3.现有VB程序“矩形面积和.vbp”,可计算100个矩形序列的面积和,计算公式为s=1 * 2+2 * 3+…+100 * 101,该程序运行时,单击“计算”按钮,即显示结果。但该程序代码有3处错误,请修改。
Private Sub
Command1_Click()
Dim i AS Integer
Dim As Long
For i = 1 To 100
s = s + i *(i+1)
Nest i
Text1. Caption
= s
End 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 4
S=S+A:
Next A
Print S
A.48 B.49 C.50 D.51
6.张文同学使用VB编写了一个程序用来求半径为r(通过Text1输入)的圆面积(π取值3.14),该程序如下。请帮助他修改程序中的错误。
Private Sub Command1_ Click(  )
Dim pi As Single
Const pi=3. 14
Text2.Text=2 pi*Text1.Text
Text3.Text=pi*Text2.Text*Text2.Text
End Sub
①删除程序中多余的语句;   
②修改语句“Text2.Text=2 pi*Text1.Text”行中的错误;   
③修改语句“Text3.Text=pi*Text2.Text*Text2.Text”行中的错误;   
④使用常用工具栏中的“保存工程”按钮保存文件。
7.小张同学在学习了选修教材《算法与程序设计》后,准备小试牛刀一下,就编了“判断一个数能否被7整除”的小程序,其中有三处错误,请帮助他修改。
Private Sub Command1_ Click()
Dim i As Integer
Dim As String
i= Text1.Text
If i/7=0 Then '判断文本框中输入的数是否是7的倍数
j=i &
“是7的倍数,能被7整除!
” '是7的倍数,输出能被7整除!
Else
j=i&"不是7的倍数,不能被7整除!" '不是7的倍数,就输出不是7的倍数,不能被7整除!!
EndIf
Label3.
Caption=j
End Sub
(1)修改语句“Dim As String”行中的错误;
(2)修改语句“If i/7=0 Then”行中的错误;
(3)修改语句“End”行中的错误。
8.张羽用VB编写了一个程序,保存在计算机中根据图标判断,下面4个文件中,其中为张羽编写的工程文件是(  )。
A. 算法的特征.htm B. 斐波那契数列问题.vbp
C. Visua Basic精简版.exe D. VB精编程技巧.wmv
9.下图是王明同学编写的一段VB代码,运行后A和B的值分别是(  )。
Dim A, B As Integer
A=5
B=6
B=A+B
A=A*B
Print A,B
A.30 11 B.55 11 C.55 66 D.11 55
10.在 Visual basic中,要将字符串变量a和b的值连接并将结果在文本框Text1中输出,下列代码合适的是(  )。
A.Str(a+b)=Text1. Text B.Text. Text=a+b
C.a+b= Text1. Text D.Text1. Text=a+b
11.下面程序执行结束,文本框Text1中显示(  )
Private Sub Form_Click()
a = "123": b = "456"
c = Val(a) + Val(b)
Text1.Text=str(c\100)
End Sub
A.123 B.3 C.5 D.579
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 b4
g2 = p2 Xor b1 Xor b3 Xor b4
g3 = 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 Integer
Dim i As Integer g1 As Integer, g2 As Integer, g3 As Integer
Dim c(1 To 7) As Integer
For i = 1 To 7
c(i) = Val(Mid(s, i, 1))
Next i
g1 = 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 Function
Private Sub Command1_Click()
Dim i As Integer, m As Integer, Outs As String
m =    
If m = 0 Then
Text2.Text = "验证正确,数据无错误"
Else
For i = 1 To 7
If i = m Then
Outs = Outs + Chr( Asc(Mid(Text1.Text, i, 1)) Xor    )
Else
Outs = Outs + Mid(Text1.Text, i, 1)
End If
Next i
Text2.Text = "第" + Str(m) + "位上数据有错误,正确编码应为:" + Outs
End If
End 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 Integer
For i=1 To 10
If Not i Mod 2=0 or i Mod 5=0 Then
Print i
Next i
End Sub
A.出现错误:块If没有End if
B.在窗体中输出2、4、5、6、8、10
C.出现错误:Next没有For
D.在窗体中输出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 Sub
A.变量没有定义 B.语法错误
C.运算符错误 D.关键字错误
【答案】C
【知识点】程序的调试及运行;运算符、基本运算与表达式
【解析】【解答】VB中,乘号是*,除号是/。题中的乘除好用的是数学表达式中的符号。故答案选C。
【分析】本题考查的是VB程序的调试及基本运算符。VB中必须使用VB认可的规范的符号。
3.现有VB程序“矩形面积和.vbp”,可计算100个矩形序列的面积和,计算公式为s=1 * 2+2 * 3+…+100 * 101,该程序运行时,单击“计算”按钮,即显示结果。但该程序代码有3处错误,请修改。
Private Sub
Command1_Click()
Dim i AS Integer
Dim As Long
For i = 1 To 100
s = s + i *(i+1)
Nest i
Text1. Caption
= s
End 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 4
S=S+A:
Next A
Print S
A.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 Single
Const pi=3. 14
Text2.Text=2 pi*Text1.Text
Text3.Text=pi*Text2.Text*Text2.Text
End 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 Integer
Dim As String
i= Text1.Text
If i/7=0 Then '判断文本框中输入的数是否是7的倍数
j=i &
“是7的倍数,能被7整除!
” '是7的倍数,输出能被7整除!
Else
j=i&"不是7的倍数,不能被7整除!" '不是7的倍数,就输出不是7的倍数,不能被7整除!!
EndIf
Label3.
Caption=j
End 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. 斐波那契数列问题.vbp
C. Visua Basic精简版.exe D. VB精编程技巧.wmv
【答案】B
【知识点】窗体文件、工程文件及其扩展名
【解析】【解答】VB工程文件的扩展名是vbp。故答案选B。
【分析】本题考查的是文件扩展名。htm是网页扩展名,exe是可执行程序,wmv是视频文件。
9.下图是王明同学编写的一段VB代码,运行后A和B的值分别是(  )。
Dim A, B As Integer
A=5
B=6
B=A+B
A=A*B
Print A,B
A.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+b
C.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 Sub
A.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 b4
g2 = p2 Xor b1 Xor b3 Xor b4
g3 = 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 Integer
Dim i As Integer g1 As Integer, g2 As Integer, g3 As Integer
Dim c(1 To 7) As Integer
For i = 1 To 7
c(i) = Val(Mid(s, i, 1))
Next i
g1 = 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 Function
Private Sub Command1_Click()
Dim i As Integer, m As Integer, Outs As String
m =    
If m = 0 Then
Text2.Text = "验证正确,数据无错误"
Else
For i = 1 To 7
If i = m Then
Outs = Outs + Chr( Asc(Mid(Text1.Text, i, 1)) Xor    )
Else
Outs = Outs + Mid(Text1.Text, i, 1)
End If
Next i
Text2.Text = "第" + Str(m) + "位上数据有错误,正确编码应为:" + Outs
End If
End 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
同课章节目录