Проект закрыт, ничего заказать и купить нельзя! Существует лишь для ностальгии создателя!

Цикл с предусловием - While do

Pascal 2016-02-28 в 18:25 1792

Цикл с предусловием (while) используются в паскале, когда выполнение цикла связано с условием, которое сначала проверяют и потом выполняют или пропускают цикл.

Перед прочтением данной статьи, ознакомьтесь с общей теорией о циклах в Паскале.

Синтаксис

Формат оператора цикла с предусловием на языке Паскаль:


while <логическое_выражение> do
 <один_оператор>

Здесь внутренний оператор <один_оператор> выполняется в цикле до тех пор, пока уловие продолжения цикла <логическое_выражение> истинно true. Если же <логическое_выражение> становится ложным false, то цикл прекращает функционировать и выполняется оператор, следующий за оператором while.

Подробнее о том, как составлять сложные логические выражения можно узнать тут.

Если в теле цикла необходимо выполнить несколько операторов, то эту группу следует объединить в один составной оператор с помощью операторных скобок begin .. end;


while <логическое_выражение> do
begin
 <один_оператор>
 <второй_оператор>
 . . .
 <последний_оператор>
end;

Пример

Вычислить среднее арифметическое последовательности чисел произвольной длинны.

Каждый раз, когда вводиться число N, счетчик количества чисел увеличивается на единицу.

Конец ввода определяется вводом цифры 0.

Цикл с предусловием


program srednee;
var
 N, S: real;
 i: integer;
begin
 S := 0;
 i := 0;
 write('Введите 1 число: ');
 readln('N');
 while (N <> 0) do
  begin
   S := S + N;
   i := i + 1;
   writeln('Введите ', i+1 ,' число:');
   readln(N);
  end;
 writeln('Среднее значение: ', i,' чисел');
 writeln('равно ', S/i);
end.

Разбор кода

Разберем именно код цикла


while (N <> 0) do
 begin
 S := S + N;
 i := i + 1;
 writeln('Введите ', i+1 ,' число:');
 readln(N);
 end;

Перед циклом пользователь ввел значение для переменной N. Теперь программа проверяет логическое выражение N <> 0 и если введенное значение не равно нулю, то выполняется код в составном операторе begin ... end;.

В теле цикла пользователь вводит новое значение для переменной N, после чего снова проверяется логическое выражение N <> 0 и если на этот раз введенное значение является нулем, то программа выходит из цикла, в данном случае переходит к оператору вывода writeln

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

Не можете справиться с заданием?
Специалисты нашего проекта помогут вам справиться с любыми заданиями по программированию!
Чтобы оставлять комментарии, необходимо войти или зарегистрироваться