Студопедия

КАТЕГОРИИ:


Архитектура-(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; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.115 сек.