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

大学C语言使用教程第02章算法和流程图.pptVIP

大学C语言使用教程第02章算法和流程图.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大学C语言使用教程第02章算法和流程图

C语言程序设计 唐晶磊 * * LOGO C语言程序设计 信管教研室:唐晶磊 E-Mail:tangjinglei@nwsuaf.edu.cn TelOffice:信息工程学院 306 第一章 绪论 第二章 算法与流程图 第三章 数据类型、运算符和表达式 第四章 程序的控制结构 第五章 函数 第六章 数组 第七章 指针 第八章 结构体 第九章 文件操作 目 录 1、程序=数据结构+算法 2、简单算法举例 3、算法特性 4、算法的自然语言表示 5、算法的流程图表示 6、算法的伪代码表示 第二章 算法与流程图 Niklaus Wirth, designer of Pascal Wirth, Niklaus (1976) (in English). Algorithms + Data Structures = Program. Prentice Hall. 0130224189. ISBN 978-0130224187 程序:为计算机解题编制的一组指令集 算法:处理问题的策略 数据结构:处理信息的表示 Turing Award, 1984 1、程序=数据结构+算法 求和:1+1/2+1/3+1/4+1/5+…+1/100 蛮力法: S1: 先计算1/2=0.5,再与1相加得1.5 S2: 计算1/3=0.33333,与1.5相加得1.83333 S3: 计算1/4=0.25,与1.83333相加得2.08333 … S99: 计算1/100=0.01,与5.177378相加得5.187378。 2、简单算法举例 求和:1+1/2+1/3+1/4+1/5+…+1/100 改进的算法: S1: 初始化sum=0, i=1 S2: 如果i ≤ 100,执行S3;否则执行S5 S3: sum = sum+1/i S4: i=i+1,跳转到S2 S5: 输出sum,算法结束 2、简单算法举例 从3个数A、B、C中找出最大的数。 算法1: S1: 如果AB,执行S2;否则AB执行S3 S2: 如果AC,执行S4;否则AC执行S6 S3: 如果BC,执行S5;否则BC执行S6 S4: 输出A S5: 输出B S6: 输出C 2、简单算法举例 从3个数A、B、C中找出最大的数。 算法2: S1: 初始化max=A S2: 如果AB,执行S3;否则max=B,执行S3 S3: 如果maxC,执行S4;否则max=C,执行S4 S4: 输出max 2、简单算法举例 算法的五个特点: 有输入 (Input):零或多个输入。 有输出 (Output):一或多个输出。 有穷性 (Finiteness):对于任意一组合法的输入值,在执行有穷步骤之后一定能结束。 可行性 (Effectiveness):所有操作都可通过已经实现的基本操作运算有限次来实现。 确定性 (Definiteness):算法每一步描述都无二义性,只要输入和初始状态相同,无论执行多少遍,结果都应该相同。 Turing Award, 1974 3、算法的特性 “好” 算法的特点: 正确性 (Correctness):满足问题的需求。 易读性(Readability):便于理解、测试和修改。 健壮性(Robustness):输入非法数据时,算法能做出适当处理,不会产生难以预料的结果。 时空效率 (Efficiency):执行时间短,低存储。 3、算法的特性 优点 通俗易懂 缺点 文字冗长、不直观 不适合描述分支循环结构 从3个数A、B、C中找出最大的数。 S1: 如果AB,执行S2;否则执行S3 S2: 如果AC,执行S4;否则执行S6 S3: 如果BC,执行S5;否则执行S6 S4: 输出A S5: 输出B S6: 输出C 4、算法的自然语言表示 从3个数A、B、C中找出最大的数。 结束 输出A 开始 输入A,B,C AB AC CB 输出B 输出C 是 是 是 否 否 否 5、算法的流程图表示 开始 输入A,B,C AB AC CB 输出B 输出C 是 是 是 否 否 否 结束 输出A 开始 输入A,B,C AB AC CB 输出B 输出C 是 是 是 否 否 否 结束 输出A 起止框 输入/输出框 处理框 判断框 连结点 流程线 5.1 流程图基本单元 输入50个学生的姓名和成绩,输出不及格学生的名单。 开始 结束 i=1 输入ni, si i50 是 i=1 si60 输出ni i=i+1 i50 是 i=i+1 否 是 否 否 5.2 流程图绘制例 输入50个学生的姓名和成绩,输出不及格学生的名单。 开始 结束 i=1 输入ni, si i50 是 i=1 si60 输出ni i=i+1 i50 是 i=i+1 否 是 否 否 1 1 5.2 流程图绘制

文档评论(0)

wuyoujun92 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档