- •Основы программирования
- •Учебное пособие и методические указания по выполнению практических занятий для студентов специальностей:
- •Isbn 966-7508-285
- •7.080401 – Информационные управляющие системы и технологии
- •Isbn 966-7508-285
- •Оглавление
- •Введение
- •Часть I. Основы вычислительной техники, алгоритмизации и программирования;
- •Часть II. Алгоритмизация информационных процессов;
- •Часть III. Алгоритмический язык с.
- •1. Краткие теоретические сведения
- •1.1. Структурно-функциональная организация среды пакета Turbo-Pascal
- •1.2. Среда программирования пакета Turbo-Pascal
- •1.3. Технология работы с текстовым редактором
- •1.4. Прогон и отладка программы
- •1.5. Алгоритмизация вычислительных процессов
- •1.6. Структура программы на языке Тurbo-Pascal
- •1.7. Типы данных
- •1.8. Выражения и стандартные функции
- •1.9. Массивы и записи
- •Var mas: array[1..2,1..3] of integer;
- •1.10. Основные операторы
- •1.11. Процедуры и функции
- •1.12. Работа с файлами
- •2. Методические указания к практическим занятиям
- •2. Текст программы:
- •2. Тексты программ:
- •2. Тексты программ:
- •2. Текст программы:
- •2. Текст программы:
- •2. Текст программы:
- •2. Текст программы:
- •Приложения Основные символы схем алгоритмов
- •Список рекомендуемой литературы
1.11. Процедуры и функции
Процедуры и функции в языке ТP представляют собой разновидности подпрограмм.
Подпрограммой называется оформленная особым способом часто повторяющаяся последовательность операторов, которая имеет свое собственное имя и по структуре ничем не отличается от ТP-программ. Подпрограмма объявляется один раз, но использоваться может неоднократно.
Процедура в простейшем случае может не содержать ни параметров, ни описаний переменных, а лишь являться поименованной группой операторов. Такая процедура имеет следующую структуру:
PROCEDURE <имя процедуры>;
BEGIN
. . . } группа операторов
END.
В процедуре могут быть описаны локальные объекты, которые используются только внутри этой процедуры, но не доступны в других частях программы. В этом случае процедура состоит из заголовка:
PROCEDURE <имя процедуры>;
операторов описания объектов:
LABEL <список меток>;
CONST <объявление поименованных констант>;
TYPE < определение типов данных>;
VAR < определение переменных>;
PROCEDURE <описание процедур>;
FUNCTION <описание функций>;
и исполняемой части:
BEGIN
. . . } группа операторов
END;
Как видно из этого примера, в самой процедуре возможно описание других подпрограмм, что лишний раз подтверждает возможность вложения конструкций в языке ТP.
При описании процедуры с параметрами необходимо перечислить переменные-параметры, которые используются при выполнении процедуры. Такие параметры указываются в круглых скобках после имени процедуры с указанием их типов:
PROCEDURE <имя процедуры> (VAR <имя переменной>: <тип>…);
Далее приводятся операторы описания объектов и исполняемая часть процедуры.
Указанные в скобках параметры называются формальными. Перед выполнением процедуры, т.е. при ее вызове, они заменяются фактическими параметрами – конкретными значениями.
Для обращения к процедуре достаточно указать в соответствующем месте общей ТP-программы ее имя и перечислить фактические параметры в круглых скобках:
<Имя процедуры> (параметр 1, …, параметр N);
Количество и тип фактических параметров, указываемых при обращении к процедуре, должны совпадать с количеством и типом формальных параметров, описываемых при определении процедуры.
Процедура может содержать внутри себя определение и вызов других процедур. В любой процедуре может содержаться обращение к ранее описанной процедуре.
В качестве формальных параметров могут выступать не только переменные (формальные параметры-переменные), но и выражения, константы (формальные параметры-значения). Перед подобными параметрами в списке формальных параметров служебное слово VAR не ставится:
PROCEDURE <имя процедуры>(<имя переменой>:<тип>…);
Формальные параметры-переменные и параметры-значения могут быть объединены внутри единого списка параметров в заголовке процедуры:
PROCEDURE primer(VAR a,b,c:REAL; d,e:INTEGER);
Результатом выполнения процедуры могут быть значения одной или нескольких переменных, имена которых указаны в списке формальных параметров.
Функции в языке ТP отличаются от процедур следующим:
в каждой отдельной реализации вычислительного процесса функция приобретает единственное значение, тип которого явно указывается при ее описании;
вычисленное значение функции присваивается непосредственно имени функции (как обычной переменной);
имена функций используются только в тех выражениях, в которых тип функций допускает их вхождение.
Все остальное, т.е. описание формальных параметров, присвоение фактическим параметрам их значений, структура и т.п. у функций и процедур одинаковы.
Вопросы для самопроверки:
Дать определение подпрограммы.
Пояснить понятие локальных объектов.
Дать определение формальных параметров-переменных.
Дать определение формальных параметров-значений.
Дать определение фактических параметров.
Раскрыть структуру подпрограммы.
Раскрыть правила вызова процедур и функций в ТП-программе.
Перечислить отличительные особенности функций и процедур.