简单算法的举例c语言,计算机科学与技术系C语言程序设计22简单算法举例.PPT

计算机科学与技术系C语言程序设计22简单算法举例

第2章 程序的灵魂——算法 本章主要介绍算法的思想及算法的表示方法。 2.0 绪论 2.1 算法的概念 2.2 简单算法举例 2.3 算法的特性 2.4 怎样表示一个算法 2.5 结构化程序设计方法 2.0 绪论 一个程序应包括的两个方面: (1)对数据的描述 在程序中要指定数据的类型和数据的组织形式,即数据的结构。 (2)对操作的描述 即操作步骤,也就是算法。 数据和操作的关系: 数据是操作的对象,操作的目的是对数据进行加工,以得到期望的结果。 2.0 绪论 著名计算机科学家沃斯(Nikiklaus Wirth)提出了一个公式: 数据结构 + 算法 = 程序 在设计程序时,还要考虑采用好的设计方法-------结构化程序设计方法。因此有: 程序 = 数据结构 + 算法 +程序设计方法+语言工具和环境 以上4个方面是一个程序设计人员应具备的知识。设计一个程序时要综合运用这几方面的知识。 本门课程重点讲述算法的设计。 2.0 绪论 上述四个方面中: 算法是灵魂; 数据结构是加工对象; 语言是工具; 编程需要采取合适的方法。 算法解决"做什么"和"怎么做"的问题。 程序中的按一定顺序列出的操作语句,就是算法的体现。 通过本门课,大家学会使用c语言的语法编写不太复杂的c程序。 2.1 算法的概念 广义的说,为解决一个问题而采取的方法和步骤,就成为“算法”。 计算机算法:用计算机解决问题的方法 和步骤。 计算机算法可分为:数值算法和非数值算法。 2.2 简单算法举例 例2.1:求1X2X3X4X5 最原始的方法: 步骤1: 求1×2, 得结果2。 步骤2: 将第1步得到的结果再乘以3, 得结果6。 步骤3: 将第2步得到的结果再乘以4, 得结果24。 步骤4: 将第3步得到的结果再乘以5, 得120。即最后结果。 想一想:如果按照此方法,求1×2×3×...×100, 要写多少步? (99步) 因此,上述计算方法不可取! 2.2 简单算法举例 改进的方法(或通用的方法): 先设两个变量p和i,p代表被乘数,i代表乘数。并且将每一步乘积直接放入被乘数变量p中。用循环算法求结果。 步骤1:令p=1 步骤2:令i=2 步骤3:使p x i,并将乘积放入p中。通常表示为 p × i => p 步骤4:使 i 的值加1,表示为 i+1=> i 步骤5:如果i 不大于5,返回到步骤3继续向下执行;否则算法结束。p中的值即最后结果。 想一想: 采用此方法求1 × 2×3×...×100,如何? 2.2 简单算法举例 例2.2: 有50个学生,要求将他们之中成绩在80分以上者打印出来。用n表示学生学号,n1代表第一个学生学号,ni代表第i个学生的学号。用g代表学生成绩,gi代表第i个学生的成绩,算法表示如下: 步骤1:1→i 步骤2:如果gi≧80,则打印ni和gi,否则不打印 步骤3:i+1 →i 步骤4:如果i≦50,返回步骤2,继续执行;否则算法结束。 2.2 简单算法举例 例2.3 判定2000——2500年中的每一年是否闰年,将结果输出。 闰年的条件是: ①能被4整除,但不能被100整除的年份都是闰年; ②能被100整除,又能被400整除的年份是闰年。 不符合这两个条件的年份不是闰年。 算法可表示如下: 2.2 简单算法举例 设y为被检测的年份。 S1:2000→y S2:若y不能被4整除,则输出y“不是闰年”。然后转到S6 S3:若y能被4整除,不能被100整除,则输出y“是闰年”。然后转 到S6 S4:若y能被100整除,又能被4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值