- 12
- 0
- 约9.43千字
- 约 66页
- 2017-11-12 发布于广东
- 举报
北京科技大学 计算机系 第1章 程序设计与 C语言概述 1.1 程序与程序设计 1.1.1 程序 1.1.2 算法 1.1.3 程序设计方法和风格 1.1.1 程序 程序是指存储在计算机内部存储器中可以连续执行的一条条指令的集合。著名计算机科学家沃思(Nikiklaus Wirth)提出一个公式:程序=数据结构+算法。即一个程序应该包括两方面的内容:数据结构和算法。 1.1.1 程序 数据结构(data structure)是对数据的描述,在程序中要指定数据的类型和数据的组织形式。 算法(algorithm)是对操作的描述,即操作步骤。是用来解决做什么和怎么做的问题。计算机算法可分为两大类:数值运算算法和非数值运算算法。 1.1.1 程序 设计一个程序时,除了考虑数据结构和算法这两个因素之外,还应当采用程序设计方法进行程序设计,并且考虑用一种语言来表示。因此,一个程序应该表示为: 1.1.2 算法 1.算法概述 算法是指为解决某个问题而采用的方法和步骤。这些步骤是按一定的顺序进行的,每个步骤不能缺少,它们之间的次序也不能颠倒。算法体现了人们解决某一类问题时的思维方法和过程,描述了人类解决某类问题所依据的规则和操作。 1.1.2 算法 计算机算法可分为两大类:数值运算算法和非数值运算算法。 数值运算算法主要用于求解数值问题,如求函数值、求方程的根等。一般数值运算有现成的模型,可以运用数值分析方法,因此对数值运算的算法的研究比较深入,各种数值运算都有比较成熟的算法可供选用。非数值运算算法常用于事务管理领域,如人事管理、行车调度管理等。由于非数值运算要求各异,很难规范化,因此一般只对一些典型的非数值运算算法作比较深入的研究。 1.1.2 算法 2.算法的特性 有穷性:一个算法应包含有限的操作步骤,且每一步都可在有穷的时间内完成。 确定性:算法中每一个步骤必须有确切的含义,并且在任何条件下,算法只有惟一的一条执行路径,即对于相同的输入只能得出相同的输出。 可行性:一个算法是能行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现的。 1.1.2 算法 有零个或多个输入:这些输入取自于某个特定的对象的集合。 有一个或多个输出:这些输出是同输入有着某些特定关系的量,在一个完整的算法中至少会有一个输出。 1.1.2 算法 3.算法的描述方法 1966年,Bohra和jacopini证明了任何单入口单出口没有死循环的程序都可以由三种基本的控制结构构造出来。这三种基本结构就是顺序结构、选择结构和循环结构,它们作为表示一个良好算法的基本单元。 1.1.2 算法 算法的表示方法很多,常用的有自然语言、传统流程图、N-S流程图、伪代码、计算机语言等。 1.1.2 算法 (1)用自然语言表示算法 自然语言就是人们日常使用的语言,可以是汉语、英语或其他语言。 下面通过实例来说明用自然语言来描述三种基本结构的算法。 1.1.2 算法 【例1-1】 已知a的值是7,b的值是10,将a、b的值互换,互换后a的值为10、b的值为7,然后输出交换后a、b的值。 步骤1:把7赋给变量a 步骤2:把10赋给变量b 步骤3:将变量a的值赋给变量c 步骤4:将变量b的值赋给变量a 步骤5:将变量c的值赋给变量b 步骤6:输出变量a和变量b的值 步骤7:算法结束。 1.1.2 算法 【例1-2】 输出a、b两个不同数中的较大数。 步骤1:输入a和b的值 步骤2:判断a大于b否,如果a大于b,执行第3步,否则执行第4步 步骤3:输出a的值 步骤4:输出b的值 步骤5:算法结束。 1.1.2 算法 【例1-3】求1+2+3+…+100。 步骤1:使p=1 步骤2:使q=2 步骤3:使p+q,和仍放在p中,可表示为 p+q→p 步骤4:使q的值加1,即q+1→q。 步骤5:如果q不大于100,返回重新执行步骤3、步骤4和步骤5。否则,算法结束。最后得到p的值就是1+2+3+…+100的和。 1.1.2 算法 (2)用流程图表示算法 流程图是用一些图框表示各种操作。美国国家标准化协会ANSI规定了一些常用的流程图符号,已为世界各国程序工作者普遍采用。流程图符号如图1-1所示。 1.1.2 算法 【例1-4】已知a的值是7,b的值是10,将a、b的值互换,互换后a的值为10、b的值为7,然后输出交换后a、b的值。用流程图表示算法。流程图如图1-2所示。 1.1.2 算法 【例1-5】输出a、b两个不同数中的大数。用流程图表示算法。流程图如图
您可能关注的文档
- 企业审计实务课件作者郑伟任务八开展内部审计.ppt
- 企业审计实务课件作者郑伟任务二审计历史与现状认知.ppt
- AutoCAD2004中文版应用教程课件作者刘瑞新第11章节三维绘图.ppt
- AutoCAD2004中文版应用教程课件作者刘瑞新第12章节输出图形.ppt
- AutoCAD2005中文版应用教程课件作者刘瑞新第04章节图层颜色.ppt
- AutoCAD2005中文版应用教程课件作者刘瑞新第10章节尺寸标注.ppt
- AutoCAD2005中文版应用教程课件作者刘瑞新第12章节绘制三维图形.ppt
- AutoCAD2006基础教程课件作者王群课件第1章节.ppt
- AutoCAD2006基础教程课件作者王群课件第3章节.ppt
- AutoCAD2006基础教程课件作者王群课件第4章节.ppt
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 北师大版三年级下册数学全册教学设计(配2026年春改版教材).docx
- (2026年)跌倒坠床护理综合指南PPT课件.pptx VIP
- 工程设计应急响应方案(3篇).docx VIP
- 征信简版电子版PDF个人信用报告最新版2024年可编辑带水印模板.pdf VIP
- ntvf调试资料解读.doc VIP
- 电影《色.戒》的叙事伦理.doc VIP
- 上海大学2023-2024学年第1学期《高等数学(上)》期末考试试卷(A卷)附参考答案.pdf
- 佳能EOS1500D基本使用说明书说明书.pdf VIP
- 上海大学2023-2024学年第1学期《高等数学(上)》期末考试试卷(B卷)附参考答案.pdf
- 渣打银行(香港)有限公司.PDF VIP
原创力文档

文档评论(0)