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
Нахождение функции заданном массиве:
Результаты вычислений:
В третьем столбце формула имеет вид: = (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, задан массив:
Так как определённый интеграл является площадью фигуры, ограниченной некоторой функцией y=f (x), то целью задачи является нахождение площади этой фигуры. Для этого необходимо данную фигуру разбить на более простые, площадь которых находится по простым формулам, а затем сложить полученные площади в одну для нахождения необходимой, т.е. для вычисления данного определённого интеграла.
Существуют различные методы нахождения определённого интеграла.
Рассмотрим некоторые из них:
метод средних прямоугольников;
метод трапеций;
метод Симпсона (парабол);
с автоматическим выбором шага;
Для вычисления приближённого значения определённого интеграла отрезок [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], то получается формула средних прямоугольников:
Метод трапеций аналогичен методу прямоугольников, с той лишь разницей, что на каждом частичном отрезке строится трапеция.
Приближенное значение интеграла равно сумме всех площадей частичных трапеций:
»I=Если на частичном отрезке длиной 2h функции заменяется дугой параболы, то можно получить формулу парабол или обобщенную формулу Симпсона:
= (h/3) * (y0+y2n+ ,где
1 при i - нечетном;
Ci =
1 при i - чётном;
Точность вычисления определенного интеграла зависит от величины шага интегрирования. Ошибка в выборе величины шага интегрирования либо не обеспечит нужной точности, либо приведет к необоснованным затратам машинного времени.
Заданную точность при рациональных затратах времени на вычисления обеспечивают алгоритмы интегрирования с автоматическим выбором шага. Идея метода автоматического выбора шага интегрирования для достижения заданной точности заключается в следующем:
а) выбирается начальное n и вычисляется шаг h= (b-a) /n;
б) рассчитывается значение интеграла I1 для этого шага h;
в) шаг h уменьшается в два раза, т.е. h=h/2 и вычисляется значение интеграла I2;
г) оценивается погрешность между двумя значениями r=½I1-I2½; если погрешность r меньше или равна заданной точности, т.е. r<=e, то точность достигнута и значение интеграла I=I2; если r>e, то точность не достигнута и величине I1 присваивается более точное значение I2;