Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Математическая программа "Производная"

Тип Реферат
Предмет Информатика и программирование
Просмотров
1453
Размер файла
50 б
Поделиться

Ознакомительный фрагмент работы:

Математическая программа "Производная"

Кафедра электронно-вычислительной аппаратуры

Математическая программа "Производная"

Москва 2009

Аннотация

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

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

Программа использует стандартные библиотеки MicrosoftWindows (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 и sinx;

– берет 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).

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

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

2. Принципы построения программы

При построении программы решены следующие проблемы.

2.1 Управление обработкой входных событий

Входными событиями могут быть события нажатия клавиш и кнопок ручного манипулятора типа «мышь».

В объектах программы реализован цикл ввода и обработки событий.

2.2 Вывод объектов на экран

Предусмотрена работа программы в среде Windows на графическом адаптере VGA и в режиме монитора 800х600 точек (и выше). В программе явным образом указаны координаты видимых объектов относительно левого верхнего угла окна приложения.

На рисунке показаны координаты основных видимых объектов.

3. Основные структуры данных и алгоритмы

3.1 Основной алгоритм

Начало

Инициализировать объекты

Цикл

Обработать события

КЦикл

Конец

Инициализировать объекты

Инициализировать Командное меню и добавить его элементы.

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

Инициализировать Список Допустимых Функций и добавить его элементы

Инициализировать Таблицу Переменных

Установить Таблицу Переменных по умолчанию

Инициализировать Таблицу Элементарных Функций

Инициализировать Поле Ввода Функции, Поле Вывода Результата

Инициализировать Список переменных

Обновить Список переменных

Конец

АлгоритмОбработать события

Если Развернут Список переменных

Обновить Список переменных

КЕсли

Если Нажата кнопка «Производная»

Найти производную

КЕсли

Если Нажата кнопка «Интеграл»

Найти Интеграл

КЕсли

Если Нажата кнопка «Значение функции»

Найти Значение функции

КЕсли

Если Нажата кнопка «Значение переменной»

ИзменитьЗначение текущей переменной

КЕсли

Если Нажата кнопка «Новая переменная»

Создать новую переменную пользователя

КЕсли

Если Нажата кнопка «Сброс переменных»

Сбросить переменные

КЕсли

Если Команда меню «Производная»

Найти производную

КЕсли

Если Команда меню «Интеграл»

Найти Интеграл

КЕсли

Если Команда меню «Значение функции»

Найти Значение функции

КЕсли

Если Команда меню «Выход»

Завершить программу

КЕсли

Если Команда меню «Справка»

Показать справку

КЕсли

Если Команда меню «Об авторе»

Показать Окно Об авторе

КЕсли

Конец

АлгоритмУстановить Таблицу Переменных по умолчанию

Стереть таблицу переменных

Объявить новую переменную пользователя («x»)

Объявить новую переменную пользователя («y»)

Объявить новую переменную пользователя («z»)

Объявить новую переменную пользователя («t»)

Конец

АлгоритмСоздать новую переменную пользователя

Строка = Ввести строку

ЕслиХорошееИмя переменной (строка)

Объявить новую переменную пользователя (строка)

КЕсли

Конец

3.2 Реализация алгоритма распознавания функции

Реализация алгоритма распознавания функции нахождения производной, интеграла и значения функции описана ниже:

Распознавание функции

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

o Создание размеченной строки: выделение чисел в служебные символы []; переменных в {}; функций в <>. (Контекстно, т.е. в строке «exp» не будет выделена переменная «x»).

o Создание на основании размеченной строки карты функции, т.е. выделение из неё только символов () [] {} <> и определение их позиций в размеченной строке.

o Анализ карты функции и вставка в размеченную строку соответствующих замен (например, знака умножения между числом и переменной), а также поиск синтаксических ошибок (например, если строка начинается со знака «/»)

o Обработанная таким образом строка, в которой не были найдены синтаксические ошибки, подлежит разложению на элементарные функции, которое заключается в следующем:

- поиск самой внутренней скобки

- нахождение первого оператора и его операндов в порядке важности (^,*, /, +,–)

- Если в скобке больше нет операторов, заменить всю скобку, иначе заменить только данный оператор с операндами на новую переменную (вида &F#) и записать это в таблицу.

- Если во всей строке еще есть операторы, повторить иначе создать последнюю переменную &F0

o Дополнить таблицу переменными пользователя.

Нахождение значения функции в точке (x, y, z, t,…)

o Найти переменную (элементарную функцию) в таблице.

o Считать оператор и операнды; если операнды – переменные, то

o Если операнд переменная не дифференцируемая, то найти рекурсивно (этой же функцией).

o Если операнд переменная дифференцируемая, то вернуть текущее значение дифференцируемой переменной.

o Выполнить действие над операндами в зависимости от оператора и вернуть значение.

Нахождение частичных сумм площадей под графиком функции (~ интеграла)

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

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

· Вернуть результат

Нахождение формулы производной

o Найти переменную (элементарную функцию) в таблице.

o Считать оператор и операнды; если операнды – переменные, то

o Если операнд переменная не дифференцируемая, то найти рекурсивно (этой же функцией).

o Если операнд переменная дифференцируемая, то вернуть «1».

o Найти производную по правилам дифференцирования и вернуть значение.

Заключение

В результате проектирования создана полностью работоспособная программа в соответствии с техническим заданием. Программа оформлена в виде структурных записей. Написание программы «Производная» на VisualBasic 6.0 является примером использования объектно-ориентированных средств языка VisualBasic.

Программа может иметь практическое применение при математических вычислениях.

Список литературы

1. MicrosoftVisualBasic для профессионалов. Шаг за шагом: Практ. пособ. / Пер. с англ. - М: Издательство ЭКОМ, 1999. – 720 с.


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
ИжГТУ имени М.Т.Калашникова
Сделала все очень грамотно и быстро,автора советую!!!!Умничка😊..Спасибо огромное.
star star star star star
РГСУ
Самый придирчивый преподаватель за эту работу поставил 40 из 40. Спасибо большое!!
star star star star star
СПбГУТ
Оформил заказ 14 мая с сроком до 16 мая, сделано было уже через пару часов. Качественно и ...
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Решить задачи по математике

Решение задач, Математика

Срок сдачи к 14 дек.

только что

Чертеж в компасе

Чертеж, Инженерная графика

Срок сдачи к 5 дек.

только что

Выполнить курсовой по Транспортной логистике. С-07082

Курсовая, Транспортная логистика

Срок сдачи к 14 дек.

1 минуту назад

Сократить документ в 3 раза

Другое, Информатика и программирование

Срок сдачи к 7 дек.

2 минуты назад

Сделать задание

Доклад, Стратегическое планирование

Срок сдачи к 11 дек.

2 минуты назад

Понятия и виды пенсии в РФ

Диплом, -

Срок сдачи к 20 янв.

3 минуты назад

Сделать презентацию

Презентация, ОМЗ

Срок сдачи к 12 дек.

3 минуты назад

Некоторые вопросы к экзамену

Ответы на билеты, Школа Здоровья

Срок сдачи к 8 дек.

5 минут назад

Приложения AVA для людей с наступающим слуха

Доклад, ИКТ

Срок сдачи к 7 дек.

5 минут назад

Роль волонтеров в мероприятиях туристской направленности

Курсовая, Координация работы служб туризма и гостеприимства

Срок сдачи к 13 дек.

5 минут назад

Контрольная работа

Контрольная, Технологическое оборудование автоматизированного производства, теория автоматического управления

Срок сдачи к 30 дек.

5 минут назад
6 минут назад

Линейная алгебра

Контрольная, Математика

Срок сдачи к 15 дек.

6 минут назад

Решить 5 кейсов бизнес-задач

Отчет по практике, Предпринимательство

Срок сдачи к 11 дек.

7 минут назад

Решить одну задачу

Решение задач, Начертательная геометрия

Срок сдачи к 7 дек.

9 минут назад

Решить 1 задачу

Решение задач, Начертательная геометрия

Срок сдачи к 7 дек.

10 минут назад

Выполнить научную статью. Юриспруденция. С-07083

Статья, Юриспруденция

Срок сдачи к 11 дек.

11 минут назад

написать доклад на тему: Процесс планирования персонала проекта.

Доклад, Управение проектами

Срок сдачи к 13 дек.

11 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

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

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно