пятница, 1 ноября 2013 г.

Цикл While

   Цикл While – это цикл, с предусловием. То есть вначале задается некоторое условие, например условие А, и если оно соответствует истине (true) то начинает выполняться тело цикла - Б. И выполняется оно будет до тех пор,
пока заданное нами условие А, не примет значение - false. Для реализации цикла While существуют два специально зарезервированных слова -


While и do

давайте разберемся что же это за слова такие. В переводе с английского:

While - означает - в то время как, пока;
 do - означает - делать, выполнять;

предлагаю рассмотреть построение цикла While на примере:
Допустим нам необходимо заполнить одномерный массив числами. Для этого:

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

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

const 
max=15; 
var 
a: array[0..max] of integer; 
b: Integer;
begin 
b:=0; 
while b<max+1 do //Пока b<16 выполнять тело цикла:
begin
a[b]:=b; //в переменную массива a[0] присваиваем 0; 
Memo1.Lines.Add(IntToStr(a[b])); //показываем в Memo содержание элемента [0] массива а;
b:=b+1; //Увеличиваем переменную на единицу, получается один;
end;
end;

 {Далее снова выполняется проверка (while b<max+1 do ), после чего результат отображается в Memo и переменной b присваивается плюс еще одна единица (уже два). И так до тех пор, пока переменная b не перестанет соответствовать условию -  b<max+1, после чего цикл останавливается.}                                                                                                                                                                                                               
3) Для того чтобы в этом убедиться, запускаем проект, нажимаем на нашу кнопку и наблюдаем, что происходит в Memo.  Еще один пример, более простой, поможет нам внести дополнительную ясность в изучение работы с циклом While. Создадим программку в которой мы будем задавать максимальное значение условия вводя его в Edit, а по нажатию Button, - Memo покажет нам весь прогресс изменения значений переменной a от нуля, до введенной нами цифры в Edit:  

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

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

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

var
a: Integer; 
c: Integer;
begin
a:=0; //Присваиваем переменной a отправное значение (в нашем случае все нумеруется с нуля);
c:=1+StrToInt(Edit1.Text); //Переменной c присваиваем значение введенное в Edit+1;
while a<c do // Проверяем, если a меньше введенного значения в Edit, выполняем тело цикла:
begin
a:=a; //Присваиваем a нулевое значение;
Memo1.Lines.Add(IntToStr(a)); //Показываем его в Memo;
a:=a+1; //Увеличиваем a на единицу (получится один);
end;
end;

   {Снова проверяем условие (while a<c do) и если оно истинно, a присваиваем уже увеличенную а, то есть один, показываем его в Memo,добавляем к a еще одну единицу (уже получается два), снова сравниваемся с условием, и так до тех пор пока переменная а, не примет значение введенное нами в Edit}  

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

Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.