好文档 - 专业文书写作范文服务资料分享网站

信息技术选考字符串大题 - 图文

天下 分享 时间: 加入收藏 我要投稿 点赞

1.随机产生集合{T, 1}中任意一个数的VB表达式是()

A.Int(Rnd*2)-1 B. Int (Rnd*3)-1 C. Int(Rnd*3)\\2-l D. Tnt (Rnd*2)*2-1

2.下列VB表达式中,值最大的是( C ) A. Val(Mid(\, 6, 2)) B. Int((Rnd - Rnd + 1) / 2) * 100 C. 6790 Mod 1000 \\ 10 D.Int(Rnd * 80) + 10

3.下列VB表达式的值为False的是(A )

A.50 Mod 100 \\ 50 = 1 B.Int(2 * Rnd - Rnd) \\ 2 = 0 C.Int(Rnd * 10) / 5 < 2 D.\4.下列四个选项中表达式的值与其他不同的是 ( D )

5.下列表达式的运算结果不等于9的是(以下的字符串都不含空格)( B ) A.Len(\选考\)+Sqr(9) C.Val(Mid(\

B.Asc(\

D.Abs(Int(-8.4))

6.下列VB 表达式中,可取到最小值中,最小的为( ) A.Rnd-99

B.Fix((-Rnd*45))*2-10 C.(Rnd-Rnd)*100 D.Int(-Rnd*45)*2-10

7.下列 VB 表达式中,只随机产生 10 至 100 之间的奇数的是(D ) A. Int(Rnd * 90 ) + 10 B. Int(Rnd * 90 ) + 11 C. Int(Rnd * 45 ) * 2 + 10 D.Int(Rnd * 45 ) * 2 + 11 8.有如下VB程序段:

c = 0: p = 0: q = 0

For i = 1 To 5

b(i) = a(6 - i) Next i

For i = 1 To 3

If (b(i) + b(i + 1) * 2 + b(i + 2) * 3) Mod 5 = 0

Then p = p + 1 Else

q = q + 1 End If

If p <= q Then c = c + 1 Next i

数组元素a(1)到a(5)的值依次为“2,1,2,3,4”,执行该程序段后,c的值为( C )

A.0 B.1 C.2 D.3 9.有如下VB程序段: s =

Text1.Text ans = \: k =4

i = k - 1: j = k + 1: n = Len(s) Do While k > 0

If Mid(s, i, 1) = Mid(s, j, 1) Then ans = ans + Mid(s, i, 1): k = k - 1 End If

i = (n + i - 2) Mod n + 1 j = j Mod n + 1 Loop

Label1.Caption = ans

在文本框Text1中输入“banana”,执行程序后,标签Label1中显示的内容是( B )

A. nana B.naba C.naan D.naaa 10.有如下VB程序段:

s = Text1.Text: Sum = 0: t = 0: cnt = 1 For i = 1 To Len(s) c = Mid(s, i, 1)

If c >= \ j = j + 1 Else

If cnt Mod 2 = 1 Then Sum = Sum + Val(Mid(s, i - j, j)) j = 0: cnt = cnt + 1 End If Next i

在文本框text1输入“12d6a3c4f20”,程序运行后Sum的值是( A )

A.15 B.21 C.25 D.45

11.有如下VB程序段:

Dim a(1 To 5) As Integer a(1) = 1

For i = 2 To 5

a(i) = Int(Rnd() * 3) + 3 Next i

For i = 2 To 5

If a(i) Mod 2 = 1 Then a(i) = a(i) + a(i - 1) Else

a(i) = a(i) / 2 End If Next i

执行程序后,a数组各元素可能是(B )

A. 1,2,6,10,13 B. 1,4,9,2,7 C. 1,5,8,15,22 D. 1,2,5,11,1

C

13.有如下VB 程序段: b = 0

For a = 1 To 10 b = a + b a = a + 3 Next a c = a + b

执行该程序段后,变量 c 的值为(c) A.15 B.22 C.28 D.32

14.有如下 VB 程序段 s = Text1.Text

t = Mid(s, Len(s), 1) Max = 0

For i = Len(s) - 1 To 1 Step -1

If Mid(s, i, 1) < Mid(s, i + 1, 1) Then t = t + Mid(s, i, 1) If Len(t) > Max Then

Max = Len(t): ans = t Else

t = Mid(s, i, 1) End If Next i

Text2.Text = ans

在文本框 Text1 中输入“aaabcdebb”,执行该程序段后,文本框 Text2 中显示的是( D ) A. aaabcde B. aaa C. abcde D.edcba

15.有如下 VB 程序段

Private Sub Command1_Click() Dim a(1 To 6) As Integer Dim d(1 To 6) As Integer

a(1) = 28: a(2) = 21: a(3) = 30: a(4) = 11: a(5) = 12: a(6) = 29

Const n = 6 Max = 0

For i = 1 To n d(i) = 0

For j = 1 To i - 1

If a(j) < a(i) Then d(i) = d(i) + 1 Next j

If d(i) > Max Then

Max= d(i)

Next i

End Sub

执行完以上程序后,Max 的值为( )

A 5 B.2 C.3 D.4

16.有如下 VB 程序段:

Dim a(1 To 10) As Integer, i As Integer, j As Integer a(1) = 1 : a(2) = 1 For i = 3 To 5

a(i) = 1

For j = i - 1 To 2 Step -1 a(j) = a(j) + a(j - 1) Next j Next i

Text1.Text = Str(a(3))

该程序段运行后,在文本框 Text1 中显示的内容是( D ) A. 1 B. 3 C. 4 D. 6

17.在一个数组中存储了若干个学生的技术成绩小题分,其中a(1)存储学生个数,从a(2)开始按顺序存储小题分数据。每个学生有33个小题的数据,例:a(2)—a(13)是“学生1”的信息客观题得分,a(27)—a(30)是“学生1”的信息主观题得分;a(14)—a(26)是“学生1”的通用客观题得分,a(31)—a(34)是“学生1”的通用主观题得分。具体如下表:

小李根据上述描述,设计了一个统计所有学生信息各题得分率的算法。程序运行后,首先在列表框List1中显示信息技术各小题得分,单击“计算”按钮“Command1”,在列表框List2中显示信息各题的题号和得分率,并在文本框Text1中输出所有学生的信息平均分(平均分=各题得分率*分值之和)。

算法的VB程序如下,回答下列问题。

(1) 根据题目描述,使用如图所示数据,a(95)的数值是 。 (2) 在程序划线处填上合适代码,使程序完整 Dim a(1 To 1000) As Integer, n As Integer Private Sub Form_Load()

‘读入数据到数组a,数据个数n,代码略 End Sub

Private Sub Command1_Click() Dim i As Integer, j As Integer

Dim fz(1 To 16) As Integer 'fz数组存储信息各题满分值 Dim b(1 To 33) As Single '数组b存储全卷各题的平均得分 For i = 1 To 16 '数组fz存储信息16个小题的满分值

If i <= 12 Then fz(i) = 2

fz(13) = 4: fz(14) = 8: fz(15) = 7: fz(16) = 7 Next i

For i = 2 To n '把数组a数据分别统计到各题中,计算各题总得分

① b(j) = a(i) + b(j) Next i

For i = 1 To 33 If i <= 12 Then

b(i) = b(i) /(a(1) * fz(i)) ’计算信息客观题各题的得分率 ElseIf i >= 26 And i <= 29 Then b(i) = ② End If Next i

For i = 1 To 16

If i > 12 Then j = i + 13 Else j = i

b(j) = Int(b(j) * 1000 + 0.5) / 10 '对结果四舍五入保留1位小数 List2.AddItem Str(i) + Str(b(j)) + \ave= ③ Next i

Text1.Text = Str(ave / 100) End Sub

(1)1 (1分)

(2)①j = (i -2) Mod 33 + 1(2分)

②b(i) / (fz(i -13) * a(1))(2分) ③ave = ave + b(j) * fz(i) (2分)

18.(2024·6月浙江选考)小宇为选定班级参赛作品编写了一个VB程序,设计如下:在文本框Text1内输入5位评委对3个作品的评分数据(评委对作品的评分数据出3位十进制数组成,第1位对应作品编号,第2、3位对应作品得分,分值范围为[60,99]。如“275”表示2号作品得分75)。单击“计分”按钮后,在标签Label1中输出3个作品的平均分,在标签Label2中输出参赛的作品(选择最高平均分作品参赛,若最高平均分存在并列,则从并列作品中随机抽取):程序运行界面如图所示。

(1)“计分”按钮的对象名为________。

(2)程序部分代码如下,请在划线处填入合适代码。 Private Sub jf_Click()

Dim s As String, d As String, i As Integer Dim f As Single, f2 As Single, f3 As Single s = Text1.Text i = 1

Do While____①____ d = Mid(s, i, 3)

If Mid(d, 1, 1) = “1” Then f1 = f1 + Val(Mid(d, 2, 2)) ElseIf Mid(d, 1, 1) =“2” Then f2 = f2 + Val(Mid(d, 2, 2)) Else

f3 = f3 + Val(Mid(d, 2, 2)) End If ②____ Loop

Label1.Caption -“作品1平均分为:” + Str(f1 / 5) +“作品2平均分为!” + Str(f2 / 5) +“作品3平均分为:” + Str(f3 / 5)

′以下省略“处理并列最高平均分,并在Label2中输出选取的参赛作品”的代码 End Sub

(3)运行该程序时,在文本框Text1中以不同的顺序输入原评分数据:

380/295/283/170/180/385/372/285/190/180/390/384/272/170/276,单击“计分”按钮,则Label1中显示的结果____________ (选填:会/不会)发生改变。 答案 (1)jf (2)①i <= Len(s) 或i< Len(s) 或i<= 57及以上 或i<58及以上 或其他可行答案 ②i=i+4 (3)不会

19.(2024·4月浙江选考)小王设计“模拟撤销”程序,需要用一个“历史记录”, “历史记录”是在对字符串s进行插入或删除时,将每步操作信息依次存储得到的,操作信息由操作符(“+”表示插入,“-”表示删除)、操作位置和操作字符串(只包含英文字母)构成,例如,“+23abc”表示在字符串s第23个位插入了“abc”, “模拟撤销”过程按照“历史记录”的逆序进行,将字

符串s的内容恢复到初始状态。对字符串“Book”的操作与撤销过程,如图a所示。

小王编写的“模拟撤销”VB程序如下,文本框 Text1中的内容是撤销前字符串,文本框Text2中的内容是历史记录,单击“撤销”按钮Command1后,在标签Label1中显示撤销过程,程序运行界面如图b所示。

(1)实现上述功能的VB程序如下,在程序中出现的对象没有Caption属性的是________。(选填,填字母:A.Label1 /B.Command1 /C.Text1和Text2) (2)请在划线处填入合适代码。 Private Sub Command1_Click()

Dim s As String, t As String, ch As String Dim c As String, num As String, ss As String Dim n As Integer, i As Integer s = Text1.Text: t = Text2.Text c =“ ”: num =“ ”: ss = s For i = Len(t) To 1 Step -1 ____①______

If ch >=“a” And ch <=“z” Or ch >=“A” And ch =“Z” Then

c = ch + c

ElseIf ch >=“0” And ch <=“9” Then

num = ch + num Else

n = Val(num) If ch =“-” Then

s = Mid(s, 1, n - 1) + ____②____

Else

s = Mid(s, 1, n - 1) + Mid(s, n + Len(c), Len(s) - n - Len(c) + 1)

End If

ss = ss +“→” + s c =“ ”: num =“ ”

End If Next i

Label1.Caption = ss End Sub

(3)运行该程序,若文本框Text1中的内容是“April”,文本框Text2中的内容是“-3p+3ri-6e”,单击撤销按钮,For循环语句执行完成后,字符串s的值是“________”。

答案 (1)C (2)①ch = Mid(t,i,1) ②c + Mid(s, n, Len(s)-n+1) (3)”Apple”

20.(2024·11月浙江选考)在平面坐标系中,给定一组有序的点。从原点出发,依次用线段连接这些点,构成一条折线。要求编写一个“计算折线长度”的程序,功能如下:在文本框Text1中依次输入这些点的坐标值(数据都用逗号分隔并以逗号结尾),单击“计算”按钮Cmd后,程序计算这条折线的长度,结果显示在Label1中。例如,三个点的坐标(5,10)、(8,12)、(6,17)输入格式如图所示。

(1)Cmd对象属于________类。(单选,填字母:A.Form/B.Label/ C.TextBox/D.CommandButton)

(2)实现上述功能的VB程序如下,请在划线处填入合适代码。

Private Sub Cmd_Click( )

Dim i As Integer,j As Integer,k As Integer

Dim x1 As Single,y1 As Single,x2 As Single,y2 As Single Dim d As Single,Totald As Single,v As Single,s As String s=____①____

x1=0:y1=0 ′出发点为坐标原点 k=1:j=1:Totald=0 For i=1 To Len(s)

If Mid(s,i,1)=“,” Then

v=Val(Mid(s,j,i-j)) ′提取坐标值,保存在变量v中 j=i+1

If ____②____ Then x2=v Else y2=v

d=Sqr((x2-x1)^2+(y2-y1)^2) Totald=Totald+d x1=x2:y1=y2 End If k=k+1

End If Next i

Label1.Caption=Str(Totald) End Sub

(3)运行该程序,输入数据如上图所示,程序执行到循环结束时,变量k的值为________。

答案 (1)D (2)①Text1.Text ②k Mod 2=1 (3)7

21.小王编写了一个实现文字查找替换功能的VB程序,运行界面如图所示。文本框Text1显示原文内容,Text2中输入查找内容,Text3中输入替换内容,单击“全部替换”按钮Command1后,Text4显示查找替换的结果,Text5中显示替

换的次数,Text6显示“查找内容”在原文中的起始位置。

实现上述功能的VB程序如下,但加框处代码有错,请改正。 Private Sub Command1_Click()

Dim s As String, resule As String, pos As String Dim count As Integer, i As Integer i = 1: count = 0

resule =“ ”: pos =“ ” Do While i <= Len(Text1.Text)

s = Mid(Text1.Text, i, Len(Text2.Text)) If s = Text2.Text Then result = result + Text3.Text count = count + 1

pos = pos + Str(count) ′(1) i = i + Len(Text2.Text)

Else

result = result + Text2.Text ′(2) i = i + 1

End If Loop

Text4.Text = result Text5.Text = Str(count) Text6.Text = pos End Sub

答案 (1)Str(i) (2)result=result+ Mid(text1.text,i,1)

22.单词倒序加密法。把明文中每个单词首尾颠倒进行加密,空格、标点等其他字符按原来顺序输出。在文本框Text1中输入密文,单击“解密”按钮Command1,按加密的规则,在文本框Text2中输出解密后的字符。程序运行时的界面如图所示。

实现上述功能的VB程序如下,请在划线处填入合适代码。 Private Sub Command1_Click()

Dim i As Integer, s As String, ch As String Dim newch As String, s1 As String ____①____ newch = ” ” s1 = ” ” i = 1

Do While i <= Len(s) ch = Mid(s, i, 1)

If ch >= ”A” And ch <= ”Z” Or ch >= ”a” And ch <= ”z” Then s1 = ch + s1

Else

newch = ____②____ s1 = ” ”

End If ____③____ Loop

If s1 <> ” ” Then newch = newch + s1 Text2.Text = newch End Sub

答案 ①s = Text1.Text ②newch + s1 + ch ③i = i + 1

23.李雷收到了朋友发给他的一封奇怪的邮件,里面有段内容是由一些数字和符号组成,信上面说了,这段内容是加密后的内容,并给出了具体加密方法(假定原文的英文字母都是大写的),具体方法如下:

①“A”变为一个1到100内的随机数*27+1,“B”变为一个1到100内的随机数*27+2,……,

②每个字母变为数字后会加上一个“-”用来分割数字; ③其他空格和标点字符都按原来的表示。

(1)根据描述,若密文为“1905-1442-”,则表示的是:____________。 (2)请在划线处填入合适的代码。 Private Sub Command1_Click()

Dim s As String, yw As String, ch As String

Dim value As Integer ′用于存储某字母在密文中对应数值的临时变量 s = Text1.Text

value = 0: yw = ” ” For i = 1 To Len(s) ch = Mid(s, i, 1)

If ch >= ”0” And ch <= ”9” Then

value = ____①____ ElseIf ch = ”-” Then

yw = yw +____②____ value = 0 Else

yw = yw + ch End If Next i

Text2.Text = yw End Sub

答案 (1)OK (2)①value * 10 + Val(ch) ②Chr(Asc(“A”) + value Mod 27 - 1)

24.某密钥的加密规则是:取字符ASCII码对应二进制的后4位,如果其值为0到7则显示该值,如果其值8到11则对应显示“东南西北”,如果其值为12到15则对应显示“东南东北西南西北”。程序运行的界面如图所示。

为实现上述功能,请在划线处填入合适的代码。 Private Sub Command1_Click()

Dim s As String, n As Integer, m As Integer, result As String dw = ”东南西北东南东北西南西北” result = ” ” s = Text1.Text For i = 1 To Len(s) c = Mid(s, i, 1) ___①___ If m < 8 Then

result = result + Str(m) ElseIf m >= 8 And m <= 11 Then result = result + Mid(dw, m - 7, 1) ElseIf m >= 12 And m <= 15 Then

result = result + ____②____ End If Next i

Label1.Caption = result End Sub

答案 ①m = Asc(c) Mod 16 ②Mid(dw, 2 * (m - 10) + 1, 2)

25.设计一个程序,在文本框Text1中输入任意一个字母,在列表框List1中按三

角形的方式输出。程序运行界面如下图所示。

实现此功能的VB程序如下,但加框处有错,请改正。 Private Sub Command1_Click()

Dim x As Integer, m As String, s As String, n As Integer Dim i As Integer, j As Integer, k As Integer List1.Clear m = Text1.Text

If m >= ”A” And m <= ”Z” Then n = Asc(”A”) If m >= ”a” And m <= ”z” Then n = Asc(”a”) x = Asc(m) - n ′(1) For i = 1 To x s = ” ” For j = 1 To x - i

s = s + ” ” Next j

For k = 1 To 2 * i - 1

If k <= i Then

s = s + Chr(64 + k) Else

s = s + Chr(64 – i+k) ′(2) End If Next k List1.AddItem s Next i

End Sub

答案 (1)Asc(m) - n + 1 (2)Chr(64 + 2 * i - k)

信息技术选考字符串大题 - 图文

1.随机产生集合{T,1}中任意一个数的VB表达式是()A.Int(Rnd*2)-1B.Int(Rnd*3)-1C.Int(Rnd*3)\\2-lD.Tnt(Rnd*2)*2-12.下列VB表达式中,值最大的是(C)A.Val(Mid(\,6,2))B.Int((Rnd-
推荐度:
点击下载文档文档为doc格式
10dfi1kvmk9sc9l3ppnv1xep036fj7019dn
领取福利

微信扫码领取福利

微信扫码分享