Программа суммирования двух чисел, реализованная с помощью процедуры.




var

Form1: TForm1;

implementation

 

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

С, D, Summa: Integer;

procedure Sum(A, B: Integer; var S:integer);

begin

S:=A+B;

end;

 

Sum(C,D,Summa) – это вызов процедуры Здесь C, D – фактические входные параметры. Summa –фактический выходной параметр. Они подставляются на место формальных А и В соответственно при вызове процедуры Sum.
begin

C:=StrToInt(Edit_с.Text);

D:=StrToInt(Edit_d.Text);

Sum(C, D,Summa);

Edit_S:=IntToStr(Summa);

end;

 

Программа суммирования двух чисел, реализованная с помощью функции.

 

var

Form1: TForm1;

 

implementation

 

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

С, D, Summa: Integer;

 

function Sum(A, B: Integer): Integer;

begin

Result:=A+B;

end;

 

Begin

С:=StrToInt(Edit_c.Text);

D:=StrToInt(Edit_d.Text);

Summa:=Sum(C,D) – это вызов функции;при этом результат вычисления функции присваивается переменной Summa. Здесь C и D – фактические параметры. При вызове процедуры Sum они подставляются на место формальных А и В соответственно.
Summa:=Sum(C, D);

Edit_S:=IntToStr(Summa);

end;

 

При использовании процедур и функций в программах переменные объявляются несколько раз в головной программе и в подпрограммах. Для правильного определения области действия идентификаторов (переменных), необходимо придерживаться следующих правил:

1. Каждая переменная должна быть описана перед тем, как она будет использована.

2. Областью действия переменной является та подпрограмма, в которой она описана.

3. Все переменные в подпрограммах должны быть уникальными.

4. Одна и та же переменная может быть по-разному определена в каждой из подпрограмм.

5. Если имя подпрограммы совпадает с именем стандартной подпрограммы, то данная стандартная подпрограмма игнорируется, а выполняется подпрограмма пользователя.

Переменные и типы, определенные в главной программе до определения процедур и функций, называются глобальными и доступны всем функциям и процедурам. Однако, если внутри какой-либо процедуры встречается переменная с таким же именем, что и глобальная переменная, то внутри этой процедуры будет действовать локальное описание.

Пример 10. Вычислить среднее арифметическое массивов А=(A1,A2,….A5), B=(B1,B2,….B4), C=(C1,C2,….C7) и записать результат в массив G=(G1,G2,G3). Элементы массивов задаются формулами:

Ai=2i+3 для i= ; Bj=7,5j-20 для j= ; Сk= -1,5k+4 для k= .

Вычисление элементов массива оформить в виде процедуры.

Вычисление среднего арифметического оформить в виде функции.

 

Входные данные: для каждого массива – его размерность и пара коэффициентов для вычисления элементов.

Выходные данные: массивы А, В, С; вектор G.

 

Заметим, что элементы массивов вычисляются по одной и той же формуле, но с разными коэффициентами:

Ai = k1×i + k2, где k1 = 2, k2 = 3, i= ;

Bj = k1×j + k2, где k1 = 7.5, k2 = -20, j= ;

Сk = k1×k + k2, где k1 = -1.5, k2 = 4, k= .

Для решения задачи составим две подпрограммы:

1) процедуру FORM, которая формирует массив по параметрам n, k1, k2, где n – размерность массива;

2) функцию SRED, которая вычисляет среднее арифметическое массива.

Обе подпрограммы объявим внутри процедуры обработки щелчка на кнопке «Вычисление».

Процедура FORM формирует массив Х и выводит в поле Memo строку с именем массива и сам массив. Для этого ей необходимо знать размерность массива, его имя икоэффициенты k1, k2. Размерность массива n и его имя name (символьная переменная) передадим процедуре в качестве входных параметров, а коэффициенты k1, k2 передадим как глобальные для FORM переменные (т.е. объявленные выше самой FORM) – для демонстрации еще одного способа обмена данными между процедурой и вызывающей программой. Выходным параметром FORM является сформированный массив Х.

Функция SRED возвращает в вызывающую программу среднее арифметическое массива. Ее входными параметрами будут массив и его размерность.

Блок-схемы алгоритмов, реализуемых подпрограммами, показаны на рисунках 10.1 и 10.2, а основного алгоритма – на рисунке 10.3. Скомпонуем форму, показанную на рисунке 10.4. Результат работы приложения показан на рисунке 10.5.

 



Рисунок 10.4 - Исходная форма после переименования объектов

Рисунок 10.5 - Форма с результатами

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-26 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: