Пример программы с использованием локальной переменной
Пример программы с использованием глобальной переменной
Верно
неверно
Program _; Var i:byte; Procedure vivod; Begin Write(i); End; Begin I:=4; Vivod; End.
Program _; Var i:byte; Procedure vivod; Var i: byte; Begin Write(i); End; Begin I:=4; Vivod; End.
Необходимо отметить следующиемоменты:
1.Неременные, описанные в разделе описания переменных всей программы, "видны" всем процедурам программы, т.е. являются "глобальными". Например, процедура Vivod использует переменную I, причем I описана в разделе описания переменных программы.
2. Если при описании переменных процедуры мы вводим переменную с тем же именем, что и некоторая глобальная переменная, то внутри процедуры переменная процедуры перекрывает глобальную переменную (таким образом, глобальная переменная становится "невидимой" ). Если не иметь в виду последнее замечание, то трудно понять, почему вторая программа выводит на экран какие-то хаотические записи.
{в этой программе используется процедура Stars, выводящая на экран сто звездочек}
program Stars_200;
{описание процедуры Stars}
procedure Stars;
var i: Integer;
begin
for i:=1 to 100 do
WriteLn ('*');
end;
{описание процедуры заканчивается "точкой с запятой" }
{сама программа}
begin
Stars; { первый раз вызвали процедуру Stars }
WriteLn (‘100 stars');
Stars; {второй раз вызвали процедуру Stars }
WriteLn (‘ 200 stars!');
Часто бывает необходимо, чтобы процедура выполнялась с учетом значений некоторых переменных, и не всегда удобно эти переменные делать глобальными, т.е. описывать их в разделе описания переменных всей программы. В этом случае процедура может быть оформлена, как процедура с параметрами.