Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Стандартные математические функции и процедуры Turbo Pascal

Поиск
Наименование функции Тип аргумента Тип значения Результат вычисления
МАТЕМАТИЧЕСКИЕ ФУНКЦИИ
Abs(x) целый вещественный целый вещественный абсолютное значение "х"
Sin(x) вещественный вещественный синус "х" рад.
Cos(x) вещественный вещественный косинус "х" рад.
Arctan(x) вещественный вещественный арктангенс "х" (-Pi/2<y<Pi/2)
Sqrt(x) вещественный вещественный квадратный корень из "х" (Ö х, где x>0)
Sqr(x) целый вещественный целый вещественный значение "х" в квадрате (х2)
Exp(x) вещественный вещественный значение "е" в степени "х" (ех, где e= 2. 718282...)
Ln(x) вещественный вещественный натуральный логарифм "х" (х>0)
Frac(x) вещественный вещественный дробная часть "х"
Int(x) вещественный вещественный целая часть "х"
Random вещественный случайное число (0<=y<1)
Random(x) Word Word случайное число (0<=y<x)
Succ(c) порядковый порядковый следующий за "с" символ
Pred(c) порядковый порядковый предшествующий "с" символ

 

В Pascal отсутствует ряд функций, например: xy, tg(x), lg(x), поэтому приходится их вычислять, используя известные соотношения:

Xy=eyln(x)=exp(y*ln(x)); arcsin(x)=arctan();

Tg(x)=sin(x)/cos(x); arccos(x)= Pi/2 – arcsin(x);

Loga(x)=ln(x)/ln(a); arcctg(x)= Pi/2 – arctan(x);

Sh(x)=(Exp(x)-exp(-x))/2; Ch(x)= (Exp(x)+exp(-x))/2;

Csc(x)=1/Sin(x); Sc(x)=1/Cos(x);

 

Наименование процедуры Тип аргумента Тип значения Результат вычисления
МАТЕМАТИЧЕСКИЕ ПРОЦЕДУРЫ
Inc(x) целый целый Увеличивает "х" на 1 (x:=x+1;)
Dec(x) целый целый Уменьшает "х" на 1 (x:=x+1;)
Inc(x, n) целый целый Увеличивает "х" на n (x:=x+1;)
Dec(x, n) целый целый Уменьшает "х" на n (x:=x+1;)
ПРОЦЕДУРЫ ПРЕОБРАЗОВАНИЯ ТИПОВ ПЕРЕМЕННЫХ
Str(x, s) x-целый или вещественный s-строковый Последовательность символов "s" из цифр числа "x"
Val(s, v, cod) s-строковый v-целый или вещественный cod- целый Двоичная форма числа "v" последовательности "s" cod=0 (код ошибки)
ФУНКЦИИ ПРЕОБРАЗОВАНИЯ ТИПОВ ПЕРЕМЕННЫХ
Trunc(x) вещественный LongInt целая часть "х"
Round(x) вещественный LongInt округление "х" до целого
Odd(x) целый логический возвращает True если "х" - нечетное число
Сhr(x) Byte Char Символ ASCII кода "х"
Ord(c) Char Порядковый Byte LongInt ASCII код символа "с" Порядковый номер символа "с"

 

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

При вызове функция возвращает значение, которое необходимо присвоить переменной. Например, запись Y:= Sin(x); позволяет вычислить значение синуса угла "х", которое присваивается переменной "Y". Функции имеют высший приоритет, т. е. в выражении сначала вычисляется значение функции, а затем выполняются другие операции. Например: в выражении Y:=5*Cos(Pi+x); сначала вычисляется значение аргумента, затем значение функции, которое умножается на пять.

При вызове процедура производит определенные действия и может возвращать значения параметров. Процедура может не иметь параметров, например, для инициализации распределения случайных чисел вызывается процедура Randomize;. Процедуры могут включать параметры, которые необходимо задать при вызове процедуры и параметры, которые возвращают значения после выполнения процедуры. Например, при вызове процедуры Str(x, s); параметр "x" должен быть задан, а параметр "S" возвращает строковый вид числа "x". В некоторых процедурах параметры изменяют свое значение, Например, процедура Inc(x); увеличивает значение "x" на единицу, т. е. возвращает новое значение "x", что соответствует оператору x:=x+1; Таким образом, при вызове процедуры необходимо знать назначение и тип задаваемых параметров.

 


Подпрограммы в языке Pascal.

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

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

Структура процедуры:

Procedure: <имя процедуры> ([список формальных параметров]);

Const [описание используемых констант];

Type [описание используемых типов];

Var [описание используемых переменных];

Begin

…. {операторы}

End;

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

Function: <имя функции> ([список формальных параметров]):<тип результата>;

Const [описание используемых констант];

Type [описание используемых типов];

Var [описание используемых переменных];

Begin

…. {Операторы}

<имя функции>:=…; {Вычисление значения функции}

End;

В отличии от процедуры, для имени функции <имя функции> указан ее тип <тип результата>.

Вызов подпрограммы-процедуры из основной программы производится оператором вида:

………

имяП(<список фактических параметров >);

……..

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

Следует отметить, что список формальных параметров может отсутствовать.

Вызов подпрограммы-функции из основной программы может производиться по-разному:

……….

Y: =имяФ(<список фактических параметров >);

………..

здесь переменная y должна иметь тип <тип результата>;

…….

S: =z* имяФ(<список фактических параметров 1>)+x/ имяФ (<список фактических параметров 2 >).............

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

Типы соответствующих формальных и фактических параметров должны совпадать, а имена могут совпадать или быть различными. Существуют три вида формальных параметров: параметры – значения, параметры – переменные, параметры константы. Вместо параметров-значений можно подставлять имена переменных, значения переменных или выражения, вместо параметров-переменных подставляются имена переменных. Функция и параметры-переменные возвращают во внешнюю программу значения, полученные после окончания работы функции или процедуры. Изменения параметров-значений в процедуре носит локальный характер, во внешней программе соответствующие фактические параметры не изменяются. Если не требуется передавать во внешнюю программу новые значения, то следует использовать параметры-значения, а не параметры-переменные. В дальнейшем, если не оговаривается особо, все сказанное к процедуре относится также и к функции.

В процедуре (функции) можно использовать локальные метки, константы и переменные, описав их в разделе описания процедуры. Локальные имена не должны совпадать с именами формальных параметров, а их значения не передаются во внешнюю программу. Метки, константы и переменные, описанные во внешней программе раньше, чем сама процедура, называются глобальными по отношению к вызываемой процедуре. Если локальные и глобальные имена совпадают, то в процедуре используются локальные значения, а во внешней программе - глобальные значения, т. е. локальные и глобальные идентификаторы независимы. Если имя глобальной переменной уникально (в процедуре не описывается переменная с таким же именем) и ее значение в процедуре изменяется, то оно изменяется и во внешней программе. Вызывая в программе процедуру программист использует ее имя и параметры не анализируя, а часто и не зная содержимого процедуры. Поэтому в целях универсальности процедур следует все значения в процедуру передавать через список параметров, а переменные внутри процедуры описывать, т. е. делать их локальными.

Если процедура описана в другом файле с именем, например, F_PR. pas, то ее можно подключить к программе, указав в разделе описания директиву: {$I F_PR. pas}.

 




Поделиться:


Последнее изменение этой страницы: 2016-08-15; просмотров: 587; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.226.185.231 (0.009 с.)