GCSE 計算機科學/虛擬碼
虛擬碼是一種非語言特定的程式碼編寫方式。它在專案的設計階段使用,作為一種快速方法,在確定要使用的語言之前設計算法,並且不需要花費太多時間使用完全正確的語法。編寫完虛擬碼演算法後,應該更容易使用它來幫助編寫程式程式碼。虛擬碼是一種結構化的演算法編寫方式,看起來非常像程式程式碼。
由於虛擬碼是一種非正式的程式碼編寫方式,即使在 GCSE 級別,也有不同的編寫方式。您應該瞭解您需要閱讀哪些虛擬碼以及您應該如何為課程編寫程式碼。您還應該瞭解是否提供了虛擬碼說明表。
- AQA:瞭解他們的虛擬碼;使用任何合理的虛擬碼來回答考試問題;考試中沒有虛擬碼說明表。
在設計算法時,程式設計師需要使用變數併為它們賦值。許多語言要求在使用變數之前對其進行定義並賦予資料型別。
DEFINE x AS integer
這裡可以使用五個基本資料型別,包括
- Char
- String
- Integer
- Real
- Boolean
|
規範連結 瞭解並使用虛擬碼進行賦值,使用 ← - 2016 CIE 教學大綱 p15 |
在虛擬碼中,使用箭頭符號 (←) 表示將值賦給變數。箭頭指向從被賦值的值到被賦值的變數。
以下虛擬碼行應理解為“a 變為等於 34”。
a ← 34
|
規範連結 瞭解並使用虛擬碼,使用以下命令和語句 |
賦值運算子也可以用於查詢總計,如以下示例所示,其中 x 變為等於 a 加 b。
x ← a + b
類似地,我們也可以使用賦值運算子進行計數,方法是將變數賦為其自身的值加 1。
x ← x + 1
|
規範連結 瞭解並使用虛擬碼,使用以下命令和語句 |
輸出是將一些資料返回給程式使用者的行為。它可以是書面訊息、數值、影像、影片或聲音的形式。這在虛擬碼中顯示為編寫 OUTPUT,後跟輸出內容。以下示例顯示瞭如何輸出訊息“Hello World”
OUTPUT 'Hello World'
有時,單詞 PRINT 可以代替 OUTPUT,如以下示例所示
PRINT 'Hello World'
另一方面,輸入是當我們期望使用者提供一些值時。以下示例將輸出一條訊息,要求使用者輸入他們的姓名並將其分配給名為“name”的變數。
PRINT 'What is your name?'
INPUT name
單詞 READ 也可以代替 INPUT。
PRINT 'What is your name?'
READ name
|
規範連結
|
選擇的使用允許在執行時根據某些條件在演算法中做出決策。
IF 語句以一個條件開始,該條件將被測試。如果條件評估為 TRUE,則將執行 THEN 程式碼塊。如果條件評估為 false,則將執行 ELSE 塊。在以下示例中,如果 x = 1,則將列印“Hello”,否則將列印“Good night”。
IF x = 1 THEN
print "Hello"
ELSEIF
print "Good night"
ENDIF
當有多個條件要檢查時,通常使用 ELSE IF。以下示例將列印“Hello”,如果 x = 1,或“How are you?”,如果 x = 2,否則將列印“Goodbye”。
IF x = 1 THEN
print "Hello"
ELSE IF x = 2 THEN
print "How are you?"
ELSE
print "Goodbye"
ENDIF
當條件有多種可能的結果時,使用此結構。例如,為了擴充套件上面的示例,假設您希望程式根據變數 x 的值列印不同的訊息:
CASE x OF
1 : PRINT "Hello"
2 : PRINT "How are you?"
3 : PRINT "I am fine"
4 : PRINT "Have a good day!"
OTHERWISE
PRINT "Goodbye"
ENDCASE
在此示例中,如果 x = 1,則我們列印“Hello”,如果 x = 2,則列印“How are you?”,如果 x = 3,則列印“I am fine.”,或者如果 x = 4,則我們列印“Have a good dayǃ”。如果 x 等於任何其他值,則我們列印“Goodbye”。
|
規範連結
|
當我們需要重複一段程式碼時,使用迭代。我們可以使一段程式碼重複,要麼重複一定次數,要麼持續重複,要麼只要某個條件繼續為真就重複,要麼直到某個條件變為真為止。
FOR 迴圈用於重複程式碼一定次數。我們指定一個計數器變數並將其設定為初始值,然後指定一個結束值。在每次迴圈迭代之後,計數器變數會自動遞增 1。在以下示例中,x 從 1 開始,每次程式碼重複時遞增 1,直到它達到 10,然後迴圈將終止。
FOR x = 1 TO 10
print x
NEXT
REPEAT 迴圈將重複程式碼塊,直到給定條件為真。條件不會在程式碼執行一次後才被檢查,因此無論條件是真還是假,程式碼都將始終至少執行一次。以下示例將繼續獲取使用者輸入,直到使用者輸入的值小於 10。此結構通常用於驗證檢查。
REPEAT
INPUT x
UNTIL x < 10
在 WHILE 迴圈中,程式碼塊將執行,並繼續執行,直到給定條件不再為真。WHILE 迴圈類似於 REPEAT 迴圈,因為它根據條件決定何時終止。但是,while 迴圈在第一次執行之前檢查條件。如果條件不為真,則程式碼塊將永遠不會執行。
以下示例也用於輸入驗證。
INPUT x
WHILE x < 10
INPUT x
ENDWHILE