请大家详细解释下ABAP中1加到10的程序,谢谢!
答案:2 悬赏:60 手机版
解决时间 2021-11-14 14:04
- 提问者网友:我一贱你就笑
- 2021-11-14 10:59
请大家详细解释下ABAP中1加到10的程序,谢谢!
最佳答案
- 五星知识达人网友:野味小生
- 2021-11-14 11:19
* * * * * * * 定义【I】.【S】两个变量,为I型,即整数形。从后面的code可以看出,【I】是代表循环多少次,【S】是代表想加的1,2,3...自然数连加后的结果。
DATA: I TYPE I,
S TYPE I.
* * * * * * *赋初值,【I】的值为1,【S】的值0。
I = 1.
S = 0.
* * * * * * *
* 【While....end while】这是一个循环。"WHILE" 顾名思义,就是当什么什么条件满足的时候,才去做什么事情。
*初值: I = 1. S = 0.
*第一次进while...endwhile里面。 S = S + I,于是S变成了1. I = I + 1. 于是, I变成了2。
这时I是《= 10的,继续做循环哦。
*第二次进while...endwhile里面。 S = S + I,于是S变成了3. I = I + 1. 于是, I变成了3。
实现了1 + 2 的功能,结果存在S里。 这时I是《= 10的,继续做循环哦。
*第三次进while...endwhile里面。 S = S + I,于是S变成了6. I = I + 1. 于是, I变成了4。
实现了1 + 2 +3的功能,结果存在S里。 这时I是《= 10的,继续做循环。
*第四次进while...endwhile里面。 S = S + I,于是S变成了10. I = I + 1. 于是, I变成了5。
实现了1 + 2 +3 +4的功能,结果存在S里。 这时I是《= 10的,继续做循环。
继续第五次,第六次。。。。
*第十次进while...endwhile里面。I = I + 1. 于是, I变成了11。这时已经不满足I《= 10了条件了,结束循环。
* * * * * * *
WHILE I <= 10.
S = S + I.
I = I + 1.
ENDWHILE.
* * * * * * *结束循环,将S结果输出在报表上。 over.
WRITE: / '1+2+3+…+10=',S.追问在这个程序里,去掉S=0,I=1.这个初值的话结果还是一样的.这是为什么呢?追答刚刚定义完【I】.【S】之后,【I】.【S】的默认初值都是0.
S=0,只是将S再赋值为0一次,无变化。
I = 0 从零开始做起,实际变成了 0 + 1 + 2+3+…+10,加上0当然是不影响结果的。
你可以试着debug一下程序,一切都明白了。
DATA: I TYPE I,
S TYPE I.
* * * * * * *赋初值,【I】的值为1,【S】的值0。
I = 1.
S = 0.
* * * * * * *
* 【While....end while】这是一个循环。"WHILE" 顾名思义,就是当什么什么条件满足的时候,才去做什么事情。
*初值: I = 1. S = 0.
*第一次进while...endwhile里面。 S = S + I,于是S变成了1. I = I + 1. 于是, I变成了2。
这时I是《= 10的,继续做循环哦。
*第二次进while...endwhile里面。 S = S + I,于是S变成了3. I = I + 1. 于是, I变成了3。
实现了1 + 2 的功能,结果存在S里。 这时I是《= 10的,继续做循环哦。
*第三次进while...endwhile里面。 S = S + I,于是S变成了6. I = I + 1. 于是, I变成了4。
实现了1 + 2 +3的功能,结果存在S里。 这时I是《= 10的,继续做循环。
*第四次进while...endwhile里面。 S = S + I,于是S变成了10. I = I + 1. 于是, I变成了5。
实现了1 + 2 +3 +4的功能,结果存在S里。 这时I是《= 10的,继续做循环。
继续第五次,第六次。。。。
*第十次进while...endwhile里面。I = I + 1. 于是, I变成了11。这时已经不满足I《= 10了条件了,结束循环。
* * * * * * *
WHILE I <= 10.
S = S + I.
I = I + 1.
ENDWHILE.
* * * * * * *结束循环,将S结果输出在报表上。 over.
WRITE: / '1+2+3+…+10=',S.追问在这个程序里,去掉S=0,I=1.这个初值的话结果还是一样的.这是为什么呢?追答刚刚定义完【I】.【S】之后,【I】.【S】的默认初值都是0.
S=0,只是将S再赋值为0一次,无变化。
I = 0 从零开始做起,实际变成了 0 + 1 + 2+3+…+10,加上0当然是不影响结果的。
你可以试着debug一下程序,一切都明白了。
全部回答
- 1楼网友:猎心人
- 2021-11-14 12:09
和C差不多。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯