Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИНФ ЭКЗ - копия.doc
Скачиваний:
18
Добавлен:
01.05.2015
Размер:
247.81 Кб
Скачать

52. Процедуры и функции

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

избавляют от необходимости многократно повторять в тексте программы аналогичные фрагменты;

улучшают структуру программы, облегчая ее понимание;

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

Стандартная подпрограмма (процедура или функция) - подпрограмма, включенная в библиотеку программ ЭВМ, доступ к которой обеспечивается средствами языка программирования. Вызывается она по имени с заданием фактических параметров с типом описанным при описании данной процедуры в библиотечке процедур и функций.

Из набора стандартных процедур и функций по обработке одного типа информации составляются модули. Каждый модуль имеет своё имя (мы уже хорошо знакомы с модулями Crt, Graph). Доступ к процедурам и функциям модуля осуществляется при подключении этого модуля (Uses Crt, Graph).

Структура процедуры имеет следующий вид:

Procedure <имя процедуры>(формальные параметры : их тип);

Var

(локальные переменные)

begin

. . .

end;

Функции

Другой вид подпрограммы-функция-оформляется аналогично процедуре. Отличительные особенности функции: она имеет только один результат выполнения (но может иметь несколько входных параметров); результат обозначается именем функции и передаётся в основную программу. Функция оформляется в следующем виде:

Function <имя функции>(формальные параметры: тип): тип значения функции;

Var

. . .

Begin

. . .

End.

Функции - это процедуры особого характера, результатом работы которых является некоторое значение, подобное переменной. Функция, как и процедура, может иметь список параметров, следующих за именем функции в круглых скобках. Но если имя процедуры используется только для ее вызова, то с именем функции связывается ее значение. На примере сложения двух целых чисел проиллюстрируем возможности Турбо Паскаля 7.0 по оформлению программ при помощи процедур и функций, а также рассмотрим различия между этими двумя подходами.

51. Массивы

В Турбо Паскале могут использоваться также объекты, содержащие множество однотипных элементов. Это массивы -- формальное объединение нескольких однотипных объектов (чисел, символов, строк и т.п.), рассматриваемое как единое целое. К необходимости применения массивов мы приходим всякий раз, когда требуется связать и использовать целый ряд родственных величин. Например, результаты многократных замеров температуры воздуха в течение года удобно рассматривать как совокупность вещественных чисел, объединенных в один сложный объект -- массив измерений.

При описании массива необходимо указать общее число входящих в массив элементов и тип этих элементов. Например:

var

а: array [1..10] of real;

b: array [0..50] of Char;

с: array [-3..4] of Boolean;

50. Основные операторы языка Паскаль

Условный оператор

IF <условие> THEN <оператор1> [ELSE <оператор2>]

Условие – значение типа BOOLEAN или логическая операция. Если условие верно, выполняется оператор, или блок операторов, следующий за THEN, в противном случае выполняется блок операторов после ELSE, если он есть.

Условия могут быть вложенными и в таком случае, любая встретившаяся часть ELSE соответствует ближайшей к ней "сверху" части THEN.

Цикл с предопределенным числом повторений. (цикл со счетчиком)

For <переменная цикла>:=<начальное значение> To(DownTo) <конечное значение> Do <блок операторов>

Переменная должна быть целого или перечислимого типа. При исполнении цикла переменная цикла изменяется от начального до конечного значения с шагом 1. Если стоит to, то переменная увеличивается, если downto – уменьшается.

Условия выполнения цикла проверяются перед выполнением блока операторов. Если условие не выполнено, цикл For не выполняется.

Условный цикл с проверкой условия перед исполнением блока операторов. (цикл с предусловием)

While <условие> Do <блок операторов>

Блок операторов будет исполняться, пока условие имеет значение true. Необходимо, чтобы значение условия имело возможность изменения при исполнении блока операторов, иначе исполнение цикла не закончится никогда (в DOS это приведет к зависанию компыютера). Если условие зарание ложно, блок операторов не исполнится ни разу.

Условный цикл с проверкой после выполнения блока операторов.( цикл с постусловием)

Repeat <тело цикла> Until <условие>

Блок операторов независимо от значения условия будет выполнен хотябы один раз. Цикл заканчивается, если после очередного исполнения блока операторов условие имеет значение true.

Оператор выбора одного из вариантов.

Case <ключ выбора> Of <список выбора> Else <оператор> End;

<ключ выбора> - выражение любого перечислимого типа,

<список выбора> - одна или более конструкций вида <значение ключа>:<блок операторов>.

Оператор безуслов ного перехода на строку с меткой.

Goto <метка>

Метка, должна быть описана в разделе описаний. Метка, описанная в процедуре (функции) локализуется в ней, поэтому передача управления извне процедуры (функции) на метку внутри нее невозможна.

1. Составной и пустой операторы

Составной оператор - это последовательность произвольных операторов программы, заключённая в операторные скобки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]