Разработка программы с использованием pascalABC.net

Построение графиков функций 

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

Понятие "функция" выступает каждый раз, как только величины связаны каким-нибудь определённым физическим соотношением. Объём газа, заключённого в цилиндр, есть функция температуры и давления, оказываемого на поршень. Целая область периодических явлений - движение приливов, колебание натянутой струны, распространение световых волн, испусканмых раскалённой проволокой - регелируется простыми тригонометрическими функциями sin x и cos x.
    
Термин "функция" впервые ввёл математик Лейбниц (1646-1716), который, как и математики XVIII . идентифицировали  функциональную зависимость с существованием простой математической формулы, точно выражающей эту зависимость.

Если (x,y) - координаты на плоскости относительно двух взаимно перпендикулярных осей, то линейные функции y=ax+b изображаются прямыми линиями,
квадратичгые функции y=ax2+bx+c изображаются параболами, функция  y=1/x изображаются гиперболами.

Описание программы
Ниже описывается программа для построение следующих функций:
Квадратичная функция F(x)=Ax2+Bx+C    
Гипербола F(x)=k/x;
Кубическая парабола F(x)=Ax3+Bx2 +Cx +K ;
Биквадратная функция Ax4+Bx2+C.

На форме разработанной программы размещены следующие объекты:
• Текстовые поля (TextBox) для ввода коэффициентов A, B, C, K;
• Текстовое поле Вариант для ввода номера варианта при расчёте и представлении на экране нескольких графиков одной функции для разных наборов коэффициентов;

Кнопки (Button) для выполнения различных процедур
Квадратичная функция для построения графиков;
Парабола&Гипербола для построения графиков;
• Кубическая парабола
для построения графиков;
Биквадратная функция для построения графиков;
Обновить для выполнения обнуления текстовых полей;
Сохранить для выполнения сохранения изображения графика;
Очистить экран.



Рис.1. Вид разработанного оконного приложения

Особенности программы

1. При разработке программы ставилась задача вывода на экран одновременно нескольких графиков для функций с разными параметрами. 
Программа включает модуль построения системы координат для функций, принимающих как положительные, так и отрицательные значения.
Чтобы корректно представить график функции, необходимо правильно построить систему координат с указанием числа делений по оси X и Y.  Для одного графика эта задача решается исходя из следующих формул:
 число делений (меток) n  по оси X определяется разностью xk - xn 
n := round((xk - xn) / dx) + 1;
где  xk начальное значение по X, а  xn - конечное, dx  - расстояние между метками на оси Х;
 число делений (меток)  n по оси Y определяется разностью fmax-fmin
n := round(fmax - fmin) / dy) + 1;  
где fmax -максимальное значение функции f(x), fmin - минимальное значение функции f(x), dy - расстояние между метками на оси Y.
Очевидно, что число делений  на оси Y будет разным для разных функций.
Приведённый выше способ  построения меток на оси Y не годится для одновременного представления нескольких функций, так как число меток  будет меняться  от функции к функции.

В нашей программе выбраны постоянные значения fmin=0, fmax=30,  которые оптимальны для расчёта всех рассматриваемых в программе функций для широкого диапазона изменения коэффициентов A,B,C K.


2. При разработке программы ставилась задача вывода кривых и соответствующих им параметров разным цветом. В нашей программе цвет кривых выбирается случайно и, следовательно, возможно совпадение цвета для разных кривых или неудачное сочетание цвета. Однако повторным запуском программы кнопкой Старт  можно выбрать желаемый цвет без изменения введённых параметров. 

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

Разработанный Файл программы

Комментариев нет:

Отправить комментарий