- •1. Основные элементы языка турбо-паскаль
- •1.1. Алфавит
- •1.2. Идентификаторы
- •1.3. Константы
- •1.4. Выражения
- •1.5. Операции
- •1.6. Стандартные функции
- •1.7. Типы данных
- •1.8. Совместимость типов
- •2. Структура простой программы на языке турбо-паскаль.
- •1. Ввод-вывод данных
- •2. Операторы языка
- •2.1. Оператор присваивания
- •2.2. Условный оператор
- •2.3. Оператор перехода. Метка
- •2.4. Составной оператор
- •2.5. Оператор варианта
- •1. Знакомство со средой турбо-паскаля
- •2. Система меню
- •3. Редактор
- •1. Цикл с условием продолжения
- •2. Цикл с условием окончания
- •3. Цикл с параметром
- •4. Вложенные циклы
- •1. Массивы. Матрицы
- •2. Файловый тип данных
- •3. Записи
- •4. Множества
- •1. Структура сложной программы
- •2. Процедуры
- •3. Функции
- •1. Технические особенности воспроизведения графики
- •2. Точки, линии, многоугольники, окружности
- •3 . Построение графиков функций
1. Структура сложной программы
В предыдущих темах мы рассматривали программы простой структуры, состоящей из одного модуля, называемого главной процедурой. В большинстве случаев программы имеют более сложную структуру и состоят из нескольких модулей. Модуль - это отдельная самостоятельная часть программы, предназначенная для использования программами и другими модулями. Это объясняется удобством отладки программы, необходимостью многократного повторения отдельных участков программы при одних и тех же исходных данных, экономным использованием памяти, возможностью программирования отдельных участков несколькими программистами.
Турбо-Паскаль имеет 8 стандартных модулей, в которых содержатся стандартные процедуры-подпрограммы и процедуры функции: system, dos, crt, printer, overlay, graph,turbo3, graph3. Для того чтобы воспользоваться этими модулями необходимо в программе после зарезервированного слова uses указать имя нужного модуля.
Помимо стандартных модулей Вы можете самостоятельно оформить Вашу программу в виде отдельных подпрограмм, состоящих из процедур и функций, и предназначенных для решения более мелких задач в рамках одной большой задачи, решаемой в программе. Тогда программа будет содержать лишь обращение к подпрограммам и ее логика будет понятней. Обращение к процедуре-подпрограмме осуществляется с помощью оператора вызова. Обращение к процедуре-функции осуществляется с помощью указателя функции.
При написании процедур и функций придерживаются тех же правил, что и при написании программы, а именно: описание процедуры или функции начинается с заголовка. Заголовки начинаются с зарезервированного слова, обозначающего вид подпрограммы (procedure илиfunction), вслед за которым идет имя, ее обозначающее. Далее следует список формальных параметров, заключенных в круглые скобки (он может и отсутствовать). Имена формальных параметров можно считать условными обозначениями в процедуре или функции тех фактических параметров, которые будут в них переданы при их вызове. Для функции следует указать также тип возвращаемого значения. Тело процедуры или функции, заключенное в операторные скобки begin … end, может содержать операторы описания и другие выполняемые операторы, включая операторы их вызова.
По расположению в программе процедуры могут быть внешними и внутренними. Внешние процедуры составляют отдельные исходные модули и обрабатываются отдельно от главной процедуры. Внутренняя процедура вложена в охватывающую ее процедуру.
Var a,b: integer;
|
Procedure внешняя;
Var c, t : real;
Procedure внутренняя;
Var e,q: real;
Begin (операторы внутр. процедуры) end;
Begin (операторы внешней процедуры) end;
Begin (операторы главной процедуры) end;
Данные, описанные в главной процедуре, могут использоваться всюду, как в самой главной процедуре, так и во вложенных процедурах. Их называют глобальными данными, а областью действия является вся программа. Переменные c и t, объявленные во внешней процедуре, являются локальными для этой процедуры, но областью их действия является еще и внутренняя процедура, которая входит составной частью в тело внешней процедуры. Область действия переменных e и q только внутренняя процедура.