logo search
Программирование в среде Delphy / Программирование в среде Delphi

7. Операторы циклов

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

Хотя циклы можно легко организовывать с помощью оператора if, в Delphi есть три специальных оператора для организации циклов. Но вначале рассмотрим, как можно организовать цикл с помощью оператора if, например для задачи из раздела 3.1. Мы приведем только метод обработки нажатия клавиши «Старт»:

procedure TForm1.Button1Click(Sender: TObject);

// Обработчик нажатия кнопки

var x,y,h:extended;n,i,j:integer;// Определение внутренних переменных

Label M1;

begin

a:=strtofloat(edit1.Text); // Перевод строк в вещественное значение

b:=strtofloat(edit2.Text);

n:=strtoint(edit3.Text); // Перевод строки в целое значение

j:=strtoint(edit4.Text);

h:=(b-a)/10; // Расчет шага по x

x:=a; // Подготовка цикла по x

M1:y:=0; // Подготовка цикла по i

i:=1;

M2:if i<>j then y:=y+sin(i*x)/(i-j); // Расчет суммы

i:=i+1; // Наращивание переменной цикла i

if i<=n then goto M2; // Проверка окончания цикла по i

// Вывод результатов

Memo1.lines.Add(’x=’+floattostr(x)+’ y=’+floattostr(y));

x:=x+h; // Наращивание переменной цикла по x

if x<=b then goto M1; // Проверка окончания цикла по x

end;

Как видно из этого примера, можно легко организовывать циклы с помощью оператора if, однако нам пришлось использовать две метки M1 и M2, что говорит о плохом стиле программирования.