我正在做一些家庭作业,它定义了应该如何制作程序,procedure DoSort
.
该过程有一个局部变量,称为“数据”,它是一个由 25 个整数组成的数组。
data : array[0..24] of Integer;
该程序有四个主要步骤:
1) PopulateArray(data)
2) ShowNumbersInList(data)
3) PlotBars(data)
4) Sort(data)
这些步骤都是对额外过程的过程调用。但是,如果我这样编码,每次调用DoSort
. 我需要仅在初始调用时填充数组。我已经尝试了很多东西...
if data[0] = data[1]
if data[0] = nil
if data[0].free
if data.free
if data = nil
等等。我需要在不创建另一个变量的情况下执行此操作,即firstRun : Boolean
. 所以基本上,我需要做的是检查数组是否已被填充
procedure DoSort();
Var
data : array[0..24] of Integer;
begin
if data[0] = data[1] then // DOESN'T WORK
begin
PopulateArray(data);
end
else
begin
ShowNumbersInList(data);
PlotBars(data);
Sort(data);
end;
end;
这让我发疯,因为我无法弄清楚。任何人都可以帮忙吗?谢谢。