Страница 1 из 1

Глава 20. Ошибка в основной программе

СообщениеДобавлено: 27.10.2016 11:17:31
Герман
В программе:
{ P_20_1 – вариант программы с локальной переменной }
var S: string; k: integer; { глобальная переменная }

procedure Scan(arg : string);
var k: integer; { локальная переменная }
begin
for k:=1 to Length(arg) do
if arg[k]=’A’ then arg[k]:=’B’;
end;
begin { главная программа }
for k:=1 to 3 do begin
Write(’Введите строку: ’); Readln(S);
Scan(S);
Writeln(S);
end;
end.

" arg " надо заменить на " S " и программа будет работать.

! Поторопился я. В следующей главе рассказано, что нужно сделать.

Re: Глава 20. Ошибка в основной программе

СообщениеДобавлено: 27.10.2016 14:06:30
bormant
Нет. Просто в декларации перед arg пропущено var.

Re: Глава 20. Ошибка в основной программе

СообщениеДобавлено: 27.10.2016 20:18:25
Oleg_D
Герман писал(а):Поторопился я. В следующей главе рассказано, что нужно сделать.

То, что вы заметили ошибку и предложили способ исправления, делает вам честь. Но в данном случае, как вы уже поняли, я сознательно воспроизвёл типичную ошибку новичков.
А использовать внутри процедур глобальные переменные (здесь это S) -- не вполне годная идея, но об этом будет сказано позже.

Re: Глава 20. Ошибка в основной программе

СообщениеДобавлено: 28.10.2016 22:13:59
Герман
Спасибо Вам за книгу. Изучаю дальше.