如图,是一道VB程序填空题,求详细解答第二问和第三问。关于数组。
2个回答
展开全部
题目没有定义下界 默认从0开始
dim a(10,10) as integer 相当于 dim a(0 to 10, 0 to 10) as integer一共121个元素
i 变量从2到10 3个赋值语句 a(i,1) a(i,i) a(i,j) 都是取I值 并无其他加减之类 所以
i=0时 全部没有赋值 j取值11种可能 +11
因为第一句 a(1,1)=1 也只有一个 那么 当i=1时 j等于除1外的其他值时 也没有被赋值 +10
i=2时 a(2,1)=1 a(2,2)=1 for j= 2 to 2-1 起始 大于 终止值 所以不循环 也就是当i=2时 j=0-10中只有1,2有被赋值 +9
i=3时 a(3,1)=1 a(3,3)=1 for j = 2 to 3-1 循环只有一次 J=2 a(3,2) 11-3=8 本次+8
i=4时 +7
i=5时 +6
i=6时 +5
i=7时 +4
i=8时 +3
i=9时 +2
i=10时 +1
问题2 答案 1+2+3+4+5+6+7+8+9+10+11=66个元素没有被赋值
3个赋值语句 a(i,1) a(i,i) a(i,j) 只有 a(i,j)可能等于a(8,4) 所以看
a(i,j)=a(i-1,j-1)+ a(i-1,j)
a(8,4)=a(8-1,4-1)+a(8-1,4)=a(7,3)+a(7,4) 按照这个规律
=================
a(7,3)=a(6,2)+a(6,3)
a(7,4)=a(6,3)+a(6,4)
==================
a(6,2)=a(5,1)+a(5,2)
a(6,3)=a(5,2)+a(5,3)
a(6,3)=a(5,2)+a(5,3)
a(6,4)=a(5,3)+a(5,4)
==================
a(5,1) 可以不需要继续往下分解了 a(i,1)=1 这里已经有赋值了
a(5,2)=a(4,1)+a(4,2)
a(5,2)=a(4,1)+a(4,2)
a(5,2)=a(4,1)+a(4,2) '上面有3个a(5,2)
a(5,3)=a(4,2)+a(4,3)
a(5,3)=a(4,2)+a(4,3)
a(5,3)=a(4,2)+a(4,3)
a(5,4)=a(4,3)+a(4,4)
=======================
到此分解为 1个 a(5,1) 3个 a(4,1) 1个a(4,4) 6个a(4,2) 4个a(4,3)
等于 1+3+1+6个a(4,2)+ 4个a(4,3)
a(4,2)=a(3,1)+a(3,2)
a(4,3)=a(3,2)+a(3,3)
======================
1+3+1+a(4,2)*6+a(4,3)*4 等于5 + a(3,1) *6+ a(3,2)*6 + a(3,2)*4 + a(3,3) * 4
等于 5+6+ a(3,2)*10 + 4=15+a(3,2)*10
=================
a(3,2)=a(2,1)+a(2,2)=1+1=2
a(3,2)*10=20
15+a(3,2)*10=35
所以问题3 答案35
dim a(10,10) as integer 相当于 dim a(0 to 10, 0 to 10) as integer一共121个元素
i 变量从2到10 3个赋值语句 a(i,1) a(i,i) a(i,j) 都是取I值 并无其他加减之类 所以
i=0时 全部没有赋值 j取值11种可能 +11
因为第一句 a(1,1)=1 也只有一个 那么 当i=1时 j等于除1外的其他值时 也没有被赋值 +10
i=2时 a(2,1)=1 a(2,2)=1 for j= 2 to 2-1 起始 大于 终止值 所以不循环 也就是当i=2时 j=0-10中只有1,2有被赋值 +9
i=3时 a(3,1)=1 a(3,3)=1 for j = 2 to 3-1 循环只有一次 J=2 a(3,2) 11-3=8 本次+8
i=4时 +7
i=5时 +6
i=6时 +5
i=7时 +4
i=8时 +3
i=9时 +2
i=10时 +1
问题2 答案 1+2+3+4+5+6+7+8+9+10+11=66个元素没有被赋值
3个赋值语句 a(i,1) a(i,i) a(i,j) 只有 a(i,j)可能等于a(8,4) 所以看
a(i,j)=a(i-1,j-1)+ a(i-1,j)
a(8,4)=a(8-1,4-1)+a(8-1,4)=a(7,3)+a(7,4) 按照这个规律
=================
a(7,3)=a(6,2)+a(6,3)
a(7,4)=a(6,3)+a(6,4)
==================
a(6,2)=a(5,1)+a(5,2)
a(6,3)=a(5,2)+a(5,3)
a(6,3)=a(5,2)+a(5,3)
a(6,4)=a(5,3)+a(5,4)
==================
a(5,1) 可以不需要继续往下分解了 a(i,1)=1 这里已经有赋值了
a(5,2)=a(4,1)+a(4,2)
a(5,2)=a(4,1)+a(4,2)
a(5,2)=a(4,1)+a(4,2) '上面有3个a(5,2)
a(5,3)=a(4,2)+a(4,3)
a(5,3)=a(4,2)+a(4,3)
a(5,3)=a(4,2)+a(4,3)
a(5,4)=a(4,3)+a(4,4)
=======================
到此分解为 1个 a(5,1) 3个 a(4,1) 1个a(4,4) 6个a(4,2) 4个a(4,3)
等于 1+3+1+6个a(4,2)+ 4个a(4,3)
a(4,2)=a(3,1)+a(3,2)
a(4,3)=a(3,2)+a(3,3)
======================
1+3+1+a(4,2)*6+a(4,3)*4 等于5 + a(3,1) *6+ a(3,2)*6 + a(3,2)*4 + a(3,3) * 4
等于 5+6+ a(3,2)*10 + 4=15+a(3,2)*10
=================
a(3,2)=a(2,1)+a(2,2)=1+1=2
a(3,2)*10=20
15+a(3,2)*10=35
所以问题3 答案35
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询