C语言程序-第二章 算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

如果计算 100 !只需将 S5: 若 i≤5 改成 i≤100即可。
算法的特性
l 有穷性:一个算法应包含有限的操作步骤 而不能是无限的。 l 确定性:算法中每一个步骤应当是确定的, 而不能应当是含糊的、模棱两可的。 l 有零个或多个输入。 l 有一个或多个输出。 l 有效性:算法中每一个步骤应当能有效地执 行,并得到确定的结果。
1. 0
5. 判断n 则,转6

100?是,转3;否
6. 输出s的值。
流 程 图 表 示
N-S 流 程 图 表 示
伪 代 码 表 示
结构化程序设计方法
一、结构化程序的三种基本结构 1966年提出三种基本结构,用这三种基 本结构作为表示一种良好算法的基本单 元:顺序、选择和循环。 任何复杂的算法都由这三种基本结构按 一定规律组成。
二、三种基本结构共同特点 1.单入口单出口 2.结构内每一部分都有机会被执行 3.不存在“死循环” 三、结构化程序设计的优点 用三种基本结构组成的程序是结构化程序。 优点:易编、易读、易懂、易维护 强调:程序设计风格和规范化 核心思想:自顶向下、逐步细化、模块化设计、 结构化编码。
结构化程序设计过程
选择结构:
循环结构:
用伪代码表示算法 -pseudo code
• 用介于自然语言和计算机语言之间的文 字和符号来描述算法。 • 如:if x is positive then print x else print -x
示例
• 计算s=
n
1
100
,写出其算法。
• 自然语言表示
s 2. 1 n 3. s+n s 4. n+1 n
1、确定算法:分析问题、(建立数学模型、 公式)写算法描述 2、编写程序:用计算机语言写出程序。 3、上机调试。
举例:我国古代数学家张丘建在《算经》 一书中提出了“百鸡问题”:鸡翁一值钱五, 鸡母一值钱三,鸡雏三值钱一。百钱买百鸡, 问鸡翁、鸡母、鸡雏各几何?
怎样表示一个算法
• • • • 用自然语言表示算法 用流程图表示算法 用N-S流程图表示算法 用伪代码表示算法
用流程图表示算法
三种基本结构和改进的流程图 1. 顺序结构:
2. 选择结构:
3. 循环结构
用N-S流程图表示算法
• 1973 年美国学者提出了一种新型流程图: N-S流程图。
• 顺序结构:
• 一个程序应包括: • 对数据的描述。在程序中要指定 数据的类型和数据的组织形式,即 数据结构(data structure)。 • 对操作的描述。即操作步骤,也 就是算法(algorithm)。
• Nikiklaus Wirth提出的公式: • 数据结构+算法=程序
算法的概念:
做任何事情都有一定的步骤。为解决一个问 题而采取的方法和步骤,就称为算法。
简单算法举例
求1×2×3×4×5。 • 最原始方法: • 步骤1:先求1×2,得到结果2。 • 步骤 2 :将步骤 1 得到的乘积 2 乘以 3 ,得 到结果6。 • 步骤3:将6再乘以4,得24。 • 步骤4:将24再乘以5,得120。
• • • •
改进的算法: S1: 使t=1 S2: 使i=2 S3: 使t×i, 乘积仍然放在在变量t中,可表 示为t×i→t • S4: 使i的值+1,即i+1→i • S5: 如果i≤5, 返回重新执行步骤 S3以及其后的 S4和S5;否则,算法结束。
相关文档
最新文档