手动分析程序
Analysing programs by hand
不确定这是不是问这个问题的最佳地点,但这里是。
为了考试,我必须手动分析一小段代码,以确定输出结果(如果有的话)。这是一个例子:
def f2(x, y):
if not x > y:
return "Red"
else:
return "Blue"
def Test(x):
if x < 0:
p = f2(2, 4)
else:
p = f2(4, 2)
print(x**2, p)
Test(5)
此代码段的输出是 25 Blue
,我通过跟踪变量的进展正确断言了这一点。所以我可以遵循程序的逻辑。但是,是否有一种简单的方法(可能是通过图表或流程图的方式)通常用于评估代码的输出或在纸上执行 'dry run'?或者人们只是 'follow the variables'?
A code trace is a method for hand simulating the execution of your code in order to manually verify that it works correctly before you compile it. It is also known as a "code trace" or "desk check."
如何编码跟踪
画一个table,变量名横跨在上面,程序行在旁边,分配一列输出
按照您的预期完成计划
当变量被赋值或变量的值被操作或改变时,根据变量名和执行行记录该值在适当的位置。 (这样可以使代码跟踪清晰有序,便于复查)
继续跟踪程序直到程序终止为计算机
不确定这是不是问这个问题的最佳地点,但这里是。
为了考试,我必须手动分析一小段代码,以确定输出结果(如果有的话)。这是一个例子:
def f2(x, y):
if not x > y:
return "Red"
else:
return "Blue"
def Test(x):
if x < 0:
p = f2(2, 4)
else:
p = f2(4, 2)
print(x**2, p)
Test(5)
此代码段的输出是 25 Blue
,我通过跟踪变量的进展正确断言了这一点。所以我可以遵循程序的逻辑。但是,是否有一种简单的方法(可能是通过图表或流程图的方式)通常用于评估代码的输出或在纸上执行 'dry run'?或者人们只是 'follow the variables'?
A code trace is a method for hand simulating the execution of your code in order to manually verify that it works correctly before you compile it. It is also known as a "code trace" or "desk check."
如何编码跟踪
画一个table,变量名横跨在上面,程序行在旁边,分配一列输出
按照您的预期完成计划
当变量被赋值或变量的值被操作或改变时,根据变量名和执行行记录该值在适当的位置。 (这样可以使代码跟踪清晰有序,便于复查)
继续跟踪程序直到程序终止为计算机