严飞_软件技术基础沈被娜习题解答

合集下载

软件应用基础复习题答案

软件应用基础复习题答案
{printf("第%d个连通分量节点序列:",j++);
DFS(G,i);//调用前面的深度优先遍历算法
}
}
采用广度优先搜索遍历非连通图,并输出各连通分量节点序列的算法如下:
int visited[MAXV]={0};
BFSGraph(AGraph *G)
{int i,j=1;//用j记录连通分量的序号
PRICE*SUM(QUANTITY)AS SUM_VALUE
FROM SHOP A,SALE B,GOODS C
WHERE A.S#=B.S# AND B.G#=C.G# AND AREA='EAST'
GROUP BY C.G#,GNAME;
(注:SELECT子句中的属性C.G#,GNAME应在分组子句中出现)
3.[答案]
由段表知,第0段内存始址210,段长为500,故逻辑地址(0,430)是合法的,对应的物理地址为210+430=640。
由段表知,第1段内存始址2350,段长为20,故逻辑地址(1,10)是合法的,对应的物理地址为2350+10=2360。
由段表知,第2段内存始址100,段长为90,故逻辑地址(2,500)的段内位移500已经超过了段长,故为非法地址。
第7趟:1,2,3,4,5,6,7,8,10,9
第8趟:1,2,3,4,5,6,7,8,10,9
第9趟:1,2,3,4,5,6,7,8,9,10
5.[答案]
链式存储结构略,前序ABDEC,中序DBEAC,后序DEBCA。
6.[答案]
852
[解析]首先定义整型变量i,整型数组a, a的长度为10,即a中包含10个整型元素(整型变量)

《计算机软件技术基础》习题及参考答案

《计算机软件技术基础》习题及参考答案
A. 存储结构 B. 物理结构 C. 逻辑结构 D. 物理和存储结构
4.以下数据结构中不属于线性数据结构的是______。
A. 队列 B. 线性表 C . 二叉树 D. 栈
5.在计算机中,算法是指______。
A. 查询方法 B. 加工方法 C. 解题方案的准确而完整的描述 D. 排序方法
6.在下列选项中,哪个不是一个算法一般应该具有的基本特征______。
B. 随机存取的存储结构、顺序存取的存储结构
C. 随机存取的存储结构、随机存取的存储结构
D. 任意存取的存储结构、任意存取的存储结构
14.下列关于栈的描述中错误的是。
A.栈是先进后出的线性表B.栈只能顺序存储
C.栈具有记忆作用D.对栈的插入和删除操作中,不需要改变栈底指针
15.栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是______。
A. 程序的规模 B. 程序的易读性 C. 程序的执行效率 D. 程序的可移植性
30.对建立良好的程序设计风格,下面描述正确的是______。
A. 程序应简单、清晰、可读性好 B. 符号名的命名要符合语法
C. 充分考虑程序的执行效率 D. 程序的注释可有可无
31.下面对对象概念描述错误的是______。
A. 任何对象都必须有继承性 B. 对象是属性和方法的封装体
C. 对象间的通讯靠消息传递 D. 操作是对象的动态性属性
32.在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送______。
A. 调用语句 B. 命令 C. 口令 D. 消息
33.面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是______。

《计算机软件技术基础》复习答案.docx

《计算机软件技术基础》复习答案.docx

《计算机软件技术基础》复习题——答案1.线性表的链式存储结构与顺序存储结构相比优点是一CD2. 线性表是具有n 个C 的有限序列。

A.表元索B.字符C.数据元索E.信息项3. 若长度为n 的线性表采用顺序存储结构,在其第I 个位置插入一个新元索的算法的时间复杂度为 C (lWIWn+1)A. 0(0)B. 0(1)C. 0(n)D. 0(n 2)4. 设A 是一个线性表(g 弧…,弘),采用顺序存储结构,则在等概率的前提下,平均每插入一个元素需耍移动的元素个数为 B ,平均每删除一•个元素需要移动的元索个数为A ;若元索插在eh 与茹】之间(OWTWn-1)的概率为"匸",则平均每插入一个 n(n +1)元素所要移动的元索个数为C5•下列函数屮,按它们在 ms 时的无穷人阶数,最大的是—D6•将卜•图所示的s 所指结点加到p 所指的结点之后,其语句应为:DA.所有的操作算法实现简单B.便于随机存取C.便于插入和删除 1).便于利川零散的存储器空间D.数据项C.2n + \D ・3n +14A . C. 10g/7n/2 B. nlog/7 D. n! nextnextnextA. 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~l C. n~lD. 2n8. 卜面的程序段是合并两个无头结点链表(ha 和hb)为一个无头结点链表ha 的过程,作为 参数的两个链表都是按结点的data 域由人到小链接的。

计算机软件技术基础教程(第二版)习题及答案

计算机软件技术基础教程(第二版)习题及答案

第1章习题部分答案1. 操作系统的发展分为那几个阶段?解:操作系统的发展经历了三个阶段:操作系统的酝酿阶段、操作系统的形成阶段、操作系统的理论化和标准化阶段。

2. 计算机软件技术开发系统包括那几个阶段?解:计算机软件开发系统的发展经历了四个阶段:机器语言阶段、汇编语言阶段、高级语言阶段、面向对象语言和可视化语言阶段。

3. 计算机软件技术的主要范畴是什么?解:计算机软件技术的主要范畴包括软件工程技术、程序设计技术、软件工具环境技术、系统软件技术、数据库技术、实时软件技术、网络软件技术、与实际工作相关的软件技术等八个领域的内容。

4. 从软件技术的发展现状来看有哪些值得我们注意的问题?解:从软件技术的发展现状来看有以下几个值得我们注意的问题:1)软件危机2)软件技术标准,软件版权和软件价值评估3)软件技术的基础研究。

1第2章习题部分答案1. 什么是软件危机?软件危机的表现有哪些?解:软件开发技术的进步为能满足发展的要求,在软件开发中遇到的问题找不到解决的方法,问题积累起来形成了尖锐的矛盾,导致了软件危机。

2. 软件危机产生的原因是什么?解:造成软件危机的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的。

1)软件规模越来越大,结构越来越复杂。

2)软件开发管理困难而复杂。

3)软件开发费用不断增加。

4)软件开发技术落后。

5)生产方式落后。

6)开发工具落后,生产率提高缓慢。

3. 常见的软件过程模型有哪些?解:常见的软件过程模型有瀑布模型、增量模型、演化过程模型、敏捷开发4. 如何对软件质量进行评价?解:软件质量的评价主要围绕可维护性、可靠性、可理解性和效率这几个方面进行。

2第3章习题部分答案1. 软件可行性研究的目的是什么?软件可行性研究的任务又是什么?解:软件可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。

可行性研究的任务首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,把他们清楚地列举出来。

《计算机软件技术基础》参考答案A.doc

《计算机软件技术基础》参考答案A.doc

《计算机软件技术基础》参考答案A一、单项选择题(每空1分,共50分)1-5 CBCBD 6-10 ADDCB11-15 ACABB 16-20 BLJCI21-25 CCABC 26-30 BADAB31-35 BCDBA 36-40 DDCDA41-45 DDCAC 46-50 BBCAB评分标准:本题每空1分,多选、少选、错选均不得分。

二、本题10分(1) v != NULL或v(2) x > v->val 或x != v->val(3) p->next(4) u->next(5) head->next评分标准:本题10分,每空2分,在(3)-(5)中未写出next扣1分三、本题10分(1) A!=NULL && B!=NULL(2) A->data==B->data(3) B=B->next;(4) A!=NULL(5) last->next=NULL;评分标准:本题10分,每空2分,在(2)中未写出data扣1分,在(3)和(5)中未写出next扣1分四、本题10分解:(1) A、B、C三个进程之间存在互斥的制约关系。

因为打印机属于临界资源,必须一个进程使用完之后另一个进程才能使用。

(2)mutex:用于互斥的信号量,初值为1。

各进程的代码如下:进程A 进程B 进程C... … ...... … ...P(mutex) P(mutex) P(mutex)申请打印机申请打印机申请打印机使用打印机使用打印机使用打印机V(mutex) V(mutex) V(mutex)… … …评分标准:本题10分,(1)题3分,(2)题7分,其中给出信号量含义和初值1分,三个进程代码各2分五、本题10分解:FIFO淘汰算法:内存块为3时,缺页中断(或称缺页次数、页面故障)为9;内存块为4时,缺页中断为10。

LRU淘汰算法:内存块为3时,缺页中断为10评分标准:本题10分,FIFO淘汰算法两种情况各3分,LRU淘汰算法1分,要求有分析过程六、本题10分解:段式存储管理的地址转换过程为:(1)根据逻辑地址中的段号查段表的相应栏目;(2)根据段内地址<段长度,检查地址是否越界;(3)若不越界,则绝对地址=该段的主存起始地址+段内地址。

《计算机软件技术基础》复习题答案.docx

《计算机软件技术基础》复习题答案.docx

《计算机软件技术基础》试题1.线性表的链式存储结构与顺序存储结构相比优点是一CD2. 线性表是具有n 个 C的有限序列。

A.表元索B.字符C.数据元索E.信息项3. 若长度为n 的线性表采用顺序存储结构,在其第I 个位置插入一个新元索的算法的时间复杂度为 C (lWIWn+1)A. 0(0)B. 0(1)C. 0(n)D. 0(n 2)4. 设A 是一个线性表(g 弧…,弘),采用顺序存储结构,则在等概率的前提下,平均每插入一个元素需耍移动的元素个数为 B ,平均每删除一•个元素需要移动的元索个数为A ;若元索插在eh 与茹】之间(OWTWn-1)的概率为"匸",则平均每插入一个 n(n +1)元素所要移动的元索个数为C5•下列函数屮,按它们在 ms 时的无穷人阶数,最大的是—D 6•将卜•图所示的s 所指结点加到p 所指的结点之后,其语句应为:DA.所有的操作算法实现简单B.便于随机存取C.便于插入和删除 1).便于利川零散的存储器空间D.数据项C.2n + \3D ・3n +14A . C. 10g/7n/2 B. nlog/7 D. n! nextnextnextA. 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~l C. n~lD. 2n8. 卜面的程序段是合并两个无头结点链表(ha 和hb)为一个无头结点链表ha 的过程,作为 参数的两个链表都是按结点的data 域由人到小链接的。

合并后新链表的结点仍按此方式链 接。

《软件技术基础》习题解答

《软件技术基础》习题解答

第二章2.1 什么是数据结构?它对算法有什么影响?数据结构是指同一数据对象中各数据元素间存在的关系。

数据结构对算法的影响:算法的实现必须借助程序设计语言中提供的数据类型及其运算。

一个算法的效率往往与数据的表达形式有关,因此数据结构的选择对数据处理的效率起着至关重要的作用。

它是算法和程序设计的基本部分,它对程序的质量影响很大。

2.2何谓算法?它与程序有何区别?广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。

计算机算法是通过计算机能执行的算法语言来表达的。

和程序的区别:一个程序包括两个方面的内容:(1)对数据的描述,即数据结构。

(2)对操作的描述,即算法。

所以算法是程序的一个要素。

2.12试编写算法求已知单链表长度,并考虑表空的情况。

p = headi = 0While(p!=nil) //表不为空P<-- next(p)//移动到下一个元素i++End(while)Return i //返回数据的个数head2.14 已知一循环链表中数值已按递增有序排列现要插入一个新结点,并使插入一个新节点,并使插入后链表仍为有序序列Link ST (head ,b){Get node (p);data(p)←b;If(head=nil) then{ head←head;head←p;return;}If(b<data (head)) then {next(p)←head ;head←p;return;}q←headWhile(next(q)≠nil)and(b>data(next(q)))doq←head(q)If(next(q)≠nil)then{next(p)←next(q);next(q)←p;}Else{ next(q)←p;next(p)←nil;}return}2.30 设一颗二叉树其中序和后序遍历为中序:BDCEAFHG后序:DECBHGFA答案:ABCDEFHG2.33.给定一组权值W={8,2,5,3,2,17,4},画出由此生成的哈夫曼树。

“软件技术基础”考题(含答案)

“软件技术基础”考题(含答案)

第三十二次一、是非判断题(每小题1分,共10分)( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B )1. 在程序设计中,常用一维数组来表示线性表的顺序存储空间。

( 1 )2. 软件测试的目的是为用户提供没有错误的程序。

( 2 )3. 栈顶的位置只能进行进栈操作不能进行退栈操作。

( 3 )4. 处于等待状态的进程,若其等待的事件已发生,就立即转入运行状态。

( 4 )5. 线性表若采用链式存储表示时其结点之间的存储单元地址可以不连续。

( 5 )6. 在进行插入排序时,其数据比较次数与数据的初始排列有关。

( 6 )7. 数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储结构无关,是独立于计算机的。

( 7 )8. 在操作系统中,进程最基本的特征是静态性和并发性。

( 8 )9. 软件危机是由于软件产品过多而产生的。

( 9 )10.面向过程系统需求分析使用的主要工具是数据流图和数据字典。

( 10 ) 参考答案:ABBBA AABBA二、选择题(每小题1分,共5分)1. 进程从运行状态进入就绪状态的原因可能是(11 )。

11 (A) 时间片用完(B) 等待某一事件(C) 等待的事件已发生(D) 被选中占有处理机2. 需求分析中开发人员主要从用户那里了解(12 )。

12 (A) 软件怎样做(B) 软件做什么(C) 输入的信息(D) 软件的测试3. 队列的操作原则是(13 )。

13 (A) 先进后出(B) 先进先出(C) 只进不出(D) 只出不进4. 在需要经常查找结点的前驱后后继的情况下,使用(14 )比较合适。

14 (A) 单链表(B) 循环链表(C) 双链表(D) 顺序表5. 任何两个并发进程之间(15 )。

15 (A) 一定存在互斥关系(B) 一定存在同步关系(C) 一定彼此独立无关(D) 可能存在同步或互斥关系参考答案:ABBCD第三十一次一、是非判断题(每小题1分,共10分)( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B )1. 数据在计算机内存中的表示是指数据的存储结构。

软件技术基础习题答案

软件技术基础习题答案

操作系统1.如何理解虚拟机的概念?答:虚拟机就是在裸机上扩展一层软件,将硬件实现细节隐藏起来,使用户能够更方便、更灵活使用的计算机。

2.什么是多道程序设计,它的主要优点是什么?答:多道程序设计就是允许多个程序同时进入内存并运行。

主要优点:提高资源利用率,从而提高了系统的吞吐量。

3.试述分时系统与实时系统,并比较它们的区别。

答:分时系统是指能够允许多个用户同时使用一台计算机的系统。

实时系统是指能够及时响应随机发生的外部事件,并在严格的时间范围内完成对该事件处理的系统。

实时系统对系统响应速度要求更高,可靠性要求更高。

(或者说明分时系统与实时系统各自特点)4.一般从哪几方面对操作系统的性能进行评价?1)可靠性2)方便性3)效率4)可维护性5)可移植性5.试说出几种你所熟悉的操作系统名称,并说明其特征。

答:Linux特征:支持多用户、多任务,具有良好的用户界面,设备独立性,系统安全性能高,良好的可移植性。

Windows特征:支持多用户、多任务,具有友好的图形用户界面,强大的内存管理功能,可靠性高,操作简单。

6.根据你试用计算机系统的经验,说明操作系统的作用。

答:控制和管理计算机系统内各种硬件和软件资源、合理有效地组织计算机系统的工作,为用户提供一个使用方便可扩展的工作环境,从而起到连接计算机和用户的接口作用。

7.如何理解网络操作系统的主要功能?答:用于管理网络通信和共享资源,协调各主机上任务的运行,并向用户提供统一的、有效的网络接口,包括网络管理、通信、资源共享、系统安全和多种网络应用服务。

8.如何理解进程的概念?进程与程序的区别是什么?进程与作业的联系和区别是什么?答:进程是一个可以并发执行的程序或程序段在一个数据集合上的执行过程,他是系统分配资源的基本单位。

区别:1)经常是一个动态的概念,是执行程序的动态过程,它因创建而产生,因调度而执行,因撤销而消亡。

而程序是一个静态的概念,是进程运行的静态文本。

软件技术基础 第三版 课后习题答案

软件技术基础 第三版  课后习题答案

1.1程序与软件1程序的静态与动态属性2程序由程序语言抽象的符号表达3程序是对数据施行算法的过程4程序是分层嵌套的1.2软件的分类与应用软件1.3 几种常用软件1.4 学习提示随着信息技术、网络的普及,人们的生活、工作方式正在发生着巨大的改变。

通过网络获取知识和信息,传达指令,工作效率、生产力潜能充分发挥。

信息化和数字化带来巨大效益,节省大量人力物力;许多想象中的事情已变为现实。

计算机创造出虚拟战场、虚拟商场、多媒体影像。

对演习结果进行预测和判断、对交易过程进行分析和指导、使得影像效果更逼真和生动。

计算机成为人们生活中不可或缺的重要部分。

1.1程序与软件计算机是一台快速执行指令的机器,指令非常简单(四则运算、逻辑运算、数据传送和跳转指令),组合起来能完成复杂的任务。

计算机按照序列顺序执行指令。

程序是计算机指令的序列,编制程序就是为计算机安排指令序列。

把程序装入计算机内存,按顺序逐条执行,执行完达到所需的结果。

程序的静态与动态属性程序实际上是一个用计算机语言描述的某问题的解决步骤。

其表示是静态的。

要解决问题,程序必须能够运行(动态)。

程序是指示计算机动态执行的序列。

编写程序是为机器写行动计划,形式上要符合程序设计语言的规范,内容上要得到计算结果。

程序的动态执行就是进程。

程序:程序语言抽象的符号表达程序用机器码做最直接的表示是机器可以直接“读懂”的语言,编起来麻烦很难读懂,极易出错。

把操作码变成英文字母就出现了汇编语言,“转换”用汇编程序作“翻译”。

把符号表示翻译成机器具体执行的指令集,完成了抽象到具体的映射。

高级语言,不需要考虑机器指令和内存存储安排,只有变量、运算符、表达式、过程、函数,编译程序将其翻译为机器码程序。

程序员把计算的问题转化成高级程序设计语言的表达式、语句、过程/函数、对象。

编程语言越是高级、越自动,翻译程序任务越重,编程语言的设计与实现是软件技术中重要的一环。

程序:对数据施行算法的过程按程序设计语言提供的符号和语法写出程序,同时表达了语义,即程序要做的计算。

软件技术基础考试复习题(含答案)

软件技术基础考试复习题(含答案)

1、计算机系统与软件的关系:软件是计算机系统的一部分,体现了计算机应用能力与水平2、软件的三层含义?个体含义:特指具体的软件;整体含义:个体含义的全体;学科含义:软件理论、方法与技术所组成的学科。

3、软件特性:抽象性、知识性、复杂性、复用性。

4、软件分类?软件理论:算法理论与数据理论;软件系统:应用软件、支撑软件与系统软件;软件开发:软件工程。

第二章5、算法是一类问题过程的一种求解方法,该方法可用一组有序的计算机步骤或过程表示。

6、算法不是程序,算法高于程序。

算法是程序的框架与灵魂,而程序是算法的实现。

7、算法的五大特征:能行性、确定性、有穷性、输入、输出。

8、算法的两大基本要素?算法的操作:四种基本操作(算法、逻辑、比较、传输);算法的控制:三种基本控制(顺序、选择、循环)。

9、四种常用的算法设计方法?枚举法:穷举所有可能的方法;递归法:自己调用自己的方法;分治法:将问题分解成若干的方法;回溯法:试探性的求解方法。

10、算法的评价:算法的正确性;算法的时间效率分析;算法的空间效率分析。

11、算法的时间效率分析,用T(n)=O(f(n))表示,常用六种:常用阶O(l);对数阶O(log2n);线性阶O(n);线性对数阶O(n log2n).;平方阶(立方或K方阶)O(n2),O(n3),O(n k);指数阶O (2n)。

12、六个完整算法表示:算法名、算法输入、算法输出、算法流程、算法正确性、算法分析第三章13、数据是按一定规则组织的符号串,并被识别。

14、数据是由数据结构与数据值组成。

15、数据的三个结构层次?客观世界:事物与事物之间的关联;逻辑世界:数据逻辑结构与逻辑值;物理世界:数据物理结构与物理值。

16、数据元素是命名的数据单位。

17、数据操作:数据操作的总称。

18、数据操作分为?数据值操作:定位、读及增加、删除、修改操作;数据结构操作:创建、删除、查询、修改操作。

19、数据结构:以(狭义)数据结构为核心所构成的数据与数据操纵的结合体,也广义结构。

软件技术基础 习题答案

软件技术基础 习题答案

软件技术基础习题答案软件技术基础习题答案在学习软件技术基础的过程中,习题是非常重要的一种学习方式。

通过解答习题,我们可以巩固所学的知识,提高自己的理解能力和解决问题的能力。

下面是一些常见的软件技术基础习题及其答案,供大家参考。

1. 什么是软件开发生命周期?它包括哪些阶段?答:软件开发生命周期是指软件从开始开发到最终交付使用的整个过程。

它包括需求分析、系统设计、编码、测试、部署和维护等阶段。

2. 什么是面向对象编程?面向对象编程有哪些特点?答:面向对象编程是一种编程范式,它将程序中的数据和操作封装成对象,并通过对象之间的交互来实现程序的功能。

面向对象编程的特点包括封装、继承和多态。

3. 什么是数据结构?请举例说明一种常见的数据结构。

答:数据结构是指组织和存储数据的方式。

常见的数据结构有数组、链表、栈和队列等。

以数组为例,它是一种线性数据结构,可以存储多个相同类型的元素。

4. 什么是算法?请举例说明一种常见的算法。

答:算法是指解决问题的一系列步骤。

常见的算法有排序算法、搜索算法和图算法等。

以排序算法为例,冒泡排序是一种常见的排序算法,它通过比较相邻元素的大小来实现排序。

5. 什么是数据库?请举例说明一种常见的数据库类型。

答:数据库是指存储和管理数据的系统。

常见的数据库类型有关系型数据库和非关系型数据库。

以关系型数据库为例,MySQL是一种常见的关系型数据库,它使用表格的形式来存储数据。

6. 什么是网络编程?网络编程有哪些常用的协议?答:网络编程是指通过网络进行数据传输和通信的编程方式。

常用的网络协议有TCP/IP协议和HTTP协议。

TCP/IP协议是一种传输协议,用于保证数据的可靠传输;HTTP协议是一种应用层协议,用于在客户端和服务器之间传输超文本。

7. 什么是操作系统?操作系统有什么作用?答:操作系统是计算机系统中的核心软件,负责管理和控制计算机的硬件和软件资源。

操作系统的作用包括管理内存、文件和进程,提供用户界面和系统调度等。

软件技术基础第三版课后习题答案

软件技术基础第三版课后习题答案

第二章程序设计语言计算机工作是执行相应程序,程序规定了执行的动作和动作的执行顺序。

程序的表达手段是程序设计语言。

程序设计语言是人- 机交换信息的媒体;是表达软件(程序)的工具;是人- 人交换信息的工具。

软件的开发和使用,协作开发、使用修改都要读程序,程序设计语言必须规范化和标准化。

程序设计语言是与计算机通信创造的语言,严格、小巧,没有二义性(语句执行只有一个解释)。

2.1 高级程序设计语言概述最初的语言是机器语言。

机器语言在内存中开辟两个区:数据区存放数据;指令区存放指令。

CPU 从指令区第一个地址开始逐条取出指令并释义执行,直到所有的指令都被执行完。

一般的指令格式2.2.2 高级语言程序的解释执行编译型语言由于可进行优化(有的编译器可作多次优化),目标码效率很高,是目前软件实现的主要方式。

语言编写的源程序,都需要进行编译、连接,才能生成可执行程序。

编译时花费时间但程序的执行效率提高。

对高级语言源程序采取解释执行的方式.解释执行需要有一个解释器(Interpreter ),它将源代码逐句读入。

先作词法分析,建立内部符号表;再作语法和语义分析,即以中间码建立语法树,并作类型检查。

完成检查后把每一语句压入执行堆栈,压入后立即解释执行。

操作系统的命令、BASIC 、VB 、Prolog 、LISP 、Java 、Java Script Post script2 .3 .1 变量、表达式、赋值使用符号常量,只需一次性改动其赋值就行了。

赋值和函数调用是程序语言改变变量的值的基本手段。

不同的语言所使用的赋值号并不完全相同,比如Pascal 语言的赋值号是“:=”,而在C 语言、Java 语言、VB 等语言中,赋值号是“ =”。

程序中的一条语句对应着计算机的一条命令(用一条或多条指令来实现)。

一个赋值语句就是一条赋值命令。

2.3.2 程序的控制结构程序约定自上向下自左向右地执行,即顺序地执行语句(或表达式)。

计算机软件技术基础习题解答(第四版)

计算机软件技术基础习题解答(第四版)

内容简介
本书是《计算机软件技术基础(第四版)》的辅助教材,给出了《计算机软件技术基础(第四版)》中所有 习题的参考解答,并对有些习题给出了详细分析;此外,还给出了一些补充习题及解答与分析。
作者简介
徐士良清华大学教授,已出版多种教材。
图书目录
第1章预备知识1 第2章基本数据结构及其运算8 第3章查找与排序技术129 第4章资源管理技术143 第5章数据库设计技术150 第6章编译技术概述159 第7章应用软件设计与开发技术162
谢谢观看
计算机软件技术基础习题解答(第四 版)
20xx年清华大学出版社出版的图书
01 推荐
03 作者简介
目录
02 内容简介 பைடு நூலகம்4 图书目录
《计算机软件技术基础习题解答(第四版)》是2017年12月1日清华大学出版社出版的图书,作者是徐士良、 葛兵。
推荐
本书是作者根据多年的教学实践与科技开发的经验编写的。结合作者编写的《计算机软件技术基础(第四 版)》,能帮助读者尽快掌握该课程的内容。

软件技术基础试题及答案图文稿

软件技术基础试题及答案图文稿

软件技术基础试题及答案集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)软件技术基础班级姓名成绩1分,共25分)1.数据结构作为一门学科,主要研究数据的、存储结构以及三方面内容。

2.当对一个线性表经常进行插入或删除操作时,则宜采用存储结构;而经常进行的是访问操作,而很少进行插入或删除操作时,则宜采用存储结构。

3.在线性结构中,首结点有个前驱结点,其余每个结点有且只有个前驱结点。

4.限定在表的一端进行插入,在表的另一端进行删除的线性表称为;限定在表的一端进行插入和删除运算的线性表称为。

5.一个8阶的下三角矩阵B按行优先顺序压缩存储在一维数组中,则数组的大小应设为。

6.按照二叉树的定义,具有3个结点的二叉树形态有种;具有65个结点的完全二叉树其深度为 ; 深度为10的完全二叉树最多有个结点7.在长度为n的顺序表的第i个位置上插入一个元素,元素的移动次数为;删除第i个元素时,需要从前向后依次前移个元素。

(1≤i≤n+1)8.顺序存储结构的循环队列中,设front 和rear分别为队头和队尾指示器,该队列中能存放的最大元素的个数为M AX-1,则判断队列为满的条件为,而判断队列为空的条件是。

9.设D={A,B,C,D,E},R={<A,B>,<C,D>,<D,B>,<C,E>},结构(D,R)描述的数据结构是。

10.系统出现死锁一定是同时保持了,,和环路条件这四个必要条件。

11.操作系统通过记载、跟踪、控制进程的执行,它是进程存在的唯一标志。

作业调度程序是从处于状态的作业中选取一个作业并把它装入主存。

12A.软件生命周期瀑布模型一般可分为问题分析、、、和软件维护五个阶段。

,二、选择题(每小题1分,共10分)1.已知: int x; 下列语句正确的是()。

A. int *p=&x;B. int *p=x;C. int p=&x;D. int *p=*x;2.int a[ ]={1,2,3,4,5},b[5],*p; 则下列语句中不正确的语句是()。

软件技术基础课后答案

软件技术基础课后答案

2013年4月考试软件技术基础第三次作业一、填空题(本大题共30分,共 10 小题,每小题 3 分)1. 语句char *s=”\\Hello\tWorld\n”;,指针s所指字符串的长度为______ 。

2. 数组 int a[5][3];共定义了 ______ 个数组元素。

3. 以下程序段的输出结果是 ______ 。

int a[3][2]={1,2,3,4,5,6},(*p)[2]; p=a; printf("%d\n",*(*(p+2)+1));4. 某二叉树中度为2的结点有18个,则该二叉树中有 ______ 个叶子结点。

5. 以下程序的功能是打印杨辉三角形,请补充完整。

6. 以下程序编译连接后的可执行文件名为sm.exe,其功能是根据命令行参数计算sum=1+2+…+m。

例如在命令提示符下输入sm 10<回车>,运行结果是10,55。

请填空完成。

7. 结构数组中存有三人的姓名和年龄,以下程序输出三人中最年长者的姓名和年龄。

请填空完成。

8. 以下是一个能实现文件拷贝功能的函数,其函数的原型:void mycopy(char *fname1,char *fname2); 其中:fname1为指向源文件名称的串指针,fname2为指向目标文件名称的串指针请填空题完成。

9. 以下程序实现功能:在学生档案(结构数组)中,输出年龄居中的学生信息。

请填空完成。

10. 以下函数的功能是计算n的x次方值。

请填空完成。

二、程序阅读题(本大题共30分,共 3 小题,每小题 10 分)1. 以下程序的运行结果是什么?2. 从键盘输入:100<回车>,以下程序的输出结果是?3. 以下程序的运行结果是什么?三、程序设计题(本大题共40分,共 2 小题,每小题 20 分)1. 编程序,逐个输入某科课程若干学生成绩(百分制),分别统计其中的优等生有多少个?(优等生的成绩大于85)不及格学生有多少个?(不及格的成绩小于60)如果输入的数为0,则停止输入结束程序。

北京工业大学博士研究生考试参考书目

北京工业大学博士研究生考试参考书目
1、Wlter Rudin.《Real and Complex Analysis(前五章)》.机械工业出版社,2004 2、陆善镇、王昆扬.《实分析》.北京师范大学出版社,2006
2470
光电子学
蓝信钜.《激光技术》.科学出版社,北京,2007
2480
固体物理II
黄昆 原著,韩汝琦 改编.《固体物理学》(第六至十一章 ).高等教育出版社,1998
3250
高等混凝土结构理论
过镇海、时旭东.《钢筋混凝土原理和分析》.清华大学出版社,2003
3260
高等土力学
李广信.《高等土力学》.清华大学出版社,2004
3270
交通工程
任福田.《交通工程学》.人民交通出版社,2008.7
3280
结构优化设计
王光远 董明耀.《结构优化设计》.高等教育出版社,1987
北京工业大学2011年博士研究生考试参考书目
华慧网—远程教育平台添加时间:2010-10-12 9:59:20
考博论坛考博保过班考博复习资料免费课程
北京工业大学2011年博士研究生入学考试参考书目
科目代码
科目名称
参考书目
1010
英语
详见英语考试大纲(登陆北京工业大学研招网首页查询)
1020
日语
详见日语考试大纲(登陆北京工业大学研招网首页查询)
2390
高等有机化学
荣国斌.《高等有机化学基础》(第三版).化学工业出版社,2009
2400
环境微生物学
周群英.《环境工程微生物学》(第三版).高等教育出版社,2008
2411
超对称理论
Steven Weinberg.《The Quantum Theory of Theory --Supersymmety》,Vol. 3 . CambrigdeUniversity Press

严飞_软件技术基础沈被娜习题解答

严飞_软件技术基础沈被娜习题解答

2.1 什么是数据结构?它对算法有什么影响?数据结构是指同一数据对象中各数据元素间存在的关系。

数据结构对算法的影响:算法的实现必须借助程序设计语言中提供的数据类型及其运算。

一个算法的效率往往与数据的表达形式有关,因此数据结构的选择对数据处理的效率起着至关重要的作用。

它是算法和程序设计的基本部分,它对程序的质量影响很大。

2.2何谓算法?它与程序有何区别?广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。

计算机算法是通过计算机能执行的算法语言来表达的。

和程序的区别:一个程序包括两个方面的内容:(1)对数据的描述,即数据结构。

(2)对操作的描述,即算法。

所以算法是程序的一个要素。

2.3 何谓频度,时间复杂度,空间复杂度?说明其含义。

频度:在某个算法中某个语句被重复执行的次数就是此语句的频度。

时间复杂度:是用来估算一个算法的执行时间的量,以算法中频度最大的语句来度量。

空间复杂度:指在算法中所需的辅助空间的单元,而不包括问题的原始数据占用的空间。

2.4试编写一个求多项式Pn =anxn +an-1 xn-1+a1x+a0的值Pn(x 0)的算法,要求用乘法次数最少,并说明算法中主要语句的执行次数及整个算法的时间复杂度。

A=(a0, a1……an)mul = 1 //sum=afor i=1 to nmul = mul * x // xsum = A[i]*mul + sum //求和end(i)进行了n次时间复杂度为:2n2.5计算下列各片段程序中X←X+1执行次数(1)for i=1 to nfor j=1 to ifor k=1 to jx←x+1end(k)end(j)end(i)执行次数:n*n*ni←1while i<n dox←x+1i←i+1end(while)执行次数:n-1(3)for i=1 to nj←1for k=j+1 to nx← x+1end(k)end(i)执行次数:n*(n-1)2.6 数据的存储结构主要有哪两种?它们之间的本质区别是什么?数据的存储结构:向量和链表。

软件技术基础总复习题及参考答案0626

软件技术基础总复习题及参考答案0626
92栈和队列都是ba顺序存储的线性结构b限制存取点的线性结构c链式存储的线性结构d限制存取点的非线性结构93用顺序查找方法查找长度为n的线性表时在等概率情况下的平均查找长度为cn12dn1294下列有关线性表的叙述中正确的是一个线性表是n个数据元素的有限序列b线性表中任何一个元素有且仅有一个直接前驱c线性表中任何一个元素有且仅有一个直接后继d以上说法都不正确95对线性表进行二分查找时要求线性表必须a以顺序方式存储b以链接方式存储c以顺序方式存储且数据元素有序d以链接方式存储且数据方式有序96一个队列的入列序列是1234则队列的输出序列是97从一个长度为n的顺序表中删除第i个元素1in时需向前移动个元素
C、c,a,b D、a,c,b 12、 如果将一棵有 n 个结点的完全二叉树按层次遍历次序,存放在下标编号为 0, 1, … , n-1 的一维数组中,设某结点下标为 k( k ≥ 0 ),如果其左孩子存在, 则其左孩子结点的下标是____C______。 A、2k– 1 B、2k C、2k + 1 D、2k + 2 13、 用整数 5, 7, 3, 6, 4 作为五个树叶的权值,可以构造一棵带权路径长度值为 ___C______的霍夫曼树。 A、78 B、62 C、57 D、25 14、 设单链表中结点结构为(data,link),若想删除结点*p 的直接后继,则应执行 下列哪一个操作 A 。 A、p->link=p->link->link; B、p=p->link; p->link=p->link->link; C、p->link=p->link; D、p=p->link->link; 15、 顺序表是线性表的 B 。 A、链式存储结构 B、顺序存储结构 C、索引存储结构 D、散列存储结构 16、 若某线性表中最常用的操作是取第 i 个元素和找第 i 个元素的前趋元素,则采 用 A 存储方式最节省时间。 A、顺序表 B、单链表 C、双链表 D、单循环链表 17、 当利用大小为 n 的数组顺序存储一个栈时,假定用 top= =n 表示栈空,则向这 个栈插入一个元素时,首先应执行 B 语句修改 top 指针。 A、top++; B、top--; C、top=0; D、top; 18、 对于任何一棵二叉树 T, 如果其终端结点数为 n0, 度为 2 的结点为 n2.,则 A A、n 0 = n 2 +1 C、n 0 = 2n 2 +1 B、n 2 = n 0 +1 D、n 2 =2n 0 +1
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.1 什么是数据结构?它对算法有什么影响?数据结构是指同一数据对象中各数据元素间存在的关系。

数据结构对算法的影响:算法的实现必须借助程序设计语言中提供的数据类型及其运算。

一个算法的效率往往与数据的表达形式有关,因此数据结构的选择对数据处理的效率起着至关重要的作用。

它是算法和程序设计的基本部分,它对程序的质量影响很大。

2.2何谓算法?它与程序有何区别?广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。

计算机算法是通过计算机能执行的算法语言来表达的。

和程序的区别:一个程序包括两个方面的容:(1)对数据的描述,即数据结构。

(2)对操作的描述,即算法。

所以算法是程序的一个要素。

2.3 何谓频度,时间复杂度,空间复杂度?说明其含义。

频度:在某个算法中某个语句被重复执行的次数就是此语句的频度。

时间复杂度:是用来估算一个算法的执行时间的量,以算法中频度最大的语句来度量。

空间复杂度:指在算法中所需的辅助空间的单元,而不包括问题的原始数据占用的空间。

2.4试编写一个求多项式Pn =anxn +an-1 xn-1+a1x+a0的值Pn(x 0)的算法,要求用乘法次数最少,并说明算法中主要语句的执行次数及整个算法的时间复杂度。

A=(a0, a1……an)mul = 1 //sum=afor i=1 to nmul = mul * x // xsum = A[i]*mul + sum //求和end(i)进行了n次时间复杂度为:2n2.5计算下列各片段程序中X←X+1执行次数(1)for i=1 to nfor j=1 to ifor k=1 to jx←x+1end(k)end(j)end(i)执行次数:n*n*ni←1while i<n dox←x+1i←i+1end(while)执行次数:n-1(3)for i=1 to nj←1for k=j+1 to nx← x+1end(k)end(i)执行次数:n*(n-1)2.6 数据的存储结构主要有哪两种?它们之间的本质区别是什么?数据的存储结构:向量和链表。

本质区别:向量是连续存放的,其存储空间是静态分配的,以存放顺序来表达元素的前后件的关系。

链式存储结果不需要一组连续的存储单元,其数据元素可以分散存放在存储空间中,其元素关系由指针来指向。

2.8已知线性表L(a 1, a 2, … , a n ) 元素按递增有序排列。

用向量作为存储结构,试编写算法:删除表中值在c 与d 之间(c<=d)的元素找到第1个大于等于c的元素,序号为s找到第一个大于d 的元素,序号为tL[s] ← L[t]L[s+1] ← L[t+1]…L[s+m] ← L[t+m] // s+m = t -1 m = t – s - 1L[s + i ] ← L[t + i ] // i = 0 to t-s-1i=1; // i 从1 循环到ns = -1; // 第1个大于等于c 的元素序号t = -1; // 第1个大于d 的元素序号for i = 1 to n step -1if s ==-1 and L[i]>=c // 找到第1个大于等于c 的元素s = iif t == -1 and L[i] >d // 找到第1个大于d 的元素t = i ;end (i)if s != -1 and t !=-1i = swhile i < t and i + t – s <=nL[i] = L [i + t – s ]i++end(while)elsereturn(错误 没有找到 元素在c 和d 之间)end(if)for j=c to n-d+cL[j]<--L[j+d-c]//把j+d-c 项给jEnd(j)N<--n-d+c//所有项数减少Return2.9 线性表A,B中的元素为字符串类型,用向量结构存储,试编写算法,判断B是否为A的子序列(例如A=ENGLISH ,B=LIS ,则B为A的子序列)A[m] B[n]A:B:i=1 检查A中第1个元素开始的字符串是否与B匹配i=2 检查A中第2个元素开始的字符串是否与B匹配……i= m – n + 1 检查 A中第(m-n+1)个元素开始的字符串是否与B匹配A[m]B[n]if ( m<n ) then return errorfor ( i =1; i<= m-n+1; i++)for (j = 1; j<= n ; j++)if (A[i+j-1 ] != B[j ])break;end(j)if j>n then return( A字符串中第i个字符开始的子串与B匹配 ) end(i)renturn (找不到匹配的子串)设A,B两个线性表的元素个数为m,nIf (m<=n)then{return}For i=0 to n-1a=A[i]for j=0 to m-1if(a=B[j])then{b++}end(j)end(i)if(b=m)then{B 为A的子集}return2.11写一个将向量L (a 1 ,a 2, a n )倒置的算法。

对L(a 1,a 2, ... ..., a n )如果是奇数个元素,则1, 15 交换 1, n 交换2,14 交换 2, n-1 交换3,13 交换 3,n-2 交换4,12 交换 4,n-3 交换5,11 交换 5,n-4 交换6,10 交换 6,n-5 交换7,9 交换 7,n-6 交换8,8 交换 8,n-7 交换9,7 交换 9,n-8 交换? 停止如果是偶数个元素,则1,14 交换 1, n 交换2,13 交换 2, n-1 交换3,12 交换 3,n-2 交换4,11 交换 4,n-3 交换5,10 交换 5,n-4 交换6,9 交换 6,n-5 交换7,8 交换 7,n-6 交换8,7 交换? 8,n-7 交换? 停止小结:n 个元素倒置的算法是,i = 1while ( i<n-i+1)a[i] 与 a[n-i+1] 交换i++end(while)a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a130 a14 a15a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a130 a14 a152.12试编写算法求已知单链表长度,并考虑表空的情况。

p = headi = 0While(p!=nil) //表不为空P<-- next(p)//移动到下一个元素i++End(while)Return i //返回数据的个数head2.13试编写算法删除单链表中第k个结点。

GETNODE(q)GETNODE(p)q<-headFor i=1 to k-1q<-next(q)End(i)P<-next(q);next(q)<-next(p)Ret(p)Return2.14 已知一循环链表中数值已按递增有序排列现要插入一个新结点,并使插入一个新节点,并使插入后链表仍为有序序列GETNODE(p)Data(p)=aWhile(data(p)<data(n))n<-next(n)End(while)q <-nnext(p) <--next(q)<-preturn2.18 设在长度大于1 的循环链表中,即无头结点,也无头指正,p为指向链表中每个节点的指针,试编写算法删除该节点的前趋结点。

q<-Next(p)//找到该节点的前趋结点p<-next(q);next(q)<-next(p)RET(p)Return2.20 试用单链表表示两个多项式:A=4X12 +5X8+6X3+4 ,B=3X12+6X7+2X4+5(1)设计此两个多项式的数据结构II 答案参见33页即可2.22 CQ[0:10]为一循环队列,初态 front=rear=1,画出下列操作后队的头,尾指示器状态:(1)d,e,b,g,h入队;rear=6 front=1(2)d,e出队 rear=6 front=3(3)I,j,k,l,m入队 rear=0 front=3(4)b出队 rear=0 front=4(5)n,o,p,q,r入队 rear=5 front=42.25 有一个二维数组A[1:m ;1:n],假设A[3,2]地址为1110,A[2,3]地址为1115,若每个单元占一个空间,问A[1,4]的地址是多少答案:11202.26 用三维数组和带行辅助向量形式表示下列稀疏矩阵:答案:6 3 28I 1 2 3 5 6Pos 1 2 4 1 3Num 3 2 1 1 1(2)参考上面的,和47,48页的容2.28将题图2.3的一般树化为二叉树。

答案:2.29 设一颗完全二叉数有1000个结点,试问:(1)有多少个叶子结点 489(2)有多少个度为2的结点 2(3) 有多少个结点只有非空左子树 12.30 设一颗二叉树其中序和后序遍历为中序:BDCEAFHG后序:DECBHGFA答案:ABCDEFHG2.31.对二叉树写出如下算法:(1)复制一棵二叉树;(2)判断两棵二叉树是否相等;(3)计算二叉树的树叶;(4)计算二叉树的深度;解:1)//复制一棵二叉树/*算法思想采用递规函数来实现(1)如果树为空,则复制一棵空树;(2)如果树不为空,则依次递规复制已知二叉树的左子树和有子树;(3)生成一个新的根结点,使复制得到的左子树和右子树的根指针分别成为这个新生成结点的左指针域和右指针域的值。

算法编写:*/BiTree *CopyTree(BiTree *T){//if(!T) return NULL;if(T->lchild)newlchild=CopyTree(T->lchild);//else newlchild=NULL;//if(T->rchild)newrchild=CopyTree(T->rchild);//else newrchild=NULL;//newnode=GetTreeNode(T->data,newlchild,newrchild); //return newnode;}//CopyTreeBiTNode *GetTreeNode(TelemType item,BiTNode *lptr,BiTNode *rptr){ //T=new BiTNode;T->data=item;T->lchild=lptr;T->rchild=rptr;return T;}//GetTreeNode(2)在这里要对一种情况进行说明当root1的左子树与root2的左子树相同,root1的右子树与root2的右子树相同时,这两颗二叉树相同。

相关文档
最新文档