Процедуры и функции

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

В 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
Символ с указанным кодом

Зарезервированные слова и директивы

Зарезервированные слова языка Turbo Pascal:

and file then
array for
object
to
asm function
of
type
begin goto
or
unit
case if
packed
until
const implementation
procedure uses
constructor in
program
var
destructor inherited
record
while
div inline
repeat
with
do intenface
set
xor
downto label
shl
else mod
shr
end nil
string
Директивы языка Turbo Pascal:
absolute external forward
near
public
assembler far interrupt
private virtual

Процедуры и функции

В описании функций и процедур приняты следующие обозначения:

• имена функций и процедур выделены полужирным шрифтом;
• параметры выделены курсивом (В качестве параметра можно использовать константы, переменные или выражения соответствующих типов. Если параметром обязательно должна быть переменная основной программы, то перед ним поставлено слово 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;

Действие:

Возвращает позицию (номер символа) подстроки в строке.