2160215 计算机软件技术基础3(中英文)(2011)
- 格式:pdf
- 大小:230.58 KB
- 文档页数:13
《计算机软件技术基础》课程教学大纲一、课程概况英文名:Introduction to Software Technique开课单位:机械工程学院课程编码:201102学分学时:2.5学分40学时授课对象:机械自动化专业先修课程:《C语言》,《微型计算机原理》课程目的和主要内容:该课程是机械自动化专业一门重要的学科基础课程,开设目的在于使学生对计算机软件有比较深入和系统的了解,通过对软件工程、数据结构和操作系统方面基本知识和技术的系统介绍,让学生熟练掌握数据结构的基本数据运算并代码实现,奠定编写复杂应用程序的基础。
二、课程教学内容及要求第一章:计算机软件的基本概念软件开发方法与技术。
要求学生学习和掌握软件的基本概念,软件的研制过程、软件工程概述、软件设计方法、程序结构、算法描述工具,如流程图和算法语言。
1.1 计算机软件的概念1.2 计算机软件的发展及应用1.3 软件工程学的基本思想和一般方法第二章:数据结构与算法要求学生学习和掌握数据结构的基本概念与原理、线性表、顺序存储结构和链式存储结构、算法实现、数组、栈、队列、树。
2.1 数据结构的概念与算法描述(1)掌握数据结构基本概念(2)了解算法描述方法(3)C语言程序设计简介2.2 线性结构2.2.1 线性表(1)掌握顺序表的定义及其基本运算(2)掌握线性链表的定义及其基本运算(单链表、循环链表)(3)了解线性表的应用2.2.2 栈(1)掌握栈(顺序栈、链栈)的定义及其运算(2)了解栈的应用2.2.3 队列(1)掌握队列(单队列、循环队列、链对列)的定义及其运算(2)了解队列的应用2.2.4 数组(1)了解数组的定义、顺序存储结构2.3非线性结构(1)掌握树的定义和术语(2)掌握二叉树的存储及其运算(3)掌握二叉树的遍历及应用2.4 查找(1)掌握线性表的顺序查找方法(2)掌握顺序表的折半查找方法2.5 排序(1)了解排序的思想(2)掌握直接插入、折半插入排序、冒泡排序方法(3)了解快速排序、归并排序的基本思想第三章:操作系统基础要求学生学习和掌握操作系统的基本概念与原理、操作系统提供的接口、进程与进程管理、多道程序技术、同步与互斥、内存管理、设备管理、文件系统的原理、文件的使用。
计算机软件技术基础
(TheE1ementaryTechno1ogyofComputerSoftware)
总学时:48 理论:36实验(上机、实习等):12
学分:3
课程主要内容:
本课程是学习计算机软件技术的基础课,是非计算机的计算机应用人才所需软件技术知识的基础。
其主要内容包括程序的基本结构,程序设计的基本方法;数据结构与算法;常用的操作系统,操作系统的实现原理;数据库系统的基本概念及设计方法;通过本课程的学习,使学生掌握数据结构与数据库系统的基本概念,基本原理及实现技术,掌握常用的操作系统的特点及应用;为进一步从事计算机软件的研制开发及应用打下必要的基础。
先修课程:大学计算机基础、C语言程序设计等
适用专业:电气工程与自动化
教材:
麦中凡.计算机软件技术基础.北京:高等教育出版社,2007。
教学参考书:
口]冯博琴.计算机软件技术基础.西安:西安交通大学出版社,2010o
[2][美]C1iffordA.Shaffer著.张鸣等译.数据结构与算法分析.北京:电子工业出版社,2010。
《计算机软件技术基础》参考答案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)若不越界,则绝对地址=该段的主存起始地址+段内地址。
计算机软件技术基础完整版一、程序设计语言程序设计语言是程序员与计算机之间进行交流的工具。
它们允许程序员编写指令,告诉计算机如何执行特定的任务。
常见的程序设计语言包括:高级语言:例如C、C++、Java、Python等,它们提供了丰富的抽象功能,使程序员能够更高效地编写代码。
低级语言:例如汇编语言和机器语言,它们与计算机硬件更接近,但编写起来更复杂。
二、数据结构数据结构是存储和组织数据的方式。
它们允许程序员高效地存储、检索和操作数据。
常见的数据结构包括:数组:用于存储一系列相同类型的元素。
链表:用于存储一系列不同类型的元素,元素之间通过指针连接。
栈:后进先出的数据结构,常用于存储临时数据。
队列:先进先出的数据结构,常用于存储等待处理的数据。
三、算法算法是解决问题的步骤。
它们是程序的核心,决定了程序的性能和效率。
常见的算法包括:排序算法:例如冒泡排序、选择排序、快速排序等,用于将数据按照特定顺序排列。
搜索算法:例如线性搜索、二分搜索等,用于在数据结构中查找特定元素。
图算法:例如深度优先搜索、广度优先搜索等,用于处理图结构的数据。
四、软件工程软件工程是开发高质量软件的学科。
它涵盖了软件开发的各个方面,包括需求分析、设计、编码、测试、维护等。
五、软件测试软件测试是确保软件质量的重要步骤。
它包括单元测试、集成测试、系统测试和验收测试等。
六、软件维护软件维护是在软件发布后对其进行修改和改进的过程。
它包括修复bug、添加新功能、提高性能等。
七、软件项目管理软件项目管理是确保软件项目按时、按预算、按质量完成的过程。
它包括需求管理、进度管理、成本管理、质量管理等。
八、软件文档软件文档是描述软件的功能、设计、实现和使用等方面的文档。
它包括需求规格说明书、设计文档、用户手册等。
九、软件工具软件工具是辅助软件开发、测试和维护的工具。
它们包括集成开发环境、代码编辑器、调试器、测试工具等。
十、软件发展趋势云计算:软件将更多地运行在云端,而不是本地计算机上。
第一章信息与计算机1.1 什么是信息?信息与数据的区别和联系在何处?信息定义之一:信息是现实世界中存在的客观实体、现象、关系进行描述的数据。
信息定义之二:信息是经过加工后并对实体的行为产生影响的数据。
与数据的区别和联系:数据定义:数据是现实世界客观存在的实体或事物的属性值,即指人们听到的事实和看到的景象。
我们把这些数据收集起来,经过处理后,即得到人们需要的信息。
信息和数据的关系可以归结为: 1. 信息是有一定含义的数据。
2. 信息是经过加工(处理)后的数据。
3. 信息是对决策有价值的数据。
1.2 信息有哪些基本属性?信息的基本属性有: 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 软件技术发展的几个阶段各有什么特点?它与硬件的关系如何?第一阶段:高级语言阶段特点:这一时期,编译技术代表了整个软件技术,软件工作者追求的主要目的是设计和实现在控制结构和数据结构方面表现能力强的高级语言。
但在这一时期内,编译系统主要是靠手工编制,自动化程度很低。
硬件关系:此时期计算机的硬件要求仅能用机器指令来编制可运行的程序。
第二阶段:结构程序设计阶段特点:在程序的正确性方面,提出了结构化程序设计思想使程序的可靠性提高了。
计算机软件技术基础(第三版)课后习题答案较全第一章信息与计算机1.1 什么是信息?信息与数据的区别和联系在何处?信息定义之一:信息是现实世界中存在的客观实体、现象、关系进行描述的数据。
信息定义之二:信息是经过加工后并对实体的行为产生影响的数据。
与数据的区别和联系:数据定义:数据是现实世界客观存在的实体或事物的属性值,即指人们听到的事实和看到的景象。
我们把这些数据收集起来,经过处理后,即得到人们需要的信息。
信息和数据的关系可以归结为:1. 信息是有一定含义的数据。
2. 信息是经过加工(处理)后的数据。
3. 信息是对决策有价值的数据。
1.2 信息有哪些基本属性?信息的基本属性有: 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 软件技术发展的几个阶段各有什么特点?它与硬件的关系如何?第一阶段:高级语言阶段特点:这一时期,编译技术代表了整个软件技术,软件工作者追求的主要目的是设计和实现在控制结构和数据结构方面表现能力强的高级语言。
但在这一时期内,编译系统主要是靠手工编制,自动化程度很低。
硬件关系:此时期计算机的硬件要求仅能用机器指令来编制可运行的程序。