第1章软件技术基础.ppt
《第1章软件技术基础.ppt》由会员分享,可在线阅读,更多相关《第1章软件技术基础.ppt(65页珍藏版)》请在三一文库上搜索。
1、第一章 软件技术基础,第一章 计算机软件技术基础,软件系统是计算机为某种特定目的而运行所需要的程序以及程序运行时所需要的数据和有关的技术资料,简称软件。 计算机语言经过了机器语言、汇编语言、高级语言三代。 高级语言发展依据程序设计方法经历了三个时期: 线性程序设计语言 结构化程序设计语言 面向对象程序设计语言,1.1 计算机软件的发展概况 一、计算机语言的发展,第一章 计算机软件技术基础,计算机操作系统的发展经历了两个阶段。 第一个阶段为单用户、单任务的操作系统,以CP/M、MS-DOS等磁盘操作系统为代表; 第二个阶段是多用户多任务和分时系统。以UNIX、Windows、Linux以及Mac
2、 OS操作系统为代表。,1.1 计算机软件的发展概况 二、操作系统的发展,第一章 计算机软件技术基础,1CP/M操作系统 是第一个微机操作系统,这个系统允许用户通过控制台的键盘对系统进行控制和管理,其主要功能是对文件信息进行管理,以实现硬盘文件或其他设备文件的自动存取。 2DOS操作系统 其中最成功的是微软的MS-DOS,它是在IBM-PC及其兼容机上运行的操作系统,它起源于SCP86-DOS(也是CP/M一类的操作系统),是1980年基于8086微处理器而设计的单用户操作系统。,1.1 计算机软件的发展概况 二、操作系统的发展,第一章 计算机软件技术基础,3Windows操作系统 Windo
3、ws是Microsoft公司在1985年11月开始发布的窗口式多任务系统,它使微机进入了图形用户界面时代。 其主要特点如下: 界面图形化,多用户、多任务,网络支持良好,出色的多媒体功能,硬件支持良好,众多的应用程序等于。,1.1 计算机软件的发展概况 二、操作系统的发展,第一章 计算机软件技术基础,4UNIX操作系统 UNIX操作系统并非指单一的操作系统软件,而是包括一系列的UNIX家族:AIX、BSD、Digital UNIX、Free BSD、HP-UX、IRIX、SunOS等。它是一个真正的多用户分时系统。 UNIX系统主要用于小型机、工作站和服务器。 5 Linux操作系统 它是一个免
4、费软件,您可以自由安装并任意修改软件的源代码。 Linux操作系统与主流的UNIX系统兼容,这使得它一出现就有了一个很好的用户群。 支持几乎所有的硬件平台,包括Intel系列、680x0系列、Alpha系列、MIPS系列等,并广泛支持各种周边设备。,1.1 计算机软件的发展概况 二、操作系统的发展,第一章 计算机软件技术基础,6. Mac OS操作系统 Mac OS是一套运行于苹果Macintosh系列电脑上的操作系统。1984年,苹果公司发布了System 1,这是一个黑白界面的,也是世界上第一款成功的图形化用户界面操作系统。,1.1 计算机软件的发展概况 二、操作系统的发展,第一章 计算机
5、软件技术基础,1软件开发经历的三个时期 项式程序时期(1947-1960年初),程序作为机器运行时必须进行的准备工作。程序设计全凭设计者个人经验和技艺独立进行,是一种典型的手工艺智力劳动。 软件=程序+说明时期(20世纪50年代末-20世纪70年代初),程序规模较大,需要多人协作才能完成;程序的设计与运行维护不能由一个人来承担;程序不再是计算机硬件的附属部分,而是计算机系统中与硬件相互依存不可缺少的部分。,1.1 计算机软件的发展概况 三、软件开发与软件产业,第一章 计算机软件技术基础,软件=程序+文档时期(20世纪70年代至今,即软件工程时期),用“工程化”的思想作指导来解决软件研究和开发中
6、面临的困难和混乱。 软件产业的不成熟体现在两个方面: 第一,与软件研发相关技术和理论还没有成熟; 第二,软件工程化水平不成熟。,1.1 计算机软件的发展概况 三、软件开发与软件产业,第一章 计算机软件技术基础,1系统软件 系统软件是指管理、监控和维护计算机系统正常工作的程序和有关资料。主要包括: 操作系统。 各种语言解释程序和编译程序(如BASIC解释程序、C编译程序等)。 各种服务性程序(如机器的调试、故障检查与诊断程序等)。,1.1 计算机软件的发展概况 四、系统软件和应用软件,第一章 计算机软件技术基础,2应用软件 应用软件是指为解决某个实际问题而编制的程序和有关资料。 应用软件又可分为
7、:应用软件包和用户程序。 应用软件包是生产厂家或软件公司,为解决带有通用性问题而精心研制的程序供用户选择使用,软件包种类繁多,如标准函数库、子程序库、文字处理等。 用户程序则是为特定用户解决特定问题而开发的软件,通常由自己或委托别人研制,是面向特定用户的应用软件。,1.1 计算机软件的发展概况 四、系统软件和应用软件,第一章 计算机软件技术基础,数据结构(Data Structure)指的是数据之间的相互关系,即数据的组织形式。 数据结构一般包括以下三方面内容: 数据元素之间的逻辑关系,也称数据的逻辑结构(Logical Structure); 数据元素及其关系在计算机存储器内的表示,称为数据
8、的存储结构(Storage Structure); 数据的运算,即对数据施加的操作。,1.2 数据结构概论 一、什么是数据结构,第一章 计算机软件技术基础,例1.1 设有一学生成绩表。,1.2 数据结构概论 一、什么是数据结构,(1)逻辑结构 表中的每一行是一个数据元素(或记录、结点),它由学号、姓名、各科成绩及平均成绩等数据项组成。,第一章 计算机软件技术基础,表中数据元素之间的逻辑关系是:对表中任一个结点,与它相邻且在它前面的结点(亦称为直接前趋)最多只有一个;与表中任一结点相邻且在其后的结点(亦称为直接后继)也最多只有一个。表中只有第一个结点没有直接前趋,故称为开始结点;也只有最后一个结
9、点没有直接后继。故称之为终端结点。 (2)存储结构 存储结构是指用计算机语言如何表示结点之间的这种关系,即表中的结点是顺序邻接地存储在一片连续的单元之中,还是用指针将这些结点链接在一起。 (3)数据的运算,1.2 数据结构概论 一、什么是数据结构,第一章 计算机软件技术基础,数据结构的图形表示中,对于数据集合D中的每一个数据元素用中间标有元素值的方框表示,一般称之为数据结点,并简称为结点;为了进一步表示各数据元素之间的前后件关系,对于关系R中的每一个二元组,用一条有向线段从前件结点指向后件结点。,1.2 数据结构概论 二、数据结构的图形表示,如:一年四季的数据结构可以用图形来表示。,第一章 计
10、算机软件技术基础,如:反映家庭成员间辈分关系的数据结构可以用图形来表示。,1.2 数据结构概论 二、数据结构的图形表示,第一章 计算机软件技术基础,数据的逻辑结构有两大类: (1)线性结构 线性结构的逻辑特征:若结构是非空集,则有且仅有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。 线性表是一个典型的线性结构。栈、队列、串等都是线性结构。 (2)非线性结构 非线性结构的逻辑特征:一个结点可能有多个直接前趋和直接后继。数组、广义表、树和图等数据结构都是非线性结构。,1.2 数据结构概论 三、线性结构与非线性结构,第一章 计算机软件技术基础,1算法 所谓算法是指解题
11、方案的准确而完整的描述。 2算法的基本特征 (1)可行性 (2)确定性 (3)有穷性 (4)拥有足够的情报,1.3 算法及算法分析 一、算法,第一章 计算机软件技术基础,3算法的基本要素 一个算法通常由两种基本要素组成:一是对数据对象的运算和操作,二是算法的控制结构。 (1)算法中对数据的运算和操作 基本的运算和操作有以下四类: 算术运算:主要包括加、减、乘、除等运算。 逻辑运算:主要包括“与”、“或”、“非”等运算。 关系运算:主要包括“大于”、“小于”、“等于”、“不等于”等运算: 数据传输:主要包括赋值、输入、输出等操作。,1.3 算法及算法分析 一、算法,第一章 计算机软件技术基础,(
12、2)算法的控制结构 算法的控制结构给出了算法的基本框架,它不仅决定了算法中各操作的执行顺序,而且也直接反映了算法的设计是否符合结构化原则。描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等。一个算法一般都可以用顺序、选择、循环三种基本控制结构组合而成。,1.3 算法及算法分析 一、算法,第一章 计算机软件技术基础,4算法设计基本方法 (1)列举法 根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的,哪些是不需要的。 (2)归纳法 通过列举少量的特殊情况,经过分析,最后找出一般的关系。 (3)递推 所谓递推,是指从已知的初始条件出发,逐次推出所要求的各中间结
13、果和最后结果。其中初始条件或是问题本身已经给定,或是通过对问题的分析与化简而确定。 (4)递归 (5)减半递推技术,1.3 算法及算法分析 一、算法,第一章 计算机软件技术基础,对算法的分析主要是对算法的时间复杂度和空间复杂度的分析。 1时间复杂度 一个算法的时间复杂度是该算法的时间耗费,即算法执行过程中所需要的基本运算次数。 一个算法所耗费的时间=算法中每条语句的执行时间之和。每条语句的执行时间=语句的执行次数语句执行一次所需时间。 2空间复杂度 一个算法的空间复杂度为该算法在执行过程中所需要的存储空间。 算法的时间复杂度和空间复杂度合称为算法的复杂度。,1.3 算法及算法分析 二、算法分析
14、,第一章 计算机软件技术基础,1线性表的逻辑定义 线性表(Linear List)是由n(n0)个数据元素(结点)a1,a2,an组成的有限序列。 数据元素的个数n定义为表的长度(n=0时称为空表)。 将非空的线性表(n0)记作:(a1,a2,an) 数据元素ai(1 i n)只是个抽象符号,其具体含义在不同情况下可以不同。 如学生成绩表中,每个学生及其成绩是一个数据元素,其中数据元素由学号、姓名、各科成绩等数据项组成。,1.4 线性表、栈和队列 一、线性表,第一章 计算机软件技术基础,2线性表的逻辑结构特征 对于非空的线性表: 有且仅有一个开始结点a1,没有直接前趋,有且仅有一个直接后继a2
15、; 有且仅有一个终结结点an,没有直接后继,有且仅有一个直接前趋an-1; 其余的内部结点ai(2in1)都有且仅有一个直接前趋ai-1和一个直接后继ai1。,1.4 线性表、栈和队列 一、线性表,第一章 计算机软件技术基础,3线性表的顺序存储结构 有顺序存储和链式存储两种 顺序存储方法即把线性表的结点按逻辑次序依次存放在一组地址连续的存储单元里的方法。用顺序存储方法存储的线性表简称为顺序表。 在顺序表中,每个结点ai的存储地址是该结点在表中的位置i的线性函数。只要知道基地址和每个结点的大小,就可在相同时间内求出任一结点的存储地址。,1.4 线性表、栈和队列 一、线性表,第一章 计算机软件技术
16、基础,4常见的线性表的基本运算 (1)InitList(L):构造一个空的线性表L,即表的初始化。 (2)ListLength(L):求线性表L中的结点个数,即求表长。 (3)GetNode(L,i) :取线性表L中的第i个结点,这里要求1 i ListLength(L)。 (4)LocateNode(L,x):在L中查找值为x 的结点,并返回该结点在L中的位置。若L中有多个结点的值和x 相同,则返回首次找到的结点位置;若L中没有结点的值为x,则返回一个特殊值表示查找失败。,1.4 线性表、栈和队列 一、线性表,第一章 计算机软件技术基础,(5)InsertList(L,x,i):在线性表L的
17、第i个位置上插入一个值为x 的新结点,使得原编号为i,i1,n的结点变为编号为i1,i2,n1的结点。这里1 i n1,而n是原表L的长度。插入后,表L的长度加1。 (6)DeleteList(L,i):删除线性表L的第i个结点,使得原编号为i1,i2,n的结点变成编号为i,i1,n1的结点。这里1 i n,而n是原表L的长度。删除后表L的长度减1。,1.4 线性表、栈和队列 一、线性表,第一章 计算机软件技术基础,1栈的定义 栈(Stack)是限制仅在表的一端进行插入和删除运算的线性表。栈的示意图如图1-4所示: (1)通常称插入、删除的这一端为栈顶,另一端称为栈底。 (2)当表中没有元素时
18、称为空栈。 (3)栈为后进先出(Last In First Out)的线性表,简称为LIFO表。 栈的修改是按后进先出的原则进行。,1.4 线性表、栈和队列 二、栈,第一章 计算机软件技术基础,2栈的基本运算 (1)InitStack(S):构造一个空栈S。 (2)StackEmpty(S):判栈空。若S为空栈,则返回TRUE,否则返回FALSE。 (3)StackFull(S):判栈满。若S为满栈,则返回TRUE,否则返回FALSE。注意:该运算只适用于栈的顺序存储结构。 (4)Push(S,x):进栈。若栈S不满,则将元素x插入S的栈顶。 (5)Pop(S):退栈。若栈S非空,则将S的栈顶
19、元素删去,并返回该元素。 (6)StackTop(S):取栈顶元素。若栈S非空,则返回栈顶元素,但不改变栈的状态。,1.4 线性表、栈和队列 二、栈,第一章 计算机软件技术基础,1定义 只允许在一端进行插入,而在另一端进行删除的运算受限的线性表。 (1)允许删除的一端称为队头(Front)。 (2)允许插入的一端称为队尾(Rear)。 (3)当队列中没有元素时称为空队列。 (4)队列亦称作先进先出(First In First Out)的线性表,简称为FIFO表。 队列的修改是依先进先出的原则进行的。,1.4 线性表、栈和队列 三、队列,第一章 计算机软件技术基础,2队列的基本逻辑运算 (1)
20、InitQueue(Q):置空队。构造一个空队列Q。 (2)QueueEmpty(Q):判队空。若队列Q为空,则返回真值,否则返回假值。 (3)QueueFull(Q):判队满。若队列Q为满,则返回真值,否则返回假值。 注意:此操作只适用于队列的顺序存储结构。 (4)EnQueue(Q,x):若队列Q非满,则将元素x插入Q的队尾。此操作简称入队。 (5)DeQueue(Q):若队列Q非空,则删去Q的队头元素,并返回该元素。此操作简称出队。 (6)QueueFront(Q):若队列Q非空,则返回队头元素,但不改变队列Q的状态。,1.4 线性表、栈和队列 三、队列,第一章 计算机软件技术基础,以链
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件技术 基础
链接地址:https://www.31doc.com/p-2251841.html