Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[9]

"оператор"

Repeat "операторы"

В цикле While. . . "оператор" выполняется если условие верно (True), если условие ложно (False), то цикл заканчивается, т. е. цикл While. . . повторяется пока выполняется условие. Цикл While. . . начинается проверкой условия, поэтому, если начальное условие ложно, то "оператор" не выполняется ни разу. Для включения в тело цикла нескольких операторов применяется составной оператор: Begin "операторы" end.

Цикл Repeat. . . повторяется, если условие ложно (False), и заканчивается, если условие верно (True), т. е. цикл Repeat. . . повторяется до выполнения условия. Цикл Repeat. . . заканчивается проверкой условия, поэтому "операторы" выполняются не менее одного раза. В теле цикла может записываться более одного оператора.

Циклы с условием обычно используются в тех случаях, если количество повторений блока операторов заранее не известно, например, при расчете суммы членов бесконечного ряда с заданной погрешностью.

Сумма членов бесконечной последовательности ai, a2, a3, . . . , aN, . . . называется бесконечным рядом и записывается в виде:

a1 + a2 + a3 +. . . + aN+. . . . Здесь aN - общий член ряда. Сумма конечного числа членов ряда называется частичной суммой и обозначается " SN ". Если сумма членов бесконечного ряда имеет конечный

предел "S", то ряд называется сходящимся. Для некоторых рядов получены формулы расчета суммы членов ряда. Например, сумма членов числового ряда:

1 + 1/32 + 1/52 + . . . + 1/(2*N-1)2 + . . . имеет предел S = Pi2/8;

и общий член aN= 1/(2*N-1)2, где N = 1, 2, 3, . Для сходящегося ряда вычисляется последовательность частичных сумм с заданной погрешностью. Абсолютная погрешность расчетов определяется по формуле Eps=abs(S-SN), либо Eps=abs(aN), если значение S неизвестно. Относительная погрешность расчетов определяется по формуле Eps o=abs((S-SN)/S), либо Eps o=abs(aN/SN). Частичные суммы вычисляются по формуле: SN = SN-1 + aN;

Для знакопеременного ряда следует добавить k1=-1, а в цикле: k1:=-k1, aN=k1*aN. В некоторых случаях "N-ый член ряда выражается через "N-Г-ый, например, для ряда:

1 + 1/2! + 1/4! + 1/6! + . . . + 1/(2*N)! + . . . ; N = 0, 1, 2, . . .

общий член ряда вычисляется по формуле: aN = aN-1*k;

Параметр k = aN/aN-1; - коэффициент роста вычисляется предварительно (до написания программы). Для данного ряда


aN = 1/(2* N )! = 1/( 1*2*. . . * (2*N-2)*(2*N-1)*2*N); aN-i = 1/(2*(N-1))!= 1/((2*N-2))!= 1/(1*2*. . . *(2*N-2));

k = aN/aN-1 = 1/((2*N-1)*2*N).

Здесь N! = 1*2*3*. . . *N; - вычисление факториала числа "N", причем 0! = 1.

Расчет частичных сумм производится в цикле с условием, например, для данного ряда операторами:

N:= 0; a:= 1; SN:= 1; e:= 2. 7182828; S:= (e2 + 1)/e;

repeat N:= N+1; k:= 1/((2*N-1)*2*N); a:= a*k; SN:= SN+a;

Writeln(Частичная сумма Sn=, Sn:-11:6, n=, n:2);

until abs(S-Sn) < eps;{ eps - допустимая погрешность расчетов}

Writeln( Сумма ряда S =, S :-11:6);

Практическое задание N 1. 15

Определить число членов ряда, необходимых для расчета с заданной погрешностью суммы

членов ряда:

Вид ряда

Общий член ряда

1- 1 / 22 + 1 / 32 - 1 / 42 + . . . 1- 1 / 3 + 1 / 5 - 1 / 7 + . . .

(-1)(N-1) / N2

(- 1)N / (2*N+1)

Pi2 / 12 Pi / 4

1, 2, 3, . . . 0, 1, 2, . . .

1 / (1*2) + 1 / (2*3) + 1 / (3*4) + . . . 1 / (1*3) + 1 / (3*5) + 1 / (5*7) + . . .

1 / (N**(N-+11))*)(2* N+ 1 ))

1, 2, 3, . . . 1, 2, 3, . . .

1- 1 / 1! + 1 / 2! - 1 / 3! + . . . 1+ 1 / 1! + 1 / 2! + 1 / 3! + . . .

(- 1)N / N! 1 / N!

1 / e e

0, 1, 2, . . . 0, 1, 2, . . .

Если члены ряда являются функциями аргумента "x", то ряд называется функциональным. Расчет многих функций производится разложением функции в степенной ряд.

Приведем пример расчета значения функции y=sin(x) при некотором значении "х" с использованием представления функции в виде ряда:

y1 = x - x3/3! + ... + (-1)(N+1) * x(2*N+1)/(2*N+1)! + ...

где a0= x, aN= k * aN-1, k= (-x2)/(2*N*(2*N+1)), N= 0, 1, 2, ...

Каждый член ряда а>) при N>0 можно получить умножением предыдущего члена ряда aN-1 на коэффициент k. Приближенное значение функции y=sin(x) находится как частичная сумма "N" членов ряда. Погрешность вычисления значения функции "у" при некотором значении "х" зависит от количества членов ряда и значения "х", поэтому расчет заканчивается при aN < eps, где eps - допустимая погрешность расчетов. В программе используем цикл с условием, например:


PROGRAM SIN R;

Var y, yl, x, eps, a, k: real; n: Word; Begin

Writeln(Вычисление y=sin(x) с использованием ряда !); Write(Введите значение аргумента x=); readln(x); Write(Введите значение погрешности еps=); readln(eps); Writeln;y:= sin(x);

n:= 0; a:= x;{ a - первый член ряда }

y1:= a;{ yl - первая частичная сумма ряда }

While abs(a) > eps do begin

n:= n+1; k:= -x*x/(2*n*(2*n+1)); a:= a*k; y1:= y1+a; Writeln(Приближенное значение функции y1=, y1:-11:8, при n=, n

Writeln(Контрольное значение функции y=sin(x)= , y:-11:8); Writeln(Нажмите Enter); readln;

Применение оператора Repeat. . . в данном примере имеет вид: Repeat "операторы" Until abs(a) < eps;

Операторы цикла с условием могут применяться для анализа правильности вводимых данных. Контроль входных данных обязателен для рядов, сходящихся не во всей области "X", например, X<1 при разложении функции arctg(x) в степенной ряд. В этом случае можно использовать "защиту от дурака", например:

Repeat Write(введите значение х<1; x=); readln(x) until abs(x)<1;

Практическое задание N 1. 16

1. Рассчитать значение функции y=f(x) при некотором значении "х" с использованием представления функции в виде ряда:

Вид ряда

Общий член

" N"

"Y"

"X"

1 - x2/2! + x4/4! - ...

( - 1)N *x(2*N) / (2*N)!

0, 1, . . .

1 + x1/1! + x2/2! + ...

xN / N!

0, 1, . . .

x - x3/3 + x5/5 - ...

( 1)N*x(2*N+1)

0, 1, . . .

arctg(x)

(2*N+1)

( x-1 ) + ( x-1 )2 +...

(x-1) -

1, 2, . . .

X>0. 5

x 2*x2

x - x2/2 + x3/3 - ...

(-1)N*xN/N

1, 2, . . .

ln(1+x)

-1<X<=1



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53]