软件工程课后习题答案 下载本文

第一题

1、下面给出的伪码中有一个错误。请仔细阅读这段伪码,说明该伪码的语法特点,找出并改正伪码中的错误。字频统计程序的伪码如下: INITIALIZE the Program READ the first text record

DO WHILE there are more words in the text record

DO WHILE there are more words in the text record EXTRACT the next text word

SEARCH the word-table for the extracted word IF the extracted word is found INCREMENT the word’s occurrence count ELSE

INSERT the extracted word into the table END IF

INCREMENT the words-processed count END DO at the end of the text record READ the next text record

END DO when all text records have heen read PRINT the table and summary information TERMINATE the program

答:INSERT the extracted word into the table在这个后面,有没有给这个word的occurrence/count赋值为1

第二题

2、研究下面给出的伪码程序,要求: (1) 画出它的程序流程图。

(2) 它是结构化的还是非结构化的?说明理由。 (3) 若是非结构化的,则

(a) 把它改造成仅用3种控制结构的结构化程序; (b) 写出这个结构化设计的伪码; (c) 用盒图表示这个结构化程序。 (4) 找出并改正程序逻辑中的错误。

COMMENT:PROGRAM SEARCHES FOR FIRST N REFERENCES TO A TOPIC IN AN INFORMATION RETRIEVAL SYSTEM WITH T TOTAL ENTRIES INPUT N

INPUT KEYWORD(S)FOR TOPIC I=O

MATCH=0 DO WHILE I≤T I=I+1

IF WORD=KEYWORD

THEN MATCH=MATCH+1 STORE IN BUFFER END

IF MATCH=N

THEN GOTO OUTPUT END END

IF N=0 THEN PRINT ″NO MATCH″

OUTPUT:ELSE CALL SUBROUTINE TO PRINT BUFFER INFORMATION END

第三题

3、在第2题的设计中若输入的N值或KEYWORD不合理,会发生问题。 (1) 给出这些变量的不合理值的例子。

(2) 将这些不合理值输入程序会有什么后果?

(3) 怎样在程序中加入防错措施,以防止出现这些问题? (1)答:N=1,KEYWOED=#。 (2)答:无法打印出任何信息。 (3)答:加入循环

第四题 4、(1)什么是模块测试和集成测试?它们各有什么特点?

答:模块测试是对每个单独的模块,分别用黑盒和白盒测试技术,测试它的功