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 ?
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就不对应了
所以我怀疑表达式的可靠性