gpt4 book ai didi

python - 我如何精确地想象在程序的主要路径的最后一个命令之后发生的事情?

转载 作者:行者123 更新时间:2023-11-28 18:14:00 25 4
gpt4 key购买 nike

我一直在绘制解释基本编程概念的教育漫画。目前,我正在做一个关于控制流的项目,有一个领域让我感到困惑:在控制流中完成程序最终主要路径的所有命令后,计算机做了什么。

我假设它会“退出”程序作为结束程序的一种方式,但其他消息来源非常被动地说,“程序退出计算机。”这部分对我来说听起来很奇怪,因为当我想象控制流时,计算机正在一条一条地执行命令,直到它遇到某种程序的“结束”。

这是我的工作草稿,用于解释我正在处理的内容:

https://prairieworldcomicsblog.files.wordpress.com/2018/03/controlflowpencil.pdf

在这部漫画的结尾,最好的比喻是什么来形象化这里的“结局”?

最佳答案

好吧,在某种程度上,您可以将操作系统视为更高级别的程序,将控制权移交给用户程序一段时间(实际情况因 fork 和许多进程而更加复杂并行运行,但你可以忽略它)。当程序结束时,控制权回到操作系统,就像程序中一个函数结束后控制权回到主流程一样。

所以也许您应该在程序末尾有一个“传送门”,并描述它如何将您传送回操作系统程序(例如命令提示符)的控制流。

我对你的一些图像有一个建议,这与你当前的问题无关。如果您在控制流“道路”中使用 fork 和合并,而不是始终使用将您带回主路径的传送门,则描绘一些控制结构(如 else 分支)可能会更容易。这些门户网站绝对有用,但我会将它们限制在函数调用和返回之类的事情上。

if(和elif/else)只是岔路口。两个(或更多)分支可以在一段时间后重新组合,所以你可能会有这样的东西,如果你能原谅我糟糕的 ASCII 艺术:

       --> if block -->
/ \
--> if -> else block -> regular control flow resumes ->

while 循环非常相似,只是它的 block 流向另一个方向运行,因此您分支 split 之前合并:

  <- while block <-
/ \
| ^
v |
\ /
---> while condition -> regular control flow resumes ->

关于python - 我如何精确地想象在程序的主要路径的最后一个命令之后发生的事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49592193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com