Смекни!
smekni.com

Решение математических задач с помощью алгоритмического языка Turbo Pascal, Microsoft Excel, пакета MathCAD и разработка программ в среде Delphi (стр. 2 из 4)

1) Массив можно определить как одномерную (последовательную) совокупность элементов некоторого типа, которые адресуется с помощью индекса.

2) Массив должен быть объявлен в разделе описания переменных:

VAR ИмяМассива: ARRAY (НачИндекс. КонечныйИндекс) OF ТипДанных.

3) Доступ к элементу массива осуществляется путем указания индекса (номера), в качестве которого нужно использовать переменную целого типа. Massiv (2): =5;

А: =massiv (4);

4) Для ввода, вывода и обработки массивов удобно использовать операторы циклов. Задание элементов массива случайным образом.

Необходимо массив yi из случайных чисел, входящих в определенный интервал. Для этого нужно использовать функцию Random (x), которая возвращает случайное число от 0 до X, если функция используется без параметра, то будут генерировать числа от 0 до 1.

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

В Microsoft Excel:

Во втором столбце формула имеет вид: =СТЕПЕНЬ (EXP (1) ^ (3*A2) - TAN (A2) ^3; 1/5) /КОРЕНЬ ( (A2) ^2+SIN (A2) ^2)


Рисунок.

x y

0,4

2,267

0,7

1,576

0,8

1,473

1,3

0,752

В Mathcad:

В Turbo Pascal:

program zadanie3;

uses crt;

const n=4;

var x,y: array [1. n] of real;

i: integer;

z,j,d: real;

begin

clrscr;

for i: =1 to n do

begin

write ('Enter x [i] =');

readln (x [i]);

end;

for i: =1 to n do

begin

j: =exp (3*x [i]) - exp (3*ln (sin (x [i]) /cos (x [i])));

z: =exp (1/5*ln (abs (j))) * (abs (j) /j);

d: =sqrt (sqr (x [i]) +sqr (sin (x [i])));

y [i]: =z/d;

writeln ('x [i] =',x [i]: 5: 1,' y [i] =',y [i]: 5: 3);

end;

readkey;

end.


Блок-схема алгоритма решения задания №1.3


Нахождение функции заданном массиве:

Результаты вычислений:

Задание 1 (г) вычисление суммы в Microsoft Excel

В третьем столбце формула имеет вид: = (A2^ (-A2*SIN (A2)) - LN (2*A2+5)) / (КОРЕНЬ (2+SIN (2*A2)) +A2^2)

В четвертом столбце формула имеет вид: =СУММ (C2*B2+C3*B3+C4*B4+C5*B5)

x a y S
1,1 0,42 -0,368 -1,3
1,3 0,7 -0,399
1,5 0,9 -0,413
1,7 1,2 -0,408

В Mathcad:


В Turbo Pascal:

Program Summa;

uses crt;

const n=4;

Var x,z,d,Xn,h,F,S: Real;

i: Integer;

a: array [1. n] of Real;

BEGIN

clrscr;

randomize;

Write ('enter please Xn,h=');

ReadLN (Xn,h);

for i: =1 to n Do

begin

Write ('enter please a [i] =');

ReadLN (a [i]);

end;

x: =Xn;

S: =0;

for i: =1 to n Do

begin

z: =exp ( (-x*sin (x)) *ln (x)) - ln (2*x+5);

d: =sqrt (2+sin (2*x)) +sqr (x);

F: =z/d;

S: =S+F*a [i] ;

x: =x+h;

end;

WriteLN ('S=',S: 10: 3);

readkey

END.

Результаты вычислений:


Блок-схема алгоритма решения задания №1.4

Нахождение функции, если дан x, h, n, задан массив:


Задание 2. Интегрирование функции

Вычислить определённый интеграл

Так как определённый интеграл является площадью фигуры, ограниченной некоторой функцией y=f (x), то целью задачи является нахождение площади этой фигуры. Для этого необходимо данную фигуру разбить на более простые, площадь которых находится по простым формулам, а затем сложить полученные площади в одну для нахождения необходимой, т.е. для вычисления данного определённого интеграла.

Существуют различные методы нахождения определённого интеграла.

Рассмотрим некоторые из них:

метод средних прямоугольников;

метод трапеций;

метод Симпсона (парабол);

с автоматическим выбором шага;

1. Метод прямоугольников

Для вычисления приближённого значения определённого интеграла отрезок [a, b] делят на n равных частей точками

a=x0<x1<x2<…<xn=b

так, что xi+1-xi= (b-a) /n (I=0,1,2,…,n-1). Тогда длина каждого частичного отрезка определяется как h= (b-a) /n, а точки разбиения x0=a, x1=x0+h, x2=x1+h,…, xn=xn-1+h. Эти точки называются узлами, а h-шагом интегрирования. В узлах вычисляются ординаты y0, y1,…, yn, т.е. yi=f (xi). На частичных отрезках [xi; xi+1] строятся прямоугольники, высота которых равна значению f (x) в какой-либо точке каждого частичного отрезка. Произведение f (xi) *h определяет площадь частичного прямоугольника, а сумма таких произведений - площадь ступенчатой фигуры, представляющей собой приближённое значение интеграла.

Если f (xi) вычисляется в левых концах отрезков [xi; xi+1], то получается формула левых прямоугольников:

»Iл=
(y0+y1+…+yn-1) =
.

Если f (xi) вычисляется в правых концах отрезков [xi; xi+1], то получится формула правых прямоугольников:

»Iп=
(y1+y2+…+yn) =
.

Если функция f вычисляется в точках xi+h/2Î [xi;; xi+1], то получается формула средних прямоугольников:

2. Метод трапеции

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

Приближенное значение интеграла равно сумме всех площадей частичных трапеций:

»I=

3. Метод симпсона

Если на частичном отрезке длиной 2h функции заменяется дугой параболы, то можно получить формулу парабол или обобщенную формулу Симпсона:

= (h/3) * (y0+y2n+
,

где

1 при i - нечетном;

Ci =

1 при i - чётном;

4. С автоматическим выбором шага

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

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

а) выбирается начальное n и вычисляется шаг h= (b-a) /n;

б) рассчитывается значение интеграла I1 для этого шага h;

в) шаг h уменьшается в два раза, т.е. h=h/2 и вычисляется значение интеграла I2;

г) оценивается погрешность между двумя значениями r=½I1-I2½; если погрешность r меньше или равна заданной точности, т.е. r<=e, то точность достигнута и значение интеграла I=I2; если r>e, то точность не достигнута и величине I1 присваивается более точное значение I2;