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