试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:困难

浙江省之江教育评价联盟2019-2020学年高三上学期信息技术第二次联考试卷

数组a存储降序排列的m个数据,数组b中存储的是升序排列的n个数据,且两个数组中存储的数据为区间[1,20]范围内的不重复的随机整数。现将两个数组的数据合并到c数组中,使c数组的数据为左右交替上升,如下表所示:

a(1)

a(2)

a(3)

a(4)

a(5)

19

17

6

4

3

a数组

b(1)

b(2)

b(3)

b(4)

b(5)

b(6)

5

7

8

13

15

20

b数组

c(1)

c(2)

c(3)

c(4)

c(5)

c(6)

c(7)

c(8)

c(9)

c(10)

c(11)

3

5

7

13

17

20

19

15

8

6

4

c数组

当窗体Form1加载时,自动产生a、b数组的数据,并分别显示在列表框List1与List2中,单击合并按钮Command1后,在c数组中保存按规则合并后的a、b数组的数据,并显示在列表框List3中。程序截图如下所示:

实现该功能的VB程序如下:

Const m = 5

Const n = 6

Dim a(1 To m) As Integer

Dim b(1 To n) As Integer

Dim c(1 To m + n) As Integer

‘窗体加载时,生成数组a、b中的数据,并按要求排序后显示在列表框中,代码略

Private Sub Command1_Click()

Dim pa As Integer, pb As Integer, pc As Integer, s As Integer, flag As Boolean

pa = m: pb = 1: pc = 1

flag = True

Do While         ①        

    If a(pa) < b(pb) Then

        s = a(pa)

        pa = pa - 1

    Else

        s = b(pb)

        pb = pb + 1

    End If

    c(pc) = s

    If  flag Then

        pc = m + n - pc + 1

    Else

        pc =

    End If

            ②       

Loop

‘处理a、b数组中剩余数据,并在列表框List3中输出数组c,代码略

End Sub

(1)、窗体加载的事件处理过程名为。(填字母:A .Form1_Click / B .Form_Click / C .Form1_Load / D .Form_load)
(2)、加框处代码有错,请改正。
(3)、在划线处填入合适的代码。

 ② 

举一反三
用VB编写一个字符串分行程序,功能如下:单击“分行”按钮Command1将文本框Text1中的英文文本在列表框List1中分行显示(分行时单词不得跨行,每行字符尽可能多但不超过40个)并在标签Label1中输出总行数,运行效果如图所示。分行算法如下:

⑴将文本框中的字符串保存到变量s中;

⑵当s中字符个数超过40时,循环执行下列①、②、③步,否则跳转到(3):

①如果第41个字符不是英文字母,则分行位置p = 40;否则,向左逐个查找,直至找到第一个非英文字母,将其位置作为分行位置p;

②截取s的前p个字符,作为新增行显示在列表框List1中,同时总行数加1 ;

③将s中未分行部分重新赋值给变量s。

⑶将s作为新增行显示在列表框List1中,同时总行数加1。

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

Private Sub Commandl_Click()

Dim s As String,c As String

Dim r As Integer, total As Integer,p As Integer

total = 0

s ={#blank#}1{#/blank#}

Do While Len(s) > 40

r = 41

c = Mid(s,r,1)

If  Not((c>= "a"And c<="z" ) Or (c>="A"Andc<="Z")) Then

p = 40

Else

’从第41个字符幵始向左找到第1个非英文字母,并将其位置值赋给p

     Do While (c >= "a" And c <= "z") Or (c >= "A"  

                 And c <= "Z")

r ={#blank#}2{#/blank#}

c = Mid(s,r,1)

Loop

p = r

End If

List1. Addltem  Mid(s,1,p)

total = total + 1

s ={#blank#}3{#/blank#}

Loop

List1. AddItem  s

total = total + 1

Labell. Caption ="共"+ Str(total) + "行"

End Sub

返回首页

试题篮