2160215 计算机软件技术基础3(中英文)(2011)
《计算机软件技术基础》- 课程教学大纲

《计算机软件技术基础》课程教学大纲一、课程概况英文名: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。
计算机软件工程基础课件,高等教育出版社,第三版-PPT文档资料

软件及实现技术
计算机 软件技术
软件开发方法与技术
12
1.3 程序与软件
• 程序是计算机指令的序列,是一个用计算机语言描述的某 一问题的解决步骤。这些指令非常简单(简单的四则运算、 逻辑运算、数据传送和跳转指令)但它们的组合却能完成 非常复杂的任务 。 • 软件是计算机程序,方法,规则,相关的文档以及在计算 机上运行它时所必需的数据。
9
软件的发展历史
10
3、软件技术
计算机解题过程: 1. 理解问题,建立数学模型 2. 设计解题方案 3. 程序编码和调试 4. 程序测试和维护
在这个过程中要用到各种各样的软件技术,有的是抽 象的指导理论,有的是具体的实现工具。
11
软件技术分类
程序设计语言 编译技术 操作系统及实用程序 数据库技术 软件工具 软件工程 程序设计方法 数据结构和算法
e.程序是分层嵌套的
– 程序在结构上是层层嵌套的,在功能上是层层迭加的。
15
P ... call A ... end
《计算机软件技术基础》参考答案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)若不越界,则绝对地址=该段的主存起始地址+段内地址。
软件技术基础 (第三版)第1章

1.4.2 结构程序设计阶段 软件规模的扩大,复杂性的增加,出现了软件危 机,从而产生和发展了程序设计方法学和软件工程 学。 主要表现于以下三个方面:
第18页
(1)程序的正确性 提出了结构化程序设计的思想,将程序的结 构限制为顺序、选择和循环等三种,每一个基本 结构只有一个入口和一个出口。 尽量不使用GOTO语句
第21页
改进: 快速原型法:用短时间制作一个可运行的 样机,实现系统的主要框架 甚高级语言法:只需告诉“做什么”,而 算法的实现由系统软件完成 软件可重用法:把一些基本部件预加工好, 产品开发时,选用合适的基本部件来组装
上一页 停止放映 下一页
第22页
第1章 信息与计算机
软件技术基础
Foundations of Software Technique
下一页
主要内容
信息与计算机
上一页 停止放映 下一页
常用数据结构及其运算 操作系统 数据库系统 计算机网络 软件工程技术基础
第2页
主要内容
1.1、信息与信息时代
1.2、计算机发展简史 1.3、软件的基本概念 1.4、软件发展和软件危机
泛指实际存在的物 理设备 包括计算机本身及 其外围设备:运算 器、控制器、存储 器、输入设备和输 出设备。 只有硬件系统的计 算机称为裸机,无 法使用。因此,将 计算机硬件系统称 为计算机系统是不 合适的。
第12页
(2)硬件与软件结合说
计算机系统=硬件+软件 ——计算机系统的狭义说法
(3)广义系统说 由 人员(People) 数据(Data) 设备(Equipmet) 程序(Program) 规程(Pegulation) 五部分组成
计算机软件技术基础完整版

计算机软件技术基础完整版一、程序设计语言程序设计语言是程序员与计算机之间进行交流的工具。
它们允许程序员编写指令,告诉计算机如何执行特定的任务。
常见的程序设计语言包括:高级语言:例如C、C++、Java、Python等,它们提供了丰富的抽象功能,使程序员能够更高效地编写代码。
低级语言:例如汇编语言和机器语言,它们与计算机硬件更接近,但编写起来更复杂。
二、数据结构数据结构是存储和组织数据的方式。
它们允许程序员高效地存储、检索和操作数据。
常见的数据结构包括:数组:用于存储一系列相同类型的元素。
链表:用于存储一系列不同类型的元素,元素之间通过指针连接。
栈:后进先出的数据结构,常用于存储临时数据。
队列:先进先出的数据结构,常用于存储等待处理的数据。
三、算法算法是解决问题的步骤。
它们是程序的核心,决定了程序的性能和效率。
常见的算法包括:排序算法:例如冒泡排序、选择排序、快速排序等,用于将数据按照特定顺序排列。
搜索算法:例如线性搜索、二分搜索等,用于在数据结构中查找特定元素。
图算法:例如深度优先搜索、广度优先搜索等,用于处理图结构的数据。
四、软件工程软件工程是开发高质量软件的学科。
它涵盖了软件开发的各个方面,包括需求分析、设计、编码、测试、维护等。
五、软件测试软件测试是确保软件质量的重要步骤。
它包括单元测试、集成测试、系统测试和验收测试等。
六、软件维护软件维护是在软件发布后对其进行修改和改进的过程。
它包括修复bug、添加新功能、提高性能等。
七、软件项目管理软件项目管理是确保软件项目按时、按预算、按质量完成的过程。
它包括需求管理、进度管理、成本管理、质量管理等。
八、软件文档软件文档是描述软件的功能、设计、实现和使用等方面的文档。
它包括需求规格说明书、设计文档、用户手册等。
九、软件工具软件工具是辅助软件开发、测试和维护的工具。
它们包括集成开发环境、代码编辑器、调试器、测试工具等。
十、软件发展趋势云计算:软件将更多地运行在云端,而不是本地计算机上。
计算机软件技术基础(第3版)

2.4.2 数组的顺序存储结构
(2)三对角阵的存储方式 三对角阵
非零元a素 ij地址
非零元素优先顺序存放
2.4.3 稀疏矩阵
1. 三元组表示
稀疏矩阵
三元组表示
实现矩阵转置
2.4.3 稀疏矩阵
2. 带辅助向量的三元组表示 行辅助向量
访问x行y列元素
构造POS与NUM向量
2.4.3 稀疏矩阵
2. 带辅助向量的三元组表示 列辅助向量
计算机软件技术基础
第1章 信息与信息时代
第7章 管理信息系统
第2章 常用数据结构及其运算
第3章 操作系统 第8章 信息与计算机系统的安全保护
第4章 数据库系统
第5章 计算机网络与信息高速公路
第6章 软件工程技术基础
第1章 信息与信息时代
1.1 信息与信息时代 1.2 计算机发展简史 1.3 计算机与计算机系统 1.4 计算机软件技术发展过程
程序的三种基本结构
1.4.2 结构程序设计阶段
– 程序设计方法论 – 软件生产管理
具有GOTO语句的程序
程序的三种基本结构
1.4.3 自动程序设计阶段
第四代语言和其他软件技 术的关系
第四代语言工作示意图
第2章 常用数据结构及其运算
2.1 概述 2.2 线性表 2.3 栈与队 2.4 数组 2.5 树与二叉树 2.6 图 2.7 查找 2.8 排序
– 互相依存、无严格界面、相互促进
1.3.3 多媒体计算机
1. 定义:
– 媒体、多媒体计算机
2. 基本要素:
– 文本、图形、图像、动画、音频、视频
3. 基本配置:
– 硬件配置、软件配置
1.4 计算机软件技术发展过程
计算机软件技术基础(第三版) 课后习题答案较全

第一章信息与计算机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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
To understand the basics of software development methods.
2. Course Description This course is a compulsory basic computer course for science and engineering
③ branching programming Experiment 3: ① Loop statement ② loop structure programming 3) Array ① Definitions and references of array ② Input and output of array ③ Array applications Experiment 4: ① Array definition and elements reference ② Input-output of one-dimensional and two-dimensional array and hidden DO tables ③ Programming with an array to process data 4) Structure and Pointer ① Definitions and references of structure ② Declare and use of pointer variable 5) files ① Concept of file ② Basic operation of the file ③ Use of the file Experiment 5: ① Definition and use of structure ② Definition and use of pointer ③ Use of dynamic arrays ④ Use of the file 6. FORTRAN procedure ① Concept of procedure ② Internal function ③ Function subprogram
二.教学基本要求 1. 掌握 FORTRAN 程序的基本组成要素,包括程序结构、数据类型、程序控
制结构、过程和文件等基本概念。 2. 理解结构化程序设计的基本思想,掌握“自顶向下,逐步求精”的程序设
计技术,可以利用三种基本控制结构解决一些简单的问题。 3. 熟练使用 FORTRAN 语言实现常用算法,初步掌握简单绘图程序设计方
1. Objective
To grasp the basic elements of FORTRAN, including program structure, data types, program control structures, procedure and files and other basic concepts.
To skilled use FORTRAN to realize commonly used algorithm, initially grasp the simple drawing programming.
To know well commonly used data structures and algorithms, the initially grasp selecting the appropriate data structure in solving to the different types of problem.
③栈、队列的特点及操作 ④树的概念与树的遍历 ⑤二叉树的概念与二叉树的遍历 ⑥二叉树的存储结构 ⑦树林转换为二叉树 ⑧二叉树排序树 实验 10: ①向量表、顺序栈基本操作的程序实现 ②单向链表基本操作的程序实现
四.学时分配 教学内容
1.FORTRAN 语言基础 2.程序控制结构 3.数组、结构与指针 4.文件 5.FORTRAN 过程、模块 6.基础绘图程序设计 7.实用软件开发技术 8.常用算法分析与设计 9.数据结构基础
总计:
授课 4 6 6 2 6 2 4 6 4 40
பைடு நூலகம்
上机
4 4 2 4 2
6 2 24
实验
实践 实践(周)
五.评价与考核方式 上机考核与结课后闭卷考试相结合。上级考核占总成绩的 20%;笔试占 80%。
六.教材与主要参考资料 1. 教材
《FORTRAN 95 程序设计与数据结构基础教程》,王庆节、葛卫民等、天津 大学出版社、2010. 2. 主要参考资料 《Fortran 95 程序设计》,彭国伦,中国电力出版社,2002. 《VisualFortran 编程指南》,邓巍巍、王越男,人民邮电出版社、2000.
②模块的使用 ③模块与面向对象 ④模块使用举例 实验 7: ① 模块的使用 8. 窗口界面设计与绘图程序设计 ①窗口界面设计概述 ②在 Visual FORTRAN 中创建 QuickWin 应用程序 ③基础绘图程序设计 实验 8: ①创建 QuickWin 应用程序 ②基础绘图程序设计 9. 实用软件开发技术 ①软件开发概述 ②实用软件开发技术 ③软件开发举例 10. 常用算法分析与设计 ①常用数值算法分析与设计 ②常用字符算法分析与设计 ③常用查找、排序算法分析与设计 实验 9: ①求方程的全部实根的程序实现 ②求定积分值的程序实现 ③字符数据处理的程序实现 ④直接选择、冒泡、直接插入排序方法的程序实现 ⑤顺序和二分检索的程序实现 11. 数据结构基础 ①数据、数据结构的概念 ②线性表的逻辑结构、存储结构及在两种存储方式下基本操作的实现
法。 4. 熟悉程序设计中常用的数据结构及算法,初步掌握对不同类型的问题求
解选择适当的数据结构。 5. 了解软件开发方法的基本知识。
三.教学内容 1. FORTRAN 语言基础
①程序设计概述 ②FORTRAN 95 程序的基本结构、标准输入/输出 ③FORTRAN 95 的基本数据类型,以及常量、变量、数组和字符串 ④FORTRAN 95 的运算符和表达式 2. 程序控制结构 ①算法及其特征 ②顺序结构语句:赋值、输入和输出语句 ③选择结构语句:if 结构语句和 select 结构语句 ④循环结构语句:do 和 do While 结构语句 ⑤exit、 cycle 和 goto 语句 实验 1: ① 熟悉上机环境及程序调试的方法 ② 掌握程序编辑、调试、编译运行的方法 ③ FORTRAN 程序的结构 ④ 赋值语句的使用 ⑤ 使用 read*和 print*与计算机交互 ⑥ 顺序结构程序设计 实验 2: ①使用格式输入与输出 ②条件语句、转向语句的使用 ③分支结构程序设计 实验 3: ①循环语句的使用 ②循环结构程序设计 3. 数组 ①数组的定义和引用 ②数组的输入输出 ③数组的应用 实验 4:
The main purpose of this course is to train students to use computers to deal with problems, and to enable students to design a simple application using FORTRAN 95, and to initially grasp selecting the appropriate data structures and algorithms for solving to the different types of problem. It will lay the necessary foundation for the students to combine with the expertise and to use software development environment and tools to solve practical problems and to learn the following relevant courses in the future.