题库 高中信息

题干

下列属于Visual Basic逻辑常量的是(   )
A."BASIC"B.2012C.FalseD.3.1415926
上一题 下一题 0.99难度 选择题 更新时间:2015-12-23 03:52:34

答案(点此获取答案解析)

同类题3

编写矩阵乘法的VB程序。矩阵是由m×n个元素数排列而成,例如m*n矩阵是由m行n列数据排列而成。若A矩阵是m×s个元素,B矩阵是s×n个元素,将A矩阵乘以B矩阵得到C矩阵,C矩阵是m×n个元素。

计算方法:矩阵A的第i行s个元素(i,1),(i,2),…,(i,s)和矩阵B的第j列s个元素(1,j),(2,j),…,(s,j)对应相乘后相加,就得到乘积矩阵C的第i行第j列元素,即(i,j)值=(i,1)的值×(1,j)的值+(i,2)的值×(2,j)的值+…+(i,s)的值×(s,j)的值。

例如:A矩阵3×5个元素,B矩阵5×2个元素相乘后得到3×2的C矩阵,如图1所示。其中c(5)=a(11)×b(1)+a(12)×b(3)+a(13)×b(5)+a(14)×b(7)+a(15)×b(9)。

3×5矩阵A

(由数组a存储)

a(1) a(2)   a(3)   a(4)   a(5)

a(6)   a(7) a(8)   a(9)   a(10)

a(11)  a(12)  a(13) a(14) a(15)

×

5×2矩阵B

(由数组b存储)

b(1) b(2)

b(3) b(4)

b(5) b(6)

b(7) b(8)

b(9) b(10)

=

乘积矩阵C

(由数组c存储)

c(1) c(2)

c(3)    c(4)

c(5)    c(6)

图1

 

 

 

 

(1)如下图所示,矩阵A×矩阵B的乘积矩阵C的第2行第3列的值为_________。
矩阵A
矩阵B
 

1   0

2   1

4   0

 

 

2  4  1

5  1  3

 

 
(2)根据上述矩阵乘法规则,小明设计了一个求矩阵A、B的乘积矩阵C的程序,代码如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Const max = 10
Dim a(1 To max * max) As Integer ’ 存储m×s矩阵A的各元素
Dim b(1 To max * max) As Integer ’ 存储s×n矩阵B的各元素
Dim c(1 To max * max) As Integer ’ 存储乘积矩阵C的各元素
Dim m As Integer, s As Integer, n As Integer, i As Integer, strline As String
m=3:    n=2:   s=5
’从左向右、由上往下依次将矩阵A和矩阵B的各元素存储于数组a和数组b中,代码略
For i = 1 To_________
strline = “”
For j = 1 To n
c ((i - 1) * n + j) = 0
For k = 1 To _________
c((i - 1) * n + j)=c ((i - 1) * n + j)+a((i - 1) * s + k) * b__________)
Next k
strline = strline + Str(c((i - 1) * n + j))
Next j
List3. AddItem strline

Next i

End Sub

同类题5

为分析数组a中各元素依次变化的情况,进行如下定义:
变化段:数组中相邻两个元素构成一个变化段。变化段有上升段(a(i)>a(i-1))、下降段(a(i)<a(i-1))和持平段(a(i)=a(i-1))。数组a中的n个元素可构成n-1个依次排列的变化段。
波峰:从上升段转到下降段形成一个波峰。波峰的起点是峰顶前所有连续上升段中的第1个,终点是峰顶后所有连续下降段中的最后1个。
对称波峰:上升段与下降段个数相同的波峰称为对称波峰。
下图为一组数据的变化段及波峰示意图。

现要求统计数组a各元素依次变化过程中“对称波峰”的个数。小李依据上述描述设计如下VB程序。请回答下列问题:
(1)数组元素“1,4,3,3,2,6,8,7,9,3,4,7,9,6,3,1”依次变化过程中“对称波峰”的个数为_____。
(2)请在划线处填入合适的代码。
Const n = 20
Dim a(1 To n) As Integer
Private Sub Form_Load()
'读取数据,并存储到数组a中,代码略
End Sub
Private Sub Command1_Click()

Dim flag As Integer  '存储变化段的状态:1表示升,-1表示降,0表示平

Dim count As Integer '存储对称波峰段的个数

Dim steps As Integer

Dim i As Integer

flag = 0: steps = 0: count = 0

For i = ________ To n

If a(i) > a(i - 1) Then

If IsSymPeak(flag, steps) Then count = count + 1

If flag = 0 Or flag = -1 Then

_________

Else

steps = steps + 1

End If

flag = 1

ElseIf a(i) = a(i - 1) Then

If IsSymPeak(flag, steps) Then count = count + 1

steps = 0

flag = 0

Else

  steps = steps - 1

flag = -1

End If

Next i

If IsSymPeak(flag, steps) Then count = count + 1

Text1.Text = Str(count)

End Sub
Function IsSymPeak(flag As Integer, steps As Integer) As Boolean

If __________________ Then

IsSymPeak = True

Else

IsSymPeak = False

End If

End Function