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


 

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

55369. У душах людських хай палає тепло, людське милосердя хай творить добро 138.5 KB
  Мета: розвивати в учнів доброзичливість вміння співчувати милосердя; виховувати дітей у дусі відродження українських традицій благодійності; залучати школярів до практичної благодійності. Бесіда на тему Що таке милосердя?
55370. ФОРМУВАННЯ ЖИТТЄВОЇ КОМПЕТЕНТНОСТІ УЧНІВ ЧЕРЕЗ ОРГАНІЗАЦІЮ РОБОТИ ОРГАНІВ УЧНІВСЬКОГО САМОВРЯДУВАННЯ «ШКІЛЬНОГО МІСТЕЧКА» 169 KB
  Принцип самоврядування є основним в діяльності будь якої дитячої громадської організації яка призвана захищати права та інтереси дітей і підлітків; розвивати їх здібності.
55371. Добро починається з тебе, волонтерський проект 338.5 KB
  Мета проекту: Освітня Поглибити знання учнів про волонтерський рух в Україні та світі. Дізнатися про діючі волонтерські фонди на території України. Поглибити знання учнів про добро і зло, розвивати вміння визначати прояви добра і зла
55372. ВЕЛИКІ КНЯЗІ КИЇВСЬКІ. ПРОЕКТ 216.5 KB
  ТИП ПРОЕКТУ: інформаційний ТЕРМІН ПРОВЕДЕННЯ ПРОЕКТУ: листопадгрудень УЧАСНИКИ ПРОЕКТУ: учні 7х класів МЕТОДИ ОТРИМАННЯ ІНФОРМАЦІЇ: опрацювання історичних та літературних джерел довідників ілюстрацій. АКТУАЛЬНІСТЬ РОБОТИ З ДЖЕРЕЛАМИ ІНФОРМАЦІЇ Метою викладання історії є не передавати загальноприйняті істини про минуле а залу чати учнів до процесу реконструкції та пояс нення цього минулого. Тому використання джерел інформації на уроках історії є зараз надзвичайно актуальним. Робота з джерелами інформації на уроках сприятиме набуттю...
55373. Проектна діяльність молодших школярів як засіб формування особистості 52 KB
  Мета проектної роботи – навчити дитину діяти самостійно, ініціативно в будь-яких умовах сьогодні і в майбутньому; формувати комунікативну компетентність в процесі спільної роботи;...
55374. Проектний метод як засіб розвитку творчих здібностей учнів 35 KB
  В даний час метод проектів широко застосовується в сучасній світовій методики викладання англійської мови так як він дозволяє органічно інтегрувати знання учнів з різних областей для вирішення окремо взятої практичної проблеми стимулюючи при цьому розвиток творчих здібностей особистості учня.
55375. Проектна методика на уроках англійської мови 36 KB
  Виконання проектних завдань дозволяє школярам бачити практичну користь від вивчення іноземної мови слідством чого є підвищення інтересу до цього предмету. Ставилися наступні навчальні завдання: вчитися читати тексти вибирати з них потрібну інформацію використовувати отримані відомості в роботі; вчитися обмінюватися інформацією з...
55377. ПОРТФОЛИО УЧИТЕЛЯ КАК СПОСОБ ИУЧЕНИЯ ЕГО ДЕЯТЕЛЬНОСТИ 58.5 KB
  Философия портфолио заключается в том что предполагается смещение акцента с оценки на самооценку с того чего учитель или учащийся не знает и не умеет на то что он знает и умеет достаточно хорошо.