第9章 程序设计基础.ppt
《第9章 程序设计基础.ppt》由会员分享,可在线阅读,更多相关《第9章 程序设计基础.ppt(93页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机应用基础计算机应用基础教案教案江西财经大学信息管理学院江西财经大学信息管理学院tj_程序是指挥计算机工作的程序是指挥计算机工作的“指令集指令集”。程序算法程序算法+数据结构数据结构算法是处理问题的方法和策略,策略的算法是处理问题的方法和策略,策略的优劣事关解决问题的效率。优劣事关解决问题的效率。数据结构是用来描述问题的数学模型,数据结构是用来描述问题的数学模型,是算法设计的基础。是算法设计的基础。第第9章章 程序设计基础程序设计基础1/31/20231/31/20232 2计算机应用基础计算机应用基础计算机应用基础计算机应用基础算法与程序设计概述算法与程序设计概述数据结构数据结构常用查找
2、与排序方法常用查找与排序方法程序设计基础程序设计基础1/31/20231/31/20233 3计算机应用基础计算机应用基础计算机应用基础计算机应用基础 算法与程序设计概述算法与程序设计概述v程序程序 在现实生活中,程序的直观特征是按事先在现实生活中,程序的直观特征是按事先在现实生活中,程序的直观特征是按事先在现实生活中,程序的直观特征是按事先安排的步骤,一步步完成一系列动作,这种对安排的步骤,一步步完成一系列动作,这种对安排的步骤,一步步完成一系列动作,这种对安排的步骤,一步步完成一系列动作,这种对活动过程的步骤描述就是一个活动过程的步骤描述就是一个活动过程的步骤描述就是一个活动过程的步骤描述
3、就是一个“程序程序程序程序”。在计算机领域,程序是指为让计算机完成特在计算机领域,程序是指为让计算机完成特在计算机领域,程序是指为让计算机完成特在计算机领域,程序是指为让计算机完成特定的任务而设计的指令序列。它是程序设计人定的任务而设计的指令序列。它是程序设计人定的任务而设计的指令序列。它是程序设计人定的任务而设计的指令序列。它是程序设计人员编写的、计算机能够理解并执行的一些命令员编写的、计算机能够理解并执行的一些命令员编写的、计算机能够理解并执行的一些命令员编写的、计算机能够理解并执行的一些命令的集合,是解决问题的具体步骤在计算机中的的集合,是解决问题的具体步骤在计算机中的的集合,是解决问题
4、的具体步骤在计算机中的的集合,是解决问题的具体步骤在计算机中的实现。实现。实现。实现。1/31/20231/31/20234 4计算机应用基础计算机应用基础计算机应用基础计算机应用基础 算法与程序设计概述算法与程序设计概述v程序程序 计算机中的程序与日常生活中的程序的概计算机中的程序与日常生活中的程序的概计算机中的程序与日常生活中的程序的概计算机中的程序与日常生活中的程序的概念是类似的,只不过执行日常生活程序的主体念是类似的,只不过执行日常生活程序的主体念是类似的,只不过执行日常生活程序的主体念是类似的,只不过执行日常生活程序的主体是人,而执行计算机程序的主体是计算机。计是人,而执行计算机程序
5、的主体是计算机。计是人,而执行计算机程序的主体是计算机。计是人,而执行计算机程序的主体是计算机。计算机程序就是要由计算机进行解释和执行的程算机程序就是要由计算机进行解释和执行的程算机程序就是要由计算机进行解释和执行的程算机程序就是要由计算机进行解释和执行的程序。它表示的是计算机处理事务的时间顺序和序。它表示的是计算机处理事务的时间顺序和序。它表示的是计算机处理事务的时间顺序和序。它表示的是计算机处理事务的时间顺序和处理问题的步骤。处理问题的步骤。处理问题的步骤。处理问题的步骤。组成计算机程序的基本单位一般称为指令,组成计算机程序的基本单位一般称为指令,组成计算机程序的基本单位一般称为指令,组成
6、计算机程序的基本单位一般称为指令,因此简单的说,程序就是事先编制好的具有特因此简单的说,程序就是事先编制好的具有特因此简单的说,程序就是事先编制好的具有特因此简单的说,程序就是事先编制好的具有特定功能的指令序列。定功能的指令序列。定功能的指令序列。定功能的指令序列。1/31/20231/31/20235 5计算机应用基础计算机应用基础计算机应用基础计算机应用基础 算法与程序设计概述算法与程序设计概述v程序程序 利用计算机求解问题事例:利用计算机求解问题事例:利用计算机求解问题事例:利用计算机求解问题事例:例例例例1 1 1 1:求解一元二次方程:求解一元二次方程:求解一元二次方程:求解一元二次
7、方程:axaxaxax2 2 2 2bxbxbxbxc=0c=0c=0c=0例例例例2 2 2 2:设设设设a0a0a0a0,b0b0b0b0,c0c0c0c0,若以正数,若以正数,若以正数,若以正数a,b,ca,b,ca,b,ca,b,c为三为三为三为三角的三条边,求三角形角的三条边,求三角形角的三条边,求三角形角的三条边,求三角形abcabcabcabc的面积?可的面积?可的面积?可的面积?可利用海利用海利用海利用海伦公式伦公式伦公式伦公式:1/31/20231/31/20236 6计算机应用基础计算机应用基础计算机应用基础计算机应用基础 算法与程序设计概述算法与程序设计概述*例例1 1的
8、的 FoxPro FoxPro 程序程序INPUT INPUT INPUT INPUT 输入数据到输入数据到输入数据到输入数据到A TO AA TO AA TO AA TO AINPUT INPUT INPUT INPUT 输入数据到输入数据到输入数据到输入数据到B TO BB TO BB TO BB TO BINPUT INPUT INPUT INPUT 输入数据到输入数据到输入数据到输入数据到C TO CC TO CC TO CC TO CIF B*B-4*A*C=0IF B*B-4*A*C=0IF B*B-4*A*C=0IF B*B-4*A*C=0 X1=(-B+SQRT(B*B-4*A
9、*C)/(2*A)X1=(-B+SQRT(B*B-4*A*C)/(2*A)X1=(-B+SQRT(B*B-4*A*C)/(2*A)X1=(-B+SQRT(B*B-4*A*C)/(2*A)X2=(-B-SQRT(B*B-4*A*C)/(2*A)X2=(-B-SQRT(B*B-4*A*C)/(2*A)X2=(-B-SQRT(B*B-4*A*C)/(2*A)X2=(-B-SQRT(B*B-4*A*C)/(2*A)?X1=,X1?X1=,X1?X1=,X1?X1=,X1?X2=,X2?X2=,X2?X2=,X2?X2=,X2ELSEELSEELSEELSE?无实数解无实数解无实数解无实数解!ENDIF
10、ENDIFENDIFENDIF1/31/20231/31/20237 7计算机应用基础计算机应用基础计算机应用基础计算机应用基础 算法与程序设计概述算法与程序设计概述例例例例2 2 2 2的的的的 C C C C语言程序语言程序语言程序语言程序#include#include#include#include main()main()main()main()float float float float a,b,c,p,areaa,b,c,p,areaa,b,c,p,areaa,b,c,p,area;scanf(%f,%f,%f,&a,&b,&cscanf(%f,%f,%f,&a,&b,&csc
11、anf(%f,%f,%f,&a,&b,&cscanf(%f,%f,%f,&a,&b,&c););););if(if(if(if(a+ba+ba+ba+bc)&(c)&(c)&(c)&(a+ca+ca+ca+c b)&(b+cb)&(b+cb)&(b+cb)&(b+ca)a)a)a)p=(a+b+c)/2.0;p=(a+b+c)/2.0;p=(a+b+c)/2.0;p=(a+b+c)/2.0;area=area=area=area=sqrt(psqrt(psqrt(psqrt(p*(p-a)*(*(p-a)*(*(p-a)*(*(p-a)*(p-b)(p-cp-b)(p-cp-b)(p-cp-b
12、)(p-c););););printf(aprintf(aprintf(aprintf(a=%7.2f,b=%7.2f,c=%7.2f,p=%7.2fn,a,b,c,p);=%7.2f,b=%7.2f,c=%7.2f,p=%7.2fn,a,b,c,p);=%7.2f,b=%7.2f,c=%7.2f,p=%7.2fn,a,b,c,p);=%7.2f,b=%7.2f,c=%7.2f,p=%7.2fn,a,b,c,p);printf(areaprintf(areaprintf(areaprintf(area=%7.2fn,area);=%7.2fn,area);=%7.2fn,area);=%7.2
13、fn,area);else else else else printf(abcprintf(abcprintf(abcprintf(abc不能构成三角形不能构成三角形不能构成三角形不能构成三角形!);!);!);!);1/31/20231/31/20238 8计算机应用基础计算机应用基础计算机应用基础计算机应用基础 算法与程序设计概述算法与程序设计概述v程序设计程序设计 对于初学者来说,往往把程序设计简单地对于初学者来说,往往把程序设计简单地对于初学者来说,往往把程序设计简单地对于初学者来说,往往把程序设计简单地理解为只是编写一个程序,这是不全面的。理解为只是编写一个程序,这是不全面的。理解为
14、只是编写一个程序,这是不全面的。理解为只是编写一个程序,这是不全面的。使用计算机解决实际问题,通常是先要对使用计算机解决实际问题,通常是先要对使用计算机解决实际问题,通常是先要对使用计算机解决实际问题,通常是先要对问题进行分析并建立数学模型,然后考虑问题进行分析并建立数学模型,然后考虑问题进行分析并建立数学模型,然后考虑问题进行分析并建立数学模型,然后考虑数据的组织方式和算法,并用某一种程序数据的组织方式和算法,并用某一种程序数据的组织方式和算法,并用某一种程序数据的组织方式和算法,并用某一种程序设计语言编写程序最后调试程序,使之运设计语言编写程序最后调试程序,使之运设计语言编写程序最后调试程
15、序,使之运设计语言编写程序最后调试程序,使之运行后能产生预期的结果。这个过程称为程行后能产生预期的结果。这个过程称为程行后能产生预期的结果。这个过程称为程行后能产生预期的结果。这个过程称为程序设计。序设计。序设计。序设计。1/31/20231/31/20239 9计算机应用基础计算机应用基础计算机应用基础计算机应用基础程序设计过程程序设计过程真真真真否否否否真真真真否否否否真真真真有无错误有无错误有无错误有无错误分析问题分析问题分析问题分析问题编写程序编写程序编写程序编写程序确定算法确定算法确定算法确定算法画流程图画流程图画流程图画流程图运行并调试运行并调试运行并调试运行并调试程序错误程序错误
16、程序错误程序错误修改程序修改程序修改程序修改程序录入错误录入错误录入错误录入错误修改算法修改算法修改算法修改算法结束结束结束结束否否否否1/31/20231/31/20231010计算机应用基础计算机应用基础计算机应用基础计算机应用基础“公式公式”程序设计程序设计程序设计程序设计=计算机编程语言计算机编程语言计算机编程语言计算机编程语言+数据结构数据结构数据结构数据结构+算法算法算法算法说明:程序设计是高强度的脑力劳动,实践说明:程序设计是高强度的脑力劳动,实践说明:程序设计是高强度的脑力劳动,实践说明:程序设计是高强度的脑力劳动,实践性极强,不是听会的,也不是看会的,而是练性极强,不是听会的
17、,也不是看会的,而是练性极强,不是听会的,也不是看会的,而是练性极强,不是听会的,也不是看会的,而是练会的,一定要上机动手编程。会的,一定要上机动手编程。会的,一定要上机动手编程。会的,一定要上机动手编程。1/31/20231/31/20231111计算机应用基础计算机应用基础计算机应用基础计算机应用基础 算法与程序设计概述算法与程序设计概述v算法算法 算法是程序的灵魂,程序是用计算机语算法是程序的灵魂,程序是用计算机语言对算法的一种实现,不管采用何种计算言对算法的一种实现,不管采用何种计算机语言来进行程序设计,也不管计算机语机语言来进行程序设计,也不管计算机语言如何发展,用它来编制程序,实现
18、问题言如何发展,用它来编制程序,实现问题的求解都依赖于某一特定的算法。的求解都依赖于某一特定的算法。1/31/20231/31/20231212计算机应用基础计算机应用基础计算机应用基础计算机应用基础 算法与算法复杂度算法与算法复杂度v算法算法 一个算法必须满足以下五个重要特性:一个算法必须满足以下五个重要特性:一个算法必须满足以下五个重要特性:一个算法必须满足以下五个重要特性:有穷性:有穷性:有穷性:有穷性:对于任意一组合法输入值,在执行有对于任意一组合法输入值,在执行有对于任意一组合法输入值,在执行有对于任意一组合法输入值,在执行有穷步骤之后一定能结束,即:算法中的每个步骤穷步骤之后一定能
19、结束,即:算法中的每个步骤穷步骤之后一定能结束,即:算法中的每个步骤穷步骤之后一定能结束,即:算法中的每个步骤都能在有限时间内完成。都能在有限时间内完成。都能在有限时间内完成。都能在有限时间内完成。确定性:确定性:确定性:确定性:对于每种情况下所应执行的操作,在对于每种情况下所应执行的操作,在对于每种情况下所应执行的操作,在对于每种情况下所应执行的操作,在算法中都有确切的规定,使算法的执行者或阅读算法中都有确切的规定,使算法的执行者或阅读算法中都有确切的规定,使算法的执行者或阅读算法中都有确切的规定,使算法的执行者或阅读者都能明确其含义及如何执行。并且在任何条件者都能明确其含义及如何执行。并且
20、在任何条件者都能明确其含义及如何执行。并且在任何条件者都能明确其含义及如何执行。并且在任何条件下,算法都只有一条执行路径。下,算法都只有一条执行路径。下,算法都只有一条执行路径。下,算法都只有一条执行路径。1/31/20231/31/20231313计算机应用基础计算机应用基础计算机应用基础计算机应用基础 算法与算法复杂度算法与算法复杂度v算法算法 有效性:有效性:有效性:有效性:算法中描述的每一步操作都应该能算法中描述的每一步操作都应该能算法中描述的每一步操作都应该能算法中描述的每一步操作都应该能有效地执行,都可以通过已经实现的基本操作,有效地执行,都可以通过已经实现的基本操作,有效地执行,
21、都可以通过已经实现的基本操作,有效地执行,都可以通过已经实现的基本操作,在运算有限次后得到确定的结果。在运算有限次后得到确定的结果。在运算有限次后得到确定的结果。在运算有限次后得到确定的结果。有输入:有输入:有输入:有输入:作为算法加工对象的量值,通常体作为算法加工对象的量值,通常体作为算法加工对象的量值,通常体作为算法加工对象的量值,通常体现为算法中的一组变量。有些输入量需要在算法现为算法中的一组变量。有些输入量需要在算法现为算法中的一组变量。有些输入量需要在算法现为算法中的一组变量。有些输入量需要在算法执行过程中输入,而有的算法表面上可以没有输执行过程中输入,而有的算法表面上可以没有输执行
22、过程中输入,而有的算法表面上可以没有输执行过程中输入,而有的算法表面上可以没有输入,实际上已被嵌入算法之中。入,实际上已被嵌入算法之中。入,实际上已被嵌入算法之中。入,实际上已被嵌入算法之中。有输出:有输出:有输出:有输出:它是一组与它是一组与它是一组与它是一组与“输入输入输入输入”有确定关系的有确定关系的有确定关系的有确定关系的量值是算法进行信息加工后得到的结果。量值是算法进行信息加工后得到的结果。量值是算法进行信息加工后得到的结果。量值是算法进行信息加工后得到的结果。1/31/20231/31/20231414计算机应用基础计算机应用基础计算机应用基础计算机应用基础 算法与算法复杂度算法与
23、算法复杂度v算法算法 为解决同一个问题,有多种不同的方法和步为解决同一个问题,有多种不同的方法和步为解决同一个问题,有多种不同的方法和步为解决同一个问题,有多种不同的方法和步骤,即多个算法。例如,求骤,即多个算法。例如,求骤,即多个算法。例如,求骤,即多个算法。例如,求1+2+1001+2+100的结果,的结果,的结果,的结果,有人是先求有人是先求有人是先求有人是先求1+21+2,再把和加上,再把和加上,再把和加上,再把和加上3 3,再加,再加,再加,再加4 4,一,一,一,一直加到直加到直加到直加到100100;而高斯采取的办法是,先将这;而高斯采取的办法是,先将这;而高斯采取的办法是,先将
24、这;而高斯采取的办法是,先将这100100个个个个数分为若干个组:数分为若干个组:数分为若干个组:数分为若干个组:(100)(100)、(1,99)(1,99)、(2,98)(2,98)、(49,51)(49,51)、(50)(50),前面,前面,前面,前面5050个组每个组的和都是个组每个组的和都是个组每个组的和都是个组每个组的和都是100100,因此结果为因此结果为因此结果为因此结果为50*100+5050*100+50。还有其他的方法还有其他的方法还有其他的方法还有其他的方法1/31/20231/31/20231515计算机应用基础计算机应用基础计算机应用基础计算机应用基础算法的评价算法
25、的评价解决同一个问题的算法可以有多种,不同人员解决同一个问题的算法可以有多种,不同人员解决同一个问题的算法可以有多种,不同人员解决同一个问题的算法可以有多种,不同人员的设计不尽相同,其效率也存在差别,一个不的设计不尽相同,其效率也存在差别,一个不的设计不尽相同,其效率也存在差别,一个不的设计不尽相同,其效率也存在差别,一个不好算法可能导致程序要运行几天、几个月甚至好算法可能导致程序要运行几天、几个月甚至好算法可能导致程序要运行几天、几个月甚至好算法可能导致程序要运行几天、几个月甚至几年,一个好的算法可能只要几分种、几秒钟几年,一个好的算法可能只要几分种、几秒钟几年,一个好的算法可能只要几分种、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第9章 程序设计基础 程序设计 基础
限制150内