Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 6 Циклы.doc
Скачиваний:
3
Добавлен:
02.11.2018
Размер:
199.68 Кб
Скачать

Оператор цикла с предусловием while . . Do

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

Процессы, в которых количество повторений заранее не определено, называются итерационными. А сами циклы – называются итеративными.

В этом виде цикла условие стоит перед телом цикла, поэтому этот цикл называют с предусловием.

Алгоритмическая структура «Пока» реализуется оператором

while . . do

while <выражение> do <оператор>;

while - пока есть,

do - делать,

Выражение – логическое, истинность которого

проверяется в начале каждой итерации.

Пока <выражение> = true (истинно), выполняется оператор тела цикла.

При условии <выражение> = false (ложно) цикл прекращается.

Тело цикла может не выполняться ни разу.

Если в цикле требуется выполнить несколько инструкций, то надо применить составной оператор.

Например:

while <условие истинно> do

begin

//инструкции, которые надо выполнить несколько раз;

end;

Оператор while выполняется следующим образом:

    1. Сначала вычисляется значение выражения условия.

    2. Если значение выражения условия равно true (истинна), то выполняются очередные инструкции тела цикла. После этого снова проверяется выполнение условия. Если условие выполняется, то инструкции цикла выполняются еще раз. И так до тех пор, пока условие не станет ложным (false).

    3. Если значение выражения условия равно false (ложно), то цикл прекращается, выполнение оператора цикла заканчивается и выполняется следующий оператор, предусмотренный программой.

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

Задача4. Вычислить наибольшее положительное целое число n, удовлетворяющее условию: 3n5 - 690n  7.

program Example4;

uses

SysUtils;

var n: byte ;

begin

n:=1;

while 3*exp( 5*ln(n))  690*n<= 7 do n : = n + 1;

writeln('n= ', n - 1);

readln

end.

Задача5. Определить число К натуральных чисел, сумма которых не превышает S.

program Example5;

uses

SysUtils;

var

S, K : integer;

Sum : real;

begin

Writeln(' Vvedite S');

readln(S);

If S>=0 Then

begin

K:=0; // Начальное значение К.

Sum:=0; // Начальное значение суммы

while (Sum<=S) Do // Начало цикла

begin

K:=K+1; // Получить очередное число

Sum:=K*(K+1)/2; // Расчет по формуле

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

Writeln(' Summa', K-1, ' naturally chisel <= ', S );

end // Вывод правильного результата

else Writeln(' Error – S<0 ' );

readln // Вывод сообщения об ошибке

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]