VB第26题,求步骤~
3个回答
展开全部
一、首先理解VB的IIf()函数语句:
IIf()函数的格式为:IIf(参数1,参数2,参数3)
其中:
参数1是一个关系表达式,结果为逻辑值True或False
参数2是一个表达式,当参数1的结果为True的时候,IIf()函数返回的值就是根据参数2表达式运算的结果值
参数3是一个表达式,当参数1的结果为False的时候,IIf()函数返回的值就是根据参数3表达式运算的结果值
例如1:
y = IIf(5>4,10,1)
首先计算5>4的结果为True,所以y的结果是10
例如2:
y = IIf(5>8,10,1)
首先计算5>8的结果为False,所以y的结果是1
二、其次理解VB的
Do while 表达式
循环体
Loop
的运行原理:当表达式的值为True,则执行循环体,反之循环结束。
开始执行Do while 表达式,判断表达式的结果为True或False:
1,如果为True则执行循环体,然后执行Loop就返回到Do while 表达式,又一次判断表达式的结果为True或False,......
2,如果为False,则结束循环(跳到Loop下面的代码开始执行)。
三、在理解了上述两个基本知识,现在分析整个代码应该你自己也会了吧!
x=15
do while x>0
x=x-3
x=iif(Int(x/5)=x/5,x+2,x)
Loop
Print x
分析:(其实你应该拿起笔和纸,写下模仿计算机执行的步骤)
1,do while x>0 (因为x=15,所以x>0的结果为True,所以执行循环体)
x=x-3 'x=15-3=12
x=iif(Int(x/5)=x/5,x+2,x) '因为x=12,所以Int(x/5)=x/5的结果为False,x=x=12
执行Loop,返回到do while x>0
2,do while x>0 (因为x=12,所以x>0的结果为True,所以执行循环体)
x=x-3 'x=12-3=9
x=iif(Int(x/5)=x/5,x+2,x) '因为x=9,所以Int(x/5)=x/5的结果为False,x=x=9
执行Loop,返回到do while x>0
3,do while x>0 (因为x=9,所以x>0的结果为True,所以执行循环体)
x=x-3 'x=9-3=6
x=iif(Int(x/5)=x/5,x+2,x) '因为x=6,所以Int(x/5)=x/5的结果为False,x=x=6
执行Loop,返回到do while x>0
4,do while x>0 (因为x=6,所以x>0的结果为True,所以执行循环体)
x=x-3 'x=6-3=3
x=iif(Int(x/5)=x/5,x+2,x) '因为x=9,所以Int(x/5)=x/5的结果为False,x=x=3
执行Loop,返回到do while x>0
5,do while x>0 (因为x=3,所以x>0的结果为True,所以执行循环体)
x=x-3 'x=3-3=0
x=iif(Int(x/5)=x/5,x+2,x) '因为x=9,所以Int(x/5)=x/5的结果为True,x=x+2=2
执行Loop,返回到do while x>0
6,do while x>0 (因为x=2,所以x>0的结果为True,所以执行循环体)
x=x-3 'x=2-3=-1
x=iif(Int(x/5)=x/5,x+2,x) '因为x=9,所以Int(x/5)=x/5的结果为False,x=x=-1
执行Loop,返回到do while x>0
7,do while x>0 (因为x=-1,所以x>0的结果为False,所以循环结束,跳到Loop下一句)
执行Print x
答案是B)-1
IIf()函数的格式为:IIf(参数1,参数2,参数3)
其中:
参数1是一个关系表达式,结果为逻辑值True或False
参数2是一个表达式,当参数1的结果为True的时候,IIf()函数返回的值就是根据参数2表达式运算的结果值
参数3是一个表达式,当参数1的结果为False的时候,IIf()函数返回的值就是根据参数3表达式运算的结果值
例如1:
y = IIf(5>4,10,1)
首先计算5>4的结果为True,所以y的结果是10
例如2:
y = IIf(5>8,10,1)
首先计算5>8的结果为False,所以y的结果是1
二、其次理解VB的
Do while 表达式
循环体
Loop
的运行原理:当表达式的值为True,则执行循环体,反之循环结束。
开始执行Do while 表达式,判断表达式的结果为True或False:
1,如果为True则执行循环体,然后执行Loop就返回到Do while 表达式,又一次判断表达式的结果为True或False,......
2,如果为False,则结束循环(跳到Loop下面的代码开始执行)。
三、在理解了上述两个基本知识,现在分析整个代码应该你自己也会了吧!
x=15
do while x>0
x=x-3
x=iif(Int(x/5)=x/5,x+2,x)
Loop
Print x
分析:(其实你应该拿起笔和纸,写下模仿计算机执行的步骤)
1,do while x>0 (因为x=15,所以x>0的结果为True,所以执行循环体)
x=x-3 'x=15-3=12
x=iif(Int(x/5)=x/5,x+2,x) '因为x=12,所以Int(x/5)=x/5的结果为False,x=x=12
执行Loop,返回到do while x>0
2,do while x>0 (因为x=12,所以x>0的结果为True,所以执行循环体)
x=x-3 'x=12-3=9
x=iif(Int(x/5)=x/5,x+2,x) '因为x=9,所以Int(x/5)=x/5的结果为False,x=x=9
执行Loop,返回到do while x>0
3,do while x>0 (因为x=9,所以x>0的结果为True,所以执行循环体)
x=x-3 'x=9-3=6
x=iif(Int(x/5)=x/5,x+2,x) '因为x=6,所以Int(x/5)=x/5的结果为False,x=x=6
执行Loop,返回到do while x>0
4,do while x>0 (因为x=6,所以x>0的结果为True,所以执行循环体)
x=x-3 'x=6-3=3
x=iif(Int(x/5)=x/5,x+2,x) '因为x=9,所以Int(x/5)=x/5的结果为False,x=x=3
执行Loop,返回到do while x>0
5,do while x>0 (因为x=3,所以x>0的结果为True,所以执行循环体)
x=x-3 'x=3-3=0
x=iif(Int(x/5)=x/5,x+2,x) '因为x=9,所以Int(x/5)=x/5的结果为True,x=x+2=2
执行Loop,返回到do while x>0
6,do while x>0 (因为x=2,所以x>0的结果为True,所以执行循环体)
x=x-3 'x=2-3=-1
x=iif(Int(x/5)=x/5,x+2,x) '因为x=9,所以Int(x/5)=x/5的结果为False,x=x=-1
执行Loop,返回到do while x>0
7,do while x>0 (因为x=-1,所以x>0的结果为False,所以循环结束,跳到Loop下一句)
执行Print x
答案是B)-1
追问
非常感谢您讲解的这么细致具体,如果可以我真的想把最佳回答给你的,可是太晚了。😥
展开全部
循环:x=15 x=12 Int(12/5)<>12/5 则 x=12
x=12 x=9 Int(9/5)<>9/5 则 x=9
x=9 x=6 Int(6/5)<>6/5 则 x=6
x=6 x=3 Int(3/5)<>3/5 则 x=3
x=3 x=0 Int(0/5)=0/5 则 x=0+2=2
x=2 x=-1 Int(-1/5)<>-1/5 则 x=-1
此时,不满足(x>0)退出循环,所以 x=-1 ,选B。
x=12 x=9 Int(9/5)<>9/5 则 x=9
x=9 x=6 Int(6/5)<>6/5 则 x=6
x=6 x=3 Int(3/5)<>3/5 则 x=3
x=3 x=0 Int(0/5)=0/5 则 x=0+2=2
x=2 x=-1 Int(-1/5)<>-1/5 则 x=-1
此时,不满足(x>0)退出循环,所以 x=-1 ,选B。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
-1
当x=0时,iif(...)表达式会让x=x+2
Int(x / 5) = x / 5判断是否为整除
当x=0时,iif(...)表达式会让x=x+2
Int(x / 5) = x / 5判断是否为整除
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询