Форма входа

Категории раздела

Мои статьи [15]

Поиск

Наш опрос

Оцените мой сайт
Всего ответов: 62

Статистика


Онлайн всего: 1
Гостей: 1
Пользователей: 0




Воскресенье, 19.05.2024, 04:06
Приветствую Вас Гость | RSS

Delphiport.ucoz.com

Главная | Регистрация | Вход
Каталог статей


Главная » Статьи » Мои статьи

Цикл Repeat
  Цикл Repeat - осуществляет выполнение цикла, из практически любого числа операторов, с заранее не известным количеством 

итераций (повторений).  Зарезервированные слова для его осуществления это Repeat и Until.

В переводе на русский

Repeat - означает - повторить, повторять

Until - означает - до, до тех пор;

То есть вначале у нас начинается цикл и только потом проверяется условие для его выхода. 

Рассмотрим пример, аналогичный тому, как в статье об операторе While, а именно - заполнение массива числами от 0 до 15, при помощи цикла:

Вот как решается эта задача, при помощи цикла Repeat:

  1) Разместим на форме один компонент Button, и один компонент Memo. Свойство Lines компонента Memo - очищаем;

  2) Создадим обработчик событий OnClick на кнопке и запишем следующий код:

const

max=15;

var

a: array[0..max] of integer;

b: Integer;

begin

b:=0;

repeat

//Начало тела цикла;

a[b]:=b;

Memo1.Lines.Add(IntToStr(a[b]));

b:=b+1;

//Конец тела цикла;

until //Пока 

b>max;

end;

{В цикле Repeat, вне зависимости от того, какое значение имеет выражение, тело цикла выполняется не менее одного раза. Так, у нас вначале

переменной счетчика - b присваивается нуль - (b:=0); , затем он нумерует элемент массива и загружается в него - (a[b]:=b); , далее он

отображается в Memo - ( Memo1.Lines.Add(IntToStr(a[b])); ), затем переменная b - увеличивается, на единицу - (b:=b+1); . После, выполняется

проверка условия - (b>max) и если оно содержит логическое False, цикл продолжается  до тех пор пока не наступит True}.

  3) Запускаем проект, нажимаем на кнопку и любуемся результатом.

Цикл Repeat очень похож на цикл While. Только у  While - проверка выражения осуществляется перед выполнением тела цикла, а у цикла Repeat -

после его выполнения.

Есть также еще одно отличие рассматриваемого нами цикла Repeat от цикла While.

Тело в цикле While, выполняется когда условие верно, а в цикле Repeat - наоборот, когда не верно, и прекращается когда становится

верным.

  Теперь обратим внимание на синтаксис. После слова Repeat до самого Until в нашем примере, у нас выполняется несколько действий. Причем

выполняется не смотря на то, что они не заключены в конструкцию begin - end. Так происходит потому, что Repeat - Until, сами по себе действуют

как объединение нескольких действий и применение в них конструкции begin - end, не является обязательным.

Для закрепления материала, рассмотрим еще один примерчик, как мы рассматривали с циклом While

Создадим программку, в которой мы будем задавать максимальное значение условия вводя его в Edit, а по нажатию Button, - Memo покажет нам весь

прогресс изменения значений переменной a от нуля, до введенной нами цифры в Edit:

   1) Разместим на форме один компонент Button, один компонент Memo и один компонент Edit

   2) В cвойство Text компонента Memo, прописываем - 0, а свойство Lines компонента Memo - просто очищаем; 

   3) Создадим обработчик событий OnClick на кнопке и запишем следующий код:

var

a: Integer;

c: Integer;

begin

a:=0;

repeat

//Начало тела цикла;

c:=1+StrToInt(Edit1.Text);

a:=a;

Memo1.Lines.Add(IntToStr(a)); 

a:=a+1;

//Конец тела цикла;

until

a>c-1  

end;

{Комментарий к происходящему, аналогичен комментарию примера выше, только здесь у нас добавился Edit, в теле цикла мы загружаем из него 

значения в переменную с}.

3) Запускаем программу, вводим в Edit любое целое положительное число, нажимаем на кнопку и любуемся результатом.

На этом наверное все о цикле Repeat, жду вас в следующих статьях.

Категория: Мои статьи | Добавил: Sashok (03.12.2011)
Просмотров: 1804 | Комментарии: 2 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:

Copyright MyCorp © 2024