- 第一章 Fortran 语言程序设计初步
- 第二章 改变程序流程
- 第三章 循环结构
- 第四章 数据结构
- 第五章 数组
- 第六章 过程和模块
- 第七章 输入输出和文件
2.1.1 算法
计算机语言只是一种工具。光学习语言的规则还不够,最重要的是学会针对各种类型的问题,拟定出有效的解决方法和步骤即算法。有了正确而有效的算法,可以利用任何一种计算机高级语言编写程序,使计算机进行工作。因此,设计算法是程序设计的核心。
并非只有“计算”的问题才有算法。广义地说,为解决一个问题而采取的方法和步骤,称为“算法”。不要把“计算方法”(computational method)和“算法”(algorithm)这两个词混淆。前者指的是求数值解的近似方法,后者是指解决问题的一步一步的过程。在解一个数值计算问题时,除了要选择合适的计算方法外,还要根据这个计算方法写出如何让计算机一步一步执行以求解的算法。对于计算机外行来说,他们可以只使用别人已设计好的现成算法,只需根据算法的要求给以必要的输入,就能得到输出的结果。对他们来说,算法如同一个“黑箱子”一样,他们可以不了解“黑箱子”中的结构,只是从外部特性上了解算法的作用,即可方便地使用算法。但对于程序设计人员来说,必须会设计算法,并且根据算法编写程序。
对同一个问题,可以有不同的解题方法和步骤。例如,求 1+2+3+…+100,可以先进行 1+2,再加 3,再加 4,一直加到 100,也可采取 100+(1+99)+(2+98)+…+(49+51)+50=100+50+49×100=5050。还可以有其它的方法。当然,方法有优劣之分。有的方法只需进行很少的步骤,而有些方法则需要较多的步骤。一般说,希望采用方法简单,运算步骤少的方法。因此,为了有效地进行解题,不仅需要保证算法正确,还要考虑算法的质量,选择合适的算法。
一个计算问题的解决过程通常包含下面几步:
确立所需解决的问题以及最后应达到的要求。必须保证在任务一开始就对它有详细而确切的了解,避免模棱两可和含混不清之处。
分析问题构造模型。在得到一个基本的物理模型后,用数学语言描述它,例如列出解题的数学公式或联立方程式,即建立数学模型。
选择计算方法。如定积分求值问题,可以用矩形法、梯形法或辛普生法等不同的方法。因此用计算机解题应当先确定用哪一种方法来计算。专门有一门学科“计算方法”,就是研究用什么方法最有效、最近似地实现各种数值计算的,换句话说,计算方法是研究数值计算的近似方法的。
确定算法和画流程图。在编写程序之前,应当整理好思路,设想好一步一步怎样运算或处理,即为“算法”。把它用框图画出来,用一个框表示要完成的一个或几个步骤,它表示工作的流程,称为流程图。它能使人们思路清楚,减少编写程序中的错误。
编写程序。
程序调试,即试算。一个复杂的程序往往不是一次上机就能通过并得到正确的结果的,需要反复试算修改,才得到正确的可供正式运行的程序。
正式运行得到必要的运算结果。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论