- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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 流程图绘制
您可能关注的文档
- 增员主题早会:怎样留存你增员.ppt
- 声发射检测的基本原理〔2012年〕.pptx
- 增员精英班第1周操作手册.ppt
- 复习-上学期期末考试.ppt
- 复习三种晶体类型和性质的比较.ppt
- 声音的基本性质〔客观属性〕.ppt
- 复习一、测量及运动与能量.pptx
- 复习人力资源管理相关方面.ppt
- 复习2第2章岩体力学性质.ppt
- 复习专题6启蒙运动.ppt
- 金融产品2024年投资策略报告:积极适应市场风格,行为金融+机器学习新发现.pdf
- 交运物流2024年度投资策略:转型十字路,峰回路又转(2023120317).pdf
- 建材行业2024年投资策略报告:板块持续磨底,重点关注需求侧复苏.pdf
- 宏观2024年投资策略报告:复苏之路.pdf
- 光储氢2024年投资策略报告:复苏在春季,需求的非线性增长曙光初现.pdf
- 公用环保2024年投资策略报告:电改持续推进,火电盈利稳定性有望进一步提升.pdf
- 房地产2024年投资策略报告:聚焦三大工程,静待需求修复.pdf
- 保险2024年投资策略报告:资产负债匹配穿越利率周期.pdf
- 政策研究2024年宏观政策与经济形势展望:共识与分歧.pdf
- 有色金属行业2024年投资策略报告:新旧需求共振&工业原料受限,构筑有色大海星辰.pdf
文档评论(0)