跳转到内容

图灵/过程、函数和进程

来自维基教科书,开放的书籍,开放的世界

计算机程序员和数学家都很快意识到,对于复杂的难题,试图同时解决所有问题几乎是不可能的。相反,我们尝试将问题分解成我们知道如何解决的部分。这可以通过过程和函数轻松高效地完成。

首先,让我们处理过程。当你在程序中调用一个过程时,它会跳转到该过程,执行代码,然后返回。

示例过程代码即将推出


你可以将函数视为计算事物的变量。它们在你调用它们时返回一个值,因此它们可以像变量一样使用。这段代码应该帮助你理解

这是一个将字符串反向打印的程序。

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 命令。


数据文件 · 数组,灵活数组

华夏公益教科书