- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 程序及灵魂---算法
hello C语言程序设计 柯式镇 测井研究中心 第2章 程序的灵魂—算法 本章主要介绍算法的概念、算法的特征、算法的表示法以及结构化程序设计。 2.1 算法的概念与举例 2.2 算法的特征 2.3 算法的表示方式 2.4 结构化程序设计方法 算法的概念与举例 计算机科学家沃思(Nikiklaus Wirth)提出一个公式 : 数据结构 + 算法 = 程序 目前,认为程序设计包括四个方面,表示如下: 程序 = 算法 + 数据结构 + 程序设计方法 + 语言工具和环境 算法是灵魂,解决“做什么”和“怎么做”的问题; 数据结构是加工对象; 编程需要采用合适的方法,不了解算法则谈不上程序设计; 语言是工具。 厨师炒菜:炒法+原料+操作和炒菜工具。 算法的概念和特性 算法的概念 :广义地讲,为解决一个问题而采取的方法和步骤,就称为“算法”。 说明1:计算机是低能儿、是没有思维的,需要程序设计者设计算法; 说明2:解决同一问题可以有不同的方法和步骤,好的算法不仅保证解决问题,还要有高的效率; 举例:从我们学校到德胜门可以直接乘坐345到达,也可以做345到沙河再转919到达;两种方法都能到达德胜门;后一种方法可能费时费力,该方法可能不科学! 算法的概念和特性 说明3:可以将一些常用的算法集合在一起,形成“算法程序库”,方便应用。如数学程序库(求正旋、余旋、求开方等),和其他非数值算法,如排序等。 如:stdio.h是输入输出库,math.h 数学库。 说明4:计算机的算法与常规的数值算法有所区别,计算机的算法包括数值算法和非数值算法 : (1)数值运算方法:目的是数值求解。如求方程的根。应用非常深入,如“Fortran 程序库”; (2)非数值运算方法:最常见的是用于事务管理领域,例如图书管理、人事管理、行车调度等。目前,计算机在非数值运算方面的应用远超过数值运算方面应用。 算法的特性 (1)有穷性,往往指是在合理的范围内有穷; (2)确定性,算法的步骤应当是确定的,不应是含糊不清的; (3)有零个或多个输入; (4)有一个或多个输出。无输出的算法通常是无意义的;(I/O) (5)有效性。 算法的表示 自然语言 流程图 传统流程图 N-S流程图 伪代码 用传统流程框图表示算法 输入三个数,输出其中最大的数 算法: 首先,找个地方放这三个数,定义三个变量A、B、C,将三个数依次输入到A、B、C中,另外,再准备一个MAX放最大数; 由于计算机一次只能比较两个数,于是先把A与B比,大的数放入MAX中,再把MAX与C比,又把大的数放入MAX中; 最后,把MAX输出,此时MAX中放的就是A、B、C三数中最大的数。 求1-1/2+1/3-1/4+…+1/99-1/100 算法的三种基本结构 顺序结构 三种基本结构的共同点 (1)只有一个入口 (2)只有一个出口 (3)结构内的每一部分都有机会被执行到 (4)结构内不存在“死循环” 用N-S流程图表示算法 1973年美国学者I. Nassi和B. Shneiderman提出了所谓的N-S流程图。 N-S图特点说明 (1)比文字描述直观、形象、易于理解; (2)比传统流程图紧凑易画,尤其是其废除流程线,整个算法结构是由各个基本结构按顺序组成; (3)N-S图的上下顺序就是执行顺序,用N-S图表示的算法是结构化算法:由一些基本单元组成,在基本单元之间不存在向前或向后的跳转,流程的转移只存在于一个基本结构范围内。 判断闰年的算法 闰年的条件:(1)能被4整除,但不能被100整除的年份都是闰年;(2)能被100整除,又能被400整除的年份是闰年。不符合这两个条件的年份不是闰年。 用传统流程图表示 用N-S流程图表示 注 意 学习程序设计的目的不仅学习一种语言,而是学习进行程序设计的一般方法,掌握了算法,则掌握了程序设计的灵魂,总体上讲,不能拘泥于一种具体的语言,但是,目前,通过本课程我们应该学会C语言! C语言上机地点和时间 地点:润杰公寓六层机房 时间:2,3,5,7,9,11,13,15周 星期三 15:30~17:15 举例操作说明 (1)建立的目录:D:\wangwu (2)工程名:Sum1 路 径: D:\wangwu (3)C语言源程序名:examp3.cpp 创建文件夹 (2)New Project (3)确定Project 性质 确定工作目录 (3) (4)确定project名字 (5) (6) (7)完成Project创建 浏览Project内容 (8)New file (9)确定Files 性质 (10)确定file 名字:examp3 (11)完成filet创建:
您可能关注的文档
最近下载
- 特种设备-维护保养记录(叉车-电动托盘堆垛车).docx
- 《多边形的内角和》 示范教学PPT课件【初中数学人教版八年级上册】.pptx
- 紧密型县域医疗卫生共同体消毒供应中心运营指南(2020年版 医联体建设).docx
- 泵站运行考试(高级)习题库(第1部分).pdf
- 挡土墙计算理正岩土(“挡土墙”文档)共21张.pptx
- XXXX生态风景区智慧景区项目施工组织方案及对策.pdf
- 人工智能专题研究报告:智算中心.pptx VIP
- 陈培勋平湖秋月五线谱钢琴谱.pdf
- 可爱的中国教案第10课可爱的中国第十课同心共筑中国梦.docx
- 2024《S市乡镇幼儿教师职业幸福感问卷调研分析报告》9700字.docx VIP
文档评论(0)