软件技术基础课讲义件完整

合集下载

全套电子课件:计算机软件技术基础

全套电子课件:计算机软件技术基础
• 一般地,这些软件工具包括程序设计语言以及编 译程序、调试程序、解释程序、链接程序、文本 编辑程序等。
• 这些软件工具的集合称为集成开发环境 (integrated development environment,IDE)
编译程序
• 编译程序(compiler)是一种把用某种计算机 语言编写的源代码程序转变成另一种计算 机语言(目标语言,通常是二进制形式,被 称为目标代码)的计算机程序。
得Unix的可移植性大大增强。 • Unix是一个可移植的、多任务、多用户的操作系统。Unix
操作系统有许多特点,例如采用纯文本存储数据、层次性 文件系统、把设备看作是文件、包含了许多软件工具等。
• 目前,Unix操作系统有许多不同的系列,主要包括Free BSD、Net BSD、Sun OS、AIX、OpenServer、Solaris、 HP/UX有 时,版本控制系统和工具也被集成到IDE中。
• 目前,许多IDE还有类浏览器、对象审查器、类图 等面向对象软件开发功能。
1.2.3 应用软件
• 应用软件(application software)是指在计算机上运行的、支 持或改进软件用户工作的计算机程序。
Unix操作系统
• Unix最早是由AT&T贝尔实验室于1969年开发出来的,主要 开发人员包括Ken Thompson、Dennis Ritchie、Douglas McIlroy等人。
• Unix最初是用汇编语言编写的。 • 1973年,Ken Thompson等人用C语言重新编写了Unix,使
计算机软件技术
• 软件是一种产品,涉及到像操作系统、程序设计 语言、算法等许多不同的技术。
• 计算机软件技术是与软件的设计、实施和使用相 关的多种技术的统称。

第 1 章 概述 软件技术基础课件

第 1 章 概述 软件技术基础课件

第1章概述计算机系统与软件1.1 计算机系统•什么是计算机?计算机是接收、处理和提供数据的装置,它由硬件和软件两大部分组成。

•计算机就是我们平时常用的PC机吗?PC机只是计算机的一种,计算机家族中还有很多其他的成员。

超级计算机•排名前十的超级计算机还有哪些?•Linpack是什么?无处不在的嵌入式家族计算机硬件及其发展•什么是硬件?•硬件是组成计算机系统的所有电子的、机械的、磁性的、光学的装置和部件。

•配置一台个人计算机需要购买哪些东西?–CPU、内存、硬盘、主板、键鼠、显示器…•冯·诺依曼:1945年,“存储程序式计算机”–5大部件构成:•运算器+控制器+存储器+输入设备+输出设备CPU IO设备计算机硬件的发展•发展历史–逻辑元件:电子管→晶体管→集成电路•发展规律及特点–速度慢→速度快–体积大容量小→体积小容量大–外设少、简单→外设繁多、复杂–外设速度发展慢于CPU速度的发展–摩尔定律(假设价格保持不变,处理器芯片上的晶体管数每18个月翻一番)世界上第一台电子计算机ENIAC诞生于1946年18800个晶体管70000个电阻器18000个电容器5百万个焊接点重量30吨耗电174千瓦/h5000次加法/sPentium IV(2000)42,000,000个晶体管时钟频率1.5GHz运算速度为1700 MIPS(MIPS 代表‘百万指令集每秒’)双核处理器(2005)Intel Pentium双核处理器AMD Athlon 64 X2双核处理器三核、四核、六核处理器计算机软件•软件=程序?开发软件=写程序?–认识的误区!–程序只是软件的一个组成部分;写程序只是软件开发的过程中的一个步骤。

•软件是程序、数据以及有关文档资料的集合。

•软件是(可运行的)思想和内容的数字化–思想:算法、规律、方法→程序–内容:图形、图像、数据、声音、文字等→数据软件的两方面含义个体含义,表示计算机系统中具体的程序、数据和有关文档,例如操作系统软件“Windows XP”,是从个体含义上讲的;整体含义,它相对于硬件而言,是对计算机系统中所有程序、数据及相关文档的概括。

ch3_2图2 《软件技术基础》 教学课件

ch3_2图2 《软件技术基础》 教学课件

例 245
245
1
3
连通图G
6
1
3
6
G的生成树
15
❖生成树——所谓连通图G的生成树,是G的包 含其全部n 个顶点的一个极小连通子图。 它必定包含且仅包含G的n-1条边。
❖生成森林——在非连通图中,由每个连通分 量都可得到一个极小连通子图,即一棵生成树。 这些连通分量的生成树就组成了一个非连通 图的生成森林
a
b
c
d
e
无向图G2
vexdata firstarc
1a
2
2b
1
3c
2
4d
1
5e
2
adjvex next
4^ 3 4 3^ 3^
5^ 5^
28
邻接表
❖特点
有向图中 顶点Vi的出度为第i个单链表中的结点个数 顶点Vi的入度为整个单链表中邻接点域值 是i的结点个数 可以找到从顶点出发的弧
vexdata firstarc
例 1
57
TD(2)=ID(2)+OD(2)=1+3=4 例
245
32
46
G2 顶点5的度TD(5)=3 顶点2的度TD(2)=4
1
3
G1
顶点2入度ID(2)=1 顶点4入度ID(4)=1
6
出度OD(2)=3 出度OD(4)=0
10
顶点的度
❖无向图中,顶点的度TD(Vi)为与Vi顶点相 连的边数
❖有向图中,顶点的度分成入度ID(V)与出度 OD(V)
#define MaxVertexNum 100 /*最大顶点数设为100*/
typedef char VertexType;

软件技术基础课件-第1章 导论

软件技术基础课件-第1章 导论

• 软件 是计算机程序, 方法 , 规则 , 相关的文档以 软件是计算机程序 , 方法, 规则, 是计算机程序 及在计算机上运行它时所必需的数据。 软件= 及在计算机上运行它时所必需的数据。即:软件= 程序+数据+ 程序+数据+文档
《软件技术基础》电子教案
13/48
1.1 软件的基本概念
• 软件不是程序
《软件技术基础》电子教案
8/48
课程特点
• 覆盖面大->授课重点 覆盖面大- • 实践性强->上机实验 实践性强-
• 考试
–课上听讲(重点、难点) 课上听讲(重点、难点) 课上听讲 –课下自学 课下自学 –认真上机实践 认真上机实践
《软件技术基础》电子教案
9/48
课程成绩计算
• • • • 平时课堂练习、 平时课堂练习、纪律和出勤率 20% % 实验(课程大作业) 10% 实验(课程大作业) % 70% 期末大考卷面 % 总成绩=平时成绩+实验成绩+卷面 总成绩=平时成绩+实验成绩+卷面 成绩
1.2 软件的发展
• 伴随计算机技术的发展经历了三个阶段 程序设计阶段 软件设计阶段 软件工程阶段
《软件技术基础》电子教案
23/48
1.2 软件的发展
• 程序设计阶段( 程序设计阶段(1946年--1955年) 年 年 程序设计主要围绕硬件进行开发 规模很小、 规模很小、工具简单 程序设计追求节省空间和编程技巧, 程序设计追求节省空间和编程技巧,无文档 资料 主要是用于科学计算
《软件技术基础》电子教案
5/48
课程教学内容
• 软件开发基础知识
–主要介绍程序设计语言,算法与数据结构,软 主要介绍程序设计语言,算法与数据结构, 主要介绍程序设计语言 件工程等。 件工程等。

第1章 软件技术基础-基础知识资料

第1章  软件技术基础-基础知识资料
第 24 页
3、高级语言
高级语言 是一类人工设计的语言,因为 它对具体的算法进行描述,所以又称为 算法语言 。这种语言称为“面向过程的 语言”,只需根据所求解的问题的算法, 写出处理的过程即可,而不必涉及计算 机内部的结构。比如在存取数据时,不 必具体指出各存储单元的具体地址,可 以用一个符号代表地址。
第 26 页
计算机软件以及分类
1983 年, IEEE 组织明确地给 软件 作了定义:软 件是计算机程序、方法和规则相关的文档以及在 计算机上运行它时所必需的数据。 软件≠程序 程序≠软件 程序和软件是两个不同的概念 强调了文档在软件研制中的重要性
第 27 页
软件的分类
计算机软件发展非常迅速,其内容又 十分丰富,对它进行分类也比较困难, 仅从用途来划分,大致分为 服务类、 维护类和操作管理类。 若从计算机系统角度看,软件又分为 系统软件和应用软件。
第 10 页
4、输入设备(人机接口)
输入设备是外部向计算机传送信息的 装置。其功能是将数据、程序及其它 信息,从人们熟悉的形式转换成计算 机能接受的信息形式,输入到计算机 内部。 常见的输入设备有键盘、鼠标、光笔、 纸带输入机、模/数转换器、声音识 别输入等。
第 11 页
5.输出设备
输出设备功能是将计算机内部二进 制形式的信息转换成人们所需要的 或其它设备备有打印机、显示器、 绘图仪、数/模转换器、声音合成输 出等。
第 23 页
2、汇编语言
汇编语言是从机器语言发展演变而来的。 它用一些“助记忆符号”来代替那些难 懂难记的二进制代码,也称为符号语言。 通常用有指令功能的英文词的缩写代替 操作码,如“传送”指令用助记符 MOV(move 的缩写 ) 表示,“加法”指 令用助记符 ADD(Addition 的缩写 ) 表示。 这样,每条指令就有明显的标识,从而 易于理解和记忆,因此,汇编语言程序 有较直观易理解等优点。

软件技术基础教案全解读

软件技术基础教案全解读

第一章内容提要•计算机系统•什么是软件:软件一般被定义为程序及相关文档的总称•什么是程序:程序是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合•什么是文档:文档是利用各种方法对程序的不同层面的描述•软件特征:软件是一种逻辑的产品,是无形的,是脑力劳动的结晶–软件产品质量的体现方式不同软件产品的成本构成不同软件产品的生命周期和失败曲线不同软件产品有静态、动态属性•软件分类:根据服务对象和服务功能的不同大致分为系统软件和应用软件两大类别•什么是操作系统,操作系统是控制和管理计算机软硬件资源,合理的组织计算机工作流程以及方便用户使用计算机的大型程序。

•其主要作用:为用户提供方便、友好的环境,为其他软件提供丰富的功能支持–在计算机系统中,操作系统承担着控制和管理计算机系统的硬件、软件资源的作用•操作系统五大管理的基本任务:1,处理机管理 2,存储器管理3,设备管理 4,文件管理 5,作业管理•什么是算法:算法是指解题方案的准确而完整的描述•算法的基本特征:(1)输入性:具有零个或多个输入量–(2)输出性:至少产生一个输出–(3)可行性:每条指令都应当在有限时间内完成,且能够实现并能达到预期目的–(4)确定性:每条指令的含义必须明确,无二义,任何条件下只有唯一的一条执行路径–(5)有穷性:每条指令的执行次数必须是有限次,任何情况下执行有限步骤就能中止掌握算法描述方法,流程图法•算法的复杂度•数据结构•结构:数据元素之间的相互关系•数据结构:带有结构的数据元素集合及其运算•数据结构分为逻辑结构和物理结构两种•数据的逻辑结构:数据元素之间的逻辑关系•数据的物理结构:数据元素及其逻辑关系在计算机中的存储•数据结构实际上是数据的逻辑结构•一个数据结构中的各数据元素在计算机存储空间中的位置关系与逻辑关系是有可能不同的•数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构•在数据的存储结构中,不仅要存放各数据元素的信息,还需要存放各数据元素之间的前后件关系的信息•常用的存储结构有顺序、链接、索引、散列等存储结构•)顺序存储结构•顺序存储结构主要用于线性结构。

第三章3软件技术基础课件

第三章3软件技术基础课件

第一趟
第二趟
第三趟
第四趟
第五趟
监视哨R[0]
简单插入排序
#include <iostream> using namespace std; template <class T> void insort(T p[ ], int n) { int k,j; T t; for (j=1; j<n; j++) { t=p[j]; k=j-1; while ((k>=0)&&(p[k]>t)) { p[k+1]=p[k]; k=k-1;} p[k+1]=t; } return; }
一共比较了7趟,相当于n-1趟
n=8 j表示趟数 i表示每次比较的数组元素下标
冒泡排序
从前到后扫描后,同样可从后到前进行扫描。
冒泡排序
#include <iostream> using namespace std; template <class T> void bub(T p[ ], int n) { int k,j,I,m; T d; k=0; m=n-1; while (k<m) { j=m-1; m=0; for (i=k; i<=j; i++) if ( p[i]>p[i+1]) {d=p[i]; p[i]=p[i+1]; p[i+1]=d; m=i;} j=k+1; k=0; for (i=m; i>=j; i--) if (p[i-1]>p[i]) {d=p[i]; p[i]=p[i-1]; p[i-1]=d; k=i;} } return; }
简单选择排序
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档