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

advertisement
Система построения графиков суперпозиций
элементарных функций
Студент факультета ВМК, группы 8101 Соколов А. В.
Постановка задачи
Необходимо разработать систему, которая осуществляет построение
графика функции по её аналитическому выражению в виде
символьной строки.
При этом требуется предусмотреть возможности:
1. Ввод и редактирование выражения, описывающего функциональную
зависимость.
2. Выбор типа функциональной зависимости (декартова система
координат, полярная система координат, параметрическое задание).
3. Задание параметров построения графика (Количество точек при
построении графика, область определения, цвет графика и т. д.).
4. Аналитическое вычисление производной.
5. Построение графика.
Возможности системы
Добавление нового графика
В результате в списке графиков появится новая
строка,
р , а в графической
р ф
области – график
р ф
функции
Вычисление производной
После нажатия на кнопку «добавить»
появится окно «Добавить график»
Выберем нужные параметры графика и
нажмём «Ok»
В результате получим график производной
функции
Область вывода
Панель навигации – основной инструмент изменения области
отображения графиков.
Перемещение области влево.
Перемещение области вправо.
П
Перемещение
области
б
вверх.
Перемещение области вниз.
Увеличение масштаба вывода.
Уменьшение масштаба вывода.
Включение(выключение) режима свободного
перемещения области.
П выборе
При
б
пункта главного меню В
Вид->Параметры
>П
откроется диалоговое окно для редактирования
области.
Редактирование графиков проекта
Осуществляется выбором пунктов контекстного
меню списка графиков.
Управление проектом
Производится путем выбора подпунктов пункта «Файл»
главного меню.
«Новый» - Создание нового проекта.
«Открыть» - Открытие существующего проекта.
проекта
«Сохранить » - Сохранение текущего проекта.
«Сохранить…»
проекта
«Сохранить» - Быстрое сохранение текущего проекта.
«Снимок» - Создание снимка области вывода и сохранение
его как картинки.
р
Реализация обратной польской
записи
Обычные алгебраические
Об
б
выражения можно записывать в
бесскобочной форме - обратной польской записи. Запись
«польская», потому что её предложил польский математик Ян
Лукасевич. Запись «обратная», потому что в сравнении с
исходным вариантом порядок операндов и операций был
обращен.
На р ер выражение
Например,
раже е
A + ( B - C ) * D - F / (G + H)
в обратной польской записи будет иметь вид
ABC-D*+FGH+/-.
Этап 1. Разбивка строки на лексемы
Рассмотрим на примере
Исходная строка:1,1+2,2*3,4+cos(x)
Результат:
11
1,1
+
22
2,2
*
34
3,4
+
cos
(
x
)
В программе
р р
полученный
у
ррезультат
у
будет
у
представлен
р
в виде
кодов лексем.
Этап 2. Преобразование выражения в бесскобочную запись.
И д
Исходные
д
данные:
№
1
2
3
4
5
6
7
8
9
10
11
Stack
1,1
Table_oper
Table
oper
1
2
3
+
4
2,2
5
+
+
+*
+,
+,*
+
+, cos
+,cos,(
+,cos,(
, ,(
+,cos
*
6
3,4
7
+
8
cos
9
*,+
*,+
*,+
*,+
,
*,+
*,+
1
1
2
2
3,
4
(
10
x
11
Cos,+
x
)
Этап 3. Вычисление выражения.
Исходные данные:
1,1
2,2
3,4
x
*
+
Примечание: Исходные данные следует читать так:1,1;
1 1;
cos
+
2,2;
2 2; 3,4;
3 4; *;; +; x; cos; +
Пусть x = 0
№
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Stack
1
1,1
1,1
,
1,1
1,1
1,1
,
1,1
1,1
8,58
,
8,58
8,58
8,58
,
8,58
8,58
9,58
2
2,2
2,2
2,2
,
2,2
7,48
0
0
1
3
3,4
,
3,4
4
5
6
7
Download