Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на языке Delphi_1.doc
Скачиваний:
43
Добавлен:
28.03.2015
Размер:
710.14 Кб
Скачать
        1. Оператор повтора while

Оператор повтора while имеет следующий формат:

while <условие продолжения цикла> do

<оператор>;

Перед каждым выполнением тела цикла происходит проверка условия. Если оно истинно, цикл выполняется и условие вычисляется заново; если оно ложно, происходит выход из цикла, т.е. переход к следующему за циклом оператору. Если первоначально условие ложно, то тело цикла не выполняется ни разу. Следующий пример показывает использование оператора while для вычисления суммы S = 1 + 2 + .. + N, где число N задается пользователем с клавиатуры:

program Console;

{$APPTYPE CONSOLE}

uses

SysUtils;

var

S, N: Integer;

begin

Readln(N);

S := 0;

while N > 0 do

begin

S := S + N;

N := N - 1;

end;

Writeln('S=', S);

Writeln('Press Enter to exit...');

Readln;

end.

      1. 2.6.4. Прямая передача управления в операторах повтора

Для управления работой операторов повтора используются специальные процедуры-операторы Continue и Break, которые можно вызывать только в теле цикла.

Процедура-оператор Continue немедленно передает управление оператору проверки условия, пропуская оставшуюся часть цикла (рисунок 2.4):

Рисунок 2.4. Схема работы процедуры-оператора Continue

Процедура-оператор Break прерывает выполнение цикла и передает управление первому оператору, расположенному за блоком цикла (рисунок 2.5):

Рисунок 2.5. Схема работы процедуры-оператора Break

    1. 2.7. Подпрограммы

      1. 2.7.1. Общие положения

В практике программирования часто встречается ситуация, когда одну и ту же группу операторов требуется выполнить без изменений в нескольких местах программы. Чтобы избавить программиста от многократного дублирования одинаковых фрагментов, была предложена концепция подпрограмм. Рассмотрим, как эта концепция реализована в языке Delphi.

Подпрограммой называется именованная логически законченная группа операторов, которую можно вызвать по имени (т.е. выполнить) любое количество раз из различных мест программы.

В языке Delphi подпрограмма может принимать 2 формы: процедура и функция. Теоретически, процедура – это действие, которое вы просите компьютер выполнить, а функция – это некоторое вычисление, возвращающее значение. Это различие подчеркивает тот факт, что функция имеет результат (возвращаемое значение), а процедура не имеет результата. Оба типа подпрограмм могут иметь множество параметров, для которых указаны типы данных.

На практике, различие между процедурой и функцией очень условно: вы можете вызвать функцию для выполнения некоторого действия и проигнорировать (не использовать) возвращаемое значение, а можете вызвать процедуру, которая вернет результаты в параметрах.

      1. 2.7.2. Объявление процедур и функций

Объявление подпрограммы состоит из заголовка и тела подпрограммы. Заголовок – это имя подпрограммы, список формальных параметров, директивы. Для функции добавляется тип возвращаемого значения. Тело подпрограммы – это локальные объявления и операторы, которые будут выполняться при вызове подпрограммы.

Объявление процедуры выглядит следующим образом:

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

<локальные объявления>

const ...;

type ...;

var ...;

<вложенные подпрограммы>

begin

<операторы>

end;

Объявление функции выглядит следующим образом:

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

<локальные объявления>

const ...;

type ...;

var ...;

<вложенные подпрограммы>

begin

<операторы>

end;

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

procedure Hello;

begin

ShowMessage(‘Hello’);

end;

function Double1(value:integer):integer;

begin

Double1:=value * 2;

end;

Теперь рассмотрим подробнее каждую часть объявления процедур и функций.