Результаты расчета

Текст программы.

Алгоритм

Должен содержать следующие шаги:

1. Задание исходных данных в разделе констант (для A и B);

2. Ввод исходных данных (Dx и EPS);

3. Определение длины внешнего (по X) цикла;

4. Печать заголовка таблицы;

5. Внешний цикл (for) по X;

1) вычисление X;

2) задание начальных значений J, С и S;

3) внутренний цикл вычисления S;

a) расчет С;

б) расчет S;

в) расчет J;

г) проверка условия окончания цикла;

4) печать строки таблицы с результатами;

6. Завершение программы (печать нижней рамки таблицы, задержка).

 

program Tabl_Of_Fx;

{

Программа Лабораторной работы N 6 Вариант N 31.

Использование рекуррентных формул в итеративных циклах.

А.Я.Умненькая, ст. гр. Я-007

}

CONST {при описании переменным зададим исходные значения }

A : real = -0.05;

B : real = 0.04;

VAR

X,Dx,S,C,EPS : real;

Nx,J,K,i : integer; {I – для счетчика цикла по X }

fout : text; { для выходного файла }

LABEL

Vvod_Dx, Vvod_EPS;

BEGIN

assign(fout,'Umnik6.res');

rewrite(fout);

{ Ввод исходных данных (Dx и EPS) }

Vvod_Dx:

writeln ('Для X на отрезке[-0.05, 0.04]введите шаг счета');

readln(Dx);

if (Dx <0.002) or (Dx > 0.04) then

begin

writeln('Недопустимое значение!');

goto Vvod_Dx;

end;

Vvod_EPS:writeln('введите минимальный размер слагаемого);

readln(EPS);

if (EPS < 1e-9) or (EPS > 1e-2) then

begin

writeln('Недопустимое значение!');

goto Vvod_EPS;

end;

{ Определение длины внешнего (по X) цикла }

Nx := Trunc((B-A)/Dx) + 1;

{ печать исходных данных }

writeln(fout,' Исходные данные');

writeln(fout,' Интервал X: [',A:5:2,B:5:2,']);

writeln(fout, Шаг X:',Dx:5:3, ', шагов:',Nx:3,',

точность:',EPS:1);

{ Печать заголовка таблицы }

writeln(fout,' Результаты расчетов':30);

writeln(fout,'| X | F(x) | S ',

' |Слагаемых|');

writeln(fout,'|-------|-----------|-----------|',

'---------|');

{ Внешний цикл (for) по X }

for i:=1 to Nx do

begin

{ вычисление X }

X := A + Dx*(i-1);

if X > B then X := B; { уточнение на конце интервала}

{ задание начальных значений J, C, S и числа слагаемых K}

J := 1;

C := 1;

S := C;

K := 1;

Repeat { внутренний цикл вычисления S }

C := -C * X*J/(J+1);

S := S + C;

K := K + 1;

J := J + 2;

until (abs(C) < EPS) or (K >100);

{ печать строки таблицы с результатами }

write(fout,'| ',X:5:2,' |', 1.0/Sqr(1.0+X):10:7,

' |');

writeln(fout,S:10:7,' |',K:6,' |');

end;

{ Завершение программы (печать нижней рамки таблицы,

закрытие файлов, задержка) }

writeln(fout,'|---------------------------------',

'--------|');

close(fout);

readln;

END.

Файл UMNIK6.RES будет в этом случае содержать:

Исходные данные

Интервал X: [-0.05 0.04],

Шаг X:0.010, шагов: 9, точность: 1.0E-0006

Результаты расчетов

| X | F(x) | S |Слагаемых|

|-------|-----------|-----------|---------|

| -0.05 | 1.1080332 | 1.0259783 | 6 |

| -0.04 | 1.0850694 | 1.0206207 | 5 |

| -0.03 | 1.0628122 | 1.0153462 | 5 |

| -0.02 | 1.0412328 | 1.0101525 | 5 |

| -0.01 | 1.0203041 | 1.0050378 | 4 |

| 0.00 | 1.0000000 | 1.0000000 | 2 |

| 0.01 | 0.9802960 | 0.9950372 | 4 |

| 0.02 | 0.9611688 | 0.9901475 | 5 |

| 0.03 | 0.9425959 | 0.9853293 | 5 |

|-----------------------------------------|


Варианты заданий

Таблица 22. Варианты заданий лабораторной работы N6

№ вар. F(x) (вид разложения в сумму см.табл.23) начальное значение A конечное значение В шаг Dx число точность вычисления EPS * Тип цикла
шагов Nx итераций Nmax
-0.05 0.05 0.01*   - 1e-4 if
-0.09 0.09   10*   1e-6 repeat
0.08 0.01*     1e-4 repeat
  0.08 0.01*   1e-5 if
-1   0.5 12*   1e-6 repeat
-2 0.5   9*   1e-5 while
-0.5   0.1*   1e-5 if
  0.08 0.01*     1e-4 repeat
-0.2 0.1 0.01*     1e-5 while
-0.5   0.1 10*   1e-6 if
-0.5 0.5   21*   1e-6 repeat
-0.1 0.2 0.03*     1e-4 while
-0.5 0.5   21*   1e-5 if
  0.02 11*   1e-3 repeat
-5 1*     1e-4 while
-0.1 -0.2   13*   1e-5 if
0.1 0.3 0.02*     1e-5 repeat
10* 1*     1e-6 while
0.5   11*   1e-4 if
-0.3 0.1 0.02*     1e-5 repeat
-3   1* 10*   1e-5 while
-0.4   0.04 17*   1e-6 if
-0.1 0.2 0.02*     1e-5 repeat
0.1 0.55 0.05*     1e-5 while
0.2 0.4   11*   1e-6 if
  0.5   20* 1e-5 repeat
0.5   0.1   20* 1e-5 while
  1*   25* 1e-4 if
  0.3   15* 1e-4 repeat
  0.4*   20* 1e-5 while
-0.05 0.04 0.1*     1e-6 repeat

 

Таблица 23. Виды представления функций

№ вар. Вид представления функции как суммы ряда слагаемых