Изучение языка программирования
Турбо Паскаль (Turbo Pascal)

На этом сайте можно: скачать среду программирвания Турбо Паскаль, изучить язык программирования Турбо Паскаль, а так же скачать программы на языке Турбо Паскаль!
Раздел описания процедур и функций

Итак, когда-то я рассказывал о структуре программы на языке Паскаль ( Структура программы языка Турбо Паскаль), теперь пришло время доконца изучить раздел описания.

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

ОПИСАНИЕ ПРОЦЕДУР
Процедура - это независимая именованная часть программы, которую можно вызвать по имени для выполнения определенных действий т.е. процедура это вспомогательная программа (подпрограмма).

Структура описания процедуры, почти такая же как и структура самой программы:

PROCEDURE [имя][параметры];
  [необязательный оператор USES];
  [раздел описания];
BEGIN
  [команды];
END;
[имя] - имя процедуры
[параметры] - их не обязательно указывать если их нет, если они есть, то записываются они в таком виде: (var [переменная]:[тип]). Переменных и типов может быть много. Короче [параметры] записываются также как и раздел описания переменных (Раздел описания: меток, констант, типов, переменных, процедур и функций).

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

Под основной программой теперь будем понимать программу, которая находится между операторами BEGIN и END.

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

Пример17.1 Программа, в которой используется процедура вывода строки "Это строка написана из процедуры программы!".

PROCEDURE stroka;	{начало описания процедуры, stroka - имя процедуры}
BEGIN
  writeln('Это строка написана из процедуры программы!');
END;			{конец описания процедуры}

BEGIN			{начало основной программы}
  stroka;		{вызов процедуры}
END.			{конец основной программы}
Все просто - сначала пишется процедура (такая же простая как и первая программа), а затем эта процедура вызывается из основной программы по имени. Если бы в основной программе не вызвали эту процедуру, то все что она должна делать не выполнялось вообще.

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

VAR				{описание переменных для основной программы}
  a,x:integer;

PROCEDURE summa (var a,b:integer);	{summa - имя; a,b - параметры}
VAR
  c:integer;
BEGIN
  c:=a+b;
  writeln('Сумма чисел = ', c);
END;						{конец описания процедуры}

BEGIN						{начало основной программы}
  a:=15;
  x:=20;
  summa(a,x);				{вызов процедуры}
END.						{конец основной программы}

Примечание: как вы видите в основной программе, при вызове процедуры summa я использовал переменные a и x - при вызове процедуры с параметрами, переменные, которые являются параметрами процедуры, могут отличаться от переменных, которые используются при вызове процедуры, т.е вместо a и x можно было написать переменные с другим именем (например d и t). Также стоит отметить, что переменная c могла быть описана в разделе описания переменных основной программы, а в самой процедуре ее описания могло бы и не быть.

ОПИСАНИЕ ФУНКЦИЙ
Функция - аналогична процедуре, главное отличие функции от процедуры является то, что функция возвращает какое-либо значение.

FUNCTION [имя][параметры]:[тип];
  [необязательный оператор USES];
  [раздел описания];
BEGIN
  [команды];
END;
[имя] - имя функции
[параметры] - их также как и в процедуре не обязательно указывать если их нет.
[тип] - так как функция возвращает какое-либо значение, то сама функция как и переменая имеет тип.

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

Пример17.3 Программа, в которой используется функция, которая возвращает значение: TRUE или FALSE, вот такого выражения - (4>12)<(5=x)

FUNCTION proverka: boolean;	{начало описания функции}
VAR
  x:integer;
BEGIN
  write('Введите число x: ');
  readln(x);
  proverka:=(4>12)<(5=x);
END;					{конец описания функции}

BEGIN
  writeln(proverka);		{вызов функции из основной программы}
END.
Итак, имя функции даем любое (например, proverka). Теперь, параметров нет, значит их не пишем, а пишем тип. Тип boolean - тип который возвращает значения TRUE или FALSE. Затем нужно описать переменную x (ее можно было описать и в основной программе). После этого пишем команды в самой функции и присваиваем значение выражения самой функции.

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

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

Примечание: часто встречаемое слово "возвращает" понимается как "принимает".


<<< Назад * Оглавление * Далее >>>