这段伪代码的while true 是什么意思吗,判断谁是对的
vb吧
全部回复
仅看楼主
level 1
东岭一哥 楼主
这段伪代码的while true 是什么意思吗,判断谁是对的然后才运行后面的代码?
2020年05月20日 14点05分 1
level 11
抱歉,没看清题是伪代码
我翻译成VB你看看对不对
x = int(inputbox("提示信息","标题","默认值","X","Y"))
y = 0
i = 0
Do While True
s = 1
If x Mod 2 = 0 Then
s = 0
y = y + (s)*10^i
x = x\2
i = i + 1
If x = 0 Then Exit Do
Loop
Print y
2020年05月20日 14点05分 3
这儿"X","Y"代表x坐标y坐标,我怕理解时和下面的x,y混淆,所以加入了引号,也所以这一句实际是不能运行的[笑尿]
2020年05月20日 14点05分
这种只有缩进,没有语句块或结束标志的真的有点郁闷,我看漏了一个缩进,If x Mod 2 = 0 Then s = 0,也即把原来这句后面的s = 0移到后面去
2020年05月20日 14点05分
我搬到运行环境里面运行他说loop没有DO是怎么回事[疑问]
2020年05月20日 15点05分
@东岭一哥 Do While......Loop是一组,While......Wend是一组,这里用到了跳出循环,只有选择前面那组,你自己再看一下搬运的代码哪儿有没有问题
2020年05月20日 15点05分
level 11
这段伪代码中的while true不是判断谁为真,而是表示while条件始终为真即无限循环
而后面的break则用于跳出循环
2020年05月20日 14点05分 4
level 1
东岭一哥 楼主
@余思培 你看看我哪错了,都有了啊[疑问]
2020年05月20日 15点05分 5
两个If...Then后面直接跟语句
2020年05月20日 15点05分
If x Mod 2 = 0 Then s = 0
2020年05月20日 15点05分
If x = 0 Then Exit Do
2020年05月20日 15点05分
@余思培 直接跟和放在下一行有什么区别嘛?
2020年05月20日 15点05分
level 8
while true
就是死循环,不过循环内部符合条件就break
2020年05月21日 00点05分 6
就是不用判断条件直接进去循环吗?
2020年05月21日 13点05分
@东岭一哥 你这么理解也行,因为条件永远是TRUE
2020年05月21日 23点05分
level 11
While True可以省略不要。
反正while后在语法上,只要求一个“逻辑表达式”,true就是一个逻辑表达式。是没有语法问题的。但是否符合编程意图,就是另一回事了。
2020年05月21日 00点05分 7
也就是在需要死循环的时候,直接Do......Loop就可以了吗?我没有系统性的学过VB,所以有些东西不是很清楚。
2020年05月21日 04点05分
@余思培 可以这么说。这样do……loop不写条件,也可以像一楼那样,在中间判断条件exit do,这样循环还是有出口的。
2020年05月21日 13点05分
level 9
这是c的伪代码,对学vb的人来说有误导。
2020年05月21日 04点05分 8
1