题目

张老师在筹备一次班级活动,活动的场地可以看成由m*n个小方格组成的矩阵(m,n<=100),由于活动需要,计划给这个场地铺上红地毯。当前的地毯都是矩形的,但是大小不一每块地毯铺设位置由左上角(x1,y1)和右下角(x2,y2)两个坐标确定,且刚好铺满该矩形区域。 张老师想了解每个小方格被多少块地毯覆盖,以便更好地调整地毯铺设位置,他编写了VB程序,实现以下功能:在文本框Text1中输人行数m,在文本框Text2中输入列数n,在Text3中输入每块地毯铺设的坐标x1,y1,x2,y2……坐标之间逗号分隔,地毯数量不超过100),单击计算按钮Commmand1,在列表框List1中显示每个小方格被多少块地毯覆盖。程序运行界面如图所示。 (1) 文本框Text1中输人行数为5,在文本框Text2中输人列数5,在Text3中输人的地毯铺设的坐标为s=1,1,2,2,1,2,3,3则最后输出矩阵a(7)的值为。 (填数字) (2) 实现上述功能的VB程序如下,请在划线处填入合适代码。 Dim m As Integer Dim n As Integer Dim a, b, C, d As Integer Dim flag(0 To 10000) As Integer Dim sum(0 To 10000) As Integer Dim pos(0 To 100) As Integer Private Sub Command1_Click()     List1. Clear     m = Val(Text1. Text)     n = Val(Text2. Text)     s = Text3. Text     '读取每块地毯坐标,并按顺序存储在pos数组中     '地毯总数量存储在变量k中     For i=1 To k         a= pos(i * 4- 3):b= pos(i * 4- 2):c= pos(i * 4- 1):d= pos(i * 4)              Next i     For i=1 To m                  For j=1 To n             sum((i- 1) *n+ j) = sum((i- 1) * n+ j- 1) + flag((i- 1)*n+ j)             s=s+Str(sum((i-1)*n+j))         Next j         List1. AddItem s     Next i End Sub Sub add (ByVal x1 As Integer, ByVal y1 As Integer, ByVal x2 As Integer, ByVal y2 As Integer)     '按行标记地毯铺设情况     For i=x1 To x2         flag((i - 1) * n + y1) = flag((i- 1)*n+y1) + 1             Next i End Sub 答案: 【1】2 【1】add(a, b, c, d)【2】s=""【3】flag((i - 1) * n+ y2+1) = flag((i-1)*n+y2+1)- 1
信息技术 试题推荐
最近更新