Процедуры и функции
Подпрограмма - функционально самостоятельная часть программы, обладающая собственным именем и набором локальных имен. Вызов подпрограммы осуществляется по ее имени и из любых точек тела программы и любое количество раз.
В Turbo Pascal-е подпрограммами являются процедуры и функции.
Пример процедуры:
Program ...;
... {раздел описания для программы}
procedure
line;
var symbol: integer;
begin
write
('{');
for symbol:= 1 to 78 do write ('-'); writeln ('}');
end;
begin
... {инструкции программы}
line;
{}
... {продолжение программы}
end.
Пример функции:
program
example;
... {раздел описания для программы}
function stepen (num,
step: integer): integer;
var i: integer; a: real;
begin
a:=1;
for
i:= 1 to step do begin a:=a*num;
stepen:=a;
end;
end;
...
begin { начало самой
программы}
...
read (a,b);
x:=stepen(a,b);
write(x);
...
end.
Встроенные функции и процедуры
При описании функций и процедур приняты следующие обозначения:
- имена функций и процедур выделены полужирным шрифтом;
- параметры выделены курсивом (В качестве параметра могут использоваться константы, переменные или выражения соответствующих типов. Если параметром обязательно должна быть переменная основной программы, то перед ним поставлено слово var. После параметра указывается его тип.);
- после списка параметров функций через двоеточие указан тип результата, возвращаемого функцией.
Математические |
Комментарий |
Abs(Выражение) |
Абсолютное значение
аргумента (целый или вещественный тип) |
Sqr(Выражение) |
Квадрат аргумента (целый или
вещественный тип) |
Sqrt(Выражение:real):real |
Квадратный корень из
аргумента |
Sin(Выражение:real):real |
Синус аргумента,
выраженного в радианах |
Cos(Выражение:real):real |
Косинус аргумента,
выраженного в радианах |
Arctan(Выражение:real):real |
Арктангенс аргумента,
выраженного в радианах |
Exp(Выражение:real):real |
Экспонента
аргумента |
Ln(Выражение:real):real |
Натуральный логарифм
аргумента |
Int(Выражение:real) :
real |
Целая
часть аргумента |
Trunc(Выражение:real):longint |
Целая
часть аргумента |
Round(Выражение:real):longint |
Округление значения
аргумента до ближайшего целого |
Str(Выражение;var
Строка:string) |
Преобразование
числового выражения в строку |
Val(Строка:string; var Переменная, var
КодОшибки:integer) |
Преобразование строки,
изображающей целое или вещественное число, в
число |
Для работы со строками и символами |
Комментарий |
Concat(Строка1:string; ...;
СтрокаЫ: string)
:string |
Объединение нескольких строк в одну |
Copy(Строка:string;НомерСимвома:integer;
Длина
:integer):string |
Выделение
подстроки |
Delete(var
Строка:srting; НомерСпмвола:integer; Сколько:integer) |
Удаление части
строки |
Length{Строка:string):integer |
Длина
строки |
Pos(Строка:string;Подстрока:string):byte |
Позиция подстроки в строке |
Chr(КодСимвола:byte):Char |
Символ с указанным
кодом |
В описании функций и процедур приняты следующие обозначения:
• имена функций и процедур выделены полужирным шрифтом;
•
параметры выделены курсивом (В качестве параметра можно использовать константы,
переменные или выражения соответствующих типов. Если параметром обязательно
должна быть переменная основной программы, то перед ним поставлено слово var, а
после параметра — его тип);
• необязательные параметры заключены в квадратные
скобки;
• после списка параметров функций (через двоеточие) указан тип
результата, возвращаемого функцией.
Abs
Синтаксис:
function Abs(X) ;
Действие:
Возвращает абсолютное значение аргумента, в качестве которого можно использовать выражение целого или вещественного типа.
Arctan
Синтаксис:
function Arctan(X: real): real;
Действие:
Возвращает арктангенс аргумента — угла, величина которого выражена в радианах.
Cos
Синтаксис:
function Cos(X: real): real;
Действие:
Возвращает косинус аргумента — угла, величина которого
выражена в радианах.
Ехр
Синтаксис:
function Exp(X: real): real;
Действие:
Возвращает значение, равное экспоненте аргумента.
Ln
Синтаксис:
function Ln(X: real): real;
Действие:
Возвращает значение, равное натуральному логарифму аргумента.
Sin
Синтаксис:
function Sin(X: real): real;
Действие:
Возвращает синус аргумента — угла, величина которого выражена в радианах.
Sqr
Синтаксис:
function Sqr(X) ;
Действие:
Возвращает квадрат аргумента, в качестве которого можно использовать выражение целого или вещественного типа.
Sqrt
Синтаксис:
function Sqrt(X: real): real;
Возвращает значение, равное квадратному корню из аргумента.
Random
Синтаксис:
function Random [ (Диапазон: word)];
Действие:
Если параметр Диапазон не указан, то возвращает случайное число X, которое удовлетворяет условию 0 <= X < 1. Если параметр диапазон указан, то функция возвращает случайное число типа word, удовлетворяющее условию 0 <= X < диапазон.
Примечание
Перед первым
обращением к функции Random необходимо с помощью вызова процедуры Randomize
инициализировать программный генератор случайных чисел.
Randomize
Синтаксис:
procedure Randomize;
Действие:
Инициализирует программный генератор случайных чисел.
Функции и процедуры преобразования
Int
Синтаксис:
function Int(X: real): real;
Действие:
Возвращает целую часть аргумента как значение вещественного типа. Дробная часть аргумента при преобразовании не учитывается, т. е. функция не производит округление.
Round
Синтаксис:
function Round(X: real): longint;
Действие:
Возвращает округленное к ближайшему целому значение аргумента.
Str
Синтаксис:
procedure Str(X [:ВсегоСимволов [:ДробнаяЧасть ]]; var Строка: string);
Действие:
Выполняет преобразование числового выражения в его строковое представление. ВсегоСимволов и дробнаяЧасть — необязательные выражения целого типа, которые задают общее количество символов и количество символов дробной части в изображении числа.
Trunc
Синтаксис:
function Trunc(X: real): longint;
Действие:
Возвращает целую часть аргумента как значение целого типа. Дробная часть аргумента при преобразовании не учитывается, т. е. функция не производит округление.
Val
Синтаксис:
procedure Val(Строка: string; var Переменная;
var Ошибка : integer);
Действие:
Выполняет преобразование строки, изображающей целое или вещественное число, в
число. Полученное значение присваива-
ется переменной, указанной при вызове
процедуры. Если преобразование не может быть выполнено, то в переменную Ошибка
записывается номер символа строки, который явился причиной неудачи
преобразования. Если преобразование выполнено успешно, то значение сшибка равно
нулю.
Функции и процедуры для работы со строками и символами
Chr
Синтаксис:
function Chr{КодСимвола: byte): char;
Действие:
Возвращает символ с указанным кодом.
Concat
Синтаксис:
function Concat(si [, s2, ...,sN] : string): string;
Действие:
Возвращает строку, являющуюся объединением строк, указанных при вызове функции.
Сору
Синтаксис:
function Copy(s: string; n:integer; 1: integer): string;
Действие:
Возвращает подстроку — часть строки а. Подстрока начинается с символа с номером л и состоит из i символов.
Delete
Синтаксис:
procedure Delete(var s: srting; НомерСимвола: integer; Сколько:
integer);
Действие:
Удаляет из строки s ее часть, которая начинается с символа с номером п и состоит из i символов.
Length
Синтаксис:
function Length(Строка: string): integer;
Действие:
Возвращает значение, равное количеству символов строки-аргумента.
Pos
Синтаксис:
function Pos(Строка: string; Подстрока: string): byte;
Действие:
Возвращает позицию (номер символа) подстроки в строке.