[IT认证]哈尔滨工业大学软件工程课件-5
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
b-=5
单出口
2018/9/6
哈 尔 滨 工 业 大 学
100
110
韩 静 萍
120 130 140
… … If (A.LT.B) goto 120 If (B.LT.C) goto 110 write(6,*) C goto 140 write(6,*) B goto 140 If(A.LT.C) goto 130 goto 100 write(6,*) A continue
哈 尔 滨 工 业 大 学
DO WHILE <条件描述> <程序块/伪代码语句组>; ENDDO
韩 静 萍
REPEAT UNTIL <条件描述> <程序块/伪代码语句组>; ENDREP
--- 重复型结构
2018/9/6
哈 尔 滨 工 业 大 学
DO LOOP <条件描述> <程序块/伪代码语句组>; EXIT WHEN ENDLOOP
韩 静 萍
----- 多路选择结构
2018/9/6
哈 尔 滨 工 业 大 学
READ/WRITE TO <设备> <I/O表>
--- 输入/输出结构 韩 静 萍
2018/9/6
哈 尔 滨 工 业 大 学
韩 静 萍
Enter a vector Set Maximum to the value of the first element in the vector DO for each second one to the last IF value of THEN element is greater than the Maximum value Set Maximum to value of the element ENDDO Print the Maximum value
M2
A,B,C
F
B<C T F
A<B F
T
A<C T
打印B
打印C
打印A
----- 单入口多出口结构
2018/9/6
哈 尔 滨 工 业 大 学
M
韩 静 萍
无节制地使用了GOTO语句所产生的程序流程
2018/9/6
哈 尔 滨 工 业 大 学
一、结构化程序设计的原则
1、使用语言中的顺序、选择、重复等有限的基本控制结构表示程序 2、选用的控制结构只准许有一个入口和一个出口 3、程序语句组成容易识别的块(Block),每块只有一个入口和一个
哈 尔 滨 工 业 大 学
M1 …… for(a=1,b=1;a<=100,a++) { if (b>=20) break; if (b%3==1) { b+=3; continue; } b-=5; } ……
a=0,b=1 a++
a<=100
F T
b+=3 T
T
b>=20
F
b%3==1
韩 静 萍
F
2018/9/6
哈 尔 滨 工 业 大 学
第六章 程序编码 6.1 编码的目的
编码的目的: 是使用选定的程序设计 语言,把模块的过程性描述翻译为用该语 言书写的源程序(源代码)
韩 静 萍
模块的过程性描述 (不可执行的)
编码
源程序 (可执行的)
2018/9/6
哈 尔 滨 工 业 大 学
Winberg 的程序实验结果
2018/9/6
哈 尔 滨 工 业 大 学
请将下列的 PDL 表示的某模块的过程性描述, 改为用:1、N-S 图 2、PAD 图表示 … … execute process a REPEAT UNTIL condition X8 execute process b IF condition X1 THEN BEGIN execute process f IF condition X6 THEN REPEAT UNTIL condition X7 execute process i ENDREP ELSE BEGIN execute process g execute process h END ENDIF END
来自百度文库
韩 静 萍
DO FOR <下标=下标表,表达式> <程序块/伪代码语句组>; ENDFOR
--- 重复型结构
2018/9/6
哈 尔 滨 工 业 大 学
CASE OF <case 变量名>; WHEN < case 条件1> SELECT <程序块/伪代码语句组>; WHEN < case 条件2> SELECT <程序块/伪代码语句组>; … … DEFAULT: < 缺省或错误case: <程序块/伪代码语句组>; ENDCASE
韩 静 萍
2018/9/6
哈 尔 滨 工 业 大 学
韩 静 萍
ELSE CASE OF Xi WHEN condition X2 SELECT DO WHILE condition X5 execute process C ENDDO WHEN condition X3 SELECT process d WHEN condition X4 SELECT process e ENDCASE ENDIF ENDREP execute process j END
评判 名次 项目 编码要求 结果
清晰性 程序 1-2 1-2 4 5 3 输出 2 1 4 3 3
效率 内存数 3 5 1 2 4 语句数 3 5 2 1 4
开发 时间 4 2-3 5 2-3 1
韩 静 萍
程序可读性最佳 输出可读性最佳 占内存最小 语句数最少 开发时间最短
2018/9/6
哈 尔 滨 工 业 大 学
6.2 结构化程序设计 (Structured Programming)
韩 静 萍
结构化程序设计是一种设计程序的技术,它采用 自顶向下逐步细化的设计方法和单入口(Single entry) 单出口(Single exit)的控制结构。 这种控制结构包 括有: 顺序、选择和循环。
2018/9/6
单入口
Input array A Max=A(1) DO for I=2 to N IF Max<A(I) Set Max=A(I) ENDIF ENDDO Print Max
2018/9/6
哈 尔 滨 工 业 大 学
请按下列给出的文字要求,用 PDL 描述其该模块的算法
韩 静 萍
设某模块的功能是:读入任意长的 一段英文课文,将其分解为单字。然后 输出一个单词表,并指出每个单词在课 文中所出现的次数。
单出口
2018/9/6
哈 尔 滨 工 业 大 学
100
110
韩 静 萍
120 130 140
… … If (A.LT.B) goto 120 If (B.LT.C) goto 110 write(6,*) C goto 140 write(6,*) B goto 140 If(A.LT.C) goto 130 goto 100 write(6,*) A continue
哈 尔 滨 工 业 大 学
DO WHILE <条件描述> <程序块/伪代码语句组>; ENDDO
韩 静 萍
REPEAT UNTIL <条件描述> <程序块/伪代码语句组>; ENDREP
--- 重复型结构
2018/9/6
哈 尔 滨 工 业 大 学
DO LOOP <条件描述> <程序块/伪代码语句组>; EXIT WHEN ENDLOOP
韩 静 萍
----- 多路选择结构
2018/9/6
哈 尔 滨 工 业 大 学
READ/WRITE TO <设备> <I/O表>
--- 输入/输出结构 韩 静 萍
2018/9/6
哈 尔 滨 工 业 大 学
韩 静 萍
Enter a vector Set Maximum to the value of the first element in the vector DO for each second one to the last IF value of THEN element is greater than the Maximum value Set Maximum to value of the element ENDDO Print the Maximum value
M2
A,B,C
F
B<C T F
A<B F
T
A<C T
打印B
打印C
打印A
----- 单入口多出口结构
2018/9/6
哈 尔 滨 工 业 大 学
M
韩 静 萍
无节制地使用了GOTO语句所产生的程序流程
2018/9/6
哈 尔 滨 工 业 大 学
一、结构化程序设计的原则
1、使用语言中的顺序、选择、重复等有限的基本控制结构表示程序 2、选用的控制结构只准许有一个入口和一个出口 3、程序语句组成容易识别的块(Block),每块只有一个入口和一个
哈 尔 滨 工 业 大 学
M1 …… for(a=1,b=1;a<=100,a++) { if (b>=20) break; if (b%3==1) { b+=3; continue; } b-=5; } ……
a=0,b=1 a++
a<=100
F T
b+=3 T
T
b>=20
F
b%3==1
韩 静 萍
F
2018/9/6
哈 尔 滨 工 业 大 学
第六章 程序编码 6.1 编码的目的
编码的目的: 是使用选定的程序设计 语言,把模块的过程性描述翻译为用该语 言书写的源程序(源代码)
韩 静 萍
模块的过程性描述 (不可执行的)
编码
源程序 (可执行的)
2018/9/6
哈 尔 滨 工 业 大 学
Winberg 的程序实验结果
2018/9/6
哈 尔 滨 工 业 大 学
请将下列的 PDL 表示的某模块的过程性描述, 改为用:1、N-S 图 2、PAD 图表示 … … execute process a REPEAT UNTIL condition X8 execute process b IF condition X1 THEN BEGIN execute process f IF condition X6 THEN REPEAT UNTIL condition X7 execute process i ENDREP ELSE BEGIN execute process g execute process h END ENDIF END
来自百度文库
韩 静 萍
DO FOR <下标=下标表,表达式> <程序块/伪代码语句组>; ENDFOR
--- 重复型结构
2018/9/6
哈 尔 滨 工 业 大 学
CASE OF <case 变量名>; WHEN < case 条件1> SELECT <程序块/伪代码语句组>; WHEN < case 条件2> SELECT <程序块/伪代码语句组>; … … DEFAULT: < 缺省或错误case: <程序块/伪代码语句组>; ENDCASE
韩 静 萍
2018/9/6
哈 尔 滨 工 业 大 学
韩 静 萍
ELSE CASE OF Xi WHEN condition X2 SELECT DO WHILE condition X5 execute process C ENDDO WHEN condition X3 SELECT process d WHEN condition X4 SELECT process e ENDCASE ENDIF ENDREP execute process j END
评判 名次 项目 编码要求 结果
清晰性 程序 1-2 1-2 4 5 3 输出 2 1 4 3 3
效率 内存数 3 5 1 2 4 语句数 3 5 2 1 4
开发 时间 4 2-3 5 2-3 1
韩 静 萍
程序可读性最佳 输出可读性最佳 占内存最小 语句数最少 开发时间最短
2018/9/6
哈 尔 滨 工 业 大 学
6.2 结构化程序设计 (Structured Programming)
韩 静 萍
结构化程序设计是一种设计程序的技术,它采用 自顶向下逐步细化的设计方法和单入口(Single entry) 单出口(Single exit)的控制结构。 这种控制结构包 括有: 顺序、选择和循环。
2018/9/6
单入口
Input array A Max=A(1) DO for I=2 to N IF Max<A(I) Set Max=A(I) ENDIF ENDDO Print Max
2018/9/6
哈 尔 滨 工 业 大 学
请按下列给出的文字要求,用 PDL 描述其该模块的算法
韩 静 萍
设某模块的功能是:读入任意长的 一段英文课文,将其分解为单字。然后 输出一个单词表,并指出每个单词在课 文中所出现的次数。