官术网_书友最值得收藏!

1.1.3 算法的表示

算法可以用自然語言、程序框圖、N-S圖、偽代碼、計算機語言表示。例1.1就是用自然語言描述求整數序列最大值的算法。

1.程序框圖

程序框圖又叫流程圖,是由一些規定的圖形、流程線和文字說明來直觀描述算法的圖形。程序框及其說明如表1.1所示。

表1.1 程序框及其說明

續表

例1.2 畫出例1.1的算法的流程圖(見圖1.1)。

2.N-S圖

流程圖由一些特定意義的圖形、流程線及簡要的文字說明構成,它能清晰、明確地表示程序的運行過程。因為在使用過程中發現流程線不是必需的,人們設計了一種新的流程圖,它把整個程序寫在一個大框內,這個大框圖由若干個小的基本框圖構成,這種流程圖簡稱N-S圖。N-S圖是無線的流程圖,又稱盒圖,在1973年由美國兩位學者I.Nassi和B.Shneiderman提出。

例1.3 例1.1算法的N-S圖(見圖1.2)。

圖1.1

圖1.2

3.偽代碼(Pseudocode)

偽代碼是一種介于自然語言與編程語言之間的算法描述語言,便于理解,并不依賴于語言,它用來表示程序執行過程,而不一定能編譯運行的代碼。使用偽代碼的目的是為了使被描述的算法可以容易地以任何一種編程語言實現。

例如:

IF 九點以前 THEN

做私人事務;

ELSE 9點到18點 THEN

工作;

ELSE

下班;

END

4.計算機語言(Computer Language)

計算機語言的種類非常多,總的來說可以分成機器語言、匯編語言、高級語言三大類。

計算機所能識別的語言只有機器語言,即由0和1構成的代碼。但通常人們編程時,并不采用機器語言,因為它非常難于記憶和識別。匯編語言的實質和機器語言是相同的,都是直接對硬件操作,只不過指令采用了英文縮寫的標識符,更容易識別和記憶。高級語言是目前絕大多數編程者的選擇,它并不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的C、C++、C#、Java、VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。

例1.4 例1.1算法的C語言程序。

#include <stdio.h>

int main()

{

int a[100],i,n,max;

scanf("%d",&n);

for(i=0;i<n;i++)

{

scanf("%d",&a[i]);

}

max=a[0];

for(i=1;i<=n-1;i++)

{

if(a[i]>=max)

{

max=a[i];

}

}

printf("%d ",max);

}

1.5 例1.1算法的MATLAB語言程序。

x=input('x=');

n=length(x);

max=x(1);

for i=1:n

if x(i)>=max

max=x(i);

end

i=i+1;

end

fprintf('max=%d\n',max)

主站蜘蛛池模板: 青冈县| 土默特左旗| 建宁县| 新余市| 麻阳| 修武县| 鹤岗市| 烟台市| 沙坪坝区| 安国市| 泗洪县| 丹巴县| 隆昌县| 水城县| 修文县| 丰原市| 平乡县| 天峻县| 诸城市| 安庆市| 通榆县| 镶黄旗| 绍兴县| 霍林郭勒市| 包头市| 文成县| 图片| 尼勒克县| 东安县| 明光市| 四川省| 安徽省| 乌拉特前旗| 黄梅县| 乌兰浩特市| 日喀则市| 溆浦县| 昌图县| 开平市| 连云港市| 中山市|