- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
天津师范大学计算机与信息工程学院硕士研究生课程讲义
程序设计方法学
第三章: 结构化程序设计方法
2
1
3.1 结构化程序设计概述
有关结构化程序设计的一些观点
• 结构化程序设计是指导我们编写程序的一般方法
• 结构化程序设计是一种避免使用GOTO语句的程序设计
• 结构化程序设计是自顶向下逐步求精的程序设计
• 结构化程序设计把任意规模和复杂度的流程图转化为一
种标准形式,以便用迭代表示,并嵌套少数基本而标准
的控制逻辑结构(顺序、选择、循环)
•• 结构化程序设计是一种组织和编制程序的方法结构化程序设计是一种组织和编制程序的方法,利用它利用它
编制的程序易于理解和修改。
• 结构化程序设计是控制复杂性的理论和训练方法
• 结构化程序设计的一个主要功能是使程序正确性证明易
于实现
3
结构化程序设计的特征
• 模块化
• 自顶向下,逐步求精
• 自底向上
模块化
• 把一个较大的程序划分为若干个子程序,每一个子程序
总是独立成为总是独立成为一个模块个模块;
• 每一个模块又可继续划分为更小的子模块;
• 程序具有一种层次结构;
注:须先进行整体分析,避免边写边想
4
2
自顶向下
• 先设计第一层(顶层),然后步步深入,逐层细分,逐
步求精,直到整个问题可用程序设计语言明确地描述出
来为止
• 步骤:首先对问题进行仔细分析,确定其输入、输出数
据,写出程序运行的主要过程和任务,然后从大的功能
方面把一个问题解决过程分成几个问题,每个子问题形
成一个模块;
• 特点:先整体后局部,先抽象后具体
5
自底向上
• 先设计底层,最后设计顶层
• 优点:由表及里、由浅入深地解决问题
• 不足:在逐步细化的过程中可能发现原来的分解细化不
够完善
• 注:主要用于修改、优化或扩充一个程序
6
3
例:求1到n之间的素数
解:
第第一步步::程序要做的工作就是从程序要做的工作就是从11开始依次对各数判断是否是素数开始依次对各数判断是否是素数,,是则是则
打印出来,否则继续往后找,直到n为止。于是,初步设想为:
begin
read(n);
number := 2;
while numbern do
begin
ifif numbernumber是一个素数是一个素数thenthen write(number);write(number);
number取下一个值;
end
end
7
第二步:细化“number是一个素数”及“number取下一个值”。
(1) 细化“number是一个素数”:
“numbernumber是是一个素数个素数”这是这是一个布尔值个布尔值,,当当numbernumber是是一个素数时为个素数时为truetrue,,
否则为false 。细化如下:
K := 2;
Lim := number-1;
repeat
if number能被k整除then prim := false
else begin k := k+1; prim := true; end;
untiluntil not(prim)not(prim) oror (k(k达到达到limli
文档评论(0)