Алгоритм инструкции for
Рисунок 2.13. Алгоритм инструкции for
Алгоритм, соответствующий инструкции for, представлен на Рисунок 2.13. Обратите внимание, что если начальное значение счетчика больше конечного значения, то последовательность операторов между begin и end не будет выполнена ни разу.
Кроме того, после каждого выполнения инструкций тела цикла счетчик циклов увеличивается автоматически.
Переменную-счетчик можно использовать внутри цикла (но ни в коем случае не изменять). Например, в результате выполнения следующих инструкций:
tab1: = '' ;
for i:=l to 5 do
begin
tab1:=tabl+IntToStr(i)+' '+IntToStr(i*i)+chr(13);
end;
переменная tabl будет содержать изображения таблицы квадратов чисел.
Рассмотрим программу, которая вычисляет сумму первых 10 элементов ряда: 1 + + 1/3 + ... (значение i-го элемента ряда связано с его номером формулой 1//). Диалоговое окно программы должно содержать, по крайней мере, два компонента: поле метки (Label1) и командную кнопку (Buttonl).
Вычисление суммы ряда и вывод результата выполняет процедура обработки события Onclick, текст которой приведен ниже. После вычисления очередного элемента ряда процедура выводит в поле Labell номер элемента и его значение в поле метки формы, предназначенное для вывода результата.
procedure TForm1.ButtonlClick(Sender: TObject);
var
i:integer; { номер элемента ряда }
elem:real;
{ значение элемента ряда }
summ:real;
{ сумма элементов ряда )
begin
summ:=0;
label Leapt ion: = ' ' ;
for i:=l to 10 do begin
elem:=l/i;
label1.caption:=labell.caption+
IntToStr(i)+' '+FloatToStr(elem)+#13; sunrn: =summ+elem;
end;
label1.caption:=label1.caption+
'Сумма ряда:'+FloatToStr(summ);
end;
Если в инструкции for вместо слова to записать downto, то после очередного выполнения инструкций тела цикла значение счетчика будет не увеличиваться, а уменьшаться.