第2章程序的灵魂一算法 ■程序=数据结构+算法 程序包括:数据的描述和操作的描述 程序=数据结构+算法+程序设计方法+语言工具和环境 算法是灵魂,数据结构是加工对象 语言是工具,编程要有合适的方法 算法解决的是“做什么”和“怎么做”的 问题
第2章 程序的灵魂 — 算 法 算法是灵魂,数据结构是加工对象 语言是工具,编程要有合适的方法 程序包括:数据的描述和操作的描述 算法解决的是“做什么”和“怎么做”的 问题 程序= 数据结构 + 算法 程序=数据结构+算法+程序设计方法+语言工具和环境
本章内容 1算法的概念 2算法的特性 3.算法的表示 4结构化程序设计方法
1.算法的概念 2.算法的特性 3. 算法的表示 4.结构化程序设计方法 本章内容
算法的概念 1.算法的概念 广义地讲-算法是为完成一项任务所应当遵照的一步一步的 规则的、精确的、无歧义的描述,它的总步数是有限的。 狭义地讲-算法是解决一个问题采取的方法和步骤的描述。 2.算法的描述 ■日常自然语言 ■伪代码(自然语言与程序设计语言相结合) 流程图(传统流程图、NS流程图) ■程序设计语言
算法的概念 1.算法的概念 广义地讲--算法是为完成一项任务所应当遵照的一步一步的 规则的、精确的、无歧义的描述,它的总步数是有限的。 狭义地讲-- 算法是解决一个问题采取的方法和步骤的描述。 2.算法的描述 日常自然语言 伪代码(自然语言与程序设计语言相结合) 流程图(传统流程图、N—S流程图) 程序设计语言
3.简单的算法举例 例1:交换两个变量a,b的值 算法:(1)a=>t (2)b=>a (3)t>b 例2.打印50个学生中成绩高于80分的学生学号(Ni表 示学号,G表示成绩) (1)i1 (2)如果G>80则打印NiGi (3)ii+1 (4)如果i<=50,返回(2)继续执行;否则,算法结束
例1:交换两个变量a,b的值 算法:⑴ a=>t ⑵ b=>a ⑶ t=>b 例2. 打印50个学生中成绩高于80分的学生学号(Ni表 示学号, Gi表示成绩 ) (1) i=1 (2) 如果Gi>80 则 打印Ni Gi (3) i=i+1 (4) 如果i<=50,返回(2)继续执行;否则,算法结束 3. 简单的算法举例
算法的特性 1.有穷性 2.确定性 3.有效性 4.有0个或多个输入 5.有一个或多个输出
算法的特性 1. 有穷性 2. 确定性 3. 有效性 4. 有0个或多个输入 5. 有一个或多个输出