东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第2章 程序的灵魂-算法

第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. 有一个或多个输出

怎样表示一个算法 1用自然语言表示算法 2传统流程图 传统流程图中的基本符号 起止框 I/O框 判断框 处理框 流程线 连接点
怎样表示一个算法 1.用自然语言表示算法 2.传统流程图 处理框 起止框 I/O框 判断框 流程线 连接点 传统流程图中的基本符号

3改进的流程图 三种基本结构的表示 (1)顺序结构 (2)选择结构 语句1 Y<条件 语句2 语句1 语句2
三种基本结构的表示 条件 语句1 语句2 语句1 Y N 语句2 (2)选择结构 3.改进的流程图 (1)顺序结构

(3)循环结构 a)当型循环 while b)直到循环 Until 条件 N 语句 条件 语句
(3)循环结构 a) 当型循环 While b) 直到循环 Until 条件 语句 Y N 条件 语句 N Y

三种基本结构的特点: (1)只有一个入口 (2)只有一个出口 (3)结构内的每一部分都有机会被执行到 (4)结构内不存在死循环
三种基本结构的特点: (1)只有一个入口 (2)只有一个出口 (3)结构内的每一部分都有机会被执行到 (4)结构内不存在死循环

开始 输入A 例:从10个数中选出 最大的数的流程图 ax 再输入A A>=Max Max =A N=N+1 打印Max 结束
N=Max Max =A 输入A 开始 再输入A N=N+1 打印Max 结束 N Y N Y 例: 从10个数中选出 最大的数的流程图
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第1章 C语言概述.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第13章 文件.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第12章 位运算.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第11章 结构体与共用体.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第10章 指针.ppt
- 东北电力大学:《C语言程序设计》C语言实验上机指导.doc
- 东北电力大学:《C语言程序设计》WORD讲义.doc
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第9章_预处理命令.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第8章_函数.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第7章_数组.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第6章_循环控制.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第5章_选择结构程序设计.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第4章_最简单的c程序设计.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第3章_数据类型、运算符与表达式.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第2章_程序的灵魂(算法).ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第1章_C语言概述.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第14章_常见错误和程序调试.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第13章_文件.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第12章_位运算.ppt
- 清华大学出版社:《C语言程序设计》教材电子教案(PPT课件,第三版)第11章_结构体与共用体.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第3章 数据类型、运算符与表达式.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第4章 顺序结构程序设计.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第5章 选择结构程序设计.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第6章 循环结构程序设计.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第7章 数组.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第8章 函数.ppt
- 东北电力大学:《C语言程序设计》课程教学资源(PPT课件)第9章 预处理命令.ppt
- 北大青鸟:《SQLServer数据库》PPT教学课件 第一章 SQL Server数据库基础.ppt
- 北大青鸟:《SQLServer数据库》PPT教学课件 第二章 SQL Server数据库表管理.ppt
- 北大青鸟:《SQLServer数据库》PPT教学课件 第三章 SQL Server数据管理.ppt
- 北大青鸟:《SQLServer数据库》PPT教学课件 第四章 数据查询(1).ppt
- 北大青鸟:《SQLServer数据库》PPT教学课件 第五章 数据查询(2).ppt
- 厦门理工学院:《单片机原理与控制技术》课程教学资源(PPT课件讲稿,第2版)第1章 微型计算机系统基本知识.ppt
- 厦门理工学院:《单片机原理与控制技术》课程教学资源(PPT课件讲稿,第2版)第2章 80C51单片机内部结构和工作原理.ppt
- 厦门理工学院:《单片机原理与控制技术》课程教学资源(PPT课件讲稿,第2版)第3章 80C51系列单片机指令系统.ppt
- 厦门理工学院:《单片机原理与控制技术》课程教学资源(PPT课件讲稿,第2版)第4章 汇编语言程序设计.ppt
- 厦门理工学院:《单片机原理与控制技术》课程教学资源(PPT课件讲稿,第2版)第5章 中断系统和定时/计数器.ppt
- 厦门理工学院:《单片机原理与控制技术》课程教学资源(PPT课件讲稿,第2版)第6章 串行通信.ppt
- 厦门理工学院:《单片机原理与控制技术》课程教学资源(PPT课件讲稿,第2版)第7章 80C51并行扩展技术.ppt
- 厦门理工学院:《单片机原理与控制技术》课程教学资源(PPT课件讲稿,第2版)第8章 80C51串行扩展技术.ppt