- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章 软件基础.ppt
计 算 机 软 件 技 术 基 础 第一章 计算机软件技术概述 1.1 计算机软件技术所涉及的内容 C语言程序设计 1. 数据类型 2. 程序的语法和流程控制 3.指针与函数 4. 结构体与文件 数据结构与算法(重点) 数据的组织形式,数据操作的基本算法 操作系统 操作系统基本知识 数据库系统 计算机网络 网络体系结构, 网络基本协议,网络通信原理 1.2 软件开发方法与技术 软件的规模大小决定了软件开发的难度,因此,必须采用科学的软件开发方法,采用抽象、分解等科学方法降低复杂度,以工程的方法管理和控制软件开发的各个阶段,以保证大型软件系统的开发具有正确性、易维护性、可读性和可重用性. 1.2. 软件工程基本概念 软件的发展大致分为四个阶段:(如下图) 软件工程过程和软件生命周期 软件工程过程和软件生命周期 软件生命周期模型(如下图) 软件工程的目标和原则 软件开发工具与软件开发环境 下图为软件生命周期各阶段的任务:p4 软件开发工具与开发环境 软件开发工具:是为支持软件人员开发和维护活动而使用的软件。 作用:可以帮助开发人员完成一些繁琐的程序编制和调试问题,是软件开发人员将更多的精力和时间投放到最重要的软件需求和设计上,提高软件开发的速度和质量。 1.3 程序设计方法 在设计较复杂的程序时,我们一般采用的方法是: 把问题分成几个部分,每部分又可分成更细的若干小部分,逐步细化,直至分解成很容易求解的小问题。这样的话,原来问题的解就可以用这些小问题来表示。 模块化程序设计思想 模块化程序设计—以c语言为例 C语言程序由基本语句和函数组成,每个函数可完成相对独立的任务,依一定的规则调用这些函数,就组成了解决某个特定问题的程序。 把大任务分解成若干功能模块,用多个函数来实现这些功能模块。通过函数的调用来实现完成大任务的全部功能。 模块设计的原则 1.4 程 序 的 结 构 字符型(char) 整型(short,int,long,unsigned) 单精度型(float) 实型 双精度型(double) 数组类型([ ]) 构造类型 结构体类型(struct) 共用体类型(union) 指针类型(*) 空类型(void) 1.数据的存储(物理)结构: 数据的逻辑结构在计算机存储器中的具体实现。 二.程序的控制结构 两种重复控制流程 例 设计算法:找出a,b两数中的较大者,并输出。 分析: 这个问题分三个步骤: 输入两个数; 找出其中的大数; 输出大数。 选择算法描述语言的准则 (1)该语言应该具有描述数据结构和算法的基本功能; (2)该语言应该尽可能地简捷,以便于掌握、理解; (3)使用该语言描述的算法应该能够比较容易地转换成任何一种程序设计语言。 算法的评价 (补充讲解) 算法的评价标准 (1) 正确性:要求算法能够正确地执行预先规定的功能,并达到所期望的性能要求。 (2) 可读性:为了便于理解、测试和修改算法,算法应该具有良好的可读性。 (3) 健壮性:算法中拥有对输入数据、打开文件、读取文件记录、分配内存空间等操作的结果检测,并通过与用户对话的形式做出相应的处理选择。 (4) 时间与空间效率:算法的时间与空间效率是指将算法变换为程序后,该程序在计算机上运行时所花费的时间及所占据空间的度量。 1.算法时间效率:用依据该算法编制的程序在计算机上执行所消耗的时间来度量. 时间复杂度:基本操作重复执行的次数的阶数 T(n)=o(f(n)) 当T(n)为多项式时,可只取其最高次幂项,且它的系数也可略去不写。 一般地,对于足够大的n,常用的时间复杂性存在以下顺序: O(1) O(logn) O(n) O(n*logn) O(n2) O(n3)…O(2n)O(3n)…O(n!) 算法的运行时间往往还与具
文档评论(0)