Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Полностью про Pascal.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
334 Кб
Скачать

Контрольные вопросы

  1. Что такое массив и что такое матрица?

  2. Как выглядит определение массива?

  3. В чем особенность ввода и вывода массива?

  4. Какой тип данных получил название файлового?

  5. Как определяется файловый тип данных?

  6. Какие стандартные процедуры предусмотрены в языке Турбо-Паскаль для выполнения элементарных операций над файлами?

  7. Что такое запись и в чем особенности данного типа данных?

  8. Как определяется тип данных запись?

  9. Что такое множество?

  10. Как определяется тип данных множество?

  11. Какие операции определены для объектов, имеющих структуру множества?

Тема № 6

СТРУКТУРА СЛОЖНОЙ ПРОГРАММЫ НА ЯЗЫКЕ ТУРБО-ПАСКАЛЬ.

ПРОЦЕДУРЫ И ФУНКЦИИ

Вопросы: 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 только внутренняя процедура.