圖靈/過程、函式和程序
外觀
< 圖靈
計算機程式設計師和數學家都很快意識到,對於複雜的難題,試圖同時解決所有問題幾乎是不可能的。相反,我們嘗試將問題分解成我們知道如何解決的部分。這可以透過過程和函式輕鬆高效地完成。
首先,讓我們處理過程。當你在程式中呼叫一個過程時,它會跳轉到該過程,執行程式碼,然後返回。
示例過程程式碼即將推出
你可以將函式視為計算事物的變數。它們在你呼叫它們時返回一個值,因此它們可以像變數一樣使用。這段程式碼應該幫助你理解
這是一個將字串反向列印的程式。
function flipWord (w : string) : string
var tmp : string := ""
for decreasing i : length (w) .. 1
tmp := tmp + w (i)
end for
result tmp
end flipWord
%%%%%%%%%%MAIN PROGRAM%%%%%%%%%%
var word : string
put "Enter word"
get word : * %bypasses token-oriented input
put flipWord (word)
實際上,這裡有兩個新東西。首先,也是最簡單的,是 for 迴圈中的 decreasing 一詞。它告訴圖靈遞減 1。正如你所看到的,函式使我們能夠保持主程式簡潔清晰。在更大的程式中,使用函式將變得至關重要,因為這些程式可能會變得非常複雜!
如果你想知道 "標記導向輸入" 的含義,它只是告訴圖靈不要將空格視為下一個變數的開始。這允許在單詞變數中使用空格。
程序類似於過程,只是它們可以與程式碼的其他部分併發執行。這意味著,如果你正在使用迴圈,你的程序不會阻止你執行任何其他需要執行的操作。這在播放音樂等情況下特別有用,在這種情況下,你需要其他程式碼能夠在播放音樂時執行。
程序的使用方式與過程類似;但是,必須用 process 替換 procedure 一詞。此外,程序不能透過簡單地呼叫它們來啟動。必須在程序名稱前加上 fork 命令。