Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборник Задач v2.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
660.48 Кб
Скачать

Операторы повтора в языке Паскаль.

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

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

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

Цикл – это последовательность операторов, которая может выполняться более одного раза.

Операторы повтора в ТР7 представлены следующими циклами:

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

  2. Циклом с постусловием;

  3. Циклом с параметром;

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

Общая форма записи цикла Whiledo

While <условие> do

begin

<серия операторов>;

end;

Указанную серию операторов называют телом цикла.

Принцип действия цикла While:

Вначале проверяется условие стоящие после слова While. Если оно соблюдается (т.е. истинное), то выполняется тело цикла (слово do – означает делать, выполнять) заключённое в операторные скобки beginend; а затем происходит перепроверка условия. Если оно опять будет соблюдается, то тело цикла выполнится ещё раз. Этот процесс будет продолжаться до тех пор, пока условие будет соблюдаться. Как только условие перестанет соблюдаться (т.е. станет ложным), цикл завершит свою работу.

Условие в цикле While проверяется только перед выполнением цикла, но не проверяется в процессе выполнения самого тела цикла.

Если поставленное условие не соблюдается с самого начала, то тело цикла не выполнится ни разу.

Выполнение цикла пока может и не завершиться, если условие будет всё время соблюдаться (говорят, что происходит зацикливание).

Рассмотрим следующие примеры:

Пример 1: Составить программу для вычисления суммы первых 10 натуральных чисел.

Program Summa;

Var i,S:byte;

Begin

i:=1;

While i<=10 do

begin

S:=S+i;

inc(i);

end;

Writeln(‘Сумма S=’,S);

End.

Пример 2: Составить программу для вычисления первых шести членов последовательности, заданной формулой n-го члена: xn=2n-1.

Program progress;

Var x,n:integer;

Begin

Writeln;

n:=1;

While n<=6 do

begin

x:=2*n-1;

write(x,' ');

inc(n);

end;

End.

Пример 3: Составить программу, подсчитывающую сумму S, 1000 первых членов ряда.

Program summa;

Var s:real;

n:integer;

Begin

s:=0;

n:=0;

While n <1000 do

begin

n:=n+1;

s:=s+1/n;

end;

Writeln(s);

End.

Ц и к л с п о с т у с л о в и е м (Repeat…Until):

И ногда, приходится сталкиваться с такими задачами, когда нужно, чтобы выполнилось какое-либо действие, а потом проверилось условие повторения этого действия. Для этого служит цикл RepeatUntil.