- •Алфавит языка
- •Данные языка Turbo Pascal
- •Типы данных в языке Turbo Pascal
- •Целочисленные (целые) типы данных
- •Операции и выражения в языке Паскаль
- •Стандартные арифметические функции в Паскаль (см методичку)
- •Лекции 4-7
- •Оператор вывода write и writeln
- •Структурные операторы языка Паскаль
- •Составной оператор
- •Условные операторы
- •Массивы
- •Описание одномерного массива.
- •Действия над элементами одномерного массива.
- •Алгоритм поиска максимального элемента в массиве и его номера
- •Сортировка массивов
- •Генерация случайных чисел
- •Двумерный массив
- •Ввод-вывод матриц
- •Обработка символьных и строковых данных
- •Лекции 15-17
- •Подпрограммы
- •1. Описание процедуры.
- •2. Описание функции.
- •Список литературы
Лекции 15-17
Подпрограммы
Цель: изучение алгоритмов с использованием процедур и функций.
Задачи:
Разобрать встроенные функции и процедуры.
Изучить процедуры и функции пользователя.
Разобрать механизм передачи параметров.
Рассмотреть что такое рекурсия.
Подпрограмма – именованная, логически законченная группа операторов языка, которую можно вызвать для выполнения любое количество раз из различных мест программы. В Паскаль существуют два вида подпрограмм: процедуры и функции.
Процедура – независимая именованная часть программы, которую можно вызвать по имени для выполнения определенных действий. Структура процедуры повторяет структуру программы. Процедура не может выступать как операнд в выражении. Упоминание имени процедуры в тексте программы приводит к активизации процедуры и называется ее вызовом.
Функция- аналогична процедуре, но имеются два отличия: функция передает в точку вызова скалярное значение; имя функции может входить в выражение как операнд.
Все процедуры и функции языка Паскаль делятся на две группы: встроенные (стандартные), пользовательские.
Процедуры и функции пользователя
Задаются в описательной части программы. Вызываются в основной части (в разделе операторов).
При вызове подпрограммы (процедуры или функции), определенной программистом, работа главной программы на некоторое время приостанавливается и начинает выполняться вызванная подпрограмма. Она обрабатывает данные, переданные ей из главной программы. По завершении выполнения подпрограмма-функция возвращает главной программе результат, а подпрограмма-процедура не возвращает явно результирующего значения.
Передача данных из главной программы в подпрограмму и возврат результата выполнения функции осуществляются с помощью параметров.
Различают формальныеифактическиепараметры.
Формальные параметры– параметры, определенные в заголовке подпрограммы.
Фактические параметры– выражения, задающие конкретные значения при обращении к подпрограмме. При обращении к подпрограмме ее формальные параметры замещаются фактическими, переданными из главной программы.
1. Описание процедуры.
Описание процедуры включает заголовок (имя) и тело процедуры. Заголовок состоит из зарезервированного слова procedure, идентификатора (имени) процедуры и необязательного, заключенного в круглые скобки, списка формальных параметров с указанием типа каждого параметра. Формальные параметры отделяются точкой с запятой (список однотипных параметров может быть перечислен через запятую).Например,procedureP1(a:integer;b,c:real). Имя процедуры – идентификатор, уникальный в пределах программы. Тело процедуры представляет собой локальный блок, по структуре аналогичен программе.
Формат:
procedure<имя> (список формальных параметров);
Const...;
Type...; Раздел описания процедуры
Var...;
begin
<операторы>;
end;
Для обращения к процедуре необходимо использовать оператор вызова процедуры. Он имеет следующий формат:
<имя процедуры> (список фактических параметров);
Например: f(a,b);
Фактические параметры в списке отделяются друг от друга запятой. Механизм применения формальных-фактических параметров обеспечивает замену формальных параметров фактическими, что позволяет выполнять процедуру с различными данными. Количество, типы и порядок следования формальных и фактических параметров должны совпадать.