上QQ阅读APP看书,第一时间看更新
1.4.3 算法的描述
算法的描述是多样的,本节通过一个例子来学习各种算法的描述。
求两个正整数m和n的最大公约数。
利用自然语言描述最大公约数的算法如下:
(1)输入正整数m和n。
(2)m除以n,将余数送入中间变量r。
(3)判断r是否为零。如果为零,n即为所求最大公约数,算法结束。如果r不为零,则将n中的值送入m,r的值送入n,返回执行步骤(2)。
因为上述算法采用自然语言描述不具有直观性和良好的可读性,采用程序流程图描述比较直观,可读性好,但是不能直接转化为计算机程序,移植性不好。最大公约数的程序流程图如图1.9所示。下面采用类C语言描述和C语言描述。
类C语言描述如下:
图1.9 最大公约数的程序流程图
C语言描述如下:
可以看出,类语言的描述除了没有变量的定义、输入和输出的写法之外,与程序设计语言的描述的差别不大,类语言的描述可以直接转化为可以直接运行的计算机程序。本书的算法完全采用C程序设计语言描述。