文档介绍:18- 1 《软件技术基础》课程主讲教师:朱海华机电学院 15B426 Email: ******@nuaa. 软件技术基础 18- 2 《软件技术基础》课程绪论工程软件概述计算机三大应用领域: 科学计算、信息处理、过程控制。随着信息技术的普及,各类计算机软硬件系统在工程应用领域的广泛应用。工程软件在实际工程应用中占有相当重要的地位。工程软件主要应用领域包括: ?工程辅助系统:工程数值计算( putation )、计算机辅助设计 CAD 、计算机辅助制造 CAM 、计算机辅助工程教育 CAEE 、计算机集成制造系统 CIMS 、计算机辅助测试 CAT 、工业控制 IC、计算机仿真 CS 等。?工程事务处理:分为事务型系统、管理型系统、决策型系统。?现代工程通信及信息交流:通过支持计算机网络的工程软件不仅可以实现远程的数据传输、状态监控和现场资源配置等工作,而且还能异地共享和交流各种生产信息资源。 18- 3 《软件技术基础》课程绪论工程软件的基本元素工程软件的三个基本要素是数据、数据结构和算法。工程数据是工程软件系统的处理对象。数据结构是对工程数据的组织。组织结构良好的数据不仅可以提高工程数据处理的效率,而且数据的可靠性也能得到有效的保障。算法提供处理数据的手段和方法,是提取数据内涵的一系列行为的总称。 18- 4 《软件技术基础》课程绪论著名计算机科学家 Wirth( 沃思)提出:数据结构+算法=程序然而, 仅有这些还不够, 应是: 数据结构+算法+程序设计方法+语言工具和环境=程序程序设计算法设计数据结构行为特性的设计结构特性的设计程序中的指令必须是机器可执行的,算法中的指令则无此限制。算法的效率通常与数据的存储结构有直接关系。 18- 5 《软件技术基础》课程第第1 1章章算法算法 算法的基本概念算法的基本概念 算法设计基本方法算法设计基本方法 算法的复杂度分析算法的复杂度分析 18- 6 《软件技术基础》课程 算法的基本概念?概念算法是为解决一个问题采取的方法和步骤。也就是说,算法是为实现某种计算过程而规定的基本动作的执行序列。?算法的实现–自动机器解--指令的有限序列。?自动机的能力:对于执行体系来说是一种制约?描述形式的理解能力?实现描述的执行能力?算法的有限自动机解--在有限的存储空间和有限的时间内通过有限的步骤得到预期的结果。 18- 7 《软件技术基础》课程 算法的基本特征? 1. 能行性(effectiveness): ?每一操作都可以通过可实现的基本运算执行有限次来实现?步骤合理性?步骤可操作性?达到预期目的?与具体实现方式和环境有关。? 2. 确定性(definiteness): ?在所指定的范畴内无模糊性?在所指定的范畴内无多义性。?检验:相同输入?相同输出。 18- 8 《软件技术基础》课程算法的基本特征(续) ? 3. 有穷性(finiteness) ?步骤有穷性?时间有限性? 4. 完备性(self-contained) ?初始条件应明确?限定范围内条件应齐备?结果可展现?对异常情况的容错性 18- 9 《软件技术基础》课程算法的定义一组严谨定义运算顺序的规则,并且每一个规则都是有效且明确的,此顺序将在有限的次数下终止并获得预期的结果。一组严谨定义运算顺序的规则,并且每一个规则都是有效且明确的,此顺序将在有限的次数下终止并获得预期的结果。 18- 10 《软件技术基础》课程 算法的基本要素?对数据对象的运算和操作?针对算法涉及的数据信息?最基本的动作和步骤单元?算法的控制结构?针对算法的过程步骤?控制基本操作和步骤的组合顺序