Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

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

Читайте также:
  1. I ФУНДАМЕТНЫ. ЭЛЕМЕНТЫ НУЛЕВОГО ЦИКЛА
  2. I ФУНДАМЕТНЫ. ЭЛЕМЕНТЫ НУЛЕВОГО ЦИКЛА
  3. I.2 Операторы цикла с присваиванием.
  4. I.ФУНДАМЕНТЫ, ЭЛЕМЕНТЫ НУЛЕВОГО ЦИКЛА
  5. Turbo Pascal. Операторы цикла.
  6. X. Оператора манипулирования данными. Вставка данных

Оператор цикла с предусловием имеет следующий вид:

WHILE В DO S

где WHILE (пока), DO (выполнить) - служебные слова;

В - условие (логическое выражение)

S - тело цикла, содержащие один или несколько операторов.

Работа оператора цикла WHILE заключается в следующем.

Если условие истинно, то выполняются операторы, входящие в тело цикла. Как только условие станет ложным, выполнение операторов цикла прекращается. Если условие ложно с самого начала, то оператор цикла не выполняются ни разу. Условие вычисляется и анализируется перед каждым выполнением цикла, отсюда и термин “предусловие”. Значения переменных, входящих в условие, должны изменяться в теле цикла, иначе, цикл никогда не завершится.

Оператор цикла WHILE позволяет организовать цикл с неизвестным числом повторений, т.к. оно зависит от вычислений в операторе.

Пример: Составить программу для определения K, при котором функция Xk/K становится меньше A , где K =1,2,3…

Блок-схема алгоритма для данного примера приведена на рис.6.

Программа задачи имеет вид:

PROGRAM ITER;

VAR X, A, P: REAL;

K: INTEGER;

BEGIN

READ (X, A);

K: =1;

P: =X;

WHILE P/K<A DO

BEGIN

K: =K+1;

P: =P*X;

END;

WRITE (‘K= ‘, K); END.

 

 
 

 


 

 

 

 
 

 


В блоке 2 осуществляется ввод произвольного значения X и A. В блоке 3 переменная К получает начальное значение равное 1. В блоке 4 задается начальное значение равное P=X. В блоке 5 происходит сравнение значения P/K с переменной A, т. е. проверка условия. Если условие истинно, то управление передается в тело цикла к блокам 6 и 7, где происходит вычисления очередных значений переменных К и P, входящих в условие. После этого управление передается блоку 5, как только условие станет ложным, т. е. P/K>=A, выполнение операторов цикла прекращается и управление передается блоку 8, где происходит вывод на экран значения переменной К. После этого выполняется блок 9.

 

Пример: Составить программу для вычисления суммы

членов бесконечного ряда с точностью до

члена ряда , меньшего е:

Z=1+X+X2/2!+X3/3!+…+Xn/n!…

 

Так как в данном случае при суммировании заранее не известно число членов ряда, то воспользоваться оператором цикла FOR невозможно. Задача вычисления суммы членов бесконечного ряда требует организации итерационного цикла, окончание которого определяется условием у<е, где у- значение члена ряда. Начальное значение суммы необязательно равно нулю, если значение первого члена ряда вычислять нет необходимости.

Блок-схема программы приведена на рис.7.

В блоке 2 осуществляется ввод значений X и EPS. В блоке 3 переменная N получает начальное значение равное 0.

Программа имеет следующий вид:

PROGRAM RYD;

VAR X, EPS, Y, Z: REAL;

N: INTEGER;

BEGIN

READ (X, EPS);

N: =0; Y: =1; Z: =1

WHILE Y>=EPS DO

BEGIN

N: =N+1; Y: =Y*X/N; Z: =Z+Y; END;

WRITE (‘Z= ‘, Z); END.

 

 
 

 


В блоке 4 задается начальное значение произведения y=1 . В блоке 5 задаётся начальное значение суммы, равное первому члену рядаz=1 . В блоке 6 происходит проверка условия. Если условие истинно, то управление передаётся в тело цикла к блокам 7, 8 и 9, где происходит вычисление очередных значений переменной n, члена ряда y и суммы z . После этого управление переходит к блоку 6. Как только условие станет ложным, управление будет передано блоку 10, где произойдёт вывод значения суммы ряда z на экран. После этого выполнится блок 11.




Дата добавления: 2015-07-08; просмотров: 128 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
I.2 Операторы цикла с присваиванием.| Оператор цикла с постусловием.

mybiblioteka.su - 2015-2017 год. (0.006 сек.)