Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Функциональная структура программы

Аннотация

 

Работа представляет собой программу (реализованную на языке Microsoft Visual Basic 6), основной функцией которой является нахождение формулы производной на основании введенной пользователем исходной формулы, представляющей собой суперпозицию (произвольное сочетание) элементарных функций (предусмотрены программой sin, cos, tg, ctg, arcsin, arccos, arctg, arcctg, ln, exp, +, -, *, /, ^, константы).

Для удобства программа обладает дополнительными функциями: нахождение значения формулы при данных аргументах, приближенное нахождение интеграла, работа с переменными (изменение аргументов), вызов справки.

Программа использует стандартные библиотеки Microsoft Windows (98, XP, 2000), поэтому для корректной работы программы необходимо использовать эту операционную систему.

 

 


Техническое задание

 

Основное окно программы в рабочем режиме показано на рис 1.

 

Рис. 1

 

Компоненты изображения:

o меню команд в верхней части экрана;

o поле для ввода формулы, включающее

o список переменных,

o поле для ввода строки;

o список задач, включающий:

o три кнопки «Производная», «Интеграл», «Значение»;

o два текстовых поля для ввода границ интегрирования;

o текстовое поле для вывода формулы;

o список допустимых функций (объект класса ListBox);

o таблица переменных, включающая:

o таблицу класса MSHFlexGrid библиотеки «MSHFLXGD.OCX»,

o три кнопки управления таблицей «Значение», «Новая переменная», «Сброс».

 


Выбор команды

 

· Для выбора команды используется одноуровневое горизонтальное меню.

· Для перемещения по меню используются клавиши навигации и / или мышь.

· Для выбора пункта используется клавиша Enter и / или левая клавиши мыши.

Команды меню

Файл -> Выход

При выходе программа заканчивает свою работу.

 

Действия -> Производная

Программа анализирует введенную формулу и в соответствующем поле выводит формулу производной. (При введении неверной формулы выводится ошибка).

 

Действия -> Интеграл

Программа анализирует введенную формулу и в соответствующем поле выводит значение частичных сумм под графиком функции. (При введении неверной формулы выводится ошибка).

 

Действия -> Значение

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

 


Справка -> Мне нужна помощь

На экране появляется окно, содержащее руководство пользователя.

 

Справка -> Об авторе

На экране появляется окно, содержащее информацию о создателе.

Поле для ввода формулы

Текст из этого поля используется в качестве исходной функции пользователя.

 

Список задач

Команды аналогичны командам меню.

 

Поле для вывода функции

Это поле служит для выведения конечного результата.

 

Список допустимых функций

Служит подсказкой пользователю как правильно написать функцию.

Двойной щелчок на элементе добавляет его в поле для ввода формулы.

 

Таблица переменных

Служит подсказкой пользователю, какие переменные можно использовать;

Двойной щелчок на элементе позволяет изменить значение переменной.

Таблица связана с тремя кнопками.

 

Значение переменной

Изменить значение выбранной переменной на указанной пользователем.


Новая переменная

Добавляет в таблицу новую переменную, имя которой указал пользователь.

 

Сброс переменных

Очищает таблицу переменных и создает переменные по умолчанию (x=0, y=0, z=0, t=0).

 

 


Введение

 

Алгоритм программы основан на теории математического анализа. В частности, в основу положены два утверждения:

– Все элементарные функции дифференцируемы на области определения. (Sin, cos, tg, ctg, arcsin, arccos, arctg, arcctg, ln, exp, +, -, *, /, ^, константы и т.д.)

– Суперпозиция дифференцируемых функций дифференцируема: (f (g(x)))’=g’ (x) f’ (g(x)).

 

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

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

Например, при вводе функции y(x)=2^2+2sinx и нажатии кнопки «Производная» программа:

– вставляет символ «*» между 2 и sin x;

– берет x после sin в скобки;

– проверяет формулу на наличие синтаксических ошибок;

– составляет таблицу функции, которая выглядит следующим образом:

&F1=sin(x);

&F2=2^2;

&F3=2*&F1;

&F0=&F2+&F3.

(&F0 аналогична функции main в С, т.е. с нее начинается вычисление)

– упрощает таблицу функции:

&F1=sin(x);

&F3=2*&F1;

&F0=4+&F3.

– по таблице рекурсивно (сводя к случаям x’=1 и const’=0) вычисляет производную по правилам дифференцирования:

y’ (x)=(4+2*sin(x))’=(4)’+(2*sin(x))’=0+(2’*sin(x)+2*(sin(x))’)= 0+(0*sin(x)+2*(x’*cos(x)))= 0+(0*sin(x)+2*(1*cos(x)))

Данная функция является производной, но имеет трудно читаемый вид. Поэтому в алгоритм включен следующий пункт:

– Упрощение функции:

y’ (x)= 0+0*sin(x)+2*(1*cos(x))= 0+0+2*cos(x)= 2*cos(x).

 

 


Функциональная структура программы

 

На основе технического задания составлена функциональная структура программы, которая отображает иерархию основных функций и отвечает на вопрос «Что должна делать программа?». Порядок выполнения функций, способы их оформления в виде подпрограмм и модулей, способы реализации функциональная структура не отображает.

 

 

 


Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...