软件工程(第五版)--习题及答案 下载本文

Sum=0,i=1

输入数n

DO─WHILE n>=i

Sum=Sum+ i i++

输出数Sum

(2)求整型数组K[50]中的最大值和次大值。

答:N-S图如下:

定义数组 k[50] fst = k[0] , sed =k[1] I=3 当i<=50时 T k[i]>fst F k[i]>scd F T scd = fst fst=k[i] I=i+1 21

Scd=k[i] 输出fst,scd

(3)求s=1- 1/2!+1/3!-1/4! + …. +1/n!,其中n的值由键盘输入。

答:PAD图如下:

输入N I=1 S=0 T I%2=0 F 打印S I=I+1 P=1 S=s-jc(i) S=s+jc(i) 当I<=N 返回P 2.根据以下伪码,画出PAD图 if (x

30 if (x

s=z goto 70 50 s=y

goto 70 60 s=x 70 ??

DEF JC(i) K=1 当K<=I P=P*K K=k+1 答:

22

F y

3.将程序流程图转化为PAD图 (1) FTPA结束BFOT 答: 当P A 直到O 结束 B

(2)

23

PTFA结束B 答: 当P A B 结束

(3)

AP TFB结束 答: A T P 结束 直到P为假 B F

24

(4) FTAFBCTDEFG

答: 当A为假 T C为假 F D break F A为真 T G 直到E为假 B

(5)只使用顺序结构和循环结构,构造分支结构。请画出PAD图。 答:对于分支结构 if(f) a; else b;

只使用顺序和循环结构的PAD图如下:

当F A break 当!F B break

25