Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы программирование.doc
Скачиваний:
68
Добавлен:
18.03.2015
Размер:
1.19 Mб
Скачать

Составной оператор

Если Вам нужно поставить вместо

<оператор 1> или <оператор 2> НЕСКОЛЬКО операторов,

используйте СОСТАВНОЙ оператор, т е

begin <оператор>; ... <оператор>; end;

- который формально считается ОДНИМ оператором!

------------

Оператор if выполняется так:

  1. Вычисляется значение логического выражения. Получаем true или false и ничего другого быть не может.

  2. Если получилось true, то выполняется ОПЕРАТОР 1, затем - операторы, расположенные правее точки с запятой, то есть выполнение оператора заканчивается и выполняются следуюшие операторы. Вообще, операторы программы выполняются по порядку (слева-направо, сверху вниз - по тексту, пока не встретится оператор вроде IF, goto и т п).

  3. Если получилось false, то выполняется ОПЕРАТОР 2 (оператор 1 не выполняется), затем - операторы, расположенные правее точки с запятой.

Оператор if может иметь сокращенную форму. Её синтаксис:

-------------

if <выражение логического типа>

then <оператор 1>;

------------

Такой IF выполняется так:

  1. Вычисляется значение логического выражения. Получаем true или false и ничего другого быть не может.

  2. Если получилось true, то выполняется ОПЕРАТОР 1, затем - операторы, расположенные правее точки с запятой, то есть выполнение оператора заканчивается и выполняются следуюшие операторы.

  3. Если получилось false, то выполняются операторы, расположенные правее точки с запятой. (оператор 1 не выполняется). Стандартные типы см. 7

  1. Процедуры и функции в языке Pascal. Формальные и фактические параметры. Параметры значения и параметры переменные.

В языке Паскаль имеется две разновидности подпрограмм - процедуры и функции.

Структура любой подпрограммы аналогична структуре всей программы. Подпрограмма должна быть

описана до того, как она будет использована в программе или другой подпрограмме.

Все параметры, которые использует подпрограмма, можно разбить на две категории: локальные

параметры, объявленные внутри подпрограммы и доступные только ей самой, и глобальные -

объявленные в основной программе и доступные как программе, так и всем ее подпрограммам.

Обмен информацией между основной программой и подпрограммой может осуществляться только

с помощью глобальных параметров.

Подпрограмма может использовать глобальные параметры двояким образом:

- непосредственно обращаясь к глобальному параметру по его имени или используя механизм

формальных параметров.

- Подпрограмма может непосредственно использовать любые глобальные параметры за

исключением тех, которые имеют те же имена, что и ее локальные параметры.

Механизм формальных параметров будет рассмотрен в п. 10.3.

10.1. Процедура

Подпрограмма-процедура предназначена для выполнения какой-то законченной последовательности

действий. Любая процедура начинается с заголовка. В отличие от основной программы заголовок

в процедуре обязателен. Он состоит из зарезервированного слова procedure, за которым

следует идентификатор имени процедуры, а далее в круглых скобках - список формальных

параметров:

procedure <имя процедуры>(<список формальных параметров>);

За заголовком могут идти такие же разделы, что и в основной программе.

В отличие от основной программы процедура завершается не точкой, а точкой с запятой.

Пример. Процедура ввода N целых чисел.

Пусть в основной программе определен тип

type tArr = array[1..100] of Integer;

Процедура может иметь вид:

procedure InpInt(var Mas: tArr; N: Integer);

{заголовок процедуры со списком формальных параметров, проверка N <= 100 -

в основной программе}

var

i: Integer; {локальный параметр - параметр цикла}

begin

WriteLn('Введите ', N, ' целых чисел');

for i := 1 to N do

Read(Mas[i])

end;

Для вызова процедуры из основной программы или другой подпрограммы следует записать

оператор, состоящий из имени процедуры и списка фактических параметров, которые должны

совпадать по количеству и типам с формальными параметрами процедуры.

Например: InpInt(M,K);

означает, что вызывается процедура Inplnt для ввода К целых чисел в массив М. Естественно,

что в этом случае параметр К целого типа, а М - массив типа tArr.