当前位置:首页 >> 高中教育 >>

计算机基础复习ppt


CS, ZJU 2013-1-8

Overview
? 程序和指令 ? 程序设计语言 ? 程序的程序:翻译系统

? 高级语言的概念
? 怎样编写程序

? 软件工程简介

2013-1-8

计算机科学基础

2

6.1 概述
程序和软件是两个不同的概念,整个程序设计过程是 软件设计与开发的基础 ,是软件开发的一个部分;程 序加上该程序的文档就是软件。 ? 程序设计需要使用程序设计语言。 ? 可视化程序设计成为今天程序设计的主流 。
?

2013-1-8

计算机科学基础

3

6.2 程序和指令
?

程序:按步骤执行
? 从广义上看,程序是计算机进行某种任务操作的一系列步骤的

总和,是一组计算机指令的有序集合 。 ? 程序设计既是工程师又是艺术家的工作。
?

指令和指令系统
? 指令和指令系统构成计算机处理器的重要部分,又是整个程序 ?

?
? ?

的基础。 指令就是计算机执行的最基本的操作。 指令系统是所有指令的集合。 从计算机硬件和软件的关系来看,指令及指令系统是计算机硬 件和软件的接口。 从CPU角度看,指令是计算机处理器执行的二进制代码。

2013-1-8

计算机科学基础

4

? 指令系统的主要类型: ○ 数据传输类指令:

将数据从一个地方(源)传输到另外一个地方(目的);


算术逻辑类指令: 包括基本的算术运算和逻辑、比较运算,操作对象是数据;



控制操作类指令:
实现程序的不同执行结构,分为有条件转移和无条件转移;

2013-1-8

计算机科学基础

5

6.3 程序设计语言
计算机程序设计语言的级别就是根据它们和机器的密切程 度划分的:越接近机器的语言级别越低,越远离机器的语 言越“高级”。 ? 面向机器硬件的机器语言 二进制语言,用二进制机器指令来编写程序 ? 汇编语言 机器语言的符号化,一般用英文单词或缩写表示机器指 令,因此也是面向机器的。 ? 面向过程的高级语言 接近数学描述求解问题的过程,它和机器没有直接关系。 语法与自然语言接近。 ? 面向对象的高级语言
2013-1-8

计算机科学基础

6

?

机器语言和指令
机器语言就是指令:二进制代码,能被计算机直接执行, 一条机器指令需要包含如下信息: ? 操作类型:有几十种到上百种,如加法、访问存储器、 输入输出操作等;
? 操作数或者操作数的的存储位置:它是操作数的位置

信息,如内存单元、CPU内部寄存器,或指令中的立 即数; ? 操作结果的存储地址:它说明将结果存储到什么地方;
? 下一条指令的地址信息:它说明到哪里去取下一条指

令;

2013-1-8

计算机科学基础

7

机器指令的一般格式

例:加法指令

2013-1-8

计算机科学基础

8

指令的执行过程

2013-1-8

计算机科学基础

9

?

汇编语言
? 用容易记忆的文字符号来表示指令中的操作码和地址码,这种

符号叫助记符。 ? CPU所有指令助记符的集合以及使用规则构成了助记符语言叫 汇编语言(Assemble Language)。 ? 例子(汇编语言的一条加法语句) ADD A,B 意思是将存储地址A和B的内容相加,结果存储在地址A或B的存 储单元(不同的计算机有不同的规定)。 ? 特点 ○ 与二进制的机器指令相比,汇编语言指令可读性较好。 ○ 它仍然是一种面向计算机硬件的言,程序员必须熟悉计算机 硬件结构、指令系统和指令格式等。 ○ 程序移植性也较差。

2013-1-8

计算机科学基础

10

?

高级语言
? 是一种与机器指令系统无关、表达形式更接近于被

描述问题的语言。任何一种高级语言都有其语义和 语法规定,程序员熟悉了该语言的规则就可以灵活 地设计出解决各种实际问题的程序。 ? 分为两种类型 : ○ 面向过程的高级语言 ○ 面向对象的高级语言

2013-1-8

计算机科学基础

11

?

面向过程的高级语言
每一个语句都是为完成一个特定的任务而对计算机发 出执行的命令
? Basic(Beginner ALL-Purpose Symbolic Instruction Code)

○ 在计算机技术发展史上应用得最广泛的语言一 ○ 适于编程初学者编程,简单易学 ○ 非计算机专业出身的编程者广泛使用
?

C语言
○ C是一种高级语言,被广泛用于专业程序设计 ○ 既有高级语言的优点,又有汇编语言的效率,因此也

有人把它定位为“中级语言”
○ 它的命令可直接对计算机内存单元中的数据进行位操

作,适合编写较接近硬件操作又要求处理速度的程序
2013-1-8

计算机科学基础

12

? Pascal语言
○ Pascal——为纪念计算机先驱Pascal命名的 ○ 作为一种教学和应用开发语言被普遍接受
?

Fortran语言
○ 第一个高级语言:IBM公司在1957年开发的 ○ 更适合于科学、数学和应用工程方面的应用,编程人员可用

它方便地描述数学问题,解决数学计算

?

Cobol语言
○ COBOL是一种专门的商用的高级程序设计语言 ○ 大部分命令都与英语类似 ○ 比较适用于存储、检索公司的财务信息,实现票据管理和工

资报表等功能 ? Ada语言 ○ 它是为美国国防部开发署(DoD)设计的,由所有承包DoD 工程的厂商统一使用的语言。 ○ Ada还具有实时处理和并行处理能力。
计算机科学基础

2013-1-8

13

?

面向对象的高级语言
? 封装。

封装是指把对象的属性和操作结合在一起,构成一 个独立体。 ? 继承。 继承(Inheritance)是指子类可以拥有父类的属性 和行为,这里的类(Class)就是对象继承提高了 软件代码的复用性。 ? 多态性。 多态性(Polymorphism)是指对象可以具有不同的 行为。多态性机制不仅为软件的结构设计提供了灵 活性,还减少了信息冗余,提高了软件的可扩展性。

2013-1-8

计算机科学基础

14

? Visual Basic
○ 简称VB,BASIC引入了面向对象的设计方法 ○ 为开发图形界面的应用程序而设计的 ○ 它比较简单易学,功能强大,得到广泛应用

? JAVA
○ Sun Microsystem公司开发 ○ 具有纯面向对象、平台无关性、多线程、高安全性等特点 ○ 解决了困扰软件界多年的软件移植问题

? C++
○ 传统的C语言进行面向对象的扩展而成的语言 ○ 它在C语言的基础上增加了面向对象程序设计的支持

? Delphi语言
○ Delphi使用Pascal编程语言,它是面向对象的,也是开发GUI

程序很好的工具。 ○ 类似的语言或叫做开发工具的还有Borland公司的PB(Power Build)等
2013-1-8

计算机科学基础

15

?

其他语言
? 函数型语言:主要有LISP和Scheme 。 ? 说明型语言:也叫逻辑语言,它被用于根据逻辑推理的原 ? ? ? ? ?

则回答问题 。 超文本链接标记语言 :由一种格式标记何超链接组成的 “伪语言”,主要用于网络上的信息服务。 Perl:一种“脚本语言”,程序以ASCII文本保存,只在 执行时对程序进行解释或者编译。 Python:脚本语言:它包含了一组完善而且容易理解的标 准库,能够轻松完成很多常见的任务。 SQL :是一种结构化查询的语言。 基于组件的程序设计

2013-1-8

计算机科学基础

16

6.4 程序的程序:翻译系统
“翻译程序”本身也是程序,它所执行的任务就 是把其他语言程序翻译为机器语言程序。 翻译程序根据功能的不同分为:
?

?

解释程序 ? 对源代码中的程序进行逐句翻译,翻译一句执行一 句,翻译过程中并不生成可执行文件。 编译程序 ? 将整个源程序代码文件一次性翻译成目标程序代码, 最终生成可执行文件,一旦编译完成,程序就可以 被单独执行。
计算机科学基础

2013-1-8

17

?

?

?

使用编译系统的程序执行效 率较高。编译系统是一个十 分复杂的程序系统,它是一 个信息加工流水线,被加工 的是源程序,最终产品是目 标程序。 大多数语言系统都将源程序 的编辑、翻译、调试、运行 等功能集成为开发环境。 编译系统只能够发现不合法 的语句和表达,它并不能发 现算法上的错误

2013-1-8

计算机科学基础

18

6.5 高级语言的概念
?

常量、变量和数据类型
? 数据类型
○ 程序设计语言需要给参与运算的各种数据定义其类型,每一

种数据类型都有其取值范围。 ○ 一般程序设计语言的基本数据类型有三种:整型、实型和字 符型。 ○ 其他 ,如Java语言,有逻辑型(Boolean),VB语言有货币、 日期/时间等类型。 ○ 语法规则要求运算对象的数据类型保持一致,如果不一致的 话则按规则强制转换。

2013-1-8

计算机科学基础

19

? 常量
○ 常量在程序执行过程中,这个量将固定不变。 ○ 程序中的常量有两种:文字常量、符号常量。

? 变量
○ 变量就是可以被改变的量。程序使用标识符代表变量的内存

位置,程序员只需要对这个变量进行赋值、运算即可。 ○ 变量在使用之前需要对其先行定义类型。 ○ 有些语言规定使用变量之前还必须先给这个变量赋一个初值。

2013-1-8

计算机科学基础

20

?

构造数据类型

将基本类型和数据结构联系起来组成的新的、复杂的数据 类型,一般称为构造数据类型,也称为派生数据类型。 ? 数组
○ 使用一个标识符代表一组相同类型的数据,以下标形式区分

各个元素。

? 结构和指针
○ 结构可以表示复杂的数据记录。 ○ 指针是一种对变量访问的形式,存放的 是数据变量的地址。

? 字符串、链表、队、树

2013-1-8

计算机科学基础

21

? 基本语句 语句是使程序执行的动作,被翻译程序翻译成一条或几条指令。
? 赋值语句 ○ 按规则将一个值存入到变量名所代表的存储单元中。 ? 表达式语句 ○ 不同表达式构成的语句。 ? 复合语句 ○ 用括号将多行语句定义为一个语句称为复合语句(语句块)。程序将复 合语句视做一个语句进行处理。 ? 转移语句 ○ 著名的goto语句。 ? 返回语句 ○ 通过调用的方法构造程序时,使用Return语句可以将运算结果返回调用 程序。 ? 输入、输出语句

2013-1-8

计算机科学基础

22

? 分支语句

实现分支结构的语句,根据条件决定程序下一步该 执行程序的哪一条语句或语句块。

2013-1-8

计算机科学基础

23

? 循环语句

实现循环结构的语句为循环语句; 大多数高级语言有多种循环语句;

2013-1-8

计算机科学基础

24

? 函数和方法
? 实现循环结构的语句为循环语句;

大多数高级语言有多种循环语句;

2013-1-8

计算机科学基础

25

6.6 怎样编写程序
程序设计不仅是编写程序代码,它是一个系统 过程。通常把这个过程分为6个步骤: ? 问题的定义 ? 设计方案 ? 编码 ? 测试 ? 编写文档 ? 运行维护

2013-1-8

计算机科学基础

26

?

理解问题
? 设计一个程序首先要了解问题,对问题进行清晰、明

确的定义是解决问题过程中最重要、也是最容易被忽 略的一步。一个组织得好的程序项目,花在这个阶段 的时间应该占到整个程序开发设计时间的25% ~ 30%, 甚至更多。 ? 这项工作一般可由具有比较丰富程序设计经验的系统 分析员来做。在这个阶段主要弄清以下几个问题:
○ 程序目标是什么?即程序需要解决什么样的问题 ○ 可能需要输入哪些数据?

○ 数据具体的处理过程和要求是什么?
○ 程序可能产生的数据输出以及输出形式是什么?

2013-1-8

计算机科学基础

27

?

程序设计
? 在本阶段需要对问题设计出具体的解决方案,要一步

一步地显示解决问题的过程。其关键是设计出一个好 的算法,并使用合适的逻辑结构。 ? 要确定使用的程序范式(Programming Paradigm)。 即选择使用哪种编程技术或者选择哪种语言作为开发 工具。 ? 考虑程序运行在网络环境中还是单台机器上。 ? 如果原来有旧的程序在运行,那么新程序如何兼容以 前的程序。

2013-1-8

计算机科学基础

28

?

编写程序代码
? 在此阶段,使用所选择的编程语言,按照设计过程中形成

的算法编写程序代码。 ? 不同的语言适合不同的应用,通用语言能够适合大多数编 程任务,而较为特殊的应用则应选择针对性更强的其他语 言。 ? 同时,语言的选择还取决于编程者对语言的熟悉程度,当 然也要看它是否能够完成任务。

2013-1-8

计算机科学基础

29

?

寻找错误:程序测试
? 在此阶段,要调试已编好的程序,找出程序中的逻辑

错误和语法错误。
○ 如果违反编程语言的语法规则,就会发生语法错误; ○ 如果程序得到的输出不对,则可能是由于程序没有正确地实

现算法,这是逻辑错误。

? 程序测试和纠正错误交错进行,但程序测试是“测试

程序中的错误,而不是使得程序中没有错误”。 ? 常用的测试方法有:
○ 黑盒测试是把一组测试数据输入程序,检查程序的结果是否

是预期的。大多数专业软件公司提供给用户的Beta(β)版也 叫测试版,就是属于黑盒方法。 ○ 白盒测试一般是专业测试,输入一组特意设计的数据让程序 执行,测试程序是否按照设计流程要求执行

2013-1-8

计算机科学基础

30

?

编写程序文档
程序文档包括设计过程中形成的文档和设计完成后的使 用说明,文档形式有两种: ? 一种是在编写程序代码时在代码行后面加注释。 ? 另一种是按照一定规则专门编写。

?

运行与维护
? 程序的安装、系统配置 ? 对用户的培训 ? 软件维护

2013-1-8

计算机科学基础

31

6.7 软件工程简介
?

什么是软件开发
? 开发软件需要进行系统分析,需要设计,需要编码,

需要测试。 ? 大型程序无法由一个程序员完成,因此众多开发人 员的协调、管理也是软件开发需要考虑的问题。 ? 开发软件不是一个单纯的计算机问题,这里面需要 运用有关的系统分析原理,需要建立必要的数据模 型,需要使用工程管理的方法进行开发管理。

2013-1-8

计算机科学基础

32

?

软件生命周期
? 软件危机 ? 软件工程

? 和工业产品一样,软件也有一个生产、使用和消亡

的过程,称为软件的生命周期。 ? 软件生命周期法从总体上包括分析、设计、实现 (开发软件)和维护等过程, ? 一般较大型的软件系统都需要经历以上这几个阶段, 当新的系统替代原系统后,原系统的生命周期也就 结束了。

2013-1-8

计算机科学基础

33

?

软件开发模式
建立开发过程模型是建立对软件开发过程的总体认识 和描述,主要有:
? 瀑布模型 ? 增量模型 ? 螺旋模型 ? RAD模型

2013-1-8

计算机科学基础

34

? 瀑布模型
○ 这是软件开发过程最为流行的一

个模型,包括了分析、设计、实 现(编码)、测试和维护5个方 面,结构自上而下,如瀑布流水 一般,故得名瀑布模型。 ○ 由于它的线形特点,下一个过程 必须在上一个过程结束的基础上, 如编写代码前,设计工作必须完 成。 ○ 它的缺点是缺乏灵活性,无法解 决软件需求不明确的问题。

2013-1-8

计算机科学基础

35

? 增量模型 ○ 又称为演化模型。 ○ 软件在该模型中是“逐渐” 开发出来的。开发人员先 开发出一部分程序,向用 户展示,用户提出修改意 见,不断完善,最终获得 满意的软件产品。 ○ 该模型具有较大的灵活性, 适合于软件需求不明确、 设计方案有一定风险的软 件项目。 ○ 软件开发是一个迭代的过 程。

2013-1-8

计算机科学基础

36

? 螺旋模型 ○ 螺旋模型(Spiral Model),沿着螺线旋转,在4个 象限上分别表达了4个方面的活动,即:编制计划、 风险分析、实施工程和客户评估。 ○ 螺旋模型将瀑布模型与演化模型结合起来,并且加 入两种模型均忽略了的风险分析,比较适应具有高 风险项目的开发过程。

2013-1-8

计算机科学基础

37

? RAD模型 ○ 强调极快的开发周期。它主要用于大型信息系统的 开发,包含了以下5个阶段。
? 业务建模。业务活动中的信息流被模型化,确定信息来源 ? ? ? ?

及流向和使用者。 数据建模。业务信息流被精确定义为对象和属性以及对象 间的关系。 处理建模。创建对这些数据对象的操作,如增加、删除、 修改、检索等。 应用生成。使用面向对象的技术,可使用工具软件进行开 发。 测试和反复。强调复用,且测试复用在当前系统中的功用。

2013-1-8

计算机科学基础

38

?

开发软件的过程
? 确定系统需求
○ 开发目的。 ○ 选择项目小组。 ○ 问题定义。 ○ 研究现行系统。 ○ 确定系统需求。

? 系统设计
○ 进行“如何做”的设计。包括确定可能的解决方案、评价方案、选择最佳

方案、确定运行环境(系统软件和硬件)。

? 系统实现
○ 为开发(程序编码)建立环境,建设系统运行的环境,编制程序,进行基

本的测试。

? 运行维护
○ 包括硬件维护、数据备份、数据恢复、监控系统信息流量及解决实际操作

中的其他问题。 ○ 修改应用程序中的错误,增加新的特性,对系统支撑软件升级的处理等
2013-1-8

计算机科学基础

39

?

软件项目管理
? 项目管理定义为:把各种知识、技能、手段和技术应

用于项目之中以达到完成项目的要求。 ? 软件项目管理围绕项目计划、组织、质量、费用、控 制、进度等任务展开。项目管理者并不对资源的调配 负责,而是通过各个职能部门调配并使用资源。 ? “4P”原则
人员(People) 产品(Product) 过程(Process) 项目(Project)

2013-1-8

计算机科学基础

40

?

软件工程师
软件的设计和质量很大程度上依赖于软件工程师的素质, 基本的包括: ? 知识和技能 ? 沟通和能力 ? 效益意识 ? 心理素质 ? 知识更新

2013-1-8

计算机科学基础

41

思考题
什么是程序和程序设计? ? 指令、指令系统、程序、机器语言、汇编语言这些 名词的含义是什么,它们之间有什么关系? ? 什么是面向过程的程序设计,什么是面向对象的程 序设计? ? 比较软件开发和程序设计之间的差别和相互关系。 ? 有哪几种主要的软件开发模型? ? 软件测试的目的是什么,有几种测试方法? ? 什么是软件工程,什么是软件周期?
?

2013-1-8

计算机科学基础

42


相关文章:
计算机基础复习计划
搜 试试 帮助 全部 DOC PPT TXT PDF XLS 百度文库专业资料IT/计算机...特制定本复习计 划如下: 一、具体任务及学科介绍 计算机基础是各专业计算机教学...
《计算机应用基础》总复习
搜试试 3 帮助 全部 DOC PPT TXT PDF XLS 百度文库 教育专区 高中教育 其它...《计算机应用基础总复习 一、windows 文件夹操作: 1、在桌面上新建一个文件...
大学计算机基础复习要点
搜 试试 7 帮助 全部 DOC PPT TXT PDF XLS 百度文库 教育专区 高等教育 ...《大学计算机基础》课程复习知识点总汇第 1 章: 计算机定义;计算机发展过程及...
大学生计算机基础ppt
大学生计算机基础ppt_院校资料_高等教育_教育专区。大学生计算机ppt实验报告池州学院数学计算机科学系实验报告专业: 英语师范 班级: 一班 实验课程: 计算机基础 实验课...
计算机基础期末复习题含答案
搜试试 3 帮助 全部 DOC PPT TXT PDF XLS 百度文库 教育专区 高中教育 其它...计算机基础期末复习题含答案标签: 期末复习 it 分类: 计算机网络 复习题及答案 ...
大学计算机基础复习指导
搜 试试 7 帮助 全部 DOC PPT TXT PDF XLS 百度文库 教育专区 高等教育 ...《大学计算机基础复习指导计算机公共基础教研室2011 年 《大学计算机基础复习...
计算机基础复习指南
搜试试 3 帮助 全部 DOC PPT TXT PDF XLS 广告 百度文库 教育专区 高等...计算机基础复习指南_工学_高等教育_教育专区。大学计算机基础期末复习指南 名词...
计算机基础
搜试试 2 帮助 全部 DOC PPT TXT PDF XLS 广告 百度文库 专业资料 IT/...计算机基础复习指南 暂无评价 13页 1下载券 计算机应用基础 暂无评价 2页 1下载...
大学计算机基础课程总复习(题库)
搜试试 3 帮助 全部 DOC PPT TXT PDF XLS 百度文库 专业资料 IT/计算机 ...大学计算机基础课程总复习(题库)_电脑基础知识_IT/计算机_专业资料。一、选择题...
计算机基础重点 (Excel ppt 网络基础)
计算机基础》课程PPT_... 21页 1下载券 《计算机基础》课程PPT_... 29页 1下载券 计算机文化基础PPT课件 ... 47页 免费 计算机文化基础PPT课件_... 27...
更多相关标签: