ОП
Олеся Пономарева

почему в процедуре b нельзя поставить var перед k (pascal)

tpc= array [1..n] of -n..n;
tpe= array [1..n] of 1..n;
procedure CANON(var f : TPE; var g : TPK);
var i,j : 0..n;
a : array [1..n] of Boolean;
procedure B(k : integer);
begin a[k]:=false; {1}
if k<>i then
begin
B(f[k]);
g[j]:=k; j:=j-1; {2}
end
end;
begin for i:=1 to n do a[i]:=true; j:=n;
for i:=1 to n do
if a[i] then
begin {3}
B(f[i]);
g[j]:=i; j:=j-1 {4}
end
end;

Светлана
Светлана

Вопрос некорректный. Во-первых, можно написать что угодно, но это будет вызывать ошибку. Эта ошибка, правда, не повлияет на работоспособность программы, потому что в ней еще куча ошибок. А вообще типы фактического и формального параметров должны совпадать, чтобы передавать параметр с var.

АО
Артур Ооо

Потому, что язык имеет такие правила.

Похожие вопросы
Pascal процедура Randomize
Вопрос по процедурам в Pascal.
Pascal, ошибка во второй процедуре вывода на екран. Помогите=)
Pascal ABC Процедуры
Pascal. Как написать процедуру?
Pascal Как написать процедуру?
подскажите сборник задач с решениями по процедурам и функциям на Turbo Pascal
Что главное в процедуре? Изучаем delphi, pascal, c++ Вопрос с экзамена
Pascal. Переменная равна да ИЛИ нет. Как поставить ИЛИ
Написать в PASCAL программу: Описать процедуру Minmax(A,B)...