Предмет:
ИнформатикаАвтор:
анонимФункция состоит из следующих блоков:
Обязательными блоками являются первый (заголовок) и тело функции, содержащее действия исполняемые функцией.
Тело функции начинается со слова begin, и заканчивается словом end; В теле функции должен выполняться оператор присваивания, присваивающий переменной result значение, возвращаемое функцией. Альтернативой является использование вместо переменной result имени функции. Например:
Function Return1():integer;
begin
Return1:=1;
end;
Для того чтобы создать функцию с возвращаемым типом массива нужно описать пользовательский тип массива:
const n=5;
m=5;
type ArrType = array[1..n,1..m]of integer;
Размерность массива задана константами m и n. Функция создания массива представлена ниже:
function FCreateArray:ArrType;
var locmas:ArrType;
i,j:integer;
begin
for i:=1 to n do
for j:=1 to m do
locmas[i,j]:=random(10);
result:=locmas;
end;
Здесь пропущен список параметров в заголовке функции, поскольку параметры не требуются.
Для создания массива используем два вложенных цикла for. Переменные-счетчики для циклов объявлены локально, также объявлен локальный массив locmas, который заполняется случайными числами в диапазоне от 0 до 9. Для возвращения результата используем присваивание переменной result значения localmas.
Вызов функции будет иметь следующий вид:
mas:=FCreateArray;
Тип переменной mas должен совпадать с типом возвращаемым функцией.
Создание двумерного массива с помощью процедурыПроцедура состоит из следующих блоков:
Также как и у функции обязательными являются первый и последний блоки. В отличие от функции процедура не имеет типа возвращаемого значения.
Воспользуемся описанным типом данных ArrType, для того чтобы передать процедуре создания массива параметр-переменную locmas. Ключевое слово var указывает, что фактический параметр переданный процедуре будет изменяться процедурой.
procedure PCreateArray(var locmas:ArrType);
var i,j:integer;
begin
for i:=1 to n do
for j:=1 to m do
locmas[i,j]:=random(10);
end;
Заполнение массива происходит так же, как и в описанной выше функции.
Вызов процедуры будет следующим:
PCreateArray(mas);
При этом тип переменной mas должен совпадать с типом locmas из списка параметров процедуры. После выполнения процедуры переменная mas будет содержать массив, заполненный случайными числами в диапазоне от 0 до 9.
Автор:
keyДобавить свой ответ