82936

Разработка схемы алгоритма вычисления таблицы значений функции

Курсовая

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

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

Русский

2015-03-05

242 KB

8 чел.

Содержание:

Содержание.....1

Анализ задания

Обоснование и описание вычисления корня нелинейного уравнения методом биссекции

Таблица обозначения переменных главной программы

Схемы алгоритмов

Программа Pascal

Результаты


Задание

Разработать схему алгоритма вычисления таблицы значений функции при заданных занчениях аргумента Х и параметра А. Параметр B принимает значение, равное корню нелинейного уравнения.

Параметр А:

Аn – Начальное и конечное значение аргумента

Da – шаг изменения аргумента(параметра)

N – число значений аргумента(пареметра), изменяемого от значений An с шагом Da

Аргумент Х:

M – число значений аргумента(параметра), не зависящих друг от друга

B – интеграл:

вычисленный с погрешностью

Табулируемая функция:


Анализ задания.

Составить алгоритм для вычисления таблицы значений функции:

где B – параметр функции, принимающий значение корня нелинейного уравнения:

Integral – функция, предназначенная для нахождения интеграла методом трапеций.

Список входных параметров: a, b, n.

a, b – верхнее и нижнее значение определенного интеграла.

n – количество трапеций. Чем больше, тем точнее будет значение.

Функция возвращает значение решения интеграла методом трапеций.

Обоснование и описание вычисление определенного интеграла методом трапеций.

Метод трапеций — метод численного интегрирования функции одной переменной, заключающийся в замене на каждом элементарном отрезке подынтегральной функции на многочлен первой степени, то есть линейную функцию. Площадь под графиком функции аппроксимируется прямоугольными трапециями. Алгебраический порядок точности равен 1.

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

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

Для решения задачи интервал [a,b] разбивается на n одинаковых участков. Длина каждого участка будет равна h=(b-a)/n.


Таблица обозначения переменных главной программы.

Обозначение в задании

Обозначение в алгоритме

Описание

An

An

Начальное значение аргумента

Da

Da

Шаг изменения аргумента

M

M

Число значений аргумента

B

B

Значение вычисления интеграла

-

X_values

Массив переменных X

-

Y_values

Массив переменных Y

-

I

Счетчик

A

A

Текущее значение аргумента

-

PredA

Верхнее значение определенного интеграла

-

PredB

Нижнее значение определенного интеграла

-

N

Количество делений на трапеции

Схемы алгоритмов

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

Главная программа:


Функция F_y:

F_y(a, b, x);

Параметры:

a – текущий аргумент, даваемый в задании.

b – значение вычисления интеграла.


Функция Integral.

 Integral(a, b, n) - возрвращаяет    значение  выполнения     функции вычисления     определенного интеграла.

 Параметры:

 a – верхняя граница

 b – нижняя граница

 n – количество трапеций


Функция F_b.

F_b(x);

 Параметры:

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

Функция Output.

Output(x, y, N);

 Параметры:

x – массив из N значений х;

y – массив из N значений y;

N – количество элементов в массивах  x и y.


Программа Pascal

Program RGR;

uses CRT;

type

xy_arr = array[1..100] of real;

var

X_values : xy_arr;

Y_values : xy_arr;

An, Da, M, i : integer;

A, B: real;

function F_b(x:real):real;

begin

F_b := (x*x+1)*(x*x+1)*exp(2*x)*x;

end;

function Integral() : real;

var

n: integer;

a, b, h, s, x: real;

begin

a := 0.81;

b := 0.62;

n := 20;

h:=(b-a)/n;

s:=(F_b(a)+F_b(b))/2;

x:=a;

 

for i := 1 to n-1 do

begin

 x:=x+h;

 s:= s+F_b(x);

end;

 

s:=h*s;

Integral := s

end;

function F_y(a: real; b: real; x: real ): real;

begin

F_y := a/b*ln(x*x/(2+Sqrt(1+x*x)));

end;

procedure InptX(var arr_x: xy_arr; N: integer);

begin

for i := 1 to N do

begin

 write('Enter x(', i,'): ');

 readln(arr_x[i]);

end;

end;

procedure Output(x: xy_arr; y:xy_arr; N: integer);

var i : integer;

begin

for i := 1 to N do

begin

 writeln('X[',i,']: ', x[i], ' Y[',i,']: ', y[i]);

end;

end;

begin

clrscr;

write('Enter M: ');

readln(M);

write('Enter An: ');

readln(An);

write('Enter Da: ');

readln(Da);

A := An;

B := Integral();

InptX(X_values, M);

for i := 1 to M do

begin

 Y_values[i] := F_y(A, B, X_values[i]);

 A := A + Da;

end;

Output(X_values, Y_values, M);

end.


Результаты

Входные данные:

Enter M: 4

Enter An: 1

Enter Da: 1

Enter x(1): 6

Enter x(2): 5

Enter x(3): 3

Enter x(4): 7

Таблица значений:

X[1]:  6.00000000000000E+000 Y[1]: -1.10673311577843E+000

X[2]:  5.00000000000000E+000 Y[2]: -1.86544556056269E+000

X[3]:  3.00000000000000E+000 Y[3]: -1.23546663740696E+000

X[4]:  7.00000000000000E+000 Y[4]: -4.99873812804377E+000


 

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

7901. Кризові явища в Римській імперії. Солдатські та сенатські імператори. Вторгнення варварів 20.71 KB
  ТЕМА: Кризові явища в Римській імперії. Солдатські та сенатські імператори. Вторгнення варварів. МЕТА: створити умови для всебічного розуміння учнями всіх кризових явищ в Римській імперії розвивати вміння зіставляти та порівнювати інформацію з різн...
7902. Велич і трагедія оборони Києва 15.72 KB
  Велич і трагедія оборони Києва З весни 1240 р. кияни під проводом залишеного Данилом Романовичем воєводи Дмитра розпочали  підготовку до відбиття можливого нападу монгольських завойовників. Упродовж літа Батий збирав військо, чисельність якого сягну...
7903. Київська Русь - теорії походження та розвиток 45 KB
  Київська Русь - теорії походження та розвиток Зараз у науці нема єдиної думки щодо походження Давньорусської держави - Київської Русі. Існує декілька теорій. Норманська теорія, її започаткували німецькі вчені Г. Баєр та Г.Міллер...
7904. Конституційні права та свободи людини і громадянина 139 KB
  Тема: Конституційні права та свободи людини і громадянина Мета: ознайомити учнів з конституційними правами та свободами людина і громадянина, їх класифікацією, пояснити значення прав та свобод людини і громадянина та їх захист в Україні формувати в...
7905. Право власності. Урок 52.5 KB
  Тема уроку: Право власності Мета уроку: сформувати уявлення про зміст спадкового права, порядок спадкування за заповітом та за законом навчити аналізувати правові ситуації, що регулюються нормами спадкового права розвивати ...
7906. Володимиро-Суздальське князівство. Великий Новгород. Монгольське завоювання Русі 25.48 KB
  Всесвітня історія: Володимиро-Суздальське князівство. Великий Новгород. Монгольське завоювання Русі. Невська битва та Льодове побоїще. Початок збирання руських земель навколо Москви. Мета: створити умови для всебічного розуміння учнями всіх політичн...
7907. Віра, надія, любов як духовно-практичні виміри людини 41 KB
  Віра, надія, любов як духовно-практичні виміри людини Загальноприйнятим і простим є твердження, що людина не може жити без віри. Насамперед віру тлумачать якупевненість людини в існуванні якого-небудь явища, визнання його реальності. Віра...
7908. Загальні засади організації системи органів влади України 40 KB
  Загальні засади організації системи органів влади України У розділі І Конституції Загальні засади є низка важливих положень, які стосуються характеру і статусу організації державної влади. В ч. 1 ст. 5 Конституції встановлено: «Народ здійснює влад...
7909. Причини, характер, періодизація Другої світової війни 29.2 KB
  Причини, характер, періодизація Другої світової війни Більше, ніж півстоліття минуло з дня закінчення Другої світової війни, яка принесла людству чисельні жертви і руйнування. У цій війні брали участь понад 60 держав, на території яких проживало...