Цикл While – это цикл, с предусловием. То есть вначале задается некоторое условие, например условие А, и если оно соответствует истине (true) то
начинает выполняться тело цикла - Б. И выполняется оно будет до тех пор,
пока заданное нами условие А, не примет значение - false. Для реализации цикла While существуют два специально зарезервированных слова -
давайте разберемся что же это за слова такие. В переводе с английского:
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;
пока заданное нами условие А, не примет значение - 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; //Увеличиваем переменную b на единицу, получается один;
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, жду вас в следующих статьях.
Комментариев нет:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.