已经证明,由三种基本结构组成的算法可以解决J任何复杂的问题。由三种基本结构所构成的算法称为结构化算法;由三种基本结构所构成的程序称为结构化程序。
例1.1 先后输人若干个整数,要求打印出其中最大的数,当输入的数小于0时结束。用N-S流程图表示算法。
解题的思路是:先输人一个数,在没有其他数参加比较之前,它显然是当前最大的数,把它放到变量ma:中。让max始终存放当前已比较过的数中的最大值。然后输入第二个数,并与max比较,如果第二个数大于max,则用第二个数取代max中原来的值。如此先后输人和比较,每次比较后都将值大者放在max中,直到输入的数小于0时结束。最后max中的值就是所有输入数中的最大值。
根据此思路,画出N-S流程图(见图1.7)。变量x用来控制循环次数,当x>0时,执行循环体;在循环体内进行两个数的比较和输入x值。从图1.7可见,在循环体的矩形框内包含一个选择结构。