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

39.Циклические программы,содержащие циклы с постусловием(пример)

Цикл с постусловием, в котором сначала выполняется оператор или группа операторов, а затем проверяется условие, реализуется на языке 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. Составить программу для вычисления и вывода на экран значений функции при х, изменяющемся в диапазоне от -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;

until x>6

end.

40.Циклические программы,содержашие циклы с параметром(пример)

Цикл с параметром 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 параметр цикла может быть использован в качестве операнда выражений и операторов, составляющих тело цикла, но не может быть изменен.

Пример 3. Составить программу для вычисления и вывода на экран значений функции при х, изменяющемся в диапазоне от -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.

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