烟台大学:《大学计算机基础》课程教学课件(理论讲稿)第10章 问题求解的算法基础与程序设计

第10章问题求解的算法基础与程序设计10.1计算机求解问题过程10.2算法的概念10.3算法的分类、特性和评价方法10.4算法的三种结构10.5算法的表示10.6算法的发现10.7算法举例10.8程序设计基础
第10章 问题求解的算法基础 与程序设计 10.1 计算机求解问题过程 10.2 算法的概念 10.3 算法的分类、特性和评价方法 10.4 算法的三种结构 10.5 算法的表示 10.6 算法的发现 10.7 算法举例 10.8 程序设计基础

10.1计算机求解问题过程分析问题当拿到问题之后,我们不能马上就动手编程,而是要经历一个思考、设计、编程以及调试的过程,编写程序解决问题的建立模型过程一般包括5个步骤。(1)分析问题,即确定计算机要做什么实现自然语言的逻辑建模设计算法(2)建立模型,即将原始问题转化为数学模型编写程序(3)设计算法,即形式化地描述解决问题的途径和方法。(4)编写程序,即将算法翻译成计算机程序。调试测试程序(5)调试测试,即发现和修改程序运行过程中存在的错误图9-1问题求解过程图
10.1 计算机求解问题过程 当拿到问题之后,我们不能马上就动手编程,而是要经历一 个思考、设计、编程以及调试的过程,编写程序解决问题的 过程一般包括5个步骤。 (1)分析问题,即确定计算机要做什么,实现自然语言的逻辑建模。 (2)建立模型,即将原始问题转化为数学模型。 (3)设计算法,即形式化地描述解决问题的途径和方法。 (4)编写程序,即将算法翻译成计算机程序。 (5)调试测试,即发现和修改程序运行过程中存在的错误

10.2算法的概念简单地说,算法就是解决问题的一系列步骤。广义地说,为解决问题而采用的方法和步骤就是算法。算法是程序设计的基础,算法的质量直接影响程序运行的效率。程序是与机器兼容的算法的实现,在软件开发中,核心工作就是进行算法的设计算法是求解问题步骤的有序集合,它能够产生结果并在有限时间内结束
10.2 算法的概念 简单地说,算法就是解决问题的一系列步骤。广义 地说,为解决问题而采用的方法和步骤就是算法。 算法是程序设计的基础,算法的质量直接影响程序 运行的效率。程序是与机器兼容的算法的实现,在 软件开发中,核心工作就是进行算法的设计。 算法是求解问题步骤的有序集合,它能够产生结果 并在有限时间内结束

举一个简单的算法例子,假设求两个自然数m和n的最大公约数,通常使用辗转相除的欧几里得算法,算法描述如下:①对于已知两数m、n,使得m>n。②m除以n得到余数r。③若r=0,则n即为最大公约数,算法结束;否则继续进行下一步④令m一n,n一r,转到第②步。,以上算法描述了求解两个自然数中最大公约数的解题步骤,经过多次辗转相除,总会达到余数为0的情况,所以说算法会在有限步骤、有限时间内完成,并能输出相应结果
举一个简单的算法例子,假设求两个自然数m和n的最大公约 数,通常使用辗转相除的欧几里得算法,算法描述如下: ①对于已知两数m、n,使得m>n。 ②m除以n得到余数r。 ③若r=0,则n即为最大公约数,算法结束;否则继续进行下一步。 ④令m←n,n←r,转到第②步。 以上算法描述了求解两个自然数中最大公约数的解题步骤,经 过多次辗转相除,总会达到余数为0的情况,所以说算法会在 有限步骤、有限时间内完成,并能输出相应结果

10.3算法的分类、特性和评价方法IN10.3.1算法的分类10.3.2算法的特性10.3.3算法的评价方法
10.3 算法的分类、特性和评价方法 10.3.1算法的分类 10.3.2算法的特性 10.3.3算法的评价方法

10.3.1算法的分类算法的分类方法有许多种,按照算法所涉及的对象,一般可以把算法分成两大类:数值运算算法和非数值运算算法。数值运算算法的目的是对数值进行求解,其特点是少量的输入、输出,复杂的运算。非数值运算算法的目的是对数据进行管理,其特点是大量的输入、输出,简单的算术运算和大量的逻辑运算
10.3.1算法的分类 算法的分类方法有许多种,按照算法所涉及的对象,一般可 以把算法分成两大类:数值运算算法和非数值运算算法。 数值运算算法的目的是对数值进行求解,其特点是少量的输 入、输出,复杂的运算。 非数值运算算法的目的是对数据进行管理,其特点是大量的 输入、输出,简单的算术运算和大量的逻辑运算

10.3.2算法的特性一般地,算法应该具有以下特性。L(1)确定性。一个算法中的每一个步骤必须是精确的定义、无二义性,不会使编程者对算法中的描述产生不同的理解。(2)有穷性。一个算法必须在执行有穷步后结束,每一步必须在有穷的时间内完成。(3)可行性。算法描述的步骤在计算机上是可行的,能在一个合理的范围内有效地执行,并应能得到一个明确的结果(4)输入:一般有零个或多个输入值。(5)输出:,一个算法的执行过程中或结束后要有输出结果,或者产生相应的动作指令
10.3.2算法的特性 一般地,算法应该具有以下特性。 (1)确定性。一个算法中的每一个步骤必须是精确的定义、无二 义性,不会使编程者对算法中的描述产生不同的理解。 (2)有穷性。一个算法必须在执行有穷步后结束,每一步必须在 有穷的时间内完成。 (3)可行性。算法描述的步骤在计算机上是可行的,能在一个合 理的范围内有效地执行,并应能得到一个明确的结果。 (4)输入:一般有零个或多个输入值。 (5)输出:一个算法的执行过程中或结束后要有输出结果,或者 产生相应的动作指令

10.3.3算法的评价方法算法的正确性可读性2健壮性3.高效率和低存储量
10.3.3算法的评价方法 1.算法的正确性 2.可读性 3.健壮性 4.高效率和低存储量

10.4 算法的三种结构10.4.1顺序结构10.4.2分支结构10.4.3循环结构
10.4 算法的三种结构 10.4.1顺序结构 10.4.2分支结构 10.4.3循环结构

结构化程序设计思想包含两个方面的内容,一是程序由三种基本的逻辑结构组成,二是程序设计要自顶向下进行。三种结构分别是顺序、分支和循环。其中分支也称选择或判断。算法是程序的基础,程序是算法的实现。因此程序的逻辑结构也就是进行算法设计的三种结构
结构化程序设计思想包含两个方面的内容,一是程 序由三种基本的逻辑结构组成,二是程序设计要自 顶向下进行。 三种结构分别是顺序、分支和循环。其中分支也称 选择或判断。 算法是程序的基础,程序是算法的实现。因此程序 的逻辑结构也就是进行算法设计的三种结构
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 烟台大学:《大学计算机基础》课程教学课件(理论讲稿)第9章 信息社会与安全.pdf
- 烟台大学:《大学计算机基础》课程教学课件(理论讲稿)第8章 多媒体技术基础.pdf
- 烟台大学:《大学计算机基础》课程教学课件(理论讲稿)第7章 计算机网络基础.pdf
- 烟台大学:《大学计算机基础》课程教学课件(理论讲稿)第6章 数据库技术基础.pdf
- 烟台大学:《大学计算机基础》课程教学课件(理论讲稿)第5章 办公软件 5.4演示文稿软件.pdf
- 烟台大学:《大学计算机基础》课程教学课件(理论讲稿)第5章 办公软件 5.3电子表格软件.pdf
- 烟台大学:《大学计算机基础》课程教学课件(理论讲稿)第5章 办公软件 5.1-5.2文字处理软件.pdf
- 烟台大学:《大学计算机基础》课程教学课件(理论讲稿)第4章 计算机操作系统.pdf
- 烟台大学:《大学计算机基础》课程教学课件(理论讲稿)第3章 计算机硬件系统.pdf
- 烟台大学:《大学计算机基础》课程教学课件(理论讲稿)第2章 计算机中的信息表示.pdf
- 烟台大学:《大学计算机基础》课程教学课件(理论讲稿)第1章 计算思维导论(主讲:马晓敏).pdf
- 《大学计算机基础》课程PPT教学课件(第四版)第10章 问题求解的算法基础与程序设计.pptx
- 《大学计算机基础》课程PPT教学课件(第四版)第9章 信息社会与安全.pptx
- 《大学计算机基础》课程PPT教学课件(第四版)第8章 多媒体技术基础.pptx
- 《大学计算机基础》课程PPT教学课件(第四版)第7章 计算机网络基础.pptx
- 《大学计算机基础》课程PPT教学课件(第四版)第6章 数据库技术基础.pptx
- 《大学计算机基础》课程PPT教学课件(第四版)第5章 办公软件基础知识与功能设计.pptx
- 《大学计算机基础》课程PPT教学课件(第四版)第4章 操作系统.pptx
- 《大学计算机基础》课程PPT教学课件(第四版)第3章 计算机硬件系统.pptx
- 《大学计算机基础》课程PPT教学课件(第四版)第2章 计算机基础知识(计算机中的信息表示).pptx
- 烟台大学:《大学计算机基础》课程教学课件(理论讲稿)第11章 计算机发展前沿技术.pdf
- 《Linux操作系统》课程教学课件(PPT讲稿)ch2 linux概述.ppt
- 《Linux操作系统》课程教学课件(PPT讲稿)ch3 开始行动.ppt
- 《Linux操作系统》课程教学课件(PPT讲稿)ch4 Linux shell.ppt
- 《Linux操作系统》课程教学课件(PPT讲稿)ch5 编辑文本文件.ppt
- 《Linux操作系统》课程教学课件(PPT讲稿)ch7 文件和文件系统结构.ppt
- 《Linux操作系统》课程教学课件(PPT讲稿)ch8 文件安全.ppt
- 《Linux操作系统》课程教学课件(PPT讲稿)ch9 基本文件处理.ppt
- 《Linux操作系统》课程教学课件(PPT讲稿)ch10 高级文件处理.ppt
- 《高级数据库》课程教学课件(讲稿)Chapter 1 数据库基本概念.pdf
- 《高级数据库》课程教学课件(讲稿)Chapter 2 SQL Server基本操作.pdf
- 《高级数据库》课程教学课件(讲稿)Chapter 3 T-SQL语言编程.pdf
- 《高级数据库》课程教学课件(讲稿)Chapter 4 游标.pdf
- 《高级数据库》课程教学课件(讲稿)Chapter 6 存储过程.pdf
- 《高级数据库》课程教学课件(讲稿)Chapter 7 触发器.pdf
- 《Java面向对象程序设计》课程教学资源(书籍文献)Java编程思想【美】Bruce Eckel,Thinking In Java(中文版).pdf
- 《Java面向对象程序设计》课程教学资源(PPT课件)第1章 Java语言概述(第6版).pptx
- 《Java面向对象程序设计》课程教学资源(PPT课件)第2章 Java语言开发环境(第6版).pptx
- 《Java面向对象程序设计》课程教学资源(书籍文献)Java项目开发全程实录(第三版).pdf
- 《Java面向对象程序设计》课程教学资源(PPT课件)第3章 Java语言基础(第6版).pptx