7. DEF FN<имя_функции> (х) = … .
Оператор описания пользовательской функции, то есть функции, которую может задать сам автор алгоритма.
Пример. Описать функцию: Y=X^2+1
РЕШЕНИЕ:
DEF FNZ(Х) = X^2+1
Обращение к пользовательской функции:
Y = FNZ (Х), или Р = FNZ (2), или R = FNZ (–3).
8. DIM – оператор описания размерности массива. Пример. Описать в виде массивов:
- арифметическую прогрессию а1, а2, а3, а4, а5;
-геометрическую прогрессию в1, в2, в3, в4, в5, в6, в7, в8, в9;
-таблицы игры в морской бой «Т1» и «Т2»;
-матрицу М, имеющую «L» строк и «К» столбцов.
Таблица Т1
|
А |
Б |
В |
Г |
Д |
Е |
Ж |
З |
И |
К |
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
1 |
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
|
9 |
|
|
|
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица Т2 |
|||
А |
Б |
В |
Г |
Д |
Е |
Ж |
З |
И |
К |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
9 |
|
|
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
|
|
РЕШЕНИЕ:
Задания
DIM A(5), {пять элементов арифметической прогрессии} B(9), {девять элементов геометрической прогрессии}
Т1(10,10), {описание табл. Т1 или, другими словами, массива Т1} Т2(10,10), {описание табл. Т2 или, другими словами, массива Т2} M(L,K). {описание матрицы «М» имеющей «L» строк «К» столбцов}
6
Обращение к элементам массива:
|
Таблица 2 |
|
|
Присвоить значения переменным |
Обращение к элементам массива |
с индексом |
в QBASIC |
а3 |
А(3) |
в7 |
В(7) |
Из табл. Т1: КА,1 |
Т1(1,1) |
Из табл. Т2: КГ,5 |
Т2(5,4) |
Из матрицы М: М13,2 |
М(13,2) |
Замечание. При обращении к элементам массива индексы записываются в круглых скобках, причем сначала указывается номер строки, а затем номер столбца на перекрестье которых находится элемент.
9. Таблица минимального количества стандартных (встроенных) функций в языке QBASIC:
sin x |
SIN (X) |
cos x |
COS (X) |
tg x |
TAN (X) |
arctg x |
ATN (X) |
|x| |
ABS (X) |
ex |
EXP (X) |
√x |
SQR (X) |
ln x |
LOG (X) |
Замечание. Аргумент в стандартных (встроенных) функциях заключается всегда в скобках (круглых); в противном случае (без скобок) транслятор не будет воспринимать эту запись как функцию, а воспримет (скорее всего) как идентификатор.
2. ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ. МЕТОД ПРЯМОУГОЛЬНИКОВ
Рассмотрим в качестве примера практическую работу: «Численное интегрирование методом левых прямоугольников».
1. Формулировка задачи.
Найти определенный интеграл методом левых прямоугольников
7
ba f (x)dx
при заданном количестве разбиений интервала интегрирования [a, b] на «n» равных частей.
Найти
ba f (x)dx
по аналитической формуле Ньютона–Лейбница
b
f (x)dx P(x) ba P(b) P(a),
a
где Р(x) – первообразная.
Сравнить полученные результаты.
2.Постановка задачи (т. е. четкое определение исходных данных и результатов решения)
Дано:
-подынтегральная функция f(x),
-нижний предел интегрирования «a»;
-верхний предел интегрирования «b»;
-количество делений интервала интегрирования [a, b] – «n». Найти:
-значение интеграла по методу левых прямоугольников;
-аналитическое значение интеграла.
3.Описание метода левых прямоугольников.
а) построим в декартовой системе координат график подынтегральной функции у = f(x).
8
Рис. 1
б) отложим на оси ОХ точки х=а и х=b (см. рис. 1).
в) восставим из этих точек перпендикуляры к оси ОХ до пересечения с графиком у = f(x): получим точки (•) Мa и (•) Мb (см. рис. 1).
г) разделим отрезок ab на «n» равных частей (пусть n=4). Восставим из точек деления перпендикуляры к оси ОХ до пересечения с графиком по-
дынтегральной функции у = f(x): получим точки пересечения (•) М1, |
(•) |
М2, (•) М3 [см. рис. 1]. |
|
д) далее проведем следующие построения: |
|
-из первой «левой» точки пересечения перпендикуляра с графиком
подынтегральной функции (•) Ма проводим прямую, параллельную оси ОХ, до пересечения с первым справа перпендикуляром – получаем (•) K1. Таким образом, будет построен прямоугольник S1 (штриховка
) (рис. 2);
-из следующей точки (•) М1, проведем аналогичное построение; получим точку K2 и прямоугольник S2 (штриховка
);
-аналогично получим:
точку K3, прямоугольник S3;
точку K4, прямоугольник S4.
е) исходя из чертежа (рис. 2), получим: площадь, заключенная между осью абсцисс ОХ, подынтегральной кривой у = f(x) и двумя перпендикулярами (аMa и bMb) приблизительно равна площади ступенчатой фигуры, состоящей (в данном случае) из площадей 4 прямоугольников S1, S2, S3 и S4. Формальная запись этого факта (см. рис.2):
b |
f (x)dx S1+ S 2+ S3+ S 4. |
a |
|
9
Рис. 2
ж) как известно еще из начальной школы, площадь прямоугольника равна произведению его сторон.
Следовательно, если будем знать основания и высоты каждого из прямоугольников, то задача нахождения приближенного значения интеграла сведется к тривиальной (т. е. чрезвычайно простой) задаче суммирования «n» чисел, соответствующих площадям этих элементарных геометрических фигур.
Основания (h) прямоугольников равны по построению. Следовательно, их можно рассчитать по формуле:
h b n a ;
при n=4 (в частном случае):
h b 4 a .
Высотам элементарных прямоугольников будут соответствовать ординаты соответствующих точек на подынтегральной кривой (в частном случае):
у1=f(x)=f(a) – для прямоугольника S1 x=a;
у2=f(x)=f(a+h) – для прямоугольника S2 x=a+h;
у3=f(x)=f(a+2h) – для прямоугольника S3 x=a+2h;
у4=f(x)=f(a+3h) – для прямоугольника S4
10