网站大量收购独家精品文档,联系QQ:2885784924

结构化程序设计、算法评价[精选].ppt

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
结构化程序设计、算法评价[精选]

结构化程序设计、算法评价 江苏省金湖中学 张厚林 结构化程序设计 荷兰学者Dijkstra提出了“结构化程序设计”的思想,规定了一套方法,使程序具有合理的结构,以保证和验证程序的正确性。 重要目的:是使程序具有良好的结构,使程序易于设计,易于理解,易于调试修改,以提高设计和维护程序工作的效率。 结构化程序设计 结构化程序规定了三种基本结构作为程序的基本单元:顺序、分支、循环结构。 (1) 顺序结构 它是最简单,最基本的一种 结构。在这个结构中的各块 是只能顺序执行的。每一块 可以包含一条或若干条可执 行的指令。 结构化程序设计 (2) 判断选择结构 根据给定的条件是否满足执行A块或B块 结构化程序设计 (3)循环结构 “当型”循环:当给定的条件满足是执行A块,否则不执行A块而执行循环后面的部分。 “直到型”循环:执行A块直到满足给定的条件为止(满足了条件就不再执行A块)。 这两种循环的区别是:当型循环是先判断(条件)再执行,而直到型循环是先执行后判断。 结构化程序设计 三种基本结构都具有以下特点: ① 有一个入口; ② 有一个出口; ③ 结构中每一部分都应当有被执行到的机会,也就是说,每一部分都应当有一条从入口到出口的路径通过它(至少通过一次); ④ 没有死循环(无终止的循环)。 结构化程序设计 描述一个问题求解的算法有多种方法,常用的有自然语言,流程图(包括N—S图)、程序设计语言、伪代码等。 在结构化程序设计中,使用一种“结构化流程图”,所谓流程图是用图形来表示程序设计的方法,它采用一些几何图形来代表各种性质的操作,是程序设计中广泛使用的一种辅助设计手段.。 结构化程序设计 N-S结构化流程图 (1)一条简单的指令,用一个矩形框来表示: 顺序结构可以表示: 结构化程序设计 交换两个变量的值的过程: 结构化程序设计 (2)判断选择结构 结构化程序设计 判断某一年份(year)是否闰年就是一个选择结构,闰年的判断方法是:如果此年份是400倍数,则它是闰年,或者此年份不是100的倍数却是4的倍数,则它也是闰年。 结构化程序设计 与框图对应if-then语句为: if year mod 100 = 0 then if year mod 400 = 0 then writeln(‘yes’)     else writeln (‘no’) else if year mod 4 = 0 then writeln (‘yes’) else writeln(‘no’) 结构化程序设计 (3)循环结构 结构化程序设计 判断一个自然数是否为质数的算法可用当型循环结构流程图来表示: 结构化程序设计 [例1]用筛选法找出n以内的所有素数(就是质数),并按每行10个数的形式打印出来.n=25时,用筛选法选素数的过程如下: (1) 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 (2) 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 (3) 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 (4) 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 (5) 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 结构化程序设计 首先确定2是素数,接着把凡是2的倍数的那些数筛去,过程见步骤(2),其中带有圆圈的数就是被筛去的数。接着把凡是3的倍数的那些数筛去,过程见步骤(3)。接着把凡是4的倍数的那些数筛去, 过程见步骤(4)。接着在把凡是5的倍数的那些数筛去,过程见步骤(5)。这时数列中剩下的未被筛去那些数就都是素数。 结构化程序设计 结构化程序设计 write(Input n:); readln(n); for i:=2 to maxn do prime[i]:=1; i:=2; while i*i=n do begin  j:=i*2;  while j=n do begin prime[j]:=0; j:=j+i end; i:=i+1 end; for i:=2 to n do  if prime[i]=1 then write(i:8); writeln 结构化程序设计 在某些程序中,一些具有相似功能的程序段在程序的不同位置反复出现,通常将这些重复出现的程序段抽出来,单独书写成为子程序,并通过一个标识符加以标识,在程序中凡是出现这个程序段的

文档评论(0)

dart003 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档