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

3.2.2 Циклы с постусловием

Условие выхода из цикла можно поставить после тела цикла. Такой цикл называется циклом с постусловием (рисунок 11).

Цикл выполняется, пока логическое выражение имеет значение ложь. Как только логическое выражение принимает значение истина, выполнение цикла заканчивается.

Цикл с постусловием выполняется как минимум один раз.

Рисунок 11 – Циклы с постусловием

Цикл с постусловием в Паскале реализован с помощью операторов Repeat… until, который имеет вид:

repeat

<тело цикла>

until<x>;

где

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

<тело цикла> – любые операторы Турбо Паскаля,

х – логическое выражение, задающее условие окончания цикла.

Работа оператора repeat… until

  1. Выполняется тело цикла

  2. Проверяется логическое выражение.

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

В противном случае, если логическое выражение ложно, выполняется тело цикла.

Пример 7 с использованием оператора repeat выглядит следующим образом (рисунок 12):

Программа на языке Паскаль:

Program P1;

Var x,е, S,U: real;

N: integer;

Begin

Write (‘введите значение х’);

Readln(х);

Write (‘введите точность’);

Readln(е);

S:=0;

U:=x;

N:=1;

Repeat

S:=S+U;

U:= - U*SQR(х)/((2*N+1)*2*N);

N:=N+1;

until abs(U)<=е;

Writeln (‘sin(x)=’, S:8:4);

End.

Рисунок 12 – Алгоритм решения задачи примера 7

с применением оператора REPEAT

Отличительные особенности операторов цикла с неизвестным числом повторений repeat и while

  1. Оператор while работает, когда значение логического выражения – истина, repeat – когда ложь.

  2. В операторе repeat тело цикла выполняется хотя бы один раз, даже если значение логического выражения истина; в операторе while, если значение логического выражения ложь, то тело цикла не выполнится ни разу.

Таким образом, для организации циклического вычислительного процесса в языке Турбо Паскаль имеется три оператора:

  • for – для организации циклов с заданным числом повторений;

  • while, repeat – для организации циклических структур с неизвестным числом повторений.

Варианты задачи 1

Решить с помощью цикла с предусловием.

Составить программу вычисления значений функции F(x) на отрезке [a; b] с шагом h. Результат представить в виде таблицы, первый столбец которой – значение аргумента, второй – соответствующее значение функции. Исходные данные представлены в таблице 5.

Таблица 5 – Исходные данные

№

Функция

a

b

h

1

0.5

5

0.5

2

-3

0.5

0.25

3

1

10

1

4

0.1

1.8

0.2

5

-5

5

1

6

-3

0.3

0.3

7

2

12

1

8

-2

2

0.2

9

0.5

6

0.5

10

-4

4

0.4