首页 理论教育 计算机求解问题的过程

计算机求解问题的过程

时间:2023-10-30 理论教育 版权反馈
【摘要】:计算机是没有智能的,它不能分析问题并产生问题的解决方案。用计算机求解任何问题,首先必须给出解决问题的方法和步骤,也就是算法,再按照某种语法规则编写成计算机可执行的指令即程序,然后让计算机执行这些指令,这个过程就是程序设计过程。正如所看到的,当人们要应用计算机求解问题时,需要编写出使计算机按人们意愿工作的程序。算法设计直接影响计算机求解问题的成功与否。

计算机求解问题的过程

计算机是如何来处理问题的呢?计算机是没有智能的,它不能分析问题并产生问题的解决方案。用计算机求解任何问题,首先必须给出解决问题的方法和步骤,也就是算法,再按照某种语法规则编写成计算机可执行的指令即程序,然后让计算机执行这些指令,这个过程就是程序设计过程。该过程分为以下5个主要步骤。

1.问题分析

分析问题是第一步,也是最重要的步骤。在这个阶段,首先要明确和理解所要解决的问题是什么;已知条件和数据有哪些,如何获得这些数据;要输出的结果是什么,产生的结果以何种形式来输出;问题的定义中包含了哪些限制和约束;等等。只有在问题被准确定义并完全理解后才能研究问题的解决办法。

例如排序问题,输入数据是一组待排序的学生成绩,输出数据是由高到低排好序的学生成绩。学生成绩应为0~100之间的正整数等。

2.算法设计

在这个阶段,需要给出求解问题的一系列步骤,即确定解决问题的算法,并对算法的正确性进行验证。算法是根据问题分析结果得来的,是对问题处理过程的进一步细化,但它不是计算机可以执行的,只是编写程序前对处理思想的一种描述。

算法设计往往是解决问题的过程中最难的一部分,一开始不要试图解决问题的每一个细节,取而代之的是采用自顶向下、逐步求精和模块化的设计方法。在自顶向下的设计中,首先列出需要解决的主要步骤,或称为子问题,之后通过求解每一个子问题来最后解决整个问题。这和我们撰写学期论文相似,开始编写论文提纲时,我们首先列出大标题的题目,之后为每一个大标题列出相应的小标题,一旦大纲完成,我们开始为每一个小标题编写内容。

3.实现算法(www.xing528.com)

问题分析和算法设计已经为程序设计规划好了蓝本,接下来的步骤是用计算机能够执行的形式实现算法。实现算法就是将一个算法描述正确地编写成计算机语言程序,即通常所说的“编码”。而程序设计语言的选择,可根据具体的问题和需求而定,需要考虑语言的适用性、问题求解的效率等。

用计算机语言编写的程序代码,必须保证程序没有语法错误。为了验证语法的正确性,需要通过编译器来运行代码。如果编译器产生了错误信息,则必须识别出代码中的错误并改正这些错误,然后再使用编译器来运行代码。

4.测试和验证程序

编译器只保证程序没有语法错误,并不能保证程序没有错误而正确运行。在程序执行期间,程序可能因为逻辑错误而异常终止,例如0作为除数。即使程序正常结束,它仍然可能产生错误结果;比如我需要得到的结果是两个数的最大值,而程序得出的答案是最小值。这就需要测试程序来验证所有的需求功能是否正确实现。在实际应用中,不要仅仅依赖于一个测试用例,而是要多选择一些典型的数据运行程序,确保每一种情形都正确工作。

5.维护和更新程序

维护和更新程序重点放在修改程序以去除以前没有检测到的错误或者根据用户需要升级改进程序。

正如所看到的,当人们要应用计算机求解问题时,需要编写出使计算机按人们意愿工作的程序。编程本质上就是为解决问题而设计算法,并实现算法使计算机能理解它们。算法设计直接影响计算机求解问题的成功与否。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈