vb 编程会考问题

来源:百度知道 编辑:UC知道 时间:2024/05/10 17:06:40
以下Visual Basic程序的功能是: 计算表达式1+2+22+23+24+25的值,并在文本框Text1中输出结果。为了实现这一功能,程序中划线处For语句循环变量i的终值应更正为_____________。

Private Sub Command1_Click()

Dim i As Integer, s As Long

s = 0

For i= 1 to &

s = s + 2^(i-1)

Next i

Text1.Text=Str(s)

End Sub

“&”填什么
为什么
1+2+22+23+24+25---------是指1+2+2^2+2^3+2^4+2^5

为什么不是填 2 ?

&=6
i=1,s=0+2^(1-1)=1;
i=2,s=1+2^(2-1)=3;
i=3,s=3+2^(3-1)=7;
i=4,s=7+2^(4-1)=15;
i=5,s=15+2^(5-1)=31;
i=6,s=31+2^(6-1)=63

填6吧,如果是2的话,你看循环体s = s + 2^(i-1),i=1的时候s加上了1,然后i=2的时候s加上了2^1,然后循环就结束了,所以是错误的。应该是6,这样才能保证最后加上去的2^(i-1)=2^5

确定表达式是1+2+22+23+24+25 ?
我怎么觉得不对劲啊
在for循环中i=1时s=1对应上面的表达式,i=2时s=1+2也对应上面的表达式
但i=3时,s=1+2+4就不对应了
所以我怀疑表达式的可靠性