1 / 81
文档名称:

程序的灵魂.ppt

格式:ppt   大小:347KB   页数:81页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

程序的灵魂.ppt

上传人:neryka98 2018/5/8 文件大小:347 KB

下载得到文件列表

程序的灵魂.ppt

相关文档

文档介绍

文档介绍:算法的概念
简单算法举例
算法的特性
怎样表示一个算法
结构化程序设计方法
第2章程序的灵魂——算法
程序包括:
对数据的描述
指定数据的类型、组织形式,即数据结构。
对操作的描述
即操作步骤,也称算法(algorithm)。
数据是操作的对象,操作的目的是对数据进行加工以
得到期望的结果。
著名计算机科学家沃思(Nikilaus Wirth)提出:
数据结构算法程序
+
=
程序设计则包括:
采用某种程序设计方法
使用某种计算机语言工具
程序设计人员所应具备和综合运用的知识
算法
加工对象
设计方法
设计工具
算法的概念
为解决问题而采取的方法和步骤,称为“算法”。
对同一问题,可有多种算法,尽量采用简单、有效的算法。
保证算法正确
考虑算法的质量
本书所考虑的只限于计算机能执行的算法。
算法必备条件:
计算机算法分两类:
数值算法
目的是求数值解。人们对数值运算算法的研究比较深入,对各种数值运算都有比较成熟的算法可供选用。常常把这些算法汇编成册(写成程序形式),或者将这些程序存放在磁盘或磁带上,供用户调用。
非数值算法
非数值运算涵盖面很广,常用于事务管理领域。目前,计算机在非数值运算方面的应用远多于在数值运算方面的应用。
非数值运算种类繁多,要求各异,难以规范化,因此只能对一些典型的非数值运算算法(例如排序算法)作比较深入的研究。其他的非数值运算问题,往往需要使用者参考已有的类似算法重新设计解决特定问题的专门算法。

通过对一些典型算法的学习,同学们应学会怎样进行算法设计,包括:
如何提出问题
如何思考问题
如何表示一个算法
简单算法举例
求1×2×3×4×5。
算法一:
步骤1: 先求1×2,得到2。
步骤2: 将得到的2再乘以3,得到6。
步骤3: 将6再乘以4,得到24。
步骤4: 将24再乘以5,得到120。
算法虽然正确,但太繁琐。
每次都直接使用上一步骤的数值结果,不方便。应当找
到一种通用的表示方法。
设两个变量:变量p代表被乘数,变量i代表乘数。
将每一步的乘积放在被乘数变量p中,算法改写如下:
S1: 使p=1
S2: 使i=2
S3: 使p×i,乘积放在p中(p×i=>p)
S4: 使i的值加1(i+1 => i)
S5: 若i不大于5,重新执行S3、S4和S5;
否则,算法结束。
算法二:
计算机的优势
在此得以体现
如果题目改为:求1×3×5×7×9×…×100。
则算法二只需作很少改动:
S1: 1=>p
S2: 3=>i
S3: p×i=>p
S4: i+2=>i
S5: 若i≤100,返回S3; 否则,结束。
可见,算法二具有通用性、灵活性,更为简单有效。
有50个学生,要求将他们之中成绩在80分以上者打印
出来。(用n表示学生学号,ni代表第i个学生学号。用g代表
学生成绩,gi代表第i个学生成绩)
算法可表示如下:
S1:1=>i
S2:如果gi≥80,则打印ni和gi,否则不打印
S3:i+1=>i
S4:如果i≤50,返回S2继续执行;否则,算法结束。
i表示学生序号,当i>50时,表示50
个学生的成绩处理完毕,算法结束。