Формат оператора

Repeat

Оператор 1;

Оператор 2;

оператор N

until выражение ;

В теле цикла может находиться произвольное число операторов без операторных скобок begin и end.

Пример 5.8. Программа вычисления функции y=x*sin(x) на отрезке [1,5]

c шагом 0,5.

Program prog5_8;

Сonst

h:real = 0.5; {шаг вычисления}

Var

x,y:real;

Begin

writeln('функция y=xsin(x) с шагом 0,5');

a:=1; b:=5; x:=a;

Repeat

writeln('x=',x:4:2;'y=',x*sin(x));

x:=x+h;

until x>=b;

end.

Пример 5.9. Вычислить с заданной точностью выражение y= |tg x –x| методом деления отрезка пополам

Programprog5_10;

UsesWinCrt;

Var

x,y,eps:real;

 

 

Begin

writeln ('Введите значение точности ');

write ('для вычисления функции tg x – x ');

readln(eps);

writeln ('Введите интервал вычисления ');

write ('для вычисления функции tg x – x ');

readln (x);

Repeat

y:= abs((sin(x)/cos(x))- x)<=eps;

writeln('x=',x:10:8, ' ', 'y=', y:10:8);

x:=x/2;

until abs((sin(x)/cos(x))- x)<=eps;

end.

Оператор цикла с предусловием(цикл while do). Цикл с предусловием целесообразно использовать в программе, если надо выполнить многократно некоторое число операторов, а число повторов заранее не известно и определяется самим ходом вычисления. Примерами использования цикла while являются вычисления с заданной точностью, поиск в массиве или в файле. В общем виде цикл имеет следующий формат:

while условие do

Begin

{оператор}

End.

где "условие" - это выражение логического типа,

"оператор" - одиночный или составной оператор.

В цикле while вначале вычисляется условие. Если оно имеет значение true, то оператор выполняется и выражение вычисляется заново. Если выражение имеет значение false, то цикл while завершается и выполнение программы продолжается с оператора, следующим за оператором цикла.

Пример 5.10. Программа возведения числа в степень.

Program Prog5_9;

uses WinCrt;

сonst

h:=1;

 

Var

a,b:real;

k:integer;

Begin

writeln('возведение чисел от 1 до 10 в степень к );

read(a,k);

while a<=10 do{ Проверка условия}

Begin

k:=exp(k*ln(a)); {возведение в степень}

writeln('a=',a:4:2,' ','k=', k:4:2);

a:=a+h;

end;

end.

 

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

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

Внутренний и внешний циклы могут быть любыми из трех рассмотренных (for, while или repeat). При этом правила организации (построения) как внешнего, так и внутреннего циклов остаются такими же, как и для простого цикла каждого из этих видов.

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

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

 

 

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

При этом, если в сложном цикле с глубиной вложенности k число повторений циклов на каждом уровне равно N0,N1,…,Nk соответственно, то общее количество повторений тела самого внутреннего цикла равно N=N0·N1·…·NK.

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

В языке Pascal определена стандартная процедура break для передачи управления на оператор следующий за оператором цикла.

Процедура continue обеспечивает досрочное завершение очередного повторения тела цикла и передачу управления в конец тела цикла.

 








Дата добавления: 2015-01-13; просмотров: 1074;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.