1150

Табулирование трансцендентных функций

Практическая работа

Информатика, кибернетика и программирование

Изучение и сравнение различных способов приближенного вычисления заданной функции. Вычисление погрешности интерполирования. Корни полинома Чебышева. Построение графиков погрешностей. Вычисление интегралов с помощью формулы трапеций.

Русский

2013-01-06

460 KB

171 чел.

КАЗАНСКИЙ (ПРИВОЛЖСКИЙ) ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ

ИНСТИТУТ ВЫЧИСЛИТЕЛЬНОЙ МАТЕМАТИКИ И ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

Семестровая работа по численным методам

на тему “Табулирование трансцендентных функций”.

Вариант №10.

                                                                                   Работу выполнил:

                                                                                        Студент 3-го курса

                                                                                        Группы 993а

                                                             Сайфутдинов И.Г.

Работу проверила:

Гнеденкова В.Л.

Казань, 2012

Постановка задачи.

               Одна из специальных функций математической физики – интегральный синус, определяется следующим образом

                Цель задания – изучить и сравнить различные способы приближенного вычисления этой функции.

Для этого:

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

,
где , , , , и получить, таким образом, таблицу

, , .

  1.  По приближенной таблице значений построить интерполяционный полином Ньютона, приближающий :

и вычислить погрешность интерполирования

, .

В качестве узлов интерполяции взять:

Равномерно распределенные узлы  

Корни полинома Чебышева, вычисляемые по формуле:

,  

 

  1.  На той же сетке узлов  построить таблицу приближенных значений , используя формулу

, где:

  1.   (составная квадратурная формула трапеций),
    1.   (формула Гаусса),
    2.   (формула Симпсона),
    3.  (формула правых прямоугольников),

а  - точки разбиения отрезка интегрирования на N частей, , .

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

,  .

  1.  Построить таблицу обратной к  функции

решая уравнения ,  ,  ,  следующим итерационным методом : решение уравнения  находится по формуле

,  где .

В качестве начального приближения  к точке  взять .

Решение задачи

Задание 1.

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

,
где , , , , и получить, таким образом, таблицу

, , .

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

и проинтегрируем полученный ряд.  .

 Докажем, что степенной ряд  сходится.

Для этого сначала найдем радиус сходимости ряда : , где .

Имеем: .

            Следовательно, степенной ряд сходится на всей числовой прямой. Если задать достаточно большую точность, этот ряд даст значение функции , которое будем считать точным значением.

           При вычислении ряда Тейлора  будем учитывать, что каждый последующий член ряда  получается из предыдущего  умножением на некоторую величину , т.е. . Это позволит избежать переполнения при вычислении факториалов, встречающихся в рассматриваемом ряде. Итак, найдём :

.

         Табулирование  на отрезке  с шагом h с точностью  реализуется с помощью функции, параметрами которой являются: точка х, в которой вычисляется значение функции,  и глобальная переменная - точность табулирования eps .

CONST eps=0.000001;

 function si(x:real):real;

 var f,s,g:real;i:integer;

 begin

 i:=0;s:=0;f:=x; g:=5; s:=0;

while abs(f)>=eps do

 begin

      s:=s+f;

      f:=-f*x*x*(2*i+1)/((2*i+2)*(2*i+3)*(2*i+3));

      inc(i);

 end;

   si:=s;

 end;

Протабулировав функцию , получим результаты (здесь N=10- число разбиений):

f(  0)= 0,

f(0.4) =   0.396462,

f(0.8)=    0.772096,

f(1.2) =   1.108047,

f(1.6) =   1.389181,

f(2.0) =   1.605413,

f(2.4) =   1.752486,

f(2.8) =   1.832097,

f(3.2) =   1.851401,

f(3.6) =  1.821948,

f(4.0) =  1.758203,

Задание 2.

По приближенной таблице значений построить интерполяционный полином Ньютона, приближающий :

и вычислить погрешность интерполирования

, .

В качестве узлов интерполяции взять:

Равномерно распределенные узлы  

Корни полинома Чебышева, вычисляемые по формуле:

,  

Разделенные разности  в формуле Ньютона будем вычислять по следующему алгоритму.

Для  вычислим , .

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

         Вычисление реализуем с помощью функции L(x:real;y,f:tmas;n:integer), параметрами которой являются точка x, в которой вычисляется полином, массив узлов интерполяции x[n], массив значений функции в этих узлах f[n],  число узлов интерполяции (n+1) .

function L(x:real;f,y:tmas;n:integer):real;

var  i,j,p:integer;k,s,g,t:real;

begin

i:=1; k:=1;s:=f[0];t:=1;   g:=1;

while i<=n do

 begin

 j:=n;

 while j>=i do

   begin

   f[j]:=(f[j]-f[j-1])/(y[j]-y[j-i]);

   dec(j);

   end;

 k:=k*(x-y[i-1]);

 s:=s+k*f[i];

 inc(i);

 end;

result:=s;

end;

           Вычислим полином  в 21 точке. Сначала в качестве узлов интерполяции возьмем 9 равномерно распределенных узлов.  Посмотрим какое значение получилось у полинома L, у функции Si и найдём максимальную погрешность из всех погрешностей для каждой точки:

Максимальная погрешность в этом случае равна  0.00000203.

Теперь в качестве узлов интерполяции возьмем корни полинома Чебышева, вычисляемые по формуле: ,  . (n=8). Также найдём значение функции в каждой точке и значение полинома, вычислим максимальную погрешность в этом случае:

В этом случае максимальная погрешность равна  0.00000095.

Построим графики функции погрешностей  для 9 равномерно распределенных узлов и узлов-корней полинома Чебышева.

Продолжим наш эксперимент. Возьмем 11 равномерно распределенных  узлов, будем вычислять полином в тех же точках.

В этом случае максимальная погрешность равна  0.00000148.

Вычислим полином в этих же точках, но в качестве узлов возьмем корни полинома Чебышева(n=10)

В этом случае максимальная погрешность равна  0.00000082.

Построим графики погрешностей.

           

Продолжим наши вычисления. Возьмем 33 равномерно распределенных  узла, будем вычислять полином в тех же точках .


В этом случае максимальная погрешность равна  0.01961043.

Вычислим полином в этих же точках, но в качестве узлов возьмем корни полинома Чебышева(n=32).

Максимальная погрешность в этом случае равна  0.00000088. Построим графики погрешностей.

Теперь вычислим полином  в 41 точке. В качестве узлов интерполяции возьмем 33 равномерно распределенных узла.  Посмотрим какое значение получилось у полинома L, у функции Si и найдём максимальную погрешность из всех погрешностей для каждой точки:

Максимальная погрешность в этом случае равна 0.11387926.

Вычислим полином в тех же точках,  но в качестве узлов возьмем корни полинома Чебышева(n=32).

Максимальная погрешность в этом случае равна 0.00000088.

Построим графики погрешностей.

Попробуем найти такое n, при котором , при выборе в качестве  узлов интерполяции корней полинома Чебышева , погрешность будет большой, т.е. на 2 или 3 знаке после запятой значение  полинома будет отличной от значения функции Si .  Проводя эксперименты, получим, что при n примерно равном 45 погрешность начинает увеличиваться.  Построим таблицу значений и график погрешностей для n=45.

Максимальная погрешность в этом случае равна 0.00220518.

Теперь построим график погрешностей. Результаты возьмем из таблицы, находящейся выше.

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

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

Возьмем в качестве узлов интерполяции 11 корней полинома Чебышева и вычислим полином  в 21 точке.

Видно, что вне отрезка погрешность очень большая, а при удалении от отрезка она только возрастает.  Построим график функций.

Теперь возьмем в качестве узлов интерполяции 11 равномерно отстающих узлов. Полином будем вычислять в тех же точках.

Видно, что вне отрезка погрешность очень большая, а при удалении от отрезка она только возрастает.  Построим график функций.

        Из проделанных экспериментов и полученных результатов мы видим, что, если в качестве узлов интерполяции брать корни полинома Чебышева, то получаем, что погрешность вычисления полинома намного меньше, чем при равномерно распределенных узлах. Из теории узнаём, что действительно, такой выбор узлов должен обеспечить максимально точное вычисление полинома.  Также  полученные результаты показали, что с увеличением числа равномерно отстоящих узлов интерполяции увеличивается точность вычисления полинома, но только до определенного момента, а потом точность начинает ухудшаться.  При этом  погрешность вблизи концов рассматриваемого отрезка резко увеличивается, а в середине отрезка погрешность меньше на 1-3 порядка.  Что же касается корней полинома Чебышева, то и здесь при достижении определенного n точность ухудшается, а до достижения этого  n точность очень хорошая, где n-кол-во корней, сколько мы берем для интерполяционного полинома. В нашем случае n примерно равно 45.  При вычислении полинома вне отрезка, не смотря на то, что мы возьмем в качестве узлов интерполяции – погрешность большая, но скорость возрастания погрешности больше если мы возьмем  в качестве узлов интерполяции равномерно отстоящие друг от друга узлы.

Задание 3.

На той же сетке узлов  построить таблицу приближенных значений , используя формулу

, где:

  1.   (составная квадратурная формула трапеций),
    1.   (формула Гаусса),
    2.   (формула Симпсона),
    3.  (формула правых прямоугольников),

а  - точки разбиения отрезка интегрирования на N частей, , .

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

,  .

Вычислим интеграл  четырьмя разными способами и сравним точности  вычислений каждого из них.

Также учтем, что подынтегральная функция имеет особенность в 0, т.е.  .  В методах, где нужно считать подынтегральную функцию в нуле - учтем это.

Формула трапеций реализуется с помощью функции inttrap(x:real;n:integer) параметрами которой являются : х- точка, в которой вычисляется интеграл, n- число разбиений отрезка интегрирования [0, x].(*)

function inttrap(x:real;n:integer):real ;

var h,sum:real; i:integer;

begin

if (x<>=0) then begin

h:=x/n;

//здесь учитываем особенность в нуле , при i=1, до начала цикла, а начиная c i=2 действуем //согласно выше описанному алгоритму.

sum:=sin(h)/h+1;i:=2;

while (i<=n) do begin

sum:=sum+sin(i*h)/(i*h)+sin((i-1)*h)/((i-1)*h);

inc(i);

end;

result:=sum*h/2;

end

eslse result:=0;

end;

Получим результат:

0:     si=0                     inttrap =0 (N=0)

0.4:  si= 0.3964615   inttrap = 0.3963521 (N=4)

0.8:  si= 0.7720957   inttrap = 0.7720437 (N=16)

1.2:  si= 1.1080472   inttrap = 1.1080067 (N=32)

1.6:  si= 1.3891809   inttrap = 1.3890953 (N=32)

2.0:  si= 1.6054129   inttrap = 1.6053775 (N=64)

2.4:  si= 1.7524855   inttrap = 1.7524358 (N=64)

2.8:  si= 1.8320968   inttrap = 1.8320361 (N=64)

3.2:  si= 1.8514008   inttrap = 1.8513371 (N=64)

3.6:  si= 1.8219477   inttrap = 1.8218914 (N=64)

4.0:  si= 1.7582033   inttrap = 1.7581653 (N=64)

Формула правых прямоугольников реализуется следующей функцией (описание такое же как и в (*)):

Здесь не надо учитывать особенность подынтегральной функции в нуле.

function intpryam(x:real;n:integer):real;

var del,sum,xx:real; i:integer;

begin

if (x<>=0) then begin

del:=x/n;

sum:=0;

i:=1;

xx:=0;

while i<=(n) do begin

xx:=xx+del;

sum:=sum+sin(xx)/xx;

i:=i+1;

end;

result:=del*sum;

end

else result:=0;

end;

Получим результат:

0:     si=0                      intpryam =0 (N=0)

0.4:  si= 0.3964615   intpryam = 0.3962944 (N=32)

0.8:  si= 0.7720957   intpryam = 0.7719342 (N=256)

1.2:  si= 1.1080472   intpryam = 1.1079163 (N=1024)

1.6:  si= 1.3891809   intpryam = 1.3890339 (N=2048)

2.0:  si= 1.6054129   intpryam = 1.6052798 (N=4096)

2.4:  si= 1.7524855   intpryam = 1.7523802 (N=8192)

2.8:  si= 1.8320968   intpryam = 1.8319461 (N=8192)

3.2:  si= 1.8514008   intpryam = 1.8512020 (N=8192)

3.6:  si= 1.8219477   intpryam = 1.8218247 (N=16384)

4.0:  si= 1.7582033   intpryam = 1.7580580 (N=16384)

Формула Гаусса реализуется следующей функцией (описание такое же как и в (*)):

Здесь не надо учитывать особенность подынтегральной функции в нуле.

function intgauss(x:real;n:integer):real;

var  i:integer;h,sum:real;

begin

if (x<>=0) then begin

h:=x/n;

sum:=0;

i:=1;

while (i<=n) do begin

sum:=sum+sin((i-1)*h+h/2*(1-1/sqrt(3)))/((i-1)*h+h/2*(1-1/sqrt(3)))+sin((i-1)*h+h/2*(1+1/sqrt(3)))/((i-1)*h+h/2*(1+1/sqrt(3)));

inc(i);

end;

result:=sum*h/2;

end

else result:=0;

end;

Получим результат:

0:     si=0                    intgauss =0 (N=0)

0.4:  si= 0.3964615   intgauss = 0.3964615 (N=4)

0.8:  si= 0.7720957   intgauss = 0.7720957 (N=4)

1.2:  si= 1.1080472   intgauss = 1.1080468 (N=4)

1.6:  si= 1.3891809   intgauss = 1.3891791 (N=4)

2.0:  si= 1.6054129   intgauss = 1.6054095 (N=4)

2.4:  si= 1.7524855   intgauss = 1.7524789 (N=4)

2.8:  si= 1.8320968   intgauss = 1.8320868 (N=4)

3.2:  si= 1.8514008   intgauss = 1.8513898 (N=4)

3.6:  si= 1.8219477   intgauss = 1.8219409 (N=4)

4.0:  si= 1.7582033   intgauss = 1.7582086 (N=4)

Формула Симпсона реализуется следующей функцией (описание такое же как и в (*)):

function intsimpson(x:real;n:integer):real;

var i:integer;sum,h:real;

begin

if (x<>=0) then begin

h:=x/n;

//здесь учитываем особенность в нуле , при i=1, до начала цикла, а начиная c i=2 действуем //согласно выше описанному алгоритму.

sum:=1+4*sin(h/2)/(h/2)+sin(h)/h;i:=2;

while (i<=n) do begin

sum:=sum+sin((i-1)*h)/((i-1)*h)+4*sin((i-1)*h/2+i*h/2)/((i-1)*h/2+i*h/2)+sin(i*h)/(i*h);

inc(i);

end;

result:=sum*h/6;

end

result:=0;

end;

Получим результат:

0:     si=0                    intsimpson =0 (N=0)

0.4:  si= 0.3964615   intsimpson = 0.3964615 (N=4)

0.8:  si= 0.7720957   intsimpson = 0.7720959 (N=4)

1.2:  si= 1.1080472   intsimpson = 1.1080478 (N=4)

1.6:  si= 1.3891809   intsimpson = 1.3891826 (N=4)

2.0:  si= 1.6054129   intsimpson = 1.6054181 (N=4)

2.4:  si= 1.7524855   intsimpson = 1.7524953 (N=4)

2.8:  si= 1.8320968   intsimpson = 1.8321113 (N=4)

3.2:  si= 1.8514008   intsimpson = 1.8514175 (N=4)

3.6:  si= 1.8219477   intsimpson = 1.8219589 (N=4)

4.0:  si= 1.7582033   intsimpson = 1.7581950 (N=4)

        Результаты показали, что все формулы вычисляют интеграл правильно, с одинаковыми результатами. Как мы видим из выходных данных – самая большая точность вычисления у метода Симпсона и метода Гаусса.  

Задание 4.

Построить таблицу обратной к  функции

решая уравнения ,  ,  ,  следующим итерационным методом : решение уравнения  находится по формуле

,  где .

В качестве начального приближения  к точке  взять .

У функции существует обратная, если она является монотонной. Исследуем нашу функцию.

.   Найдем промежутки убывания и возрастания на нашем отрезке [a,b].

если и , если . Найдем обратную функцию для на , поскольку функция является монотонной на этом интервале.

Для выполнения этого задания требуется вычисление производной исходной функции, поэтому сначала продифференцируем полученный ранее ряд Тейлора.

.

function sipr(x:real):real;

var sum,q:real; i:integer;

begin

q:=-1*x*x/6;

sum:=2;

i:=1;

while (q>=eps) do begin

sum:=sum+q;

i:=i+1;

q:=q*(-1)*x*x/((i+1)*i);

end;

result:=sum;

end;

function si_back(x,x0,xn:real;n,i:integer):real;

var  F,z,z0:real;  j:integer;

begin

z:=x;

j:=0;

F:=x0+i*(xn-x0)/n;

repeat

z0:=z;    inc(j);

z:=z0-0.5*(si(z0)-F)*(1/sipr(z0)+1/sipr(z0-(si(z0)-F)/sipr(z0)));

until abs(z-z0)<=eps;

result:=z;

end;

Получим результат:

F(0.00000000)=0.00000000

F(0.17582033)=0.17612478

F(0.35164065)=0.35409861

F(0.52746098)=0.53594023

F(0.70328130)=0.72404076

F(0.87910163)=0.92148091

F(1.05492195)=1.13260017

F(1.23074228)=1.36414292

Построим график для функции интегрального синуса и обратной к ней.

Листинг программы

program chm;

{$APPTYPE CONSOLE}

uses

 SysUtils;

 CONST eps=0.000001;

 const c=0;

 const d=4;

 type tmas=array of real;

 function si(x:real):real;

 var f,s:real;i:integer;

 begin

 i:=0;s:=0;f:=x;

while abs(f)>=eps do

 begin

      s:=s+f;

      f:=-f*x*x*(2*i+1)/((2*i+2)*(2*i+3)*(2*i+3));

      inc(i);

 end;

   si:=s;

 end;

procedure tabul(var gg:textfile;n:integer;var f:tmas;var y:tmas;var h:real);

var i:integer;

begin

SetLength(f, n+1);

SetLength(y, n+1);

for i:=0 to n do

  begin

  f[i]:=si(c+i*h);

  y[i]:=c+i*h;

  end;

end;

function L(x:real;f,y:tmas;n:integer):real;

var  i,j:integer;k,s,g,t:real;

begin

i:=1; k:=1;s:=f[0];t:=1;   g:=1;

while i<=n do

 begin

 j:=n;

 while j>=i do

   begin

   f[j]:=(f[j]-f[j-1])/(y[j]-y[j-i]);

   dec(j);

   end;

 k:=k*(x-y[i-1]);

 s:=s+k*f[i];

 inc(i);

 end;

result:=s;

end;

procedure kornicheb(var kor:tmas;n:integer);

var  i:integer;

begin

setlength(kor,n+1);

for i:=0 to n do begin

kor[i]:=(d-c)/2*cos((2*i+1)*3.1415/(2*(n+1)))+(c+d)/2;

end;

end;

type tint=function(x:real;n:integer):real;

//ìåòîä ïðÿìîóãîëüíèêîâ

function intpryam(x:real;n:integer):real;

var del,sum,xx:real; i:integer;

begin

del:=x/n;

sum:=0;

i:=1;

xx:=0;

while i<=(n) do begin

xx:=xx+del;

sum:=sum+sin(xx)/xx;

i:=i+1;

end;

result:=del*sum;

end;

//ìåòîä òðàïåöèé

function inttrap(x:real;n:integer):real ;

var h,sum:real; i:integer;

begin

h:=x/n;

sum:=sin(h)/h+1;i:=2;

while (i<=n) do begin

sum:=sum+sin(i*h)/(i*h)+sin((i-1)*h)/((i-1)*h);

inc(i);

end;

result:=sum*h/2;

end;

//ìåòîä Ãàóññà

function intgauss(x:real;n:integer):real;

var  i:integer;h,sum:real;

begin

h:=x/n;

sum:=0;

i:=1;

while (i<=n) do begin

sum:=sum+sin((i-1)*h+h/2*(1-1/sqrt(3)))/((i-1)*h+h/2*(1-1/sqrt(3)))+sin((i-1)*h+h/2*(1+1/sqrt(3)))/((i-1)*h+h/2*(1+1/sqrt(3)));

inc(i);

end;

result:=sum*h/2;

end;

//ìåòîä Ñèìïñîíà

function intsimpson(x:real;n:integer):real;

var i:integer;sum,h:real;

begin

h:=x/n;

sum:=1+4*sin(h/2)/(h/2)+sin(h)/h;i:=2;

while (i<=n) do begin

sum:=sum+sin((i-1)*h)/((i-1)*h)+4*sin((i-1)*h/2+i*h/2)/((i-1)*h/2+i*h/2)+sin(i*h)/(i*h);

inc(i);

end;

result:=sum*h/6;

end;

type tmasint=array[1..4] of tint;

procedure int(var g:textfile;var a:tmasint;x:real;eps2:real);

var i,j:integer; r,s1:real;

begin

r:=si(x);

for i:=1 to 4 do begin

j:=2;

repeat

j:=j*2;

s1:=a[i](x,j);

until (abs(s1-a[i](x,2*j))<=eps2);

writeln(g,r:10:7,' ',s1:10:7);

writeln(g,j);

end;

end;

function sipr(x:real):real;

var sum,q:real; i:integer;

begin

q:=-1*x*x/6;

sum:=2;

i:=1;

while (q>=eps) do begin

sum:=sum+q;

i:=i+1;

q:=q*(-1)*x*x/((i+1)*i);

end;

result:=sum;

end;

function si_back(x,x0,xn:real;n,i:integer):real;

var  F,z,z0:real;  j:integer;

begin

z:=x;

j:=0;

F:=x0+i*(xn-x0)/n;

repeat

z0:=z;    inc(j);

z:=z0-0.5*(si(z0)-F)*(1/sipr(z0)+1/sipr(z0-(si(z0)-F)/sipr(z0)));

until abs(z-z0)<=eps;

result:=z;

end;

var f,y,ff,kor: tmas;n,i,p:integer; g,gg:textfile; h,s1,s2,eps2,x,m,dim:real; a:tmasint;

begin

assignfile(gg,'C:\Users\Èëüíàð\Desktop\t1.txt');

rewrite(gg);

  n:=10;

  h:=0.4;

  //1-îå çàäàíèå

  tabul(gg,n,f,y,h);

  //1-îå çàäàíèå

   n:=10;

  tabul(gg,n,f,y,h);

  setlength(ff,n+1);

  for i:=0 to n do

  ff[i]:=f[i];x:=4.8;   dim:=0;

  while x<8.8 do begin

  x:=x+0.2;

  s1:=si(x);

  s2:=L(x,ff,y,n);

  m:=abs(s1-s2);

 // writeln(gg,m:10:8);

  if dim<m then dim:=m;

  for p:=0 to n do

  ff[p]:=f[p];

  end;

  //write(gg,dim :10:8);

 { kornicheb(kor,n);

  for p:=0 to n do

  f[p]:=si(kor[p]);

  writeln;

  dim:=0;

  for p:=0 to n do

  ff[p]:=f[p];

  x:=5;

  while x<=9 do begin

  s1:=si(x);

  s2:=L(x,ff,kor,n);

  m:=abs(s1-s2);

  //writeln(gg,m:10:8);

  x:=x+0.2;

  if dim<m then dim:=m;

  for p:=0 to n do

  ff[p]:=f[p];

  end;

// write(gg,dim:10:8);

  writeln; }

  //3-å çàäàíèå

  a[1]:=intpryam;

  a[2]:=inttrap;

  a[3]:=intgauss;

  a[4]:=intsimpson;

 eps2:=0.0001;

  i:=1;

  assignfile(g,'C:\Users\Èëüíàð\Desktop\t2.txt');

  rewrite(g);

  while (i<=n) do begin

  int(g,a,y[i],eps2);

  i:=i+1;

  writeln(g);

 end;

  closefile(g);

//3-å çàäàíèå

//4-å çàäàíèå

{for i:=0 to 10 do begin

write(gg,f[0]+i*(f[n]-f[0])/n:10:8,' ');

writeln(gg,si_back(f[i],f[0],f[n],n,i):10:8);

end;

}

//4-å çàäàíèå

close(gg);

  readln(n);

end.


 

А также другие работы, которые могут Вас заинтересовать

54448. Гра-подорож у царство рідної мови 156 KB
  Українська мова Вчитель. Ця мова наче пташка свiтанкова IЦо гордо лине в свiй стрiмкий політ. Велична щедра і прекрасна мова Прозора й чиста як гірська вода. Це Українська мова барвінкова Така багата й вiчно молода.
54449. Journée Européenne des langues 494.5 KB
  Sensibiliser le public à limportance de lapprentissage des langues et de la diversification des diverses langues apprises afin de favoriser le plurilinguisme et la compréhension interculturelle; Promouvoir la riche diversité culturelle et linguistique de l'Europe, qui doit être maintenue et cultivée;
54450. Лунай, прекрасна наша мово! 582 KB
  Тип уроку: урок-свято Обладнання: вислови про мову фонограми пісень рушники верба речі з українського побуту тин штучна зелень квіти українські костюми збірки віршів українських письменників словники. На дошці та партах вислови про мову рушники квіти. Сьогодні ми зібрались щоб сказати теплі та ніжні слова про нашу рідну українську мову торкнутися сторінок її минулого сучасного...
54451. Виховання пошани й любові до рідної мови 73.5 KB
  Мирний У процесі вивчення української мови учнями початкових класів найважливіше місце посідає процес формування пошани й любові до рідного слова. Глибоке вивчення української мови можливе тільки тодіколи учень усвідомлює її як найдорожчий скарб в якому втілені національна самосвідомість характер історія народу. Так що сам педагог не повинен бути байдужий до мови або запобігливо уникати українського слова у вільному спілкуванні.
54452. Настроювання часових параметрів аудіо- та відеоряду. Додавання до відеокліпу відеоефектів та настроювання переходів між його фрагментами 190.5 KB
  Мета уроку: Навчальна: сформувати теоретичні знання про основні поняття мультимедійних даних принципи настроювання у часі відеокліпів. Тип уроку: комбінований Обладнання: Прилади – відеокамера цифрова фотоапарат цифровий програмне забезпечення навчальні диски мультимедійний проектор мультимедійні навушники динаміки мікрофон електронні засоби: флешка. Таблиці– Інтерфейс програми Movie Mker†Область монтажу†До уроку виготовлено: тематичні папки тема план урокупро що учні повинні дізнатися опорні конспекти;...
54453. ЗАГАЛЬНИЙ НЕДОРОЗВИТОК МОВЛЕННЯ 79 KB
  Проте не у всіх випадках ці процеси проходять благополучно: у деяких дітей навіть при нормальному слуху та інтелекті різко затримується формування кожного із компонентів мови: фонетики лексики граматики. У всіх дітей із ЗНМ завжди спостерігається порушення звуковимови недорозвиток фонематичного слуху помітне відставання в формуванні словникового запасу і граматичної будови. У дітей із нормальним інтелектом на відміну від дітей олігофренів пасивний словник значно перевищує активний. Характерним для дітей цього рівня є використання...
54454. Ліс. Дерева. Кущі. Ягоди 38.5 KB
  Мета: Збагачувати активний словник дітей на основі знань і уявлень про навколишнє середовище: закріплювати узагальнювальні слова: ліс дерева кущі; учити добирати визначення до цих слів. Розглядання малюнків із зображення дерев кущів розширення словникового запасу “Поглянь на малюнки та скажи що там зображено†Іменники: береза горобина гущавина дерево дуб запах кущі ліс ліщина осика підлісок повітря сосна тополя хаща ялинка. Прикметники: березовий великий густий запашне змішаний листяний лісове сирий сосновий...
54455. 26 вересня - Європе́йський де́нь мо́в 5.69 MB
  Мета: ознайомити дітей зі святом Європейський День мов. Формувати в учнів інтерес до вивчення рідної та іноземної мов. Розвивати мислення, пам’ять, увагу та активізувати словниковий запас. Виховувати людяність, гуманність, пізнавальний інтерес, любов до слова та народних традицій, бажання самостійно вивчати мови.
54456. КУЛЬТУРА МОВЛЕННЯ. СПІЛЬНЕ ТА ВІДМІННЕ В УКРАЇНСЬКІЙ І РОСІЙСЬКІЙ МОВАХ 259.5 KB
  Учитель української мови. Доброго дня дорогі діти Учитель російської мови. Учитель української мови. А Олесь Гончар писав: Запашна співуча гнучка милозвучна сповнена музики і квіткових пахощів скількома епітетами супроводяться визначення української мови.