2.1.2 程序设计步骤
根据实际问题设计应用程序大致要经过以下4个步骤。
① 分析问题:主要包括两方面的任务,一是确认已知数据和未知结果,并设置好要表示的变量;二是确定问题求解的方法,选择一种简单、易于理解、适合编程的算法,确定解决问题的步骤。利用C语言编程解决问题,在这一步通常采用结构化的分析方法,即采用自顶向下、逐步细化的方法。
② 画流程图或N-S图:在C语言的程序设计过程中一般使用N-S图。这一步主要是用N-S图描述问题的算法。
③ 编写程序:将上一步画的N-S图转化为C语言程序。
④ 运行并调试程序:运行编写好的程序,如果程序正确,则得到预期的结果;否则,就要进行程序调试,直至得到正确的结果为止。
【例2.3】 求3个数中的最大数。
对于这个问题,目前只做分析问题和画N-S图这两步,后面的两个步骤以后随着学习内容的深入再进行介绍。本题的算法很简单,读者可能一下子就能写出具体的算法,但为了便于理解结构化的分析方法,此处采用自顶向下、逐步细化的方法来设计算法。首先,从整体进行设计,算法应该分为3个如图2.8(a)所示的子问题S1、S2、S3,然后再对每个子问题进行细化。设3个数分别为a、b、c,并用max存放其中的最大数,则可以把S1、S3描述为如图2.8(b)和(c)所示的方法。这两步已成为计算机能实现的基本操作。对S2来说,可以分成S2.1和S2.2两个独立的子任务,如图2.8(d)所示,再对S2.1和S2.2进行细化得到图2.8(e)和(f),将细化得到的图按顺序反插到图2.8(a)中便得到了该题目的详细算法,如图2.8(g)所示。
图2.8 求3个数中的最大数
这个例子主要是让读者了解程序设计的步骤(前两个步骤),尤其是结构化的分析方法,读者一定要认真体会。在后面的学习中,读者要逐步理解和掌握这种方法,并能够利用这种方法解决实际问题。对于程序设计的步骤(包括后面的两个步骤),读者在后面的学习中会一直使用,注意在理解的基础上进行掌握。