Подпрограммы пользователя

Begin

Var

s:real;

s1: integer;

{ Ввод числовых данных }

s:=StrToFloat(Edit1.Text);

s1:=StrToInt(InputBox('Ввод данных','Введите s',''));

{ Вывод числовых данных }

Edit2.Text:=FloatToStr(s);

Label1.Caption:=IntToStr(s1);

ShowMessage(FloatToStr(s))

End;

Для вывода чисел по формату используются:

- Процедура Str(F[:Width[:Decimals]], S), которая преобразует число F в форматированную строку символов S согласно объявленному типу переменной F. (Width – общее количество десятичных цифр, выделяемых числу, Decimals – количество цифр в дробной части (только для вещественных чисел).

Например:

Str(F:20:10,S);

Label1.Caption:=S;

- Функция FloatToStrF (x,Format,Precision, Digits), которая преобразует вещественное число x в форматированную строку.

Правила использования параметра Format функции FloatToStrF.

Значение Format Описание
ffExponent Отображает число в экспоненциальной форме Precision-общее количество цифр в мантиссе; Digits-количество цифр в десятичном порядке
ffFixed Отображает число в формате с фиксированной запятой. Precision-общее количество цифр; Digits-количество цифр в дробной части
ffNumber Отображает число в формате с фиксированной запятой с разделителями групп разрядов при выводе больших чисел

Примеры строк программного кода с выводом чисел по формату:

Строка программного кода Результат
Edit1.Text:=FloatToStrF(s,ffExponent,8,3); 1,0000780E+004
Edit1.Text:=FloatToStrF(s,ffFixed,8,3); 10000,780
Edit1.Text:=FloatToStrF(s,ffNumber,8,3); 10 000,780

Хотя набор стандартных процедур и функций достаточно широк, он вряд ли может удовлетворить потребности каждого пользователя. Поэтому ему предоставлена возможность самому реализовывать нужные ему алгоритмы в виде подпрограмм и обращаться к ним по имени из любого места программы. Таким образом, если в программе возникает необходимость частого обращения к некоторой группе операторов, то рационально сгруппировать такую группу в самостоятельный блок, к которому можно обращаться в программе. Такие программные блоки, созданные самим пользователем принять называть подпрограммами пользователя. Каждой пользовательской подпрограмме дается уникальное имя. Передача данных в подпрограмму и возврат результата выполнения осуществляется с помощью входных и выходных параметров. Входной параметр – этопеременная, значение которой должно быть установлено до начала работы данной подпрограммы, а выходной параметр – это переменная, которая получает свой значение в результате работы подпрограммы.

Имя подпрограммы и ее параметры записываются в заголовке подпрограммы. Различают формальные параметры – параметры, определенные в заголовке подпрограммы, и фактические параметры – выражения, задающие конкретные значения при обращении к подпрограмме.

Различают два типа пользовательских подпрограмм: процедуры (Procedure) и функции (Function). Главное отличие функции от процедуры заключается в том, что результат работы функции – единственное значение, а результат работы процедуры – одно значение, несколько значений или ни одного. Например, можно написать процедуру, которая:

P отображает полученные результаты в виде диаграммы в графическом окне;

P вычисляет площадь и периметр многоугольника;

P решает задачу по преобразованию векторов;

P изменяет значения свойств объектов.

Кроме того, обращение к функции является разновидностью операнда, обращение к функции является разновидностью операнда, т.е. функция как бы включается в состав выражения (арифметического, логического, строкового и др.). При этом говорят, что функция возвращает свое значение. Вызов же процедуры – это разновидность оператора. После обращения к процедуре ставится точка с запятой, так же как и после любого другого оператора.

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

Процедуры и функции определяются в разделе описания функций и процедур.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: