高手指点:高一算法题

x=1
y=1
WHILE x<=4
Z=0
WHILE y<=x+2
Z=Z+1
y=y+1
WEND
PRINT Z
x=x+1
y=1
WEND
END

我进行了几次,但都和答案对不上,答案是3,4,5,6

1 x=1
2 y=1
3 WHILE x<=4
4 Z=0
5 WHILE y<=x+2
6 Z=Z+1
7 y=y+1
8 WEND
9 PRINT Z
10 x=x+1
11 y=1
12 WEND
13 END

这个程序主要由两个while和一个PRINT构成。
第一个while的作用是:控制循环次数
第二个while的作用是:计算y与x+2的差值,并把这个差量+1加到z上
PRINT的作用是:显示出当前z的值

1、Z值分析
由第4行可知,每次进入第二个while之时,z都为0;
又由第二个while的功能可知:z = (x0+2)-y0+1; (这里的x0及y0分别表示x,y在进入第二个while时的值)

2、程序运行
第一次经过第二个while时,x=1,y=1.所以第一次z = (1+2)-1+1=3 (经过第10,11句后:x=2,y=1.这个时候x<=4满足第一个while的条件,程序继续运行)
第二次经过第二个while时,x=2,y=1.所以第二次z = (2+2)-1+1=4 (经过第10,11句后:x=3,y=1.依然满足条件)
第三次经过第二个while时,x=3,y=1.所以第三次z = (3+2)-1+1=5 (经过第10,11句后:x=4,y=1.满足)
第四次经过第二个while时,x=4,y=1.所以第四次z = (4+2)-1+1=6 (经过第10,11句后:x=5,y=1.不满足)
结束
温馨提示:答案为网友推荐,仅供参考
相似回答