伊犁师范学院计算机系:《C语言程序设计》第二章 程序的灵魂一算法

第二章程序的灵魂一算法 算法的概念 简单算法举例 算法的特性 怎样表示一个算法 结构化程序设计方法
第二章 程序的灵魂—算法 算法的概念 简单算法举例 算法的特性 怎样表示一个算法 结构化程序设计方法

§2.1算法的概念 程 对数据的描述 设 数据结构 在程序中指定数据的类型 计 指定数据的组织形式 程算法 对操作的描述 即操作步骤 序 第二章程序的灵魂一算法 程序设计方法 算法解决的是做什么? 怎么做? 语言工具和环境 程序三数据结构+算法+程序设计方法+语言工具和环境
程 序 数据结构 算 法 程序设计方法 语言工具和环境 对数据的描述 在程序中指定数据的类型 指定数据的组织形式 语 言 程 序 设 计 第 二 章 程 序 的 灵 魂 — 算 法 C 对操作的描述 即操作步骤 程序 = 数据结构+算法+程序设计方法+语言工具和环境 §2.1 算法的概念 算法解决的是做什么? 怎么做?

§22单募法半例 例2-3、判定2000-2500年中的每一年是否闰年?将结果输出 程 序算法表示如下: 设 计 设Y为被检测的年份,判断步骤: S1:2000→Y ①Y不能被4整除 S2:Y不能被4整除,输出Y不是闰 S3:Y能为4整除,但不能被100整 非闰年 第S4:Y能被100除,又能被40 否则输出” 章S5:其余输出Y不是闰年” )Y被 ②Y被4整除 程 100整除又能 但不能被100整除 序 S6:Y+1→Y 被400整除 的S7:当Y≤250时,转S2继续执行 闰年 闰年 灵 魂 判定是闰年的条件: 1、能为4整除, 算 但不能被100整除的年份 ④其他 法 2、能被100整除 又能被400整除的年份 非闰年 3、其余为非闰年
判定是闰年的条件: 1、能为4整除,但不能被100整除的年份 2、能被100整除,又能被400整除的年份 3、其余为非闰年 语 言 程 序 设 计 第 二 章 程 序 的 灵 魂 — 算 法 C 算法表示如下: 设Y为被检测的年份,判断步骤: S1:2000→Y S2:Y不能被4整除,输出Y”不是闰年“,转S6 S3:Y能为4整除,但不能被100整除,输出Y”是闰年“,转S6 S4:Y能被100整除,又能被400整除,输出Y”是闰年“ , 否则输出”不是闰年“,然后转S6 S5:其余输出Y”不是闰年” S6:Y+1 →Y S7:当Y≤2500时,转S2继续执行,Y>2500,算法终止 例2-3、判定2000—2500年中的每一年是否闰年?将结果输出 §2.2 简单算法举例 判定是闰年的条件: 1、能为4整除, 但不能被100整除的年份 2、能被100整除, 又能被400整除的年份 3、其余为非闰年 ① Y不能被4整除 非闰年 ② Y被4整除 但不能被100整除 闰年 ③ Y被 100整除又能 被400整除 闰年 ④ 其他 非闰年

§2.3算法的特性 程 有穷性 在合理的范围内,执行有限的操作步骤 确定性 算法中每一步骤都应是确定的,不能有两种可能的含义 、有零个或多个输入 第二章程序的灵 执行算法时,可从外界获取信息,也可不需要任何输入 算法的目的为“求解”,没有输出(解)的算法没有意 五、有效性 算法 算法的每一个步骤应当是可执行的,并有确定的结果
语 言 程 序 设 计 第 二 章 程 序 的 灵 魂 — 算 法 C 一、有穷性 在合理的范围内,执行有限的操作步骤 §2.3 算法的特性 二、确定性 算法中每一步骤都应是确定的,不能有两种可能的含义 三、有零个或多个输入 执行算法时,可从外界获取信息,也可不需要任何输入 四、有一个或多个输出 算法的目的为“求解”,没有输出(解)的算法没有意 义 五、有效性 算法的每一个步骤应当是可执行的,并有确定的结果

§2.4,样表示一个算法 程 当P为真 设 计 B A 直到P为真 第二章程序 endif END(算法结束) 灵‖五、用伪代码表示算法 魂一算法 用介于自然语言和计算机语言之间的文字和符号表示 六、用计算机语言表示算法
美国国家标准化协会规定了一些常用的流程图符号表示算法 优点:通俗易懂;缺点:文字冗长,易出现“歧义性” 语 言 程 序 设 计 第 二 章 程 序 的 灵 魂 — 算 法 C 一、用自然语言表示算法 人们日常使用的语言:汉语、英语或其他语言 §2.4 怎样表示一个算法 二、用流程图表示 用图框表示算法的各种操作 三、改进型流程图表示 用三种基本流程单元结构表示算法的各种操作 四、用N-S流程图表示算法 73年产生,全部算法在一个矩形框内表示 五、用伪代码表示算法 用介于自然语言和计算机语言之间的文字和符号表示 六、用计算机语言表示算法 BEGIN(算法开始) While y<=2500 { if y被4整除 if y 不被100整除 print y; “ 是闰年 ” else if Y 被400整除 print y; “ 是闰年 ” else print Y; “ 不是闰年 ” endif endif else print y; “ 不是闰年 ” endif y+1→Y } END(算法结束) A 直到P为真 当P为真 P A A B A 真 假 B

§2.5结构化程序设计方法 科自顶向下、逐步细化、模块化设计、结构化编码 H顶层设计 工作报告 第二层 2/设计工广概况前一阶段工作情况当前遇到的问题今后的打算 第三层第第第 程设计 序 灵 魂 算 考虑周全、结构清晰、层次分明、易写易读、易实现 法
语 言 程 序 设 计 第 二 章 程 序 的 灵 魂 — 算 法 C 自顶向下、逐步细化、模块化设计、结构化编码 §2.5 结构化程序设计方法 考虑周全、结构清晰、层次分明、易写易读、易实现 顶层设计 工作报告 工厂概况 前一阶段工作情况 当前遇到的问题 今后的打算 第二层 设计 第 一 点 第 二 点 第 三 点 第三层 设计
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 伊犁师范学院计算机系:《C语言程序设计》第一章 C语言概述.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)上机作业.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第八章 排序.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第七章 查找.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第六章 图.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第五章 树.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第四章 数组.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第三章 栈和队列.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第二章 线性表.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第一章 绪言.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第九章 查找 散列(Hashing)哈希表.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第9章 查找(静态查找表 二叉排序树 平衡二叉树(AVL树)).ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)动态查找结构.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第七章 图.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第6章 树和二叉树.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第五章 数组和广义表.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第4章 串.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第3章 栈和队列.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第2章 线性表.ppt
- 清华大学:《数据结构》课程电子教案(PPT课件讲稿)第1章 绪论.ppt
- 伊犁师范学院计算机系:《C语言程序设计》第三章 数据类型、运犷符和表达式.ppt
- 伊犁师范学院计算机系:《C语言程序设计》第四章 简单C程序.ppt
- 伊犁师范学院计算机系:《C语言程序设计》第五章 选择结构程序设计.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_序论.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_第1章 计算机系统结构的基本.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_第2章 数据表示与指令系统.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_第3章 总线、中断与I.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_第4章 存贮体系.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_第3章习题处理.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_第4章续 直接映象及其变换.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_总复习.ppt
- 西北工业大学网络教育学院:《计算机系统结构》课程PPT讲义课件_总复习及模拟试题.ppt
- 《网络综合布线系统与施工技术》课程教学资源(学习资料)第1章 综合布线系统.pdf
- 《网络综合布线系统与施工技术》课程教学资源(学习资料)第2章 网络传输介质.pdf
- 《网络综合布线系统与施工技术》课程教学资源(学习资料)第3章 网络互联设备.pdf
- 《网络综合布线系统与施工技术》课程教学资源(学习资料)第4章 线槽规格和品种以及线缆的敷设.pdf
- 《网络综合布线系统与施工技术》课程教学资源(学习资料)第5章 网络总体方案设计.pdf
- 《网络综合布线系统与施工技术》课程教学资源(学习资料)第6章 综合布线的工程设计技术.pdf
- 《网络综合布线系统与施工技术》课程教学资源(学习资料)第7章 网络工程施工实用技术.pdf
- 《网络综合布线系统与施工技术》课程教学资源(学习资料)第9章 测试与测试的有关技术.pdf