大学计算机基础教程(第二版) 教学课件 ppt 作者 黄娟琴 (1)

上传人:E**** 文档编号:89371457 上传时间:2019-05-24 格式:PPT 页数:79 大小:501KB
返回 下载 相关 举报
大学计算机基础教程(第二版)  教学课件 ppt 作者 黄娟琴 (1)_第1页
第1页 / 共79页
大学计算机基础教程(第二版)  教学课件 ppt 作者 黄娟琴 (1)_第2页
第2页 / 共79页
大学计算机基础教程(第二版)  教学课件 ppt 作者 黄娟琴 (1)_第3页
第3页 / 共79页
大学计算机基础教程(第二版)  教学课件 ppt 作者 黄娟琴 (1)_第4页
第4页 / 共79页
大学计算机基础教程(第二版)  教学课件 ppt 作者 黄娟琴 (1)_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《大学计算机基础教程(第二版) 教学课件 ppt 作者 黄娟琴 (1)》由会员分享,可在线阅读,更多相关《大学计算机基础教程(第二版) 教学课件 ppt 作者 黄娟琴 (1)(79页珍藏版)》请在金锄头文库上搜索。

1、大学计算机基础教程,作者:陆汉权,责任编辑:邹小宁 出版日期:2008年9月 IDPN:308-2008-009 课件章数:11,第6章 语言,算法和程序设计方法,浙江大学计算机学院 基础教学中心 2019年5月24日,3,Overview,从算法到程序再到软件 程序和指令 程序的程序:翻译系统 程序设计语言 怎样编写程序 算法 数据表达和数据结构 软件工程简介 职业:软件工程师,4,6.1 从算法到程序再到软件,完成各种不同的任务,需要不同的软件 整个程序设计过程为软件开发的一部分 程序设计需要使用程序设计语言 程序设计分解为几个步骤,如程序说明、设计、编写代码以及测试、文档等 软件开发中,

2、核心工作是进行算法设计 可视化程序设计成为今天程序设计的主流,5,6.1 从算法到程序再到软件 Cont,算法:一项工作如何被完成的步骤 算法:数学问题寻找特定的问题如何解决的方法 一个著名的例子就是欧几里德(Euclid)算法:求两个正整数A和B的最大公约数 第一步:比较A和B这两个数,将A设置为较大的数,B为较小的数; 第二步:A除以B,得到余数C; 第三步:如果C等于0,则最大公约数就是B;否则将B赋值给A,C赋值给B,重复进行第二步、第三步。,6,6.1 从算法到程序再到软件 Cont,找到算法后,实现过程就是按照算法所指示的过程 图灵理论只要能被分解为有限步骤的问题就可以被计算机执行

3、 一是有限的步骤 二是能够将这些步骤设计为计算机所执行的程序 算法是程序设计的基础,算法研究 算法找到,就需要对这个算法进行描述将算法的步骤变成计算机能够用它的语言所实现的表示方式 算法的描述的研究 研究计算机的语言和语法 算法的计算机实现就有大量的可替代的实现方案 不同的计算机语言对一个算法的实现过程具有不同的实现方法,这些方法也被称为程序设计范型(Paradigm)。,7,6.2 程序和指令,什么是程序 程序如何做 程序的定义 Program(节目单)演出是按照事先实现确定好的顺序进行的 因此程序被理解为“按预先设计的步骤执行” 算法就是设计这些步骤,8,6.2.1 程序:按步骤执行,程序

4、 从广义上看,程序是计算机进行某种任务操作的一系列步骤的总和是一组计算机指令的有序集合 由机器语言、汇编语言、高级语言编写 指令和指令系统 指令和指令系统构成计算机处理器的重要部分,又是整个程序的基础 指令就是计算机执行的最基本的操作处理器所能够执行的二进制代码 指令和机器的硬件是直接相关的,9,6.2.2 软硬件的交汇: 指令和指令系统,指令(Instruction)指令系统(Instruction Set) 指令和指令系统是CPU的重要部分 又是整个程序的基础。 指令:计算机执行的最基本的操作 如处理器从内存中读取一个数据,进行算术运算,或者是逻辑判断等,都属于一条指令的操作 指令系统:一

5、个CPU所能够执行的所有指令 指令系统是所有指令的集合 指令和机器的硬件是直接相关的,10,指令作为计算机软件和硬件的接口,11,指令系统的主要类型,数据传输类指令将数据从一个地方(源)传输到另外一个地方(目的) 一种是在CPU内部、存储器内部、CPU和存储器之间进行 一种是在CPU和外设(外设接口)进行的 算术逻辑类指令 控制操作类指令,12,6.3 程序的程序:翻译系统,语言处理系统翻译计算机程序 本身就是程序 任务就是把其他程序翻译为机器语言程序 是程序的程序 翻译程序归类为系统软件 除了机器语言编制的程序,其他任何语言编写的程序都需要相应的翻译系统 不同的编程语言的翻译系统是不同的。,

6、13,程序的翻译系统,翻译程序根据功能的不同分为 编译程序(Compiled Program或称为编译器Compiler) 解释程序(Interpreter,也叫做解释器),14,6.3.1 解释程序,解释程序 对源代码程序进行逐句翻译,翻译一句执行一句 翻译过程中并不生成可执行文件 对计算机的硬件和存储器要求不高 程序运行速度较慢 一般不提供任何分析和程序错误更正 这种系统有特定的时代印记,现在主要使用在编程环境和一些专用系统中,15,6.3.2 编译程序,编译程序 将整个源程序代码文件一次性翻译成目标程序代码,最终生成可执行文件。 编译后的程序可被单独执行,和翻译程序无关 类比:翻译一本书

7、 编译系统,效率高 高级编译器还生成分析文件和程序错误文件,帮助编程者更快地找出错误 各种高级语言的开发环境中一般都包含了编译系统功能,16,编译系统的结构和工作过程,17,编译系统,大多数语言系统都是将源文件的编辑、翻译程序(解释或编译)以及调试等集成在一起,形成集成开发环境(IDE,Integrated Developed Environment) 今天被普遍使用的C语言、VB等都是使用专门的IDE进行程序设计的,18,6.4 程序设计语言,按照程序设计语言和机器的密切程度 面向机器硬件的机器语言 二进制语言,用二进制机器指令来编写程序 汇编语言 机器语言的符号化,一般用英文单词或缩写表示

8、机器指令,因此也是面向机器的 面向过程的高级语言 接近数学描述求解问题的过程,它和机器没有直接关系。语法与自然语言接近 面向对象的高级语言,19,6.4.1 机器语言和指令,机器语言就是指令二进制代码 能被计算机直接执行 一条机器指令需要包含如下信息 操作类型 有几十种到上百种,如加法、访问存储器、输入输出操作等 操作数或者操作数的的存储位置,也称操作数的地址 它说明参加运算的数据存储在什么地方,它可以是内存单元或CPU内部寄存器或者直接包含在指令中 操作结果的存储位置 它说明将结果存储到什么地方,如存储器单元、寄存器等 一条指令的地址信息 它说明到哪里去取下一条指令。,20,机器语言和指令,

9、机器指令的一般格式,21,指令的例子,实现数2和3的相加: 10000000 00000010 00000011 加操作码 Number1:2 Number 2:3,22,For Example:2+3=5,命令:输入2,2,2,命令:输入3,3,3,Write,Write,Read,Read,2,3,5,Out,23,一条指令的执行过程,24,6.4.2 汇编语言,用容易记忆的文字符号来表示指令中的操作码和地址码,这种符号叫助记符 CPU所有指令助记符的集合以及使用规则构成了助记符语言汇编语言(Assemble Language) 例子(汇编语言的一条加法语句) ADD A,B 意思是将存储

10、地址A和B的内容相加,结果存储在地址A或B的存储单元(不同的计算机有不同的规定)。,25,汇编语言指令,与二进制的机器指令相比,汇编语言指令可读性较好 它仍然是一种面向计算机硬件的言,程序员必须熟悉计算机硬件结构、指令系统和指令格式等 程序移植性也较差,26,6.4.3 面向过程的高级语言,高级语言是一种与机器指令系统无关,表达形式更接近于被描述问题的语言 高级语言可分为两种类型 : 面向过程 面向对象,27,面向过程的高级语言 Cont,Basic(Beginner ALL-Purpose Symbolic Instruction Code) 在计算机技术发展史上应用得最广泛的语言一 适于编

11、程初学者编程,简单易学 非计算机专业出身的编程者广泛使用 C语言 C是一种高级语言,被广泛用于专业程序设计 既有高级语言的优点,又有汇编语言的效率,因此也有人把它定位为“中级语言” 它的命令可直接对计算机内存单元中的数据进行位操作,适合编写较接近硬件操作又要求处理速度的程序,28,Pascal语言 Pascal为纪念计算机先驱Pascal命名的 作为一种教学和应用开发语言被普遍接受 Fortran语言 第一个高级语言:IBM公司在1957年开发的 更适合于科学、数学和应用工程方面的应用,编程人员可用它方便地描述数学问题,解决数学计算 Cobol语言 COBOL是一种专门的商用的高级程序设计语言

12、,于1960年问世 大部分命令都与英语类似 比较适用于存储、检索公司的财务信息,实现票据管理和工资报表等功能,29,6.4.4 面向对象的程序设计语言,OOPL,Object-Oriented Programming Language 特点 封装(Encapsulation)是面向对象方法的一个重要原则 对象的属性和操作结合在一起 隐蔽内部信息通过有限的接口与对象发生联系 对于外界而言,只需知道对象所表现的外部行为,不必了解对象行为的内部细节 继承(Inheritance) 子类可以拥有父类的属性和行为 提高了软件代码的复用性,定义子类时不必重复定义那些已在父类中定义的属性和行为,30,面向对

13、象的程序设计语言(Cont),特点 多态性(Polymorphism) 基类中定义的属性和行为被子类继承后,可以具有不同的数据类型或不同的行为 软件的结构设计提供了灵活性,还减少了信息冗余,提高了软件的可扩展性,31,面向对象的程序设计语言(Cont),Visual Basic 简称VB,BASIC引入了面向对象的设计方法 为开发图形界面的应用程序而设计的 它比较简单易学,功能强大,得到广泛应用 JAVA Sun Microsystem公司开发 具有纯面向对象、平台无关性、多线程、高安全性等特点 解决了困扰软件界多年的软件移植问题 C+ 传统的C语言进行面向对象的扩展而成的语言 它在C语言的基

14、础上增加了面向对象程序设计的支持,32,*6.4.5 其他语言,函数型语言主要有LISP和Scheme 说明型语言也叫逻辑语言,它被用于根据逻辑推理的原则回答问题 超文本链接标记语言 由一种格式标记何超链接组成的“伪语言”,主要用于网络上的信息服务,33,*6.4.6 基于组件的程序设计,基于组件的程序设计是微软提出的思想 COM(Component Object Model,组件对象模型) 组件技术属于面向对象的程序设计技术 使用COM技术,一个新的应用系统的开发不必按照传统的方法进行所有代码的编写,可以通过组件进行“组装”软件 对于提高开发速度、降低开发成本、增加应用软件的灵活性、降低软件

15、维护费用很有帮助 软件开发技术的主流方向,Back Overview,34,6.5 怎样编写程序,程序设计不是简单的编写程序代码,它是一个系统过程 一般可以把这个系统过程分为六个步骤 问题的定义或叫做程序说明 设计解决问题的方案 编写程序代码 进行程序测试 程序的文档 程序应用,35,6.5.1 理解问题:程序说明,程序设计中最重要的部分 设计一个程序是为了解决某个特定的问题,那么应该做什么,如何做系统分析员 主要是要弄清以下几个问题 程序目标是什么?即程序需要解决什么样的问题 可能需要输入哪些数据? 数据具体的处理过程和要求是什么? 程序可能产生的数据输出以及输出形式是什么?,36,设计解决

16、问题的方案,本阶段需要对要解决的问题设计出具体的解决方案设计算法 逻辑结构 算 法 流 程 图 伪 代 码,37,6.5.2 程序的逻辑结构,所有的程序都由三种结构构成 顺序结构 是程序最简单的一种结构,它使计算机按照命令出现的先后顺序依次执行 循环结构 使计算机按照设定的条件重复执行一组命令 分支结构 在程序执行过程中 ,根据设定的条件来决定程序的执行方向,38,顺序结构,分支结构,39,循环结构,(a)While结构 (b) Until结构,40,6.5.3 编写程序代码,编写程序代码 需要选择合适的编程语言 按照设计程序过程中形成的算法编写代码 选择哪种程序设计语言? 主要看是否能够完成程序设计任务 编程人员对这个语言的熟悉程度,41,一个程序代码的例子 C语言,42,一个程序代码的例子 VB语言, 定义 i 、fac为整型数变量 Dim i As Integer, fac as integer fac=1 变量fac赋值1 循环,从2到5,每次步长

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号