计算机科学与技术系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

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

  1. 以计算机专业为主的活动,院系宣传 | 计算机科学与技术系:以梦为码

    原标题:院系宣传 | 计算机科学与技术系:以梦为码 院系概况 南京大学的计算机科学与技术学科建设始于1958年,1993年更名为计算机科学与技术系.南京大学计算机科学与技术系在建系前和建系初期就曾取得 ...

  2. 关于计算机软件工程的辩论赛,计算机科学与技术系辩论赛总决赛圆满落幕

    (通讯员:卢柏亮.欧世贵)2019年12月5日晚上7:30分,计算机科学与技术系辩论赛决赛于三栋阶梯一隆重拉开帷幕,进入决赛的两个班级是一路过关斩将的19级计科一班和19级软件工程一班,围绕" ...

  3. 清华大学计算机科学与技术系朱军教授:机器学习里的贝叶斯基本理论、模型和算法...

    雷锋网[AI科技评论]按:3月3日,中国人工智能学会AIDL第二期[人工智能前沿讲习班]在北京中科院自动化所举行,本期讲习班的主题为[机器学习前沿].周志华教授担任学术主任,前来授课的嘉宾均为中国机器 ...

  4. 清华大学计算机科学与技术系朱军教授:机器学习里的贝叶斯基本理论、模型和算法

    [转] http://www.leiphone.com/news/201703/djm3u9LLqylr3C8N.html 雷锋网[AI科技评论]按:3月3日,中国人工智能学会AIDL第二期[人工智能 ...

  5. 运城学院C语言题目,C语言课程设计实验报告【运城学院计算机科学与技术系】.doc...

    C语言课程设计.通讯录管理系统 第 PAGE 4 页 共 NUMPAGES 14 页 <程序设计基础> 课程设计报告 课程设计题目 通讯录管理系统 指导教师:____李 萍____ 班 级 ...

  6. 中央电大 c语言程序设计a 试题,中央电大开放本科计算机科学与技术专业C语言程序设计(A)试题_1007...

    中央电大开放本科计算机科学与技术专业C语言程序设计(A) 试卷代号: 1 2 5 3 中央广播电视大学 2 0 0 9 座位号 2010学年度第二学期"开放本科"期末考试 C语言程 ...

  7. 南京大学计算机科学系照片,欧拉图-南京大学计算机科学与技术系.pdf

    欧拉图-南京大学计算机科学与技术系 欧拉图 离散数学─图论初步 南京大学计算机科学与技术系 内容提要  欧拉通路/ 回路  欧拉图的充要条件  半欧拉图的充要条件  构造欧拉回路的Fleury ...

  8. 长春师范大学计算机科学与技术团委,计算机科学与技术系团总支学生分会纳新公告...

    计算机科学与技术系 团总支学生分会纳新公告 一.纳新部门:计算机科学与技术系团总支学生分会 二.纳新时间:笔试:2013年10月11日晚7:30-9:00 面试:2013年10月13日下午3:00-5 ...

  9. 南京大学计算机科学与技术系公开课,讲座 南京大学计算机科学与技术系.ppt

    讲座 南京大学计算机科学与技术系 粒子系统 用许多简单的分数小粒子作为基本元素来表示一个不规则地运动着的模糊物体(如烟.雾). 这些"粒子"都具有"生命",它们 ...

最新文章

  1. 计算机函数模式的用处是啥,请问怎么理解计算机中的函数?
  2. AD下批量导入域用户
  3. linux不能挂载手机,这个无法挂载的信息是怎么回事?
  4. [SimpleOJ238]宝藏探寻
  5. centos pptp+l2tp+radius+mysql+tc限速,安装配置
  6. HR问:“你能熬夜吗?”,你会如何回答?
  7. SylixOS 无Uboot版BSP
  8. 数人科技:打造服务传统金融平台
  9. 128. Longest Consecutive Sequence
  10. 自制 .NET Core 路由调试中间件
  11. c语言最大公约数和最小公倍数_五年级奥数课堂之七:公因数和公倍数
  12. hdu1176 免费馅饼 动态规划 二维数组实现
  13. 设计模式笔记-命令模式
  14. 单词的长度(信息学奥赛一本通-T1142)
  15. Java Web学习笔记03:JSP元素
  16. 计算机应用与维修的视频,开关电源原理与维修视频全集(1-30集)
  17. 用友u8怎么导出凭证_用友U8V10.1ERP怎么生成期间损益结转凭证的图文操作教程
  18. 服务器上使用nvcc编译多个cu文件,在cmake中使用nvcc编译。cu
  19. Metasploit为什么选择Ruby语言(部分)
  20. 林群院士:从数学谈教育

热门文章

  1. VMWare虚拟机下为Ubuntu 12.04.1配置静态IP(NAT连接方式)
  2. C++中的对象_纪要(二)
  3. FCKeditor所有版本任意文件上传缺陷
  4. MagicLinux2.5正式版发布
  5. linux下的nfs服务配置
  6. *33.硬中断和软中断是什么?区别?
  7. 我国将于今年春季发射空间站核心舱 空间站进入全面实施阶段
  8. 谷歌量子计算登上Nature封面,首次实现量子优越性,里程碑式突破
  9. 计算机视觉开源库OpenCV之绘制轮廓函数cv2.drawContours()介绍
  10. 为什么说现在是计算机视觉最好的时代?