close

Вход

Забыли?

вход по аккаунту

?

Примеры подпрограмм

код для вставкиСкачать
 Пример 1. Разработать функцию, возведения в степень К целого числа А.
Вывод результатов выполнить в основной программе.
program POdprog_func_;
{$APPTYPE CONSOLE}
Function Z1_3(a:integer;k:byte):integer; var
b,i:integer;
begin
b:=1;
For i:=1 to k do
b:=b*a;
result:=b;
end;
VAR { Глобальные переменные к основной программе }
a,c:integer; k:byte;
Begin { ОСНОВНАЯ ПРОГРАММА }
write ('k= ');
readln(a,k);
c:= Z1_3(a,k);
writeln( 'число а, возведенное в степень к= ',с); END.
Пример 2. Разработать процедуру, которая в массиве целых чисел возводит каждый элемент в заданную степень К.
Ввод массива и вывод результатов оформить процедурой
program POdprog_proc_;
{$APPTYPE CONSOLE}
type
TDar=array of integer;
Procedure Z1_1(var x:TDAR;var n:word); { cоздание дин. массива }
begin
write('количество элементов = ');
readln(n);
setlength(x,n); { выделение оперативной памяти }
end;
Procedure Z1_2(var x:TDar); { заполнение массива }
var
i:word;
begin
writeln('введите элементы массива');
for i:=0 to high(x) do
read(x[i]);
end;
Function Z1_3(a:integer;k:byte):integer; var
b,i:integer;
begin
b:=1;
For i:=1 to k do
b:=b*a;
result:=b;
end;
Procedure Z1_4(var x:TDar;k:word);
var
i:word;
s:integer;
begin
For i:=0 to high(x) do
begin
s:= Z1_3(x[i],k); { вызов функции }
x[I]:=S;
end;
end;
Procedure Z1_5(var x:TDar); { вывод результатов } var
i:word;
begin
writeln('вывод массива');
for i:=0 to high(x) do
Write(x[i],' ');
writeln; readln;
end;
var { Описание глобальнх переменных к основной программе }
Mas:TDar;
n,k:word;
Begin { Основная программа }
Z1_1(Mas,n);
Z1_2(Mas);
Z1_5(Mas);
write(' степень k= ');
readln(k);
Z1_4(Mas,k);
Z1_5(Mas);
end.
Пример 3.
* Обоснование выбора подпрограммы-функции.
Воспользуемся схемой:
Входные данные Результат - целое число типа integer
a:integer; k:byte; ( Число возведенное в степень к)
Вывод: результатом работы алгоритма является одно значение простого типа,
следовательно оформим подпрограмму в виде функции.
Фактические параметры a и k передаются в подпрограмму как параметры-
значения.
* Обоснование выбора подпрограммы-процедуры Z1_1 для задачи 2.
Входные данныеРезультатов два:
X:TDar; n:word; измененные значения X и n
Подпрограмма принимает в качестве входных данных через формальные параметры: указатель Х на создаваемый массив и переменную n для количества элементов. Алгоритм изменяет значения переменных X и n. Вводит с клавиатуры количество элементов в переменную n. Выделяет память под динамический массив из n элементов с помощью процедуры SetLength . Если память не выделена, то X=nil. Память не выделена, если n≤0 или нет в куче свободной памяти. Вывод: результатом работы алгоритма является два значения. Следовательно оформим подпрограмму в виде процедуры.
Переменные (фактические параметры) для результатов алгоритма, могут быть переданы только по ссылке, как переменные, так как их значения будут изменены алгоритмом.
Документ
Категория
Рефераты
Просмотров
117
Размер файла
40 Кб
Теги
подпрограмма, пример
1/--страниц
Пожаловаться на содержимое документа