大学计算机基础PPT第6章课件_第1页
大学计算机基础PPT第6章课件_第2页
大学计算机基础PPT第6章课件_第3页
大学计算机基础PPT第6章课件_第4页
大学计算机基础PPT第6章课件_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机程序与程序设计程序设计语言 程序设计过程及方法 算法基础 主要内容大学计算机基础PPT第6章计算机程序是指示计算机计算机程序是指示计算机如何去解决某个问题或完如何去解决某个问题或完成某项任务的一组指令。成某项任务的一组指令。 【实例实例1 1】计算给定半径的圆面积计算给定半径的圆面积。其计算步骤可以如下编排:(1)说明在计算过程中要用到的常量和变量;(2)给定圆半径;(3)计算圆面积;(4)将结果输出到屏幕上。 概概 念念大学计算机基础PPT第6章#define PI 3.1415926 /* 定义符号常量定义符号常量 */void main() /* 定义主函数定义主函数 */ /*

2、开始开始 */ float r, circle_area; /* 定义变量定义变量r和和circle_area */ scanf(%f, &r); /* 输入半径输入半径 */ circle_area=PI*r*r; /* 计算圆面积计算圆面积 */ printf(circle_area=%f, circle_area); /* 输出圆面积输出圆面积 */ /* 结束结束 */大学计算机基础PPT第6章#define PI 3.1415926 void main() float r, circle_area; scanf(%f, &r); circle_area=PI*r*r;

3、 printf(circle_area=%f, circle_area); 程序的组成程序的组成程序由两部分组成:说明部分和执行部分。主要包括程序名、参数(常量、变量)及其参数类型的说明;是程序的主体,完成具体的计算和处理任务。 大学计算机基础PPT第6章计算机程序与程序设计程序设计语言 程序设计过程及方法 算法基础 主要内容大学计算机基础PPT第6章大学计算机基础PPT第6章机器语言和汇编语言属于低级语言,是面向机器的语言机器语言和汇编语言属于低级语言,是面向机器的语言。操作码域操作码域 操作数域操作数域 机器语言机器语言机器语言被称为第一代程序设计语言。它是由二进制代码按照一定机器语言被称

4、为第一代程序设计语言。它是由二进制代码按照一定规则组成、能被计算机直接识别和执行的指令集合。规则组成、能被计算机直接识别和执行的指令集合。每一条指令包括两部分:每一条指令包括两部分: 中的数据表明要进行的操作;中的数据表明要进行的操作;中的数据为特定的中的数据为特定的操作提供具体的数据或数据存放在内存中的地址。操作提供具体的数据或数据存放在内存中的地址。 大学计算机基础PPT第6章【实例实例2 2】计算计算A=15+10 A=15+10 的机器语言程序的机器语言程序10110: 把15放入累加器A中00101100 00001010: 10与累加器A的值相加, 结果仍放入A中11110100:

5、 结束,停机 机器语言机器语言大学计算机基础PPT第6章机器语言机器语言缺 点需要记住大量用二进制表示的指令代码和代码的含义,难记忆、难理解、难修改、易错。用机器语言编写程序是很繁琐的一件工作,只适合专业人员使用;依赖于机器,可移植性差,是面向机器的语言。优 点可以直接被计算机所识别,不需要翻译,因此占用计算机存储空间少,执行速度快。大学计算机基础PPT第6章汇编语言汇编语言【实例实例3 3】计算计算A=15+10 A=15+10 的汇编语言程序的汇编语言程序MOV A,15:把15放入累加器A中ADD A,10 :10与累加器A中的值相加, 结果仍然放在A中HLT :结束,停机汇编语言或符号

6、语言被称为第二代程序设计语言。它是将机器语言符号化,即用英文助记符来代替机器语言中的指令和数据, 比用机器语言编写的程序简单,容易理解和掌握。大学计算机基础PPT第6章汇编语言汇编语言缺 点仍然是面向机器的,可维护性和可移植性差;要求编程者熟悉计算机的硬件结构及其原理,这对大量的非计算机专业人员是很难做到的。 优 点克服了机器语言难读、难理解等缺点,保持了机器语言占用存储空间少,执行速度快的优点。常用于过程控制等编程。用汇编语言编写的程序必须通过“汇编程序”的加工和翻译,才能生存能够被计算机识别和处理的二进制代码程序。大学计算机基础PPT第6章v 高级语言被称为第三代程序设计语言,它与机器独立

7、。高级语言被称为第三代程序设计语言,它与机器独立。v 19541954年,世界上诞生了第一种高级语言,即用于科学计算年,世界上诞生了第一种高级语言,即用于科学计算的的FORTRANFORTRAN语言。语言。机器机器语言语言汇编汇编语言语言高级高级语言语言大学计算机基础PPT第6章高级语言是面向高级语言是面向用户的语言,它用户的语言,它与自然语言(英与自然语言(英语)很接近,更语)很接近,更像是人类语言。像是人类语言。它由语言本身规它由语言本身规定的专用符号,定的专用符号,英文单词,语法英文单词,语法规则和语句结构规则和语句结构组成,屏蔽了机组成,屏蔽了机器的细节。器的细节。程序员可以不与程序员

8、可以不与计算机硬件打交计算机硬件打交道,不必了解机道,不必了解机器的指令系统。器的指令系统。它是与机器无关它是与机器无关的语言,因此程的语言,因此程序的可移植较强。序的可移植较强。 大学计算机基础PPT第6章v 它是传统的程序设计语言,其目的在于高效地实现各种算法,需要它是传统的程序设计语言,其目的在于高效地实现各种算法,需要详细描述详细描述“怎样做怎样做”。常见的面向过程语言有。常见的面向过程语言有FORTRANFORTRAN、BASICBASIC、C C、 PASCALPASCAL等。等。v 用高级语言编程时的主要工作是围绕着设计解题过程来进行的,程用高级语言编程时的主要工作是围绕着设计解

9、题过程来进行的,程序设计基本上还是从语句一级开始,需要详细描述解题的过程和细序设计基本上还是从语句一级开始,需要详细描述解题的过程和细节。编程时,程序不仅要说明做什么,还要告诉计算机如何做,程节。编程时,程序不仅要说明做什么,还要告诉计算机如何做,程序需要详细描述解题的过程和细节。序需要详细描述解题的过程和细节。面向过程的语言面向过程的语言大学计算机基础PPT第6章v 面向对象语言是面向对象语言是2020世纪世纪8080年代推出的。它能够更好地描述客观事物年代推出的。它能够更好地描述客观事物及其相互联系,能够比较直接地反映客观世界的本来面目。及其相互联系,能够比较直接地反映客观世界的本来面目。

10、v 面向对象语言将客观事物看作具有属性和行为的对象,通过抽象找面向对象语言将客观事物看作具有属性和行为的对象,通过抽象找出同类对象的共同属性和行为,形成类。通过类的继承与多态可以出同类对象的共同属性和行为,形成类。通过类的继承与多态可以很方便地实现代码重用,从而大大提高了程序的复用能力和程序开很方便地实现代码重用,从而大大提高了程序的复用能力和程序开发效率。面向对象的语言有发效率。面向对象的语言有C+C+、JavaJava、Visual BasicVisual Basic等。等。面向对象的程序设计语言面向对象的程序设计语言大学计算机基础PPT第6章v 用高级语言编写的程序称为源程序,计算机不能

11、直接识别和执行源程用高级语言编写的程序称为源程序,计算机不能直接识别和执行源程序。在执行源程序前需要通过翻译成机器语言形式的目标程序,这种序。在执行源程序前需要通过翻译成机器语言形式的目标程序,这种“翻译翻译”通常有两种方式,即编译方式和解释方式。通常有两种方式,即编译方式和解释方式。 编译方式编译方式 编译方式是用“编译程序”将源程序翻译成与之等价的用机器语言表示的目标程序。 如果编译过程中发现程序有错,计算机系统会给出相应的提示,这时必须修改程序并重新编译,直到程序编译正确为止。 当程序编译正确后,将产生一个目标程序。 大学计算机基础PPT第6章编译过程编译过程词法分析、词法分析、语法分析

12、、语法分析、中间代码中间代码生成、生成、优化和目优化和目标代码生标代码生成成单词 语法单位 中间代码 优化后的中间代码 错误处理器 中间代码生成器 语法分析器 源程序 词法分析器 代码优化器 目标程序 代码生成器 符号表管理器 v 解释方式的翻译工作由来完成。v 当运行使用解释语言编写的程序时,解释器会读一条语句,然后对其进行分析,若没有错误,则将该语句翻译成一条或多条可执行的机器语言指令,执行完该指令后解释器再读入下一条语句并解释成机器指令;若解释时发现错误,便会立即停止,报错并提醒用户修改程序。如此继续,整个过程不产生目标程序。解释方式解释方式大学计算机基础PPT第6章v 编译把源程序的执

13、行过程分为两个阶段:和,即先把源程序全部翻译成目标代码,然后再运行此目标代码,得到执行结果。解释却把两个阶段合并成一个阶段,称为,即按照源程序中语句的动态顺序,直接地逐句进行分析解释,并立即执行,直至源程序结束。v 经编译得到的目标程序,可以脱离编译程序独立运行;被解释的程序却不能脱离解释环境执行。编译和解释的区别编译和解释的区别大学计算机基础PPT第6章FORTRANFORTRAN语言语言 COBOL COBOL 语言语言 BASIC BASIC 语言语言 PASCAL PASCAL 语言语言 C C 语语 言言 C C+ + 语语 言言 LISP LISP 语语 言言 PROLOGPROL

14、OG语言语言 JAVA JAVA 语言语言大学计算机基础PPT第6章v 高级语言的数据类型一般分为基本数据类型和构造数据类型两大类。高级语言的数据类型一般分为基本数据类型和构造数据类型两大类。v 基本数据类型:整数类型、实数类型、字符类型、逻辑类型、指针基本数据类型:整数类型、实数类型、字符类型、逻辑类型、指针类型等。类型等。v 构造数据类型:数组类型、枚举类型、记录类型(结构类型)、文构造数据类型:数组类型、枚举类型、记录类型(结构类型)、文件等。件等。 张东张东30301500.801500.80姓名姓名字符型字符型整型整型实型实型年龄年龄工资工资数据类型数据类型大学计算机基础PPT第6章

15、v 把表示数值的名字称为标识符。把表示数值的名字称为标识符。v 常量:以不变的数值形式出现的量,仅标识一个固定数据值的名字常量:以不变的数值形式出现的量,仅标识一个固定数据值的名字称为常量标识符。称为常量标识符。v 变量:程序执行过程中可能发生变化的对象用一个名字给以标识,变量:程序执行过程中可能发生变化的对象用一个名字给以标识,对该名字的处理,可以是对该名字标识的任何一个数据值进行处理,对该名字的处理,可以是对该名字标识的任何一个数据值进行处理,该名字称为变量。例如,计算的数据对象和计算结果对象在程序中该名字称为变量。例如,计算的数据对象和计算结果对象在程序中可以用变量表示。变量具有作用域,

16、它取决于该变量的实际使用范可以用变量表示。变量具有作用域,它取决于该变量的实际使用范围。围。v 标识符的构成规则:第一个字符必须是字母,其他字符可以是字母、标识符的构成规则:第一个字符必须是字母,其他字符可以是字母、数字或下划线等。数字或下划线等。常量与变量常量与变量 大学计算机基础PPT第6章v 程序中对数据进行处理是通过运算符实现的。程序中对数据进行处理是通过运算符实现的。v 不同的程序设计语言提供的运算符种类不同,表示形式也可能不同,不同的程序设计语言提供的运算符种类不同,表示形式也可能不同,通常有如下几类运算:通常有如下几类运算: 算术运算符:加、减、乘、除、乘方等。算术运算符:加、减

17、、乘、除、乘方等。 关系运算符:大于、大于等于、小于、小于等于、相等、不相等。关系运算符:大于、大于等于、小于、小于等于、相等、不相等。 逻辑运算符:与、或、非等。逻辑运算符:与、或、非等。 字符运算符:连接、比较、取子串等。字符运算符:连接、比较、取子串等。 赋值运算符赋值运算符 :运算符运算符大学计算机基础PPT第6章v 表达式是程序中进行计算并取值的基本单位,它由常量、变量、函表达式是程序中进行计算并取值的基本单位,它由常量、变量、函数调用和运算符组成。通常表达式由若干个运算符把一些运算对象数调用和运算符组成。通常表达式由若干个运算符把一些运算对象连接在一起。连接在一起。v 例如,已知圆

18、半径例如,已知圆半径r r,求圆面积的,求圆面积的C C语句如下:语句如下:其中,其中,PIPI* *r r* *r r就是一个表达式,就是一个表达式,r r和和s s都是变量,都是变量,PIPI是符号常量。是是符号常量。是赋值运算符。赋值运算符。 表达式表达式s=PI*r*r;大学计算机基础PPT第6章v 语句是程序中具有独立含义的基本单位,通常分为说明性语句和执语句是程序中具有独立含义的基本单位,通常分为说明性语句和执行性语句。行性语句。 说明性语句用来说明程序中被处理对象的标识符名及其类型,在某些语说明性语句用来说明程序中被处理对象的标识符名及其类型,在某些语言(如言(如C C语言)中还

19、用于说明对象的存储类型,即对象的作用域。语言)中还用于说明对象的存储类型,即对象的作用域。 执行性语句由程序设计语言所提供的语句组成,是可以执行的。执行性语句由程序设计语言所提供的语句组成,是可以执行的。语语 句句大学计算机基础PPT第6章v 高级语言引入过程或函数的目的是把一个复杂程序分解为若干个功高级语言引入过程或函数的目的是把一个复杂程序分解为若干个功能单一的子程序能单一的子程序( (过程或函数过程或函数) )。v 当程序中要进行多次重复计算时,可以把重复部分定义成一个子程当程序中要进行多次重复计算时,可以把重复部分定义成一个子程序序( (过程或函数过程或函数) ),当程序中需要进行该计

20、算时,就调用该子程序,当程序中需要进行该计算时,就调用该子程序( (过过程或函数程或函数) )。过过 程程大学计算机基础PPT第6章实实 例例有一个任务要将一个班的学生成绩按有一个任务要将一个班的学生成绩按平均成绩降序输出。算法描述:平均成绩降序输出。算法描述:v 输入一个班学生的各门课程成绩;输入一个班学生的各门课程成绩;v 计算每个学生的平均成绩;计算每个学生的平均成绩;v 将平均成绩按降序排列;将平均成绩按降序排列;v 输出排序结果。输出排序结果。过过 程程按功能将该任务分解成4个子任务,即 输入子任务; 计算平均成绩子任务; 降序排序子任务; 输出子任务。大学计算机基础PPT第6章过过

21、 程程按功能将该任务分解成4个子任务,即 输入子任务; 计算平均成绩子任务; 降序排序子任务; 输出子任务。 一个子任务对应一个过程或函数。一个子任务对应一个过程或函数。按这种方法编写程序,便于多人合按这种方法编写程序,便于多人合作,降低了程序的复杂度,程序结作,降低了程序的复杂度,程序结构更加清晰。构更加清晰。 在高级语言系统的函数库中,通常在高级语言系统的函数库中,通常为用户提供了大量的可直接调用标为用户提供了大量的可直接调用标准函数。例如,数学函数,字符串准函数。例如,数学函数,字符串处理函数,类型转换函数等。处理函数,类型转换函数等。 大学计算机基础PPT第6章v 对象的作用域是指变量

22、使用的有效范围,它与定义对象的位置和过对象的作用域是指变量使用的有效范围,它与定义对象的位置和过程的结构有关。程的结构有关。对象的作用域对象的作用域 例如大学计算机基础PPT第6章v 每一种高级语言都提供了各自的输入每一种高级语言都提供了各自的输入/ /输输出语句或输入出语句或输入/ /输出函数。通常,输入输出函数。通常,输入/ /输输出都有两种方式。出都有两种方式。 人机交互方式:例如从键盘上的输入,人机交互方式:例如从键盘上的输入,通常是少量的数据输入。通常是少量的数据输入。 文件方式:当数据量较大时,通常将数据文件方式:当数据量较大时,通常将数据事先存放到一个数据文件中,需要时在程事先存

23、放到一个数据文件中,需要时在程序中打开该数据文件,从文件中读出数据。序中打开该数据文件,从文件中读出数据。输入输入/ /输出输出处理输入输出大学计算机基础PPT第6章计算机程序与程序设计程序设计语言 程序设计过程及方法 算法基础 主要内容大学计算机基础PPT第6章程序设计基本过程 大学计算机基础PPT第6章大学计算机基础PPT第6章 编辑一个程序就是在一个文本编辑器中输入或修改源程序的过程。编辑一个程序就是在一个文本编辑器中输入或修改源程序的过程。1 1编辑编辑 编译程序的过程是对编辑好的源程序进行语法分析,并将源程序翻编译程序的过程是对编辑好的源程序进行语法分析,并将源程序翻译成二进制形式的

24、目标代码的过程。译成二进制形式的目标代码的过程。2 2编译编译 编译生成的目标程序是不能运行的,需要连接生成一个扩展名为编译生成的目标程序是不能运行的,需要连接生成一个扩展名为EXEEXE的可执行文件才能执行。的可执行文件才能执行。3 3连接连接 运行程序就是执行经连接生成的扩展名为运行程序就是执行经连接生成的扩展名为EXEEXE的可执行文件。的可执行文件。4 4运行和调试运行和调试大学计算机基础PPT第6章 测试就是尽可能地发现程序中的错误。测试就是尽可能地发现程序中的错误。5 5测试测试从是否执行程序的角度分为: 静态测试。不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口

25、等来检查程序的正确性,对可能出错的程序段进行认真的阅读。 动态测试。通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率和健壮性等性能,该方法由三部分组成:构造测试实例、执行程序、分析程序的输出结果。分类一大学计算机基础PPT第6章 测试就是尽可能地发现程序中的错误。测试就是尽可能地发现程序中的错误。5 5测试测试从是否关心程序内部结构和具体实现的角度分为: 白盒测试。白盒测试也称结构测试或逻辑驱动测试,它是按照程序的内部结构测试程序,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。 黑盒测试。他是以用户的角度,从输入数据与输出数据的对应关

26、系出发进行测试的。通过测试来检测每个功能是否都能正常使用。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。分类二大学计算机基础PPT第6章v 原则:在软件设计和实现过程中,采用自顶向下、逐步求精、模块化。原则:在软件设计和实现过程中,采用自顶向下、逐步求精、模块化。 v 程序设计模式:程序设计模式:“数据结构算法数据结构算法”v 基本结构:顺序、选择、循环三种基本控制结构,避免使用基本结构:顺序、选择、循环三种基本控制结构,避免使用GOTOGOTO语句。语句。顺序结构顺序结构选择结构选择结构结构化程序设计结构化程序设计循环结构循环结构结构化程序设计结构化程序

27、设计大学计算机基础PPT第6章v 面向对象方法具有与人类习惯的思维方法一致,稳定性好,可重用性好,可维护性好,易于开发大型软件。v 面向对象方法和技术将问题分解为,以为核心。对象是由数据和容许的操作组成的。对象之间通过传递互相联系。v 程序设计模式:“对象消息”面向对象程序设计面向对象程序设计大学计算机基础PPT第6章对对 象(象(ObjectObject)系统中用来描述客观事物的一个实体,是构成系统的一个基本单位,它由一组表示其静态特征的属性和它可执行的一组操作组成。例如,一辆汽车是一个对象,它包含了汽车的属性(如颜色、型号、载重量等)及其操作(如启动、刹车等)。 面向对象程序设计面向对象程

28、序设计大学计算机基础PPT第6章类(类(ClassClass)和)和 实例(实例(InstanceInstance)是具有相同类型对象的抽象,它描述了属于该对象类型的所有对象的性质,而一个对象则是其对应类的一个。人是一个类,而每一个具体的人则是这个类中的一个对象,一个名为李敏的人就是这个类中的一个具体的对象,即实例。 封封 装装封装是一种信息隐蔽技术,它使数据和加工该数据的方法(函数)封装为一个整体。封装的目的在于把对象的设计者和对象的使用者分开,使用者不必知晓行为实现的细节,只须用设计者提供的消息来访问该对象。 大学计算机基础PPT第6章继继 承承 性(性(InheritanceInheri

29、tance)继承性是子类自动共享父类之间数据和方法的机制,它由类的派生功能体现,是一种联结类与类的层次模型。一个新类可以从现有类中派生,这个过程称为类继承。新类继承了原来类的特性,称为原来类的派生类(子类),原来类称为新类的基类(父类)。继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码。继承具有传递性,如果类C继承类B,类B继承类A,则类C继承类A。继承分为单继承(一个子类只有一父类)和多重继承(一个类有多个父类)。大学计算机基础PPT第6章多多 态态 性(性(PolymorphismPolymorphism)多态性是指对于不同数据类型的相似操作使用相同的命名。多态是指不同

30、事物具有不同表现形式的能力。 消消 息(息(MessageMessage)一个对象向另一个对象发出的请求被称为“消息”。当对象接收到发给它的消息时,就调用有关的方法,执行相应的操作。面向对象程序设计技术中必须提供一种机制允许一个对象与另一个对象的交互,这种机制叫消息传递。 大学计算机基础PPT第6章计算机程序与程序设计程序设计语言 程序设计过程及方法 算法基础 主要内容大学计算机基础PPT第6章v 算法与数据结构是计算机程序的两大基础。算法与数据结构是计算机程序的两大基础。 数据结构是为了研究数据运算而存在的,它直接影响计算机进行数据结构是为了研究数据运算而存在的,它直接影响计算机进行数据处理

31、的效率;数据处理的效率; 算法是为了实现数据运算,算法的好坏也直接影响计算机的效率。算法是为了实现数据运算,算法的好坏也直接影响计算机的效率。 算法算法+ +数据结构数据结构= =程序程序 算法算法+ +数据结构数据结构= =程序程序 算法算法+ +数据结构数据结构= =程序程序 算法算法+ +数据结构数据结构= =程序程序 算法算法+ +数据结构数据结构= =程序程序 大学计算机基础PPT第6章算法特性算法特性确确 定定 性性指算法中的每一个规则、每一个操作步骤都应当是确定指算法中的每一个规则、每一个操作步骤都应当是确定的,不允许存在多义性和模棱两可的解释。的,不允许存在多义性和模棱两可的解

32、释。有有 穷穷 性性指任意一个算法必须在执行有限步骤后结束。指任意一个算法必须在执行有限步骤后结束。 输输 入入在执行算法过程中,从外界获得的信息就是输入。一个在执行算法过程中,从外界获得的信息就是输入。一个算法有算法有0个、个、1个或多个输入。个或多个输入。 输输 出出一个算法所得到的结果就是该算法的输出。一个算法必一个算法所得到的结果就是该算法的输出。一个算法必须有须有1个或多个输出,否则该算法就没有实际意义了。个或多个输出,否则该算法就没有实际意义了。可执行性可执行性算法的每一步操作都应该是可执行的。例如,当算法的每一步操作都应该是可执行的。例如,当B=0时,时,A/B就无法执行,不符合

33、可执行性的要求。就无法执行,不符合可执行性的要求。大学计算机基础PPT第6章算法要求算法要求正正 确确算法的执行结果应当满足预先规定的功能和性能要求。算法的执行结果应当满足预先规定的功能和性能要求。 可可 读读一个算法应当思路清晰、层次分明、简单明了、易读易一个算法应当思路清晰、层次分明、简单明了、易读易懂。算法主要是为了人的阅读、理解和交流,其次才是懂。算法主要是为了人的阅读、理解和交流,其次才是机器执行。机器执行。 健健 壮壮当输入数据不合法时,应能适当作出反应或进行处理,当输入数据不合法时,应能适当作出反应或进行处理,而不会产生莫名其妙的输出结果而不会产生莫名其妙的输出结果 高效与低高效

34、与低存储量存储量效率指的是算法执行的时间,存储量需求是指算法执行效率指的是算法执行的时间,存储量需求是指算法执行过程中所需的最大存储空间。同一问题若有多种算法可过程中所需的最大存储空间。同一问题若有多种算法可以解决,执行时间短的算法效率高,而效率与低存储量以解决,执行时间短的算法效率高,而效率与低存储量需求都与问题的规模有关需求都与问题的规模有关 。大学计算机基础PPT第6章主要用于科学计算,其目的是求数值解。例如,求方程的根有二分法、迭代法或牛顿法;计算数值积分有梯形法、辛普生法和柯特斯法。算法的特点是少量的输入和输出,算术运算占主要地位。 数值计算算法数值计算算法主要用于数据管理、实时控制

35、以及人工智能等领域,其目的是对数据的处理。算法的特点是大量的输入和输出,逻辑判断通常占主导地位,算术运算则居于相对次要的地位。非数值计算算法非数值计算算法算法的种类算法的种类大学计算机基础PPT第6章算法的描述算法的描述v 自然语言:用人们使用的语言描述算法。自然语言:用人们使用的语言描述算法。 【实例实例5 5】求任意三个正整数求任意三个正整数a a、b b、c c中的最大者。中的最大者。用自然语言描述的算法如下: 输入a,b,c; a和b比较,若ab则max=a,否则max=b; c和max比较,若cmax,则max=c; 输出max。 大学计算机基础PPT第6章算法的描述算法的描述v 流

36、程图:用图形来表示算法。流程图:用图形来表示算法。大学计算机基础PPT第6章算法的描述算法的描述v 流程图:用图形来表示算法。流程图:用图形来表示算法。【实例实例5 5】求任意三个正整求任意三个正整 数数a a、b b、c c中的最大者。中的最大者。大学计算机基础PPT第6章算法的描述算法的描述v N-SN-S结构流程图:去掉了结构流程图:去掉了传统流程图中带箭头的传统流程图中带箭头的线,全部算法以一个大线,全部算法以一个大的矩形框表示,框内还的矩形框表示,框内还可以包含一些从属于它可以包含一些从属于它的小矩形框,适于结构的小矩形框,适于结构化程序设计。化程序设计。 大学计算机基础PPT第6章

37、算法的描述算法的描述v N-SN-S结构流程图:结构流程图:【实例实例5 5】求任意三个正整数求任意三个正整数a a、b b、c c中的最大者。中的最大者。大学计算机基础PPT第6章算法的描述算法的描述v 伪代码:伪代码:Pseudo-codePseudo-code又称又称PDLPDL语言,是用介于自然语语言,是用介于自然语言和计算机语言之间的文言和计算机语言之间的文字和符号来描述算法。伪字和符号来描述算法。伪代码不能被计算机所理解,代码不能被计算机所理解,但接近于某种语言编写的但接近于某种语言编写的程序,便于转换成编程语程序,便于转换成编程语言。言。read a, b, cif ab a=m

38、axelse b=maxif cmax c=maxprint max【实例实例5 5】求任意三个正整求任意三个正整 数数a a、b b、c c中的最大者。中的最大者。大学计算机基础PPT第6章 依题目的部分条件确定答案的大致范围,在此范围内依题目的部分条件确定答案的大致范围,在此范围内对所有可能的情况逐一验证,直到全部情况验证完。对所有可能的情况逐一验证,直到全部情况验证完。 若某个情况经验证符合题目的全部条件,则为本题的若某个情况经验证符合题目的全部条件,则为本题的一个答案。一个答案。 若全部情况经验证后都不符合题目的全部条件,则本若全部情况经验证后都不符合题目的全部条件,则本题无答案。题无

39、答案。算法设计基本方法算法设计基本方法 列举法列举法大学计算机基础PPT第6章算法设计基本方法算法设计基本方法 【实例实例6 6】百钱买百鸡。鸡翁一,值钱五;鸡母一,值钱三;百钱买百鸡。鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?假设鸡翁、鸡母、鸡雏分别为a,b,c只,可得如下两方程:a+b+c=100 (1)(a的取值范围为020 ,b为033 )5a+3b+c/3=100 (2)列举法依次对a,b,c取值范围内的各数一一试探,找出满足方程(1)和(2)的组合。 列举法列举法大学计算机基础PPT第6章 通过列举少量特殊情况,经过分析,归纳出一般的关系。通过列举少量特殊情况,经过分析,归纳出一般的关系。 它比列举法更能反映问题的本质,并且可以解决列举量它比列举法更能反映问题的本质,并且可以解决列举量为无限的问题。为无限的问题。 算法设计基本方法算法设计基本方法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论