C程序设计配套PPT及课后习题答案C2-算法.ppt

C程序设计配套PPT及课后习题答案C2-算法.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计配套PPT及课后习题答案C2-算法

什么是程序? 2.1 算法的概念 做任何事都有一定的次序和步骤 如:召开会议,报考大学,购物等 计算机算法分两大类别 2.2 简单算法举例 * 第二章 程序的灵魂-算法 2.1 算法的概念 算法:为解决一个问题所采取的步骤的精确描述。 一个比喻: 厨师做菜:需要菜谱(例如:什锦肉片) 原料 操作步骤 萝卜、白菜、西红柿、肉片…… 1.把萝卜切片…… 2.小火烹肉至八成熟…… 3.将…… 什锦肉片的菜谱! 菜谱 沃思公式:   数据结构+算法=程序 :对数据的描述, 要指定数据的类型、数据的组织形式 :对操作的描述, 即操作步骤。 具体化: 程序=算法+数据结构+程序设计方法+ 语言工具和环境  从广义的角度 算法是为解决一个问题而采取的方法和步骤。 注意: 解决同一个问题可以有不同的方法和步骤,方法有优劣之分, 采用简单的和运算步骤少的方法为优! 1、数值运算算法 2、非数值运算算法 目的是求数值解,算法成熟 种类繁多,要求各异,难以规范 思考以下问题的算法:   一位商人有9枚银元,其中有1枚略轻的是假银元。你能用天平(不用砝码)将假银元找出来吗? 解: 1.把银元分成3组,每组3枚。     2.先将两组分别放在天平的两边。如果天平不平衡,那边假银元就放在轻的那一组;如果天平左右平衡,则假银元就在末称的第3组里。 3.取出含假银元的那一组,从中任取两枚放在天平的两边。如果左右不平衡,则轻的那一边就是假银元;如果天平两边平衡,则末称的那一枚就是假银元。 例1 求1×2×3×4×5 手工计算方法: 1×2,得2; ① 2×3,得6; ② 6×4,得24; ③ 24×5=120 ④ 通用的方法: 设两个变量(被乘数p,乘数i) S1: 1=p S2: 2=i S3: p×i=p S4: i+1=i S5: 若i≤5,返回S3;否则结束 S1: 1=p S2: 3=i S3: p×i=p S4: i+2=i S5: 若i≤11,返回S3;否则结束 如果题目改为求1×3×5×7×9×11 用这种方法表示的算法具有通用性、灵活性 例2 有50个学生,要求将他们之中成绩在80分以上者打印出来. 用n表示学生学号,n1代表第一个学生学号,ni代表第i个学生的学号,g代表学生成绩,gi代表第i个学生成绩。 算法如下: S1: 1=i S2: 若gi≥80则打印ni和gi,否则不打印 S3: i+1=i S4: 若i≤50返回S2,否则算法结束 2.3算法的特性 一个算法应具有以下特点: 1.有穷性 2.确定性 3.有零个或多个输入 4.有一个或多个输出 5.有效性 程序设计人员设计算法,并根据算法编写程序 2.4 怎样表示一个算法 1.用自然语言表示算法 2.用流程图表示算法 通俗易懂,但文字冗长,容易产生歧义。 直观形象,容易理解。 例1 用流程图表示算法:1×2×3×4×5 S1: 1=p S2: 2=i S3: p×i=p S4: i+1=i S5: 若i≤5,返回S3;否则结束 循环体 开始 1=p 2=i p×i=p i+1=i i≤5 N 结束 Y 例2 有50个学生,要求将他们之中成绩在80分以上者打印出来.用流程图表示算法。 S1: 1=i S2: 若gi≥80则打印ni和gi,否则不打印 S3: i+1=i S4: 若i≤50返回S2,否则算法结束 开始 1=i gi≥80 Y N 打印ni和gi i+1=i i≤50 Y N 结束 算法的三种基本结构 A B a b . . 顺序结构 选择结构 p A B 成立 不成立 . . a b 当 型 (while) 循 环 p 成立 A . b a . A p 不成立 成立 a b . . 直 到 型 (until) 循 环

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档