刚刚的那些例子还比较简单,现在给出一个复杂点的,并加上自己的解释,为什么这样做
(i) [5 marks] Draw a flow graph for the following code fragments.
(ii) [2 marks] If you assign 121 to j in a test case, which path will be tested?
(iii) [2 marks] If you assign 0 to j in a test case, which path will be tested?
刚刚得到这道题,以这道题为例子
那为什么这么做呢
第一小题,如图
第二小题,j=121,满足if中的语句,所以直接执行2,接着下去3,最后为11
第三小题,其实第三小题有点问题,如果按照程序结果来说,j=0代入的话程序结果就是错的
但是我们只是来解决题目,不用想那么多
那么,j=0,很明显不满足i>0,所以当它执行完第4步后直接执行第10步,再到第11步