Добавил:
kostikboritski@gmail.com Выполнение курсовых, РГР технических предметов Механического факультета. Так же чертежи по инженерной графике для МФ, УПП. Писать на почту. Дипломы по кафедре Вагоны Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
72
Добавлен:
12.08.2017
Размер:
8.79 Mб
Скачать
      1. Цикл с постусловием repeat…until

Цикл с постусловием, в котором сначала выполняется оператор или группа операторов, а затем проверяется условие, реализуется на языкеPascalс помощью структурированного оператораrepeat…until. Формат оператора:

repeat

<операторы цикла>

until <условие>;

где

  • repeat,until– служебные слова (повторятьдо тех пор,покане будет выполнено условие);

  • <операторы цикла>– повторяющаяся в цикле последовательность операторов (тело цикла). Использовать в качестве тела цикла операторные скобкиbegin…endнецелесообразно, т. к. роль скобок в данном случае играют зарезервированные словаrepeatиuntil;

  • <условие>– выражение логического типа.

Принцип действияоператораrepeat…until:

1 Выполняются операторы, расположенные между операторамиrepeat…until, составляющие тело цикла.

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

3 Если результатом вычисления значения логического выражения (проверки условия) является ответ true(истина), то операторrepeat…until заканчивает свою работу, и управление передается на следующий за ним оператор.

Как следует из описанного алгоритма, повторение действий 1, 2 продолжается до тех пор, пока результатом вычисления логического выражения не станет ответ true(истина), т. е. пока не выполнится условие.

Примечания.

1 Тело цикла оператора repeat…until обязательно должно содержать оператор, действие которого влияет на значение логического выражения (изменяет значения входящих в него операндов). Иначе неизбежно «зацикливание».

2 Тело цикла repeat…until обязательно повторится хотя бы один раз при любом значении логического выражения.

Пример 2.6. Составить программу для вычисления и вывода на экран значений функции

при х, изменяющемся в диапазоне от -3 до 6 с шагом 0,3, используя оператор с постусловием.

Решение.

Program prim_r;

var x, y: real;

begin

x:=-3; {левая граница диапазона изменения переменной}

repeat

y:=cos(exp(x*ln(5))/abs(x+2));

writeln('x=',x:4:2,' y=',y:7:3);

x:=x+0.3 {увеличение значения переменной x на шаг}

until x>6 {условием выхода из цикла является превышение переменной x значения правой границы диапазона}

end.

      1. Цикл с параметромfor…to…do

Цикл с заранее известным числом повторений может быть реализован на Pascalс помощью операторацикла с параметромfor… to… do. Формат оператора:

for <параметр цикла> :=<нач_знач> to <кон_знач> do <оператор>;

где

  • for,to,do– служебные слова (для,до,выполнить);

  • <параметр цикла>– параметр цикла, в качестве которого выступает переменная типаinteger(byte);

  • <нач_знач>– начальное значение параметра цикла: константа, переменная или выражение типаinteger(byte);

  • <кон_знач>– конечное значение параметра цикла: константа, переменная или выражение типаinteger(byte);

  • <оператор>– простой, составной или структурированный оператор (тело цикла).

Принцип действияоператораfor… to… do:

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

2 Параметр цикл увеличивается на единицу, т. е. <параметр_цикла> := <нач_знач> + 1. Тело цикла выполняется во второй раз.

3 При каждом увеличении параметра цикла на единицу, тело цикла повторяется вновь.

4 В последний раз тело цикла выполняется при достижении параметром цикла конечного значения, т. е. <параметр_цикла> := <кон_знач>.

Таким образом, операторы тела цикла for… to… do выполнятся ровно<кон_знач> − <нач_знач> + 1раз.

Если конечное значение параметра цикла меньше начального, то можно использовать иной формат оператора:

for <параметр цикла> :=<нач_знач> downto <кон_нач> do <оператор>;

В этом случае шаг изменения параметра цикла равен -1.

Примечание − В некоторых версиях среды Turbo или Free Pascal параметр цикла может быть использован в качестве операнда выражений и операторов, составляющих тело цикла, но не может быть изменен.

Пример 2.7. Составить программу для вычисления и вывода на экран значений функции

при х, изменяющемся в диапазоне от -3 до 6 с шагом 0,3, используя оператор с известным числом повторений.

Решение.

Program prim_f;

var x, y: real;

begin

x:=-3; {левая граница диапазона изменения переменной}

n:=round((6-(-3))/0.3)+1; {количество повторений цикла}

for i:=1 to n do

begin

y:=cos(exp(x*ln(5))/abs(x+2));

writeln('x=',x:4:2,' y=',y:7:3);

x:=x+0.3

end

end.

Соседние файлы в папке экзамен информатика