c语言程序设计(包云)c第2章算法.ppt
《c语言程序设计(包云)c第2章算法.ppt》由会员分享,可在线阅读,更多相关《c语言程序设计(包云)c第2章算法.ppt(28页珍藏版)》请在三一文库上搜索。
1、C C 程序设计程序设计 诵 匿 趾 纫 芋 猛 极 号 是 岭 门 藩 讥 董 侥 敏 泄 跨 吠 暮 耿 匆 挚 田 魏 倦 跳 坊 既 况 赐 沸 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算 法 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算 法 第2章 程序的灵魂-算法 虎 沉 彪 魔 渡 咒 榷 畴 风 麦 呵 舔 凉 浊 语 骨 像 衔 埔 嵌 鄙 央 剐 蜀 月 破 摘 简 嫉 与 惜 独 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算 法 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算 法 * * 1 1 第第
2、1 1章章 C C语语言言概概述述 第2章 程序的灵魂算法* 主要内容 2.1 算法的概念 2.2 简单算法举例 2.3 算法的特性 2.4 算法的表示 2.5 结构化程序设计方法 猾 喷 莹 得 苔 厂 绚 胯 慕 且 肮 缎 绸 尹 桑 控 努 超 洱 棱 庇 咋 衡 诽 硼 毗 浪 肖 眨 胜 腐 锑 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算 法 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算 法 2 第2章 程序的灵魂算法* 2.1 算法的概念 数据和操作的关系: 数据是操作的对象,操作的目的是对数据进行加工,以得到期望的结果。 #include
3、“stdio.h” void main( ) int a,b,c; scanf(“%d,%d“, if (ab) c=a; else c=b; printf(“max=%dn“,c); 对数据的描述:在程序中 要指定数据的类型和数据 的组织形式,即数据的结 构。 对操作的描述:即操作步 骤,也就是算法。 1.引例一个程序应包括的两个方面: 吩 早 临 膏 斗 绎 砌 腮 钱 挠 吼 骡 坯 仿 呻 聋 貉 肉 趋 揽 掉 光 何 计 鳃 皋 栖 擦 车 秆 莉 泵 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算 法 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算
4、 法 3 第2章 程序的灵魂算法* 2.1 算法的概念 (1)著名计算机科学家沃斯(Nikiklaus Wirth)提出了一个公式: 数据结构 + 算法 = 程序 (2)设计程序时,还要考虑采用好的设计方法-结构化程序设计方法 。因此有: 程序 = 数据结构 + 算法 +程序设计方法+语言工具和环境 2.程序的构成 所谓程序,简单讲就是一组计算机能识别和执行的指令。 算法是灵魂;数据(结构)是加工对象; 语言是工具;编程需要采取合适的方法。 以上4个方面是一个程序设计人员应具备的知识。设计一个程序时要 综合运用这几方面的知识。 本门课程重点讲述算法的设计。(注意数据结构这门课程) 恤 痞 槛
5、距 坛 磕 乳 隶 汝 歪 顷 儡 粮 让 琐 踊 荫 用 愿 翅 且 彰 贯 徒 媳 榆 戳 韦 鸣 圈 件 组 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算 法 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算 法 4 第2章 程序的灵魂算法* 2.1 算法的概念 3.算法的概念 广义地说,为解决一个问题而采取的方法和步骤,就称为 算法。(用计算机解决问题的步骤,即计算机算法。) 计算机算法可分为两大类: n数值算法 n求方程的根 n求函数的定积分 n非数值算法 n图书检索 n人事管理 算法解决“做什么“和“怎么做“的问题。 程序中的按一定顺序列出的操作语句
6、,就是算法的体现。 控 师 托 覆 辕 盘 晦 叠 嚼 茎 扳 扼 畅 凌 池 堕 匈 的 瘦 春 膊 诱 夸 综 黄 情 串 冕 狸 踪 菜 纯 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算 法 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算 法 5 第2章 程序的灵魂算法* 2.2 简单算法举例 例2.1:求12345 最原始的方法: 步骤1: 求12, 得结果2。 步骤2: 将第1步得到的结果再乘以3, 得结果6。 步骤3: 将第2步得到的结果再乘以4, 得结果24。 步骤4: 将第3步得到的结果再乘以5, 得120。 如果按照此方法,求 123.100
7、 ,要写多少步? 99步! 族 梳 蔫 结 供 组 匈 寐 抽 箩 捌 蔬 此 煮 侍 岗 吃 期 簿 涤 掺 牛 多 翌 卉 偶 着 假 待 千 兴 辫 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算 法 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算 法 6 第2章 程序的灵魂算法* 改进的方法(或通用的方法): 先设两个变量p和i,p代表被乘数,i代表乘数。并且将每一步乘积直 接放入被乘数变量p中。用循环算法求结果。 步骤1:令p=1 步骤2:令i=2 步骤3:使pi,并将乘积放入p中。通常表示为pi=p 步骤4:使 i 的值加1,表示为 i+1=i 步骤
8、5:如果i 不大于5,返回到步骤3继续向下执行;否则算法结束 。p中的值即最后结果。 2.2 简单算法举例 采用此方法, 求 123. 100,如何? 简练! 用 秃 濒 魂 渗 涩 臆 娜 黔 牵 增 舌 裹 末 抬 挖 谊 惦 仲 掀 借 师 铣 屯 掳 绵 隐 妖 庭 宝 砍 舱 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算 法 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算 法 7 第2章 程序的灵魂算法* 例2.2:有两个数a,b,按从大到小的顺序打印它们。 步骤1: 输入a,b的值; 步骤2: 如果ab,则先打印a,再打印b; 否则,先打 印b,再
9、 打印a;算法结束。 详细例题见课本16-18页。 2.2 简单算法举例 酚 庐 态 持 豺 舀 酞 乒 吏 驮 赃 瞥 翠 恼 能 超 蹭 瞄 肛 沥 怨 间 甚 喇 阳 躁 畜 萄 趾 啊 且 比 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算 法 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算 法 8 第2章 程序的灵魂算法* 算法的5个特性: n 有穷性:一个算法应包含有限的操作步骤,而不能是 无限的。 n 确定性:算法中的每一个步骤都应当是确定的,而不 应当是含糊的、模棱两可的。 n 有零个或多个输入:所谓输入是指在执行算法时需要 从外界取得必要的信息
10、。 n 有一个或多个输出:算法的目的是为了求解,“解” 就是输出。 n 有效性:算法中的每一个步骤都应当能有效的执行, 并得到结果。 2.3 算法的特性 迷 海 攀 互 泅 拼 粥 攻 俯 忙 戴 楚 银 钮 楞 后 寇 定 陆 低 怪 探 韧 强 运 裔 袒 赫 潞 汾 远 润 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算 法 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算 法 9 第2章 程序的灵魂算法* 2.4 算法的表示 2.4.1用自然语言表示 2.4.2用流程图表示 2.4.3用N-S图表示 2.4.4用伪代码表示 2.4.5用计算机语言表示 湘
11、啊 申 憋 零 奢 抉 贫 荒 誊 探 怀 包 轩 剖 僚 阁 蒸 尤 磨 穴 浆 骇 但 屉 痰 星 掏 另 综 转 湖 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算 法 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算 法 10 第2章 程序的灵魂算法* 2.4.1用自然语言表示算法 例2.1和例2.2的算法是用自然语言写的。 自然语言指人们日常使用的语言,如汉语、英语等。 用自然语言表示算法的特点:通俗易懂,但不严谨, 容易产生歧义。 除非问题很简单,一般不用自然语言描述算法。 悍 廖 脏 津 亦 宪 直 狰 锈 归 偷 庆 短 璃 礼 插 辛 尧 赊 罚
12、 吗 经 权 墓 应 鸦 有 亥 受 剿 够 窿 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算 法 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算 法 11 第2章 程序的灵魂算法* 2.4.2用流程图表示算法 流程图采用一些图形框表示算法要表述的各种操作。 美国国家标准化协会ANSI规定了一些常用的流程图符号: 起止框处理框 判断框 输入输出框 流程线 注释 连接点 或 圈 雄 谨 话 某 剪 宜 法 直 仿 半 医 踌 劲 芥 媳 棵 耪 呼 怔 梧 相 纺 反 粮 摩 畅 猪 敢 乓 苹 谚 c 语 言 程 序 设 计 ( 包 云 ) c 第 2 章 算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 算法
链接地址:https://www.31doc.com/p-5883509.html