计算机软件技术

计算机软件技术
计算机软件技术

计算机软件技术

(1)算法的时间复杂度是指C

A、执行算法程序所需要的时间

B、算法程序的长度

C、算法执行过程中所需要的基本运算次数

D、算法程序中的指令条数

(2)算法的基本特征是可行性、确定性、(有穷性)和拥有足够的情报。

(3)算法的空间复杂度是指D

A、算法程序的长度

B、算法程序中的指令条数

C、算法程序所占的存储空间

D、执行过程中所需要的存储空间

(4)在计算机中,算法是指B

A、加工方法

B、解题方案的准确而完整的描述

C、排序方法

D、查询方法

(5)算法分析的目的是D

A、找出数据结构的合理性

B、找出算法中输入和输出之间的关系

C、分析算法的易懂性和可靠性

D、分析算法的效率以求改进

(6)算法的工作量大小和实验算法所需的存储单元多少分别称为算法的(时间复杂度和空间复杂度)

(7)链表不具有的特点是B

A、不必事先估计存储空间

B、可随机访问任一元素

C、插入删除不需要移动元素

D、所需空间与线性表长度成正比

(8)数据结构分为逻辑结构与存储结构,线性链表属于(存储结构)

(9)数据结构中,与所使用的计算机无关的是数据的C

A、存储结构

B、物理结构

C、逻辑结构

D、物理和存储结构

(10)数据的逻辑结构有线性结构和(非线性结构)两大类。

(11)顺序存储方法是把逻辑上相邻的结点存储在物理位置(相邻)的存储单元中。(12)数据处理的最小单元是C

A、数据

B、数据元素

C、数据项

D、数据结构

(13)数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及A

A、数据的存储结构

B、计算方法

C、数据映象

D、逻辑存储

(14)线性表的顺序存储结构和线性表的链式存储结构分别是B

A、顺序存取的存储结构,顺序存取的存储结构

B、随机存取的存储结构,顺序存取的存储结构

C、随机存取的存储结构,随机存取的存储结构

D、任意存取的存储结构,任意存取的存储结构

(15)根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分成C

A、动态结构和静态结构

B、紧凑结构和非紧凑结构

C、线性结构和非线性结构

D、内部结构和外部结构

(16)根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分成(C)A动态结构和静态结构B紧凑结构和非紧凑结构

C线性结构和非线性结构D内部结构和外部结构

(17)数据结构包括数据的逻辑结构、数据的(存储结构)以及对数据的操作运算。(18)数据的基本单位是(数据元素)

(19)下列叙述中,错误的是B

A、数据的存储结构与数据处理的效率密切相关

B、数据的存储结构与数据处理的效率无关

C、数据的存储结构在计算机所占的空间不一定是连续的

D、一种数据的逻辑结构可以有多种存储结构

(20)数据的存储结构是指B

A、数据所占的存储空间

B、数据的逻辑结构在计算机中的表示

C、数据在计算机中的顺序存储方式

D、存储在外存中的数据

(21)链表不具有的特点是(B)

A不必事先估计存储空间B可随机访问任一元素

C插入删除不需要移动元素D所需空间与线性表长度成正比

(22)顺序存储方法是把逻辑上相邻的结点存储在物理位置(相邻)的存储单元中。(23)长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为(n/2)

(24)线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是(D)

A每个元素都有一个直接前件和直接后件后件

B线性表中至少要有一个元素

C表中诸元素的排列顺序必须由小到大或由大到小

D除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件(25)当线性表采用顺序存储结构实现存储时,其主要特点是(逻辑结构中相邻的结点在存储结构中仍相邻)

(26)线性表若是采用链式存储结构时,要求内存中可用存储单元的地址(D)

A必须是连续的B部分地址必须是连续的

C一定是不连续的D连续不连续都可以

(27)栈和队列的共同特点是C

A都是先进先出B都是先进后出

C只允许在端点处插入和删除元素D没有共同点

(28)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是(B)

A e3,e1,e4,e2

B e2,e4,e3,e1

C e3,e4,e1,e2 D任意顺序

(29)一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用(A)

A栈B堆C数组D链表

(30)栈底至栈顶依次存放元素A,B,C,D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是B

A.ABCED

B.DCBEA

C.DBCEA

D.CDABE

(31)栈通常采用的两种存储结构是A

A线性表存储结构和链表存储结构B散列方式和索引方式

C链表存储结构和数组D线性存储结构和非线性存储结构

(32)栈和队列通常采用的存储结构是(链式存储和顺序存储)

(33)下列数据结构中,按先进后出原则组织数据的是(B)

A线性链表B栈C循环链表D顺序表

(34)当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为(上溢)

(35)两个栈共享一个存储空间的好处是B

A减少存取时间,降低下溢发生的机率B节省存储空间,降低上溢发生机率

C减少存取时间,降低上溢发生的机率D节省存储空间,降低下溢发生机率

(36)下列关于栈的叙述中正确的是(D)

A在栈中只能插入数据B再栈中只能删除数据

C栈是先进先出的线性表D栈是先进后出的线性表

(37)下列关于队列的叙述中正确的是(C)

A在队列中只能插入数据B再队列中只能删除数据

C队列是先进先出的线性表D队列是先进后出的线性表

(38)已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是(D)

A.acbed

B.decab Cdeabc D.cedba

(39)已知二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树后序遍历为(B)A.GEDHFBCA B.DGEBHFCA C.ABCDEFGH D.ACBFEDHG

(40)树是结点的集合,它的根节点数目是C

A.有且只有1 B、1或多于1 C、0或1 D至少2

(41)在深度为5的满二叉树中,叶子结点的个数为C

A32 B31 C16 D15

(42)若某二叉树的前序遍历访问顺序为abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是(D)A.bdgcefha B.gdbecfha C.bdgaechf D.gdbehfca

(43)在树结构中,树根结点没有(前驱结点)

(44)下列叙述中正确的是()

A线性表是线性结构B栈与队列是非线性结构

C线性链表是非线性结构D二叉树是线性结构

(45)具有3个结点的二叉树有(C)种形态。

A2 B4 C7 D5

(46)设一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为(B)A12 B13 C14 D15

(47)设树T的深度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1。则T中叶子结点数

为(A)A8 B7 C6 D5

(48)设一棵完全二叉树共有700个结点,则该二叉树中有(350)个叶子结点。

(49)在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则该循环队列中共有(3)个元素。

(50)设一个二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为(DEBFCA)

(51)在长度为n的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为(log2n)。(52)假设线性表的长度为n,在最坏情况下,冒泡排序需要的比较次数为(D)

A.log?n

B.n2

C.O(n1…5)

D.n(n-1)/2

(53)已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是(B)

A堆排序B直接插入排序C快速排序D直接选择排序

(54)冒泡排序算法在最好的情况下的元素交换次数为(0)

(55)在最坏的情况下,堆排序需要比较的次数为(nlog ?n)

(56)最简单的交换排序方法是(D)

A快速排序B选择排序C堆排序D冒泡排序

(57)常见的排序方法有插入排序,(冒泡排序)和选择排序等。

(58)在下列几种排序方法中,要求内存量最大的是(D)

A插入排序B选择排序C快速排序D归并排序

(59)在待排序的元素序列基本有序的前提下,效率最高的排序方法是(A)

A冒泡排序B选择排序C快速排序D归并排序

(60)希尔排序属于(D)

A交换排序B归并排序C选择排序D插入排序

(61)对线长度为n的线性表进行顺序查找,在最坏的情况下所需要的比较次数为B

A.n+1

B.n

C.(n+1)/2

D.n/2

(62)结构化程序设计的3种结构是D

A顺序结构选择结构转移结构B分支结构等价结构循环结构

C多分支结构赋值结构等价结构D顺序结构选择结构循环结构

(63)再设计程序时,应采纳的原则之一是D

A不限制goto语句的使用B减少或取消注解行

C程序越短越好D程序结构应有助于读者理解

(64)程序设计语言的基本成分是数据成分、运算成分、控制成分和(D)

A对象成分B变量成分C语句成分D传输成分

(65)结构化程序设计主要强调的是程序的易读性。

(66)以下不属于对象的基本特点的是(A)

A分类性B多态性C继承性D封装性

(67)对建立良好的程序设计风格,下列描述正确的是(A)

A程序应简单、清晰、可读性好B符号名的命名只要符合语法

C充分考虑程序的执行效率D程序的注释可有可无

(68)在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,现在,与程序效率相比,人们更重视程序的(C)

A安全性B一致性C可理解性D合理性

(69)程序的3种基本控制结构是(B)

A过程、子过程和分过程B顺序、选择和重复

C递归、堆栈和队列D调用、返回和转移

(70)下列叙述中,不属于结构化程序设计方法的主要原则的是(B)

A自顶向下B有底向上C模块化D限制使用goto语句

(71)对象实现了数据和操作的结合,是指对数据和对数据的操作进行(C)

A结合B隐藏C封装D抽象

(72)在面对对象方法中,一个对象请求另一个对象为其服务的方式是通过发送(D)

A调用语句B命令C口令D消息

(73)信息屏蔽的概念与下列哪一种概念直接相关(B)

A软件结构定义B模块独立性 C模块类型划分D模块偶合度

(74)下列对象概念描述错误的是(A)

A任何对象都必须有继承性

B对象是属性和方法的封装体

C对象间的通讯靠消息传递

D操作是对象的动态属性

(75)下列叙述中,不属于结构化分析方法的是(D)

A面向数据流的结构化分析方法

B面向数据结构的Jackson方法

C面向数据结构的结构化数据系统开发方法

D面向对象的分析方法

(76)在面向对象的程序设计中,类描述的是具有相似性质的一组(对象)

(77)在面向对象方法中,类之间共享属性和操作的机制称为(继承)

(78)一个类可以直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的(可重用性)

(79)面对对象的模型中,最基本的概念是对象和(类)

(80)类是一个支持集成的抽象数据类型,而对象是类的(实例)

(81)在面向对象的设计中,用来请求对象执行某一处理或回答某些信息的要求称为(消息)

(82)在程序设计阶段应该采取(自顶向下)和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写程程序。

(83)(封装)是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开。

(84)可以把具有相同属性的一些不同对象归类,称为(对象类)

(85)子程序通常分为两类:(过程)和函数,前者是命令的抽象,后者是为了求值。

(86)源程序文档化要求程序应加注释。注释一般分为序言性注释和(功能注释)

(87)在面向对象方法中,信息屏蔽是通过对象的(封装性)来实现的

(88)软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指(B)

A模块间的关系B系统结构部件转换成软件的过程描述

C软件层次结构D软件开发过程

(89)检查软件产品是否符合需求定义的过程称为(A)

A确认测试B集成测试C验证测试D验收测试

(90)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成,下列图符名标识的图符不属于数据流图合法图符的是(A)

A控制流B加工C数据存储D源和流

(91)开发软件所需高成本和低质量之间有着尖锐的矛盾,这种现象称作(B)

A软件投机B软件危机C软件工程D软件生产

(92)下面不属于软件设计原则的是(C)

A抽象B模块化C自底向上D信息屏蔽

(93)开发大型软件时,产生困难的根本原因是(A)

A大系统的复杂性 B人员知识不足C客观世界千变万化D时间紧,任务重

(94)软件工程的出现是由于(C)

A程序设计方法学的影响B软件产业化的需要

C软件危机的出现D计算机的发展

(95)软件开发商离不开系统环境资源支持,其中必要的测试数据属于(D)

A硬件资源B通信资源C支持软件D辅助资源

(96)在数据流图(DFD)中,带有名字的箭头表示(D)

A模块之间的调用关系B程序的组成部分

C控制程序的执行顺序D数据的流向

(97)下列不属于结构化分析的日常工具的是(D)

A数据流图B数据字典C判定树 D.PAD图

(98)在软件生产过程中,需求信息的给出是(D)

A程序员B项目管理者C软件分析设计人员D软件用户

(99)下列工具是需求分析常用工具的是(D)

A.PAD

B.PFD

C.N-S

D.DFD

(100)模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的(C)A抽象和信息隐蔽B局部化和封装化

C内聚性和耦合性D激活机制和控制方法

(101)软件开发的结构化生命周期方法将软件生命周期划分成A

A定义、开发、运行维护B设计阶段、编程阶段、测试阶段

C总体设计、详细设计、编程调试D需求分析、功能定义、系统设计

(102)在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是(A)A路径的集合B循环的集合C目标的集合D地址的集合

(103)完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是(A)

A黑箱测试法B白箱测试法C错误推测法D安装测试法

(104)在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示(C)

A模块之间的调用关系B程序的组成部分

C控制程序的执行顺序D数据的流向

(105)下列选项中,不属于模块间耦合的是(C)

A数据耦合B同构耦合C异构耦合D公用耦合

(106)下列叙述中,不属于测试的特征的是(C)

A测试的挑剔性B完全测试的不可能性C测试的可靠性D测试的经济性(107)需求分析中开发人员要从用户那里了解(A)

A软件做什么B用户使用界面C输入的信息D软件的规模

(108)下列不属于软件调试技术的是(B)

A强行排错法B集成测试法C回溯法D原因排除法

(109)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为(B)

A.PAD图

B.N-S图C结构图D数据流图

(110)软件复杂性度量的参数包括(B)

A效率B规模C完整性D容错性

(111)下列叙述中,正确的是(D)

A软件就是程序清单B软件就是存放在计算机中的文件

C软件应包括程序清单及运行结果D软件包括程序和文档

(112)软件设计中,有利于提高模块独立性的一个准则是(C)

A低内聚低耦合B低内聚高耦合C高内聚低耦合D高内聚高耦合

(113)软件生命周期中花费时间最多的阶段是(D)

A详细设计B软件编码C软件测试D软件维护

(114)详细设计的结果基本决定了最终程序的C

A代码的规模B运行速度C质量D可维护性

(115)下列不属于静态测试方法的是(B)

A代码检查B白盒法C静态结构分析D代码质量度量

(116)通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为(软件生命周期)。

(117)耦合和内聚是评价模块独立性的两个主要标准,其中(内聚性)反应了模块内各成分之间的联系。

(118)软件工程研究的内容主要包括:(软件开发)技术和软件工程管理。

(119)Jackson结构化程序设计方法是英国的M.Jackson提出的,他是一种面向(数据结构)的设计方法。

(120)软件设计模块化的目的是(降低复杂性)。

(121)数据流图的类型有(变换型)和事务型。

(122)软件危机出现于60年代末,为了解决软件危机,人们提出了(软件工程学)的原理来设计软件,这就是软件工程诞生的基础。

(123)软件开发环境是全面支持软件开发全过程的(软件工具)集合。

(124)测试的目的是暴露错误,评价程序的可靠性;而(调试)的目的是发现错误的位置并改正错误。

(125)软件维护活动包括以下几类:改正性维护、适应性维护、(完善性维护)和预防性维护。

(126)软件结构是以(模块)为基础而组成的一种控制层次结构。

(127)为了便于对照检查,测试用例应由输入数据和预期的(输出结果)两部分组成。(128)软件工程包括3要素,分别是方法、工具和(过程)。

(129)软件工程的出现是由于(软件危机的出现)。

(130)单元测试又称模块测试,一般采用(白箱)测试。

(131)软件的(概要)设计又称为总体结构设计,其主要任务是建立软件系统的总体结构。

最新计算机软件技术基础(第三版)习题答案

第一章 1.1什么是信息?信息与数据的区别和联系在何处? 信息定义之一:信息是现实世界中存在的客观实体、现象、关系进行描述的数据。 信息定义之二:信息是经过加工后并对实体的行为产生影响的数据。 与数据的区别和联系: 数据定义:数据是现实世界客观存在的实体或事物的属性值,即指人们听到的事实和看到的景象。 我们把这些数据收集起来,经过处理后,即得到人们需要的信息。 信息和数据的关系可以归结为: 1.信息是有一定含义的数据。 2.信息是经过加工(处理)后的数据。 3.信息是对决策有价值的数据。 1.2信息有哪些基本属性? z信息的基本属性有: 1.事实性。 2.等级性。 3.可压缩性。 4.可扩散性。 5.可传输性。 6.共享性。 7.增值性和再生性。 8.转换性。 1.3计算机的主要特点是什么? 计算机最主要的特点是: 1.高速自动的操作功能。 2.具有记忆的能力。 3.可以进行各种逻辑判断。 4.精确高速的计算能力。 1.5完整的计算机系统应该包括哪几部分? 目前最完整的计算机系统学说认为由五部分组成: 1.人员 2.数据 3.设备 4.程序 5.规程 1.6什么是计算机硬件?什么是计算机软件? 硬件:泛指实际存在的物理设备,包括计算机本身及其外围设备。 微型计算机的硬件系统:主机、外存储器、输入设备、输出设备、微机的系统总线。 软件:是指计算机程序、方法、规则的文档以及在计算机上运行它时所必须的数据。 计算机软件一般分为系统软件和应用软件。 1.8 软件技术发展的几个阶段各有什么特点?它与硬件的关系如何? 第一阶段:高级语言阶段 特点:这一时期,编译技术代表了整个软件技术,软件工作者追求的主要目的是设计和实现在控制结构和数据结构方面表现能力强的高级语言。但在这一时期内,编译系统主要是靠手工编制,自动化程度很低。 硬件关系:此时期计算机的硬件要求仅能用机器指令来编制可运行的程序。

计算机专业前沿技

《计算机前沿介绍》读书报告 ——人工智能为人类开启无限可能 随着计算机信息技术的迅猛发展,计算机技术的应用迅速渗透到社会生活的各个方面,计算机日益成为人们学习、工作和生活中不可缺少的基本工具之一,而且我也清楚地认识和感受到了随着以计算机为核心的信息技术在各个领域中的广泛应用。通过这次选修《计算机前沿技术》课,经过一学期的学习和实践,我深深体会到:计算机信息技术在高科技飞速发展、市场竞争异常激烈的今天,任何人不能只停在原有传统知识的认识上,只有不断学习计算机信息技术,通过计算机信息技术不断完善自己,通过计算机信息技术不断充实自己,才能在当今社会中立于不败之地。随着信息技术的高速发展,计算机无时无刻在伴随着我们,也给我们在学习和生活中增添了许多乐趣。通过这学期选修的《计算机前沿技术》,我了解到了计算机的发展史和其最基本的相关理论知识和工作原理以及计算机领域最前沿的技术,而我最感兴趣的是人工智能领域。 人们对人工智能的定义是:研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,主要包括计算机实现智能的原理、制造类似于人脑智能的计算机,使计算机能实现更高层次的应用。 人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。人工智能是对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。 人工智能将涉及到学科有计算机科学、心理学、哲学和语言学等。可以说几乎是自然科学和社会科学的所有学科,其范围已远远超出了计算机科学的范畴,人工智能与思维科学的关系是实践和理论的关系,人工智能是处于思维科学的技术应用层次,是它的一个应用分支。从思维观点看,人工智能不仅限于逻辑思维,要考虑形象思维、灵感思维才能促进人工智能的突破性的发展,数学常被认为是多种学科的基础科学,数学也进入语言、思维领域,人工智能学科也必须借用数学工具,数学不仅在标准逻辑、模糊数学等范围发挥作用,数学进入人工智能学科,它们将互相促进而更快地发展。 人工智能的概念很宽,所以人工智能也分很多种,我们按照人工智能的实力将其分成三大类。弱人工智能(ANI): 弱人工智能是擅长于单个方面的人工智能。比如有能战胜象棋世界冠军的人工智能,但是它只会下象棋,你要问它怎样更好地在硬盘上储存数据,它就不知道怎么回答你了。强人工智能(AGI): 人类级别的人工智能。强人工智能是指在各方面都能和人类比肩的人工智能,人类能干的

软件技术专业介绍

软件技术专业介绍 软件技术专业介绍(一): 软件技术是一个发展变化十分快的行业,许多学校开设有软件技术专业,包括北京大学、重庆大学、复旦大学、清华大学等一些知名院校,主要培养具有必须的计算机软件专业理论知识,掌握至少一种主流软件开发平台,具有较强编程潜力的高级实用型专业人才,毕业后可在政府、金融、企事业单位从事计算机软件开发等方面的工作。中国国内计算机硬件市场高速发展造成了国内软件市场方应对软件的需求量迅速增加,成为推动软件技术专业发展的主要动力。 软件技术专业介绍(二): 软件技术是一个发展变化十分快的行业,软件人才要按照企业和领域需求来确定培养的方向,而针对高职学生,务必坚持以就业为导向的指导思想,强调其技能培养,注重课程安排的合理性。因此,我们一方面定期修订教学计划,保证课程设置与软件技术的发展基本同步,另一方面利用转、合、撤、拆的原则,降低专业课程中理论教学的比例,加强针对性和实用性,优化课程结构,构成合理的、科学的课程体系。

培养目标 本专业培养具有必须的计算机软件专业理论知识,掌握至少一种主流软件开发平台,具有较强编程潜力的高级实用型专业人才。可在IT企业、政府机关、企事业单位等从事软件(管理信息系统、企业资源计划系统、文化娱乐产品和控制系统等)开发的需求调查、编码、测试、维护、营销售后服务及软件生产管理工作。 实践提高 本专业将带给在软件开发、软件测试、软件项目管理等方面的实训工作,培养学生的动手潜力。 就业方向 毕业后可在政府、金融、企事业单位从事计算机软件开发等方面的工作。 软件技术专业介绍(三): 课程组成 专业课程由以下四部分组成: 1)编程语言课程(包括Microsoft公司Windows平台开发技术和SUN公司的Java开发技术)

计算机软件技术基础课后题答案

数据结构习题答案 第一节概论 一、选择题 1.要求同一逻辑结构的所有数据元素具有相同的特性,这意味着( )。 A.数据元素具有同一的特点 *B.不仅数据元素包含的数据项的个数要相同,而且对应数据项的类型要一致 C.每个数据元素都一样 D.数据元素所包含的数据项的个数要相等 2.数据结构是一门研究非数值计算的程序设计问题中计算机的( (1) )以及它们之间的( (2) )和运算的学科。 (1) A.操作对象 B.计算方法 *C.物理存储D.数据映像 (2) A.结构 *B.关系 C.运算 D.算法3.数据结构被形式地定义为(D,R),其中D是( (1) )的有限集合,R是D上( (2) )的有限集合。 (1) A.算法 *B.数据元素 C.数据操作D.逻辑结构 (2)A.操作 B.映像 C.存储 *D.关系4.在数据结构中,从逻辑上可以把数据结构分为( )。A.动态结构和静态结构 B.紧凑结构和非紧凑结构*C.线性结构和非线性结构 D.部结构和外部结构5.线性表的顺序存储结构是一种( )的存储结构。

*A.随机存取 B.顺序存取 C.索引存取 D.Hash 存取 6.算法分析的目的是( )。 A.找出数据结构的合理性 B.研究算法中的输入和输出的关系 *C.分析算法的效率以求改进 D.分析算法的易懂性和文档性 7.计算机算法指的是( (1) ),它必须具备输入、输出和( (2) )等五个特征。 (1) A.计算方法 B.排序方法 *C.解决某一问题的有限运算序列 D.调度方法 (2) A.可行性、可移植性和可扩充性 *B.可行性、确定性和有穷性 C.确定性,有穷性和稳定性 D.易读性、稳定性和安全性 8.线性表若采用链表存储结构,要求存中可用存储单元的地址( )。 A.必须是连续的 B.部分必须是连续的 C.一定是不连续的 *D.连续不连续都可以 9.在以下的叙述中,正确的是( )。 A.线性表的线性存储结构优于链式存储结构*B.二维数组是它的每个数据元素为一个线性表的线性表 C.栈的操作方式是先进先出 D.队列的操作方式是先进后出 10.根据数据元素之间关系的不同特性,以下四类基本的逻辑结构反映了四类基本的数据组织形式,其中解释错误的是( )。

软件技术基础重点总结

第一章 1.算法的基本要素:一是要做哪些事(算法对数据的操作)二是决定做这些事情的先后顺序(控制结构) 2.算法的基本特征:(1)能行性(2)确定性(3)有穷性(4)拥有足够的情报 3.算法评价的标准(算法的复杂度主要包括):时间复杂度和空间复杂度 4.算法的时间复杂度:执行算法所需要的计算工作量算法的空间复杂度:执行这个算法所需要的内存空间 5.用算法在执行过程中所需基本运算的执行次数来度量算法的工作量 6.算法所执行的基本运算次数与问题规模相关 7.对于一个固定规模,算法所执行的基本运算次数可能与特定的输入有关用①平均性态(平均时间复杂度)②最坏情况复杂性(最坏时间复杂度)来描述 第二章 1.数据结构研究的主要问题:①分析数据的特征②选择逻辑结构和物理存储结构③在存储结构的基础上实现对数据的操作 2.数据逻辑结构指数据元素前后件的关系,与它们在计算机中的存储位置无关;数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构) 3.常用的存储结构有顺序、链接、索引等存储结构 4. 5. 6.线性表:n(n≥0)个数据元素的有限序列线性表特点:均匀性 有序性除了第一个元素, 每一个元素都有一个前驱,除了最后一个元素每个元素都有一个后继 7.线性表中所有元素所占的存储空间是连续的线性表中的各数据元素在存储空间中是按逻辑顺序依次存放 8.顺序表:将线性表中的元素相继存放在一个连续的存储空间中;存储结构:数组;特点:线性表的顺序存储方式。逻辑上相邻,物理上相邻;存取方式:随机存取。 9.栈是限定仅在表尾进行插入和删除运算的线性表,表尾称为栈顶(top),表头称为栈底(bottom)。 10.栈的物理存储可以用顺序存储结构,也可以用链式存储结构。 11.队列:一种特殊的线性表,遵守FIFO(First In First Out)规则。队列的数据元素重视从表末尾加入,从表头取出。队列的物理存储可以用顺序存储结构,也可用链式存储结构。 12. front 13.循环队列区分队空队满长采用两种方法①增加一个标志位S;S=0 队空 S=1且rear==front 队满 14.程序中front==(rear+1)%MAXSIZE来判断队满 15.二叉树的性质:①在二叉树的第i层上至多有2^(i-1)个结点(i≥1)②深度为k的二叉树至多有2^k -1个结点(k≥1)③对任何一颗二叉树T,如果其叶结点数为n0,度为2的结点数为n2,则n0=n2+1④具有n个结点的二叉树,其深度至少为log2 n+1⑥在编号完全的完全二叉树中,编号为i的结点,若存在做孩子,则其编号为2i;若存在有孩子,则其编号为2i+1;若存在父结点,则其编号为i/2 16.图是对结点的前驱和后继个数不加限制的数据结构。有向图:图中每条边都是顶点的有序对。无向图:图中每条边都是顶点的无序对。 17.顶点间的关系边可描述为顶点的偶对,边是无序的。弧:顶点间的边是有序的。弧头:弧的终点(方向前方)。弧尾:弧的起始点称为弧尾(方向后方)。Vx(弧尾)→Vy弧头 18.无向图中:顶点的度是以该顶点为一个端点的边的条数。有向图中有入度和出度。 19.路径:从顶点Vx到顶点Vy的顶点序列称为从Vx到Vy的路径。路径的长度是该路径上边或弧的数目。 20.连通图:在无向图中,若每一对顶点间都有路径,称此图是连通图。 第三章 1.平均查找长度(ASL):与关键字进行比较的平均次数。它是用来评价一个算法好坏的一个依据。顺序查找优点对结点的逻辑次序和存储结构无要求;缺点ASL较长。 2.二分查找的先决条件是查找表中的数据元素必须有序。优点:ASL≤log2 n;缺点:因要求有序,所以对所有数据元素按大小排序是非常费时的操作。 3.分块查找又称索引顺序查找,这是顺序查找的一种改进方法。优点:插入、删除操作方便;只要找到对应的块,在块中任意位置操作均可。缺点:索引表增加了辅助存储空间。 4.哈希查找也成为散列查找,哈希查找则是通过计算存储地址的方法进行查找的。 在哈希元素(地址)求解过程中,不同关键字值对应到同一个存储地址的现象称为冲突。即关键字K1≠K2,但哈希函数值H(K1)=H(K2)。处理冲突的方法:开放定址法Hi=(H(key)+di) MOD m,再哈希法,链地址法。线性探测再散列di=1,2,…m-1 二次探测再散列di=1^2,-1^2,2^2,…+k^2,-k^2(k≤m/2) 5.快速排序法又被称为“分区交换排序”。按某种方法选取一个元素K,以它为分界点,用交换的方法将序列分为两个部分:比该值小的放在左边,否则在右边。形成{左子序列}K{右子序列}再分别对左右两部分实施上述分解过程。 6.插入排序基本思想:边插入边排序,保证子序列中是排好序的。每次处理将无需数列的第一个元素与有序数列的元素从后往前逐个进行比较,找出插入位置,将该元素插入到有序数列的合适位置中。插入算法比较次数和交换次数约为n^2/2,因此其时间复杂度为O(n^2),该算法基本稳定,数据基本有序,插入排序速度块。 7.希尔排序是对直接插入排序的改进方法。排序间隔n/2^k k=1,2,…… 8.选择排序:每次从待排序的记录中选出关键字最小(或最大)的记录,顺序放在已有序的记录序列的最后(或最前)面,直到全部数列有序。9.堆定义:hi≥h2i,hi≥h2i+1 hi≤h2i hi小于等于h2i+1从最后一个非终端结点开始往前逐步调整,让每个双亲不大于(或不小于)子女,直到根结点为止。 10.二分法查找效率高,顺序法可以采用链表存储结构,操作灵活,最好是既有二分法的高效率,又有链表灵活性的查找方法。解决之道:二叉排序树。 11.二叉排序树:二叉树为空,或者是具有下列性质的二叉树:如根结点的左子树不空,则左子树所有结点是值均小于根结点值;如根结点的右子树不空,则右子树所有结点是值均小于根结点值;根结点的左右子树也分别是二叉排序树。 第四章 1.操作系统是控制和管理计算机硬件和软件资源、合理组织计算机工作流程、方便用户使用计算机响应速度而设计的一套程序的集合。功能:文件管理,进程管理,存储器管理,设备管理,作业管理。 2.程序是为解决某个问题用计算机语言或命令设计、编写的一系列指令的有序集合。 3.进程就是程序的一次执行过程,是系统进行资源分配和调度的一个独立单元。进程的状态运行状态、就绪状态、等待状态。①处于就绪状态的进程一旦分配到CPU,就转为运行状态。 ②处于等待状态的进程,当需要等待某个时间发生才能继续运行时,则转为等待状态;或者由于分配给它的时间片用完,就让出CPU而转为就绪状态。③处于等待状态的进程,如果它等待的时间已经发生,即条件得到满足,就转为就绪状态。 4.线程是一个程序内部的顺序控制流(独立执行的流)。但线程并不是程序,它自己并不能运行,必须在程序中才能运行。 5.存储器(Memory)能接收数据、保存数据、并能根据命令提供这些数据的装置。 第五章 1.数据库:长期存储在计算机内的、有组织的、可共享的数据集合。特点:数据按一定的数据模型组织、描述和存储;具有较小的冗余度;较高的数据独立性和易扩展性;可为各种用户共享。 2.数据结构是对实体类型和实体间联系的表达和实现,描述系统的静态特性;数据操作是在数据结构之上允许执行的操作集合,包括对数据库的检索和更新(插入、删除、修改)操作,描述系统的动态特性;数据完整性约束是数据及其联系所具有的制约和依赖规则,以保证数据库中数据的正确性、有效性和相容性。 3.ER图中的四个基本成分:矩形框,表示实体类型;菱形框,表示联系类型;椭圆形框,表示实体类型和联系类型的属性(下划线表示键);直线,联系类型与其涉及的实体类型之间以直线连接,并在直线端部标上联系的种类(1:1, 1:N, M:N) 4.关系的三类完整性约束:实体完整性、参照完整性和用户定义完整性。完整约束条件是数据模型的一个重要组成部分,它保证数据库中数据与现实世界的一致性;实体完整性:元组在组成主键的属性上不能有空值;参照完整性(引用完整性):不允许引用不存在的元组;用户定义的完整性(域完整性) 5.视图的作用? ①视图能够简化用户的操作②视图使用户能以多种角度看待同一数据③视图对重构数据库提供了一定程度的逻辑独立性⑤视图能够对机密数据提供安全保护 6.数据库设计步骤? ①需求分析②概念结构的设计③逻辑结构的设计④物理结构的设计 7.sql语言 ①建立一个“学生选课”表SC,它由学号Sno、课程号Cno,修课成绩G组成,其中(Sno, Cno)为主码。 CREATE TABLE SC( Sno CHAR(5) , Cno CHAR(3) , G int, Primary key (Sno, Cno)); ②增加列基本格式 ALTER TABLE 表名ADD 列名类型; ALTER TABLE S ADD ADDRESS V ARCHAR (30) 修改列基本格式 ALTER TABLE 表名MODIFY 列名类型; ALTER TABLE S MODIFY SA SMALLINT; 删除列基本格式 ALTER TABLE 表名DROP 列名; ALTER TABLE S DROP UNIQUE(Sn); ③DISTINCT短语的作用范围是所有目标列 查询选修课程的各种成绩SELECT DISTINCT Cno,Grade FROM SC; ④查询所有(不)姓刘学生的姓名、学号和性别。 SELECT Sname,Sno,Ssex FROM Student WHERE Sname (NOT)LIKE ‘刘%’; ⑤使用谓词IS NULL 或IS NOT NULL,“IS NULL” 不能用“= NULL” 代替 查询缺少成绩的学生的学号和相应的课程号。 SELECT Sno,Cno FROM SC WHERE Grade IS NULL; ⑥使用ORDER BY子句可以按一个或多个属性列排序升序:ASC;降序:DESC;缺省值为升序 查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列。 SELECT Sno,Grade FROM SC WHERE Cno= ' 3 ' ORDER BY Grade DESC; ⑦查询有3门以上课程是90分以上的 学生的学号及(90分以上的)课程数 SELECT Sno, COUNT(*) FROM SC WHERE Grade>=90 WHERE是选择记录的条件; GROUP BY Sno HA VING是选择分组的条件,且 HA VING COUNT(*)>=3; 必须和GROUP BY一起使用 ⑧求学生学号、姓名、选修课程名、成绩。 SELECT Student.Sno,Sname,Cname,Grade FROM Student,Course,SC WHERE Student.Sno=SC.Sno AND https://www.360docs.net/doc/b5758835.html,o=https://www.360docs.net/doc/b5758835.html,o;

计算机科学与技术专业(软件技术方向)

计算机科学与技术专业(软件技术方向)计算机科学与技术专业(软件技术方向) 卓越工程师教育培养计划人才培养方案 一、培养目标 培养适应经济社会与科技发展需要的~德智体美全面和谐发展与健康个性相统一~富有工程意识、实践能力和创新精神~系统掌握计算机科学与工程基本理论~能够运用现代开发方法和工具按照国际规范从事软件系统分析、设计、开发和维护工作的软件工程师。 二、培养标准 依据专业培养标准~本专业毕业生应该具备以下知识、能力和综合素质: 1、基础理论 毕业生应具备数学及自然科学知识、电子电气工程技术基础知识、计算机专业基础知识、软件开发技术、软件测试技术、嵌入式系统与计算机网络技术等较宽领域的工程技术基础理论和专业知识。主要应包括如下几方面的知识: ,1,具有较扎实的数理知识和良好的外语运用能力~并具有一定的经济、管理、人文与社会科学知识, ,2,具有本专业领域较宽的专业基础理论知识~主要包括软件开发技术、软件测试技术、嵌入式系统、计算机网络等专业工程基础知识, ,3,具有本专业所必需的信息技术企业管理和运作、软件开发管理、工程实施等方面的知识。 ,4,具有一定的学科交叉知识~了解社会、经济发展的需求及与本专业的关系~具有较宽阔的视野和较强的工作适应性。 2、专业能力

本专业学生应具备在软件开发、软件测试、系统集成等方面的工程实践能力~ 重点具备掌握常用软件开发技术~能够根据软件工程规范开展软件开发工作的能 力。主要培养的专业能力包括: ,1,掌握并熟练应用计算机专业基础知识~包括计算机基本结构、计算机软硬 件系统运行的基本原理、信息组织和管理的基本原理和方法、计算机网络架构的基本原理和方法、程序设计的基本方法和技能、软件测试基本知识, ,2,掌握信息系统架构的技术和相关设备~包括计算机网络架构的基本原理、 方法和主要设备以及信息系统运行的软硬件平台~具备选择最佳性价比硬件的能力, ,3, 能够进行需求分析~并根据用户需求确定系统目标和要求, ,4, 掌握根据需求规格说明书进行概要,总体,设计的能力, ,5, 掌握根据模块功能需求开展详细设计的能力, ,6, 掌握采用UML工具进行类库设计和采用E-R图进行数据库概念结构设计、 逻辑结构设计和物理结构设计的能力, ,7, 掌握软硬件接口设计、应用系统和数据库系统接口设计的能力, ,8, 掌握在软件开发过程中撰写各类技术说明书和文档的能力, ,9, 掌握按照软件工程和项目需求规范~进行编码的能力, ,10,掌握信息系统集成的方法~具有软硬件系统接口编程、集成的能力, ,11,具备快速掌握和改造现有软件系统的能力, ,12,精通两种以上集成化的开发平台和开发工具~并能够进行软件项目的开发, ,13,精通数据库开发技术、两种以上流行的数据库管理系统的开发工具及相关 技术~掌握根据软件系统需求选择合适的数据库系统的能力, (14) 掌握基本的测试方法和常用测试工具~进行单元测试、组合测试、确认 测试的方法、软硬件系统整合测试能力, (15) 具备跟踪当前技术热点~掌握本专业领域的新技术和新工具的能力。

软件技术基础教学大纲

《软件技术基础》教学大纲 课程编号:23000840 适用专业:电子信息类(非计算机专业) 学时数: 40 学分数: 2.5 开课学期:第4学期 先修课程:《C语言》 考核方式:笔试(闭卷) 执笔者:沈晓峰编写日期:2015年3月审核人(教学副院长): 一、课程性质和目标 授课对象:电子信息工程专业大学二年级本科生 课程类别:学科拓展课程 教学目标: 本课程是针对工科电子信息类本科生开设的一门学科拓展课程。着重培养学生在软件设计领域的基本素质,基本方法和设计理念。授课对象为大学二年级学生,课程任务是通过本课程的学习和相关实验的练习,使学生掌握数据结构、操作系统等软件技术的基本理论知识,具有一定的软件开发能力。 二、教学内容和要求 1、课堂理论教学要求和学时安排(32学时) 1)C程序设计(4学时) (1)C语言回顾,指针的基本概念、运算方法和使用(2学时)。 (2)结构体的基本概念和使用方法(2学时)。 2)数据结构(20学时) (1)数据结构的基本概念(2学时):理解数据结构的基本概念;理解线性和非线性结构的概念。 (2)线性数据结构(9学时):理解表、栈、队列等线性数据结构的概念,存储方式及基于不同存储方式的相关操作的实现方法。 a.理解表的概念及顺序表的存储特点,掌握其创建、插入、删除等实现方法(2 学时); b.掌握单链表、双链表、循环链表的创建、插入、删除方法(2学时); c.理解栈的概念及结构特点,掌握顺序栈及链栈的出栈、入栈操作的实现方法 (2学时);

d.理解队列的概念及特点,掌握顺序、循环队列的创建、出队、入队、判空、判满等操作。掌握链队列的创建及出队、入队(2学时); e.理解数组的概念及二维数组的存放方式,掌握对称矩阵及稀疏矩阵的压缩存储方法(1学时)。 (3)非线性数据结构(5学时):了解典型非线性数据结构的基本概念、存储和访问方式。 a.理解二叉树、满二叉树、完全二叉树的概念及基本性质(1学时); b.掌握二叉树的三种遍历算法、树和二叉树的转换方法(2学时); c.理解图的基本概念及性质,掌握图的邻接矩阵、邻接图存储方式(2学时)。 (4)结构查找和排序(4学时):理解查找和排序的基本概念,掌握三种查找(顺序、二分、分块)和三种排序(简单插入,简单选择和冒泡)方法和实现。 3)操作系统(8学时) (1)操作系统的基本概念(2学时):了解操作系统的基本概念,操作系统发展的历 程和现代操作系统的基本特征。 (2)处理机管理(4学时);理解进程、进程的状态、描述方式、进程控制的手段, 进程的同步和互斥,进程通信和死锁等基本概念,理解进程调度的相关方法。 (3)作业管理(2学时):理解作业、作业的状态、描述方式、作业控制的手段,等 基本概念,理解作业调度的相关方法。 通过这一章的学习同学们应该理解一个用户作业提交给计算机之后,操作系统控制计算机来执行该用户作业的基本流程。 2、实验安排(8学时) 共设置5组实验,分为上机实验和课外实验两部分:上机实验包括两个实验,课外实验包括3个实验,详细实验内容见实验教学大纲。 三、考核方式 课程最后成绩构成包括:期末考试卷面成绩(70%),平时成绩(10%),实验成绩(20%)。 实验部分的考核包含上机实验和课外实验,实验成绩采用实验出勤、实验考核、实验报告和实验程序验证相结合的方式给出。 四、教材和参考资料 1、教材 《软件技术基础》,黄迪明,电子科技大学出版社,1998年 2、参考资料

计算机软件工程专业职业生涯设计(完整版)

计算机软件工程专业职业生涯设计 计算机软件工程专业职业生涯设计 每个人都对自己的将来有个美好的憧憬和期盼,但是要有实际的行动,现在在学校期间的努力就是最好的实际行动,我的人生我自己来掌控当然要为自己做一份详细的职业生涯规划 自我分析篇 我在初中虽然不是什么佼佼者,但我的成绩也能考上普通的高中,但是我没有选择没有,我还是来到了职业高中来学习,为什么我要选择计算机哪? 是环境影响吧。从小我就看着这个电脑长大对它有种好奇。也就渐渐的喜欢上了。喜欢是很重要的,如果你不喜欢就是在好的职业生涯规划我想也不会成就大的理想,当然这是我的想法。 我是那种多血和粘液的混合型性格的人。自我实现的意愿高,希望在人群中出人头地并且发挥重要作用。既关注个人成就,也希望通过影响和带动他人达到组织目标。乐于接受挑战、承担风险,在困难和挫折面前不轻易后退,意志顽强 我的动手能力和自我调节能力很强,收到挫折也能很快的从内心的不愉快中走出来,我对自己很有自信 360°评估 智多星型——总有一些新点子 喜欢挑战和让你兴奋的事情,聪慧,许多事情都比较拿手,致力于自己才干和能力的增长。

有很强的创造性和主动性,绝大多数是事业型的。你好奇心强,喜欢新鲜事物,关注事物的意义和发展的可能性。通常把灵感看得比什么都重要,多才多艺,适应性强且知识渊博,很善于处理挑战性的问题。善于快速抓住事物的本质,喜欢从新的角度和独到的方式思考问题,对问题经常有自己独到的见解。你机警而坦率,有杰出的分析能力,并且是优秀的策略家 不喜欢条条框框的限制和因循守旧的工作方式,习惯便捷的问题解决方法。你喜欢自由的生活并善于发现其中的乐趣和变化。 认为“计划赶不上变化”,并以实际行动证明大部分规定和规律都是有弹性,可伸缩的,通常会超出被认可和期望的限度。能用自己的热情感染他人。 可能有的盲点: 二、动力类型 总是充满热情的寻找新鲜事物,但行事缺少稳定的计划和流程,经常依靠临场发挥,可能因为忽视必要的准备工作,而草率地身陷其中。 类型为: 主宰型、开拓型 主宰型: 自我实现的意愿高,希望在人群中出人头地并且发挥重要作用。既关注个人成就,也希望通过影响和带动他人达到组织目标。 开拓型: 乐于接受挑战、承担风险,在困难和挫折面前不轻易后退,意志顽强.

《计算机软件技术基础》试题答案

《计算机软件技术基础》试题 1.线性表的链式存储结构与顺序存储结构相比优点是 CD 。 A. 所有的操作算法实现简单 B. 便于随机存取 C. 便于插入和删除 D. 便于利用零散的存储器空间 2.线性表是具有n 个 C 的有限序列。 A. 表元素 B. 字符 C. 数据元素 D. 数据项 E. 信息项 3.若长度为n 的线性表采用顺序存储结构,在其第I 个位置插入一个新元素的算法的时间复杂度为 C 。(1≤I ≤n+1) A. O(0) B. O(1) C. O(n) D. O(n 2 ) 4.设A 是一个线性表(a 1,a 2,…,a n ),采用顺序存储结构,则在等概率的前提下,平均每插入一个元素需要移动的元素个数为 B ,平均每删除一个元素需要移动的元素个数为 A ;若元素插在a i 与a i+1之间(0≤I ≤n-1)的概率为 ) 1() (2+-n n i n ,则平均每插入一个 元素所要移动的元素个数为 C ; A. 21 -n B. 2n C. 3 12+n D. 4 13+n 5.下列函数中,按它们在∞→n 时的无穷大阶数,最大的是 D 。 A. log n B. nlog n C. 2n/2 D. n!

6.将下图所示的s所指结点加到p所指的结点之后,其语句应为: D 。 A. s->next=p+1; p->next=s; B. (*p).next=s; (*s).next=(*p).next; C. s->next=p->next; p->next=s->next; D. s->next=p->next; p->next=s; 7.将两个各有n个元素的有序表归并为一个有序表时,其最少的比较次数是 A 。 A. n B. 2n-1 C. n-1 D. 2n 8.下面的程序段是合并两个无头结点链表(ha和 hb)为一个无头结点链表ha的过程,作为参数的两个链表都是按结点的data域由大到小链接的。合并后新链表的结点仍按此方式链接。请填写下述空框,使程序能正确运行。 1. #define NULL 0 typedef struct node{ int data; struct node *next; }node, linklisttype; void combine(linklisttype *ha, linklisttype *hb){ linklisttype *h, *p; h = (linklisttype *)malloc(sizeof(linklisttype)); h->next = NULL; p = h;

计算机技术与软件专业水平考试

3.5.5 FCB与文件目录 1 FCB OS管理文件时必须的控制信息的数据结构,文件存在的唯一标志, 四个部分:基本信息:名保护信息:密码位置信息:存储位置,长度使用信息:最迟使用者 2 文件目录 FCB的集合为文件目录,其被组织成为--》目录文件 一级目录结构,最简单, 二级:主文件和用户文件目录:用户名和指向用户目录的指针|文件名,指向具体要求位置的指针 多级:多层次分类文件体系,增加了灵活,适应典型为树型。可反映层次结构关系,还得保护和共享3.5.6 文件的使用 1工作目录当前目录,为提高效率,每用户有自己工作目录,先调入主存,且可随时改变 2 文件的使用一组命令专用于文件,目录的管理,目录管理(建立、删除)|文件控制(建立、删除)|文件存取命令(显示内容) 3 文件共享和安全指不同用户使用同一文件|文件的保密和保护,限制未受权用户使用 若两用户可同时打开文件存取则为动态文件共享 安全措施:常在系统及(口令),用户级(用户分类限定),目录级(操作权限)、文件级(只读、执行、隐藏)实施 3.6 作业管理 任务是作业调度和作业控制 1简介用户|系统角度:A:系统为完成一个用户的计算任务所做工作总和,每一步为作业步B:比程序更广泛的概念,由程序、数据和作业描述书组成,在批处理中,作业是抢内存的基本单位作业管理程序:OS中控制作业进入、执行和撤销的一组程序,可把作业步细化,用进程来实现 用户作业提交方式:联机|脱机 2 用户作业管理 1作业控制:A:联机输入:大多用于交互式系统中,外围设备速度远低于CPU,浪费CPU B:脱机输入;预输入,需一台低档计算机作为外围处理机,提高了主机资源利用率,且需要人式干预,灵活性差,无法直接提交紧急事务 2 作业状态及其转换:提交、收容、执行和完成4阶段 用各种终端,输入设备提交到辅存,全进入时为后备状态,(收容),OS建立JCB,作业控制块,其包含了作业主要信息,作业调度程序从后备中取一个调入主存,建立进程并分配资源,处于运行状态,完成时结果输出,回收所占资源 3 作业调度后备—》执行|执行—》完成须作业调度完成 1调度目标:4点:对所有作业公平,响应时间快(交互系统),周转(加权)时间快(批处理),高资源利用率 基于不同观点,会冲突。周转时间:提交到完成的时间加权:周转时/运行时反应时间:提交到处理器首次服务 2 调度算法:单批道:主要任务:合理有效实现作业间链接,提高利用率,减少人干预三种 先来先服务,最短作业优先法(忽略了等待时间),响应比高者优先(作业响应时间/运行时间,开销大),多道程序:优先级算法(照顾某些紧迫作业)|均衡调度算法(均衡使用资源,力求用户满意) 4 用户接口用户界面,用户与OS交互的途径和通道,即OS的接口|交比环境的控制方式,即操作环境

软件技术基础教学大纲资料

软件技术基础》教学大纲 课程编号: 23000840 适用专业:电子信息类(非计算机专业) 学时数: 40学分数: 2.5 开课学期:第4 学期 先修课程: 《C 语言》 考核方式:笔试(闭卷) 执笔者:沈晓峰编写日期:2015 年3月审核人(教学副院长): 一、课程性质和目标授课对象:电子信息工程专业大学二年级本科生课程类别:学科拓展课程教学目标: 本课程是针对工科电子信息类本科生开设的一门学科拓展课程。着重培养学生在软件设计领域的基本素质,基本方法和设计理念。授课对象为大学二年级学生,课程任务是通过本课程的学习和相关实验的练习,使学生掌握数据结构、操作系统等软件技术的基本理论知识,具有一定的软件开发能力。 二、教学内容和要求 1、课堂理论教学要求和学时安排(32 学时) 1) C 程序设计(4 学时) (1)C 语言回顾,指针的基本概念、运算方法和使用( 2 学时)。 (2)结构体的基本概念和使用方法(2 学时)。 2)数据结构(20 学时) (1)数据结构的基本概念(2 学时):理解数据结构的基本概念;理解线性和非线性结构的概念。 (2)线性数据结构(9 学时):理解表、栈、队列等线性数据结构的概念,存储方式及基于不同存储方式的相关操作的实现方法。 a. 理解表的概念及顺序表的存储特点,掌握其创建、插入、删除等实现方法(2 学时); b. 掌握单链表、双链表、循环链表的创建、插入、删除方法( 2 学时); c. 理解栈的概念及结构特点,掌握顺序栈及链栈的出栈、入栈操作的实现方法 (2 学时); d. 理解队列的概念及特点,掌握顺序、循环队列的创建、出队、入队、判空、判满等操作。掌握链 队列的创建及出队、入队(2 学时); e. 理解数组的概念及二维数组的存放方式,掌握对称矩阵及稀疏矩阵的压缩存储方法 (1 学时)。

软件前沿技术

软件工程前沿技术

需求工程中需求获取方法综述 摘要:随着社会信息化的飞速发展,计算机软件变得愈来愈复杂、规模也越来越庞大,软件工程的研究也日益深入,软件需求则逐步成为贯穿于整个软件开发过程的核心因素,而需求获取则成为需求工程领域的新热点。需求获取是软件生命周期的初始阶段,也是决定软件成败的关键因素之一,由于需求不清或错误导致软件失败的案例越来越多,所以如何快速、准确地获取软件需求成为软件行业研究的重点。 通过需求建模来获取需求,目前有用例驱动的交互式需求获取、基于UML的需求获取、基于领域本体的需求获取方法、基于Event-B的软件形式化需求获取方法、基于RGPS的网络式软件需求方法等需求获取方法。这几种方法都有自己的独特的获取需求的方法,侧重于获取过程中的不同的方面,从不同角度方向、不同领域来克服需求获取中的困难,提高需求获取的准确性。 关键字:需求工程、需求获取方法、用例驱动、UML、领域本体、Event-B、RGPS 一、引言 需求工程是随着软件工程的发展而产生的。在软件开发的初级时期,软件规模不大,软件开发所关注的是代码编写,软件需求很少受到重视。在引入软件生命周期的概念后,需求工程成了软件生命周期的第一阶段。随着软件系统规模的扩大,以及为了解决“软件危机”而引起的软件工程技术与方法的发展,需求工程在整个软件开发与维护过程中就显得越来越重要了。人们普遍认识到,充分研究软件需求可以避免开发系统时的盲目性,能够直接关系到软件的成功与否。随着软件工程的研究和应用的逐渐深入,人们同时认识到软件需求不再仅限于软件开发的最初阶段,它贯穿于系统开发的整个生命周期。许多项目开发过程中出现的诸多问题都与需求工程阶段没有合理完整的进行需求获取、分析有关。由此可见,需求工程对于项目开发尤其是大型项目的研发的至关重要的作用。 需求工程中如何快速获取和准确地理解、表达用户需求,即需求获取,是长期困扰软件开发者的难题。一方面,软件开发者由于不了解应用领域,只能被动地等待领域用户提供信息,他们常常抱怨用户需求不全,经常变化,使他们无所适从;他们还难免对领域用户的描述产生错误的理解,因而得出不适当的需求模型,导致软件开发半途而废。另一方面,领域用户通常不知道如何按软件开发的要求去描述他们的需求,而且,他们一开始常常对自己的需求仅有一个模糊的认识,如果没有任何提示和引导,就不可能立刻给出正确而完整的需求描述。确定系统的需求是一个连续的过程,开发人员在开发系统之前不可能完全详细地说明一个系统的真正需求。一个不完整的需求获取和管理过程,会对项目的生命周期产生多米诺骨牌的效应。用户需求的缺失会导致系统需求的缺失,从而导致设计单元及功能的缺失,并最终导致系统不能实现预期的功能,或者需要在后期花费较大的代价来修正或补充这些功能,导致项目延期、产生严重的质量问题或超出项目预算。因此,及时、准确地获取用户需求,是决定软件项目能否取得成功的关键步骤之一。 二、需求获取及需求建模 需求获取就是通过不断交流沟通使软件开发者和领域用户对目标系统形成共识。现今国内外提出了数种需求获取的方法,从不同角度方向、不同领域来克服需求获取中的困难,提高需求获取的准确性。 获取需求存在诸多困难主要原因如下: (1)缺乏领域知识、应用领域的问题常常是模糊的,不准确的; (2)存在默认的知识,即难以描述的日常知识(常识问题);

计算机软件技术基础作业

第二章数据结构概述 一、选择题 1.在数据结构中,从逻辑上可以把数据结构分为( C )。 A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构 2.线性表的顺序存储结构是一种( A )的存储结构。 A.随机存取B.顺序存取C.索引存取D.Hash存取 3.计算机算法指的是( C ),它必须具备输入、输出和( B )等五个特征。 (1) A.计算方法B.排序方法C.解决某一问题的有限运算序列D.调度方法 (2) A.可行性、可移植性和可扩充性B.可行性、确定性和有穷性C.确定性,有穷性和稳定性D.易读性、稳定性和安全性 4.线性表若采用链表存储结构,要求内存中可用存储单元的地址( D )。 A.必须是连续的B.部分必须是连续的C.一定是不连续的D.连续不连续都可以 5.根据数据元素之间关系的不同特性,以下四类基本的逻辑结构反映了四类基本的数据组织形式,其中解释错误的是( A )。 A.集合中任何两个结点之间都有逻辑关系但组织形式松散B.线性结构中结点按逻辑关系依次排列形成一条“锁链”C.树形结构具有分支、层次特性,其形态有点像自然界中的树D.图状结构中的各个结点按逻辑关系互相缠绕,任何两个结点都可以邻接 二、判断题 ×1.数据元素是数据的最小单位。 √2.数据结构是带有结构的数据元素的集合。 √3.数据结构、数据元素、数据项在计算机中的映像分别称为存储结构、结点、数据域。 ×4.数据项是数据的基本单位。 √5.数据的逻辑结构是指各数据元素之间的逻辑关系,是用户按使用需要建立的。 √6.数据的物理结构是数据在计算机中实际的存储形式。 ×7.算法和程序没有区别,所以在数据结构中二者是通用的。 三、填空题 1.所谓数据的逻辑结构指的是数据元素之间的____逻辑关系_____。 2,数据结构是相互之间存在一种或多种特定关系的数据元素的集合,它包括三方面的内容______数据的逻辑结构、数据的存储结构、对数据施加的操作_。3.数据的逻辑结构包括__集合结构___、_____线性结构___、____树型结构_____和__图状结构_____四种类型。 4.在线性结构中,开始结点_____没有______前驱结点,其余每个结点有且只有_____一个______个前驱结点。 5.算法的五个重要特性是__可行性___、___确定性___、___有穷性___、___输入__、___输出__。 6.下列程序段的时间复杂度是_____O(n)____。 for (i=1;i<=n;i++) A[i,i]=0; 7.存储结构是逻辑结构的_____物理______实现。

计算机软件与理

计算机软件与理论(081202) 一、学科简介 计算机软件与理论专业涉及计算机科学与技术的基本理论和方法,强调计算、算法、软件、设计等概念,主要的领域包括计算理论、算法与复杂性、系统软件、软件自动化、程序设计语言、软件设计与理论、数据库系统、软件工程与软件复用技术、计算机网络技术、并行处理技术、高性能计算、智能软件、信息安全理论与方法、信息系统工程等。 该学科的研究方向主要有:软件方法学、信息系统工程、并行处理与高性能计算、计算机网络与普适计算和数据库技术与应用等。以培养高素质的创新型科学研究与工程技术人才为目的。教学科研工作中,兼顾理论研究与工程技术实践,着力建设重基础、宽口径的特色专业,以校企联合为手段,为科学研究和信息技术产业输送高层次的计算机专门人才。 在科学研究和应用技术方面跟踪国内外前沿方向,形成基础研究与应用技术研究结合、产学研结合的特色。通过委托、横向合作等方式将科研成果转化为计算机应用产品,为政府、企事业等单位的公共信息平台建设进行研发,涉及信息系统集成、Web技术、信息安全、智能控制、图形图像处理、新农村及制造业信息化、远程教育、软件项目管理等众多应用领域。 计算机软件与理论专业是我院重点发展,进步较快的专业。目前,有教授7人,副教授11人,近年来承担国家自然科学基金项目3项、省部级项目8项,参与国家“863项目”3项,主持国家科技支撑项目子课题2项;在国际学术刊物、国内重要期刊和国际会议发表学术论文130余篇,SCI/EI/ISTP检索20余篇。学科带头人和学术骨干平均年龄约40岁,在各自的研究领域取得了丰厚的科研成果。 二、培养目标 培养目标应根据国家对学位获得者的基本要求,结合本学科专业的特点,阐明对本学科专业硕士学位获得者在德、智、体等方面的要求。

相关文档
最新文档