КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Цикл for с уменьшением счетчика в общем случае имеет следующий вид
Цикл for с увеличением счетчика синтаксически определен как
for initial_value to end_value do begin statements; end;
Начальное значение счетчика цикла устанавливает выражение initial_value. Повтор выполнений блока statements (т.е. тела цикла) заканчивается сразу как только счетчик цикла превысит end_value. По окончании каждой итерации переменная целого типа в выражении initial_value увеличивается на единицу. Ключевые слова begin и end в цикле с единственным оператором не обязательны.
for initial_value downto end_value do begin statements; end;
Начальное состояние счетчика цикла устанавливает выражение initial_value. Повтор выполнений блока statements (т.е. тела цикла) заканчивается когда счетчик цикла станет меньше чем end_value. По окончании каждой итерации переменная целого типа в выражении initial_value уменьшается на единицу. Ключевые слова begin и end в цикле с единственным оператором не обязательны. Для пояснения синтаксических формул обратимся к примерам. Сначала рассмотрим цикл с увеличением счетчика цикла:
var I: Integer; begin for I:= 0 to 4 do begin Memo1.Lines.Add(’Это итерация ’ + IntToStr(I)); end; end;
В этом фрагменте оператор
Memo1.Lines.Add(’Это итерация ’ + IntToStr(I));
выполняется 5 раз. Назначение оператора – добавить строку к тексту, отображаемому компонентном TMemo на форме приложения. В результате выполнения данного фрагмента программы в компонент Memo1 будут добавлены строки (Lines)
Это итерация 0 Это итерация 1 Это итерация 2 Это итерация 3 Это итерация 4
Выражение initial_value (в данном случае это I:=0) задает начальное значение счетчика цикла. Счетчиком цикла является переменная целого типа I. Выраженим end_value является константа 4. Таким образом, цикл закончится когда счетчик цикла, т.е. переменная I, будет равна 4.
Теперь рассмотрим цикл с уменьшением счетчика:
var I: Integer; begin for I:= 4 downto 0 do begin Memo1.Lines.Add(’Это итерация ’ + IntToStr(I)); end; end;
В результате выполнения этого фрагмента компонент Memo1 будет содержать строки
Это итерация 4 Это итерация 3 Это итерация 2 Это итерация 1 Это итерация 0
Упражнение.
1. Создайте новую программу (File | New Application). 2. Поместите на форму командную кнопку. 3. На странице Standard найдите компонент Memo и перенесите его на форму. 4. Придайте компоненту Memo1 необходимые размеры. В инспекторе объектов придайте свойству ScrollBars компонента Memo1 значение ssVertical. 5. Дважды щелкните на кнопке Button1 для создания обработчика события OnClick. Придайте обработчику события следующий вид:
procedure TForm1.Button1Click(Sender: TObject); var I: Integer; begin Memo1.Lines.Clear; for I:= 0 to 5 do Memo1.Lines.Add(’Это итерация ’ + IntToStr(I)); Memo1.Lines.Add(’ ’); for I:= 5 downto 0 do Memo1.Lines.Add(’Это итерация ’ + IntToStr(I)); Memo1.Lines.Add(’––-Выполнено––-’); end;
Откомпилируйте программу (F9).
Нажмите кнопку Button1.
Ожидаемый результат показан на рисунке.
В отличие от других языков программирования, Pascal допускает изменение счетчика цикла только на 1. Чтобы организовать цикл, например от 0 до 100 с шагом 10, можно поступить следующим образом:
var I: Integer; X: Integer; begin X:= 0; Memo1.Lines.Clear; for I:= 0 to 9 do begin Memo1.Lines.Add(’Счетчик = ’+ IntToStr(X)); Inc(X, 10); end; end;
Этот код выводит в Memo1:
Счетчик = 0 Счетчик = 10 Счетчик = 20 Счетчик = 30 Счетчик = 40 Счетчик = 50 Счетчик = 60 Счетчик = 70 Счетчик = 80 Счетчик = 90
ПРИМЕЧАНИЕ. Обратите внимание на то, что для увеличения значения переменной X используется процедура Inc. Эта функция увеличивает значение переменной (X в этом фрагменте) на заданную величину (10). Если приращение не указано, значение переменной увеличивается на 1. Например:
Inc(X); { X увеличивается на 1. То же, что и X:= X + 1 }
У функции Inc есть «двойник» с именем Dec. Ниже дан пример с функцией Dec:
Dec(X); { X уменьшается на 1 } Dec(X, 10); { X уменьшается на 10 }
Используйте функции Inc и Dec вместо операторов вроде X:= X + 1;
Дата добавления: 2015-04-29; Просмотров: 1016; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |