Здавалка
Главная | Обратная связь

Оператор цикла с постусловием.



Оператор цикла REPEAT позволяет организовать цикл с неизвестным числом повторений. В операторе REPEAT проверка условия произво­дится после каждой итерации; обеспечивается выполнение по крайней мере одного вычисления в цикле (когда значение логического выражения истинно); тело цикла может содержать не один, а несколько операторов без записи их в составном операторе. Эта особенность записи оператора связана с тем, что компилятор воспринимает ключевое слово REPEAT как REPEAT BEGIN, a UNTIL как END UNTIL.

Общий вид записи оператора имеет вид

REPEAT s UNTIL b;

где s - оператор или последовательность операторов; b - условие.

Пример 3. Усовершенствованная программа, вычисляющая сумму двух чисел.

Program EX1;

Var

x, у, sum: real;

t: byte;

Begin

REPEAT

Writeln('Введите числа х и у.');

Readln(x, у);

sum:= х + у;

Writeln('Сумма чисел равна ', sum);

Write (' Завершить программу? 1-да, 2-нет: ');

Readln(t);

UNTIL t=1;

End.

 

Оператор цикла с параметром.

Оператор цикла FOR служит для организации цикла с известным числом повторений. Общий вид записи оператора:

FOR i : =m1 TO m2 DO s;

или

FOR i : =m1 DOWNTO m2 DO s;

где i - параметр цикла (не может быть величиной действительного типа); m1 и т2 - начальное и конечное значения параметра цикла; s - тело цикла (простой или составной оператор).

Значения m1 и т2 записываются константами или выражениями того же типа, что и тип переменной цикла.

При ключевом слове ТО шаг изменения параметра цикла равен +1, а при DOWNTO равен -1.

Работа оператора заключается в следующем. Вычисляются выражения m1 и т2. Параметр цикла i принимает на­чальное значение m1 которое сравнивается с конечным значением т2. Если параметр цикла не превышает т2, то управление передается в тело цикла и операторы выполняются. Затем параметр цикла меняет свое значение на единицу и работа повторяется. Выход из цикла осуществляется после того, как параметр цикла превышает конечное значение, при этом параметр цикла не сохраняет свое значение.

Break

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

Continue

Процедура Continue может использоваться во всех циклических операторах. Она позволяет перейти к "началу" цикла, или к следующему выполнению тела цикла, даже если выполнение тела цикла не завершено. Другими словами, эта процедура позволяет прекратить выполнение тела-цикла. При этом выполнение самого циклического оператора не прекращается.

Условие примера 1 является задачей на организацию цикла с известным числом повторений. Поэтому программу можно реализовать с помощью оператора FOR. В этом случае число повторений вычислений в цикле определяется по формуле

Программа для условия примера 1. с оператором FOR имеет вид

PROGRAM F0NYD(INPUT,OUTPUT);

VAR N, I : INTEGER;

X,Y,XN,XK,HX:REAL;

BEGIN

READ(XN,XK,HX);

N:=TRUNC((XK-XN)/HX)+1;

X:=XN;

FOR I:=l TO N DO

BEGIN

Y:=(X*X*X-4*X+1)/(ABS(X)+1);

WRITELN(X:4:2,' ':4,Y);

X:=X+HX

END

END.

Пример 4. Составить программу для вывода значений элементов, кратных трем, для целочисленного массива N (4).

Удобно воспользоваться оператором цикла FOR, в котором параметром цикла является индекс элементов массива; кратность трем проверяется в условном операторе.

Программа имеет вид

PROGRAM KRAT3(INPUT,OUTPUT);

CONST INDMAX=4;

VAR I:INTEGER;

N:ARRAY [1..INDMAX] OF INTEGER;

BEGIN

FOR I:=l TO INDMAX DO

BEGIN

READ(N[I]) ;

IF (N[I] DIV 3)*3=N[I] THEN WRITELN(N[I]:5)

END

END.

Контрольные вопросы.

1. Какой вычислительный процесс называют циклическим?

2. Сколько раз выполняется оператор цикла с предусловием (с постусловием, с параметром)?

3. Как осуществляется выход из оператора цикла с предусловием (с постусловием)?

4. Объясните структуру оператора цикла с предусловием (с постусловием).

5. Объясните порядок выполнения оператора цикла с предусловием (с постусловием, с параметром).

6. Объясните блок-схему оператора цикла с предусловием (с постусловием, с параметром).

7. Сколько существует вариантов цикла с параметром?

8. Что называют параметром цикла, начальным и конечным значением параметра цикла?

9. Что называют телом цикла?

10. Объясните назначение и применение процедур Break и Continue.

Задания для самостоятельного выполнения.

1. Вычислите значение функции у=х32+16х-43 для х изменяющегося в диапазоне от -4 до 4 включительно с шагом 0,5.

2. Определите значения функции у=0,4х2-1/х для х изменяющегося от 2 до 10 с шагом 0,5.

3. Вычислить значение n! для n введённого с клавиатуры.

4. Вычислить значение функции Х изменяется с шагом 0.1

5. Вычислить значение функции Х изменяется с шагом 0.1; a=4

6. Вычислить А(А+1)(А+2)...(A+N), для А и N введённых с клавиатуры.

7. Вычислить значение функции Х изменяется с шагом 0.1

8. Вычислить значение функции y изменяется с шагом 0.05; a=3 ; x=2

9. Вычислить значение функции Х изменяется с шагом 0.2; a=1; b=1

10. Вычислить значение функции Х изменяется с шагом 0.1 в интервале ; a=2

11. Вычислить значения n! для n введённого с клавиатуры.

12. Вычислить значение функции при изменении х от 2 до 3 с шагом 0.1.

13. Вычислить значение функции при изменении х от 0.1 до 0.9 с шагом 0.1.

14. Вычислить значение функции при изменении х от 0 до 2 с шагом 0.1.

15. Вычислить значение функции при изменении х от 1до 2 с шагом 0.1.

16. Вычислить значение функции при изменении х от 1.1 до 1.9 с шагом 0.1.

17. Вычислить значение функции при изменении х от 1 до 2 с шагом 0.1.

18. Вычислить значение функции при изменении х от 1 до 3 с шагом 0.2.

19. Вычислить значение функции при изменении х от 0 до 4 с шагом 0.4.

20. Вычислить значение функции при изменении х от 0 до 4 с шагом 0.4

21-25. Составить программу и блок-схему для вычисления значений функции F(x), где xизменяется на отрезке [а,b] с шагом h.

21.F(x)=х-sin x

22.F(x)=sin2 x

2З F(x)=2соsх-1

24.F(x)=tg x

25. F(x)=сtgх+1

 

ВПЕРЕД НАЗАД







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.