導航:首頁 > 源碼編譯 > 簡述偽代碼表示演算法的優點與不足

簡述偽代碼表示演算法的優點與不足

發布時間:2022-12-22 23:34:12

A. 演算法的三中描述方法中,自然語言,流程圖,程序代碼的優缺點

一、自然語言:

優點:易於理解;

缺點:不能讓計算機執行。

二、流程圖:

優點:自然語言的時(順)序描述,介於自然語言和程序代碼之間;

缺點:不依賴於具體計算機CPU。

三、程序代碼:

優點能讓計算機理解執行,

缺點:需懂專業技能才能編寫,不直觀、錯誤不容易排查。

自然語言主要是指人類使用的語言,匯編語言是一種低級語言,是一種直接面向硬體的語言,C也算是一種高級語言,但是相對VB等就比較低級了,所以一般說是中級語言,別的基本都是高級語言。

(1)簡述偽代碼表示演算法的優點與不足擴展閱讀:

例如,一張流程圖能夠成為解釋某個零件的製造工序,甚至組織決策制定程序的方式之一。這些過程的各個階段均用圖形塊表示,不同圖形塊之間以箭頭相連,代表它們在系統內的流動方向。下一步何去何從,要取決於上一步的結果,典型做法是用「是」或「否」的邏輯分支加以判斷。

B. 演算法可以使用哪些描述方式,各有什麼優勢

演算法的描述方式主要有自然語言,流程圖,偽代碼等,它們的優勢和不足可以簡單地歸納如下:1、自然語言優勢:自然語言描述的演算法通俗易懂,不用專門的訓練不足:a.由於自然語言的歧義性,容易導致演算法執行的不確定性。b.自然語言的語句一般較長,導致描述的演算法太長。c.當一個演算法中循環和分歧較多時就很難清晰地表示出來。d.自然語言表示的演算法不便翻譯成計算機程序設計語言。2、流程圖優勢:流程圖描述的演算法清晰簡潔,容易表達選擇結構,它不依賴於任何具體的計算機和計算機程序設計語言,從而有利於不同環境的程序設計。不足:不易書寫,修改起來比較費事,可以藉助於專用的流程圖製作軟體來提升繪制和修改。3、偽代碼優勢:偽代碼迴避了程序設計語言的嚴格、煩瑣的書寫格式,書寫方便,同時具備格式緊湊,易於理解,便於向計算機程序設計語言過渡的優點。不足:由於偽代碼的種類繁多,語句不容易規范,有時會產生誤讀。

C. 偽代碼是什麼

偽代碼
對機器編譯而言,就像文言文對我們一樣,沒法完全理解,需要進行翻譯。要將偽代碼用高級程序語言翻譯過來以後給機器編譯才會有效。

D. 什麼是偽代碼,什麼時候能用到它,有什麼作用,如何去寫,請大俠舉例說明一下~

偽代碼(Pseudocode)是一種演算法描述語言。使用偽代碼的目的是為了使被描述的演算法可以容易地以任何一種編程語言(Pascal,C,Java,etc)實現。因此,偽代碼必須結構清晰、代碼簡單、可讀性好,並且類似自然語言。 介於自然語言與編程語言之間。

例如,類Pascal語言的偽代碼的語法規則是: 在偽代碼中,每一條指令佔一行(else if,例外)。指令後不跟任何符號(Pascal和C中語句要以分號結尾)。書寫上的「縮進」表示程序中的分支程序結構。這種縮進風格也適用於if-then-else語句。用縮進取代傳統Pascal中的begin和end語句來表示程序的塊結構可以大大提高代碼的清晰性;同一模塊的語句有相同的縮進量,次一級模塊的語句相對與其父級模塊的語句縮進。

偽代碼只是像流程圖一樣用在程序設計的初期,幫助寫出程序流程。簡單的程序一般都不用寫流程、寫思路,但是復雜的代碼,最好還是把流程寫下來,總體上去考慮整個功能如何實現。寫完以後不僅可以用來作為以後測試,維護的基礎,還可用來與他人交流。但是,如果把全部的東西寫下來必定可能會讓費很多時間,那麼這個時候可以採用偽代碼方式。比如:
IF 九點以前 THEN
do 私人事務;
ELSF 9點到18點 THEN
工作;
ELSE
下班;
END IF
這樣不但可以達到文檔的效果,同時可以節約時間. 更重要的是,使結構比較清晰,表達方式更加直觀.

E. 偽代碼是什麼

偽代碼(Pseudocode)是一種非正式的,類似於英語結構的,用於描述模塊結構圖的語言。

當考慮演算法功能(而不是其語言實現)時,偽代碼常常得到應用。偽代碼常被用於技術文檔和科學出版物中來表示演算法,也被用於在軟體開發的實際編碼過程之前表達程序的邏輯。偽代碼不是用戶和分析師的工具,而是設計師和程序員的工具。計算機科學在教學中通常使用虛擬碼,以使得所有的程序員都能理解。

使用偽代碼的目的及偽代碼的特點:

使用偽代碼的目的是使被描述的演算法可以容易地以任何一種編程語言(Pascal,C,Java等)實現。因此,偽代碼必須結構清晰、代碼簡單、可讀性好,並且類似自然語言。

偽代碼介於自然語言與編程語言之間,以編程語言的書寫形式指明演算法職能。使用偽代碼,不用拘泥於具體實現。相比程序語言(例如Java, C++,C, Dephi等等)它更類似自然語言。它是半形式化、不標準的語言。

F. 偽代碼是什麼意思~怎麼好的運用~

偽代碼(Pseudocode)是一種演算法描述語言。使用偽代碼的目的是為了使被描述的演算法可以容易地以任何一種編程語言(Pascal,C,Java,etc)實現。因此,偽代碼必須結構清晰、代碼簡單、可讀性好,並且類似自然語言。 介於自然語言與編程語言之間。
它以編程語言的書寫形式指明演算法的職能。相比於程序語言(例如Java, C++,C, Dephi 等等)它更類似自然語言。它是半形式化、不標準的語言。我們可以將整個演算法運行過程的結構用接近自然語言的形式(這里,你可以使用任何一種你熟悉的文字,中文,英文 等等,關鍵是你把你程序的意思表達出來)描述出來. 使用偽代碼, 可以幫助我們更好的表述演算法, 不用拘泥於具體的實現.
人們在用不同的編程語言實現同一個演算法時意識到,他們的實現(注意:這里是實現,不是功能)很不同。尤其是對於那些熟練於不同編程語言的程序員要理解一個(用其他編程語言編寫的程序的)功能時可能很難,因為程序語言的形式限制了程序員對程序關鍵部分的理解。這樣偽代碼就應運而生了。
當考慮演算法功能(而不是其語言實現)時,偽代碼常常得到應用。計算機科學在教學中通常使用虛擬碼,以使得所有的程序員都能理解。
例如,類Pascal語言的偽代碼的語法規則是: 在偽代碼中,每一條指令佔一行(else if,例外)。指令後不跟任何符號(Pascal和C中語句要以分號結尾)。書寫上的「縮進」表示程序中的分支程序結構。這種縮進風格也適用於if-then-else語句。用縮進取代傳統Pascal中的begin和end語句來表示程序的塊結構可以大大提高代碼的清晰性;同一模塊的語句有相同的縮進量,次一級模塊的語句相對與其父級模塊的語句縮進。
偽代碼只是像流程圖一樣用在程序設計的初期,幫助寫出程序流程。簡單的程序一般都不用寫流程、寫思路,但是復雜的代碼,最好還是把流程寫下來,總體上去考慮整個功能如何實現。寫完以後不僅可以用來作為以後測試,維護的基礎,還可用來與他人交流。但是,如果把全部的東西寫下來必定可能會讓費很多時間,那麼這個時候可以採用偽代碼方式。比如:
IF 九點以前 THEN
do 私人事務;
ELSE 9點到18點 THEN
工作;
ELSE
下班;
END IF
這樣不但可以達到文檔的效果,同時可以節約時間. 更重要的是,使結構比較清晰,表達方式更加直觀.

G. 代碼和偽代碼什麼區別

區別:

1,面對對象不同,偽代碼是方便程序員便於理解,源代碼是面對電腦,使電腦編譯。

2,編譯方式不同,偽代碼無被電腦編譯,源代碼可以被電腦編譯。

3,編寫方式不同,在偽代碼中,每一條指令佔一 行,指令後不限任啊符號,源代碼一條指令客棧多行,可加符號。

在現代程序語言中,源代碼可以是以書籍或者磁帶的形式出現,但最為常用的格式是文本文件,這種典型格式的目的是為了編譯出計算機程序。




(7)簡述偽代碼表示演算法的優點與不足擴展閱讀:

偽代碼:是用介於自然語言和計算機語言之間的文字和符號(包括數學符號)來描述演算法。

偽代碼簡單示例:輸入3個數,列印輸出其中最大的數。可用如下的偽代碼表示:

Begin(演算法開始)

輸入 A,B,C

IF A>B 則 A→Max

否則 B→Max

IF C>Max 則 C→Max

Print Max

End (演算法結束)

偽代碼(Pseudocode)是一種演算法描述語言。它不是一一種現實存在的編程語言。使用為代碼的目的是為了使被描述的演算法可以容易地以任何一種編程語言(Pascal, C,Java, etc) 實現。

源程序(source code)即代碼是指未編譯的按照一定的程序設計語言規范書寫的文本文件。源代碼(也稱源程序),是指一系列人類可讀的計算機語言指令。

H. 偽代碼求解釋

偽代碼
編輯
[1] (Pseudocode)是一種演算法描述語言。使用偽代碼的目的是使被描述的演算法可以容易地以任何一種編程語言(Pascal,C,Java等)實現。因此,偽代碼必須結構清晰、代碼簡單、可讀性好,並且類似自然語言。 介於自然語言與編程語言之間。以編程語言的書寫形式指明演算法職能。使用偽代碼, 不用拘泥於具體實現。相比程序語言(例如Java, C++,C, Dephi 等等)它更類似自然語言。它是半形式化、不標準的語言。可以將整個演算法運行過程的結構用接近自然語言的形式(可以使用任何一種你熟悉的文字,關鍵是把程序的意思表達出來)描述出來。
中文名
偽代碼
外文名
Pseudocode

I. 偽代碼是什麼意思,有什麼作用

現在的編程語言種類很多,偽代碼不是具體某一種編程語言的代碼,而是用普遍的可以理解的方式寫出的代碼,寫這樣的代碼的目的是為了講解描述演算法,而不是為了通過編譯得到可執行程序。在講解一些系統原理性的教材裡面用的比較多,比如編譯原理、操作系統、數據結構等等。

J. 演算法和偽代碼有什麼區別啊

偽代碼(Pseudocode)是一種演算法描述語言。使用為代碼的目的是為了使被描述的演算法可以容易地以任何一種編程語言(Pascal, C, Java, etc)實現。因此,偽代碼必須結構清晰,代碼簡單,可讀性好,並且類似自然語言。

下面介紹一種類Pascal語言的偽代碼的語法規則。

偽代碼的語法規則
在偽代碼中,每一條指令佔一行(else if 例外,),指令後不跟任何符號(Pascal和C中語句要以分號結尾);
書寫上的「縮進」表示程序中的分支程序結構。這種縮進風格也適用於if-then-else語句。用縮進取代傳統Pascal中的begin和end語句來表示程序的塊結構可以大大提高代碼的清晰性;同一模塊的語句有相同的縮進量,次一級模塊的語句相對與其父級模塊的語句縮進;
例如:

line 1
line 2
sub line 1
sub line 2
sub sub line 1
sub sub line 2
sub line 3
line 3
而在Pascal中這種關系用begin和end的嵌套來表示,

line 1
line 2
begin
sub line 1
sub line 2
begin
sub sub line 1
sub sub line 2
end;
sub line 3
end;
line 3在C中這種關系用{ 和 } 的嵌套來表示,

line 1
line 2
{
sub line 1
sub line 2
{
sub sub line 1
sub sub line 2
}
sub line 3
}
line 3
在偽代碼中,通常用連續的數字或字母來標示同一即模塊中的連續語句,有時也可省略標號。
例如:

1. line 1
2. line 2
a. sub line 1
b. sub line 2
1. sub sub line 1
2. sub sub line 2
c. sub line 3
3. line 3符號△後的內容表示注釋;
在偽代碼中,變數名和保留字不區分大小寫,這一點和Pascal相同,與C或C++不同;
在偽代碼中,變數不需聲明,但變數局部於特定過程,不能不加顯示的說明就使用全局變數;
賦值語句用符號←表示,x←exp表示將exp的值賦給x,其中x是一個變數,exp是一個與x同類型的變數或表達式(該表達式的結果與x同類型);多重賦值i←j←e是將表達式e的值賦給變數i和j,這種表示與j←e和i←e等價。
例如:

x←y
x←20*(y+1)
x←y←30
以上語句用Pascal分別表示為:

x := y;
x := 20*(y+1);
x := 30; y := 30;
以上語句用C分別表示為:

x = y;
x = 20*(y+1);
x = y = 30;
選擇語句用if-then-else來表示,並且這種if-then-else可以嵌套,與Pascal中的if-then-else沒有什麼區別。
例如:

if (Condition1)
then [ Block 1 ]
else if (Condition2)
then [ Block 2 ]
else [ Block 3 ]
循環語句有三種:while循環、repeat-until循環和for循環,其語法均與Pascal類似,只是用縮進代替begin - end;
例如:

1. x ← 0
2. y ← 0
3. z ← 0
4. while x < N
1. do x ← x + 1
2. y ← x + y
3. for t ← 0 to 10
1. do z ← ( z + x * y ) / 100
2. repeat
1. y ← y + 1
2. z ← z - y
3. until z < 0
4. z ← x * y
5. y ← y / 2
上述語句用Pascal來描述是:

x := 0;
y := 0;
z := 0;
while x < N do
begin
x := x + 1;
y := x + y;
for t := 0 to 10 do
begin
z := ( z + x * y ) / 100;
repeat
y := y + 1;
z := z - y;
until z < 0;
end;
z := x * y;
end;
y := y / 2;
上述語句用C或C++來描述是:

x = y = z = 0;
while( z < N )
{
x ++;
y += x;
for( t = 0; t < 10; t++ )
{
z = ( z + x * y ) / 100;
do {
y ++;
z -= y;
} while( z >= 0 );
}
z = x * y;
}
y /= 2;
數組元素的存取有數組名後跟「[下標]」表示。例如A[j]指示數組A的第j個元素。符號「 …」用來指示數組中值的范圍。
例如:

A[1…j]表示含元素A[1], A[2], … , A[j]的子數組;

復合數據用對象(Object)來表示,對象由屬性(attribute)和域(field)構成。域的存取是由域名後接由方括弧括住的對象名表示。
例如:

數組可被看作是一個對象,其屬性有length,表示其中元素的個數,則length[A]就表示數組A中的元素的個數。在表示數組元素和對象屬性時都要用方括弧,一般來說從上下文可以看出其含義。

用於表示一個數組或對象的變數被看作是指向表示數組或對象的數據的一個指針。對於某個對象x的所有域f,賦值y←x就使f[y]=f[x],更進一步,若有f[x]←3,則不僅有f[x]=3,同時有f[y]=3,換言之,在賦值y←x後,x和y指向同一個對象。

有時,一個指針不指向任何對象,這時我們賦給他nil。

函數和過程語法與Pascal類似。
函數值利用 「return (函數返回值)」 語句來返回,調用方法與Pascal類似;過程用 「call 過程名」語句來調用;

例如:

1. x ← t + 10
2. y ← sin(x)
3. call CalValue(x,y)
參數用按值傳遞方式傳給一個過程:被調用過程接受參數的一份副本,若他對某個參數賦值,則這種變化對發出調用的過程是不可見的。當傳遞一個對象時,只是拷貝指向該對象的指針,而不拷貝其各個域。

閱讀全文

與簡述偽代碼表示演算法的優點與不足相關的資料

熱點內容
騰訊雲連接不上伺服器 瀏覽:221
不能用來表示演算法的是 瀏覽:859
6軸機器人演算法 瀏覽:890
手機主題照片在哪個文件夾 瀏覽:294
安卓手機後期用什麼軟體調色 瀏覽:628
cad修改快捷鍵的命令 瀏覽:242
好錢包app怎麼登錄不了 瀏覽:859
樹莓派都用python不用c 瀏覽:757
access文件夾樹的構造 瀏覽:662
安卓多指操作怎麼設置 瀏覽:658
linux樹形目錄 瀏覽:727
平方根的簡單演算法 瀏覽:898
千牛訂單頁面信息加密取消 瀏覽:558
單片機自製紅外遙控燈 瀏覽:719
伺服器最小配置怎麼弄 瀏覽:853
ibm伺服器硬體如何升級 瀏覽:923
全球程序員節點贊 瀏覽:986
php函數傳遞數組 瀏覽:632
人工峰群演算法的目標函數 瀏覽:468
如何刪加密文檔 瀏覽:105