Прочитайте документ - Область действия переменных в программе
Что делает процедура Swap:
Выполним эту программу в среде PascalABC. Значения переменных x и y остались прежними!
Такая передача параметров называется передачей по ссылке, а параметры называют параметрами - переменными/
Практическое задание и Домашнее задание
Что делает процедура Swap:
Program Exchange1;
Что должна вывести эта программа?var x,y : integer;
procedure Swap (a, b: integer);
var c: integer;
beginc:=a; a:=b; b:=c;end;
begin
x:=2; y:=3; Swap (x, y); Write(x, ' ', y);
end.
Выполним эту программу в среде PascalABC. Значения переменных x и y остались прежними!
Процедура Swap работает с копиями переданных ей параметров. Это значит, что процедура создает в памяти временные локальные переменные с именами a и b и копирует в них переданные основной программой значения переменных x и y. Поэтому все перестановки в процедуре были сделаны с копиями, а значения переменных x и y в основной программе не изменились. Такая передача параметров называется передачей по значению, а параметры называют параметрами - значениями.Чтобы решить эту проблему, нужно явно сказать, чтобы процедура работала с теми же ячейками памяти, что и основная программа. Для этого при перечислении формальных параметров в процедуре указывают слово var:
Program Exchange2;
var x,y : integer;
Выполним эту программу в среде PascalABC. Значения переменных x и y поменялись местами!procedure Swap (var a, b: integer);begin
var c: integer;
begin
c:=a; a:=b; b:=c;
end;
x:=2; y:=3; Swap (x, y); Write(x, ' ', y);
end.
Такая передача параметров называется передачей по ссылке, а параметры называют параметрами - переменными/
Практическое задание и Домашнее задание
Комментариев нет:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.