*
*


CAPTCHA Image   Reload Image
X

Нахождение производной функции одной переменной с помощью польской нотации, С++

контрольные работы, программирование

Объем работы:

Год сдачи: 2013

Стоимость: 200 руб.

Просмотров: 411

 

Не подходит работа?
Узнай цену на написание.

Оглавление
Введение
Содержание
Заказать работу
Программа представляет консольное приложение, выполненное в Microsoft Visual Studio 2010.
Пример кода:
//вычисление производной выражения токенов в польской записи
//вычисляем с конца
//аргументы у функци должны быть удалены для удобства вычислениц
vector DerivateExpressionPol(vector exp)
{
vector::reverse_iterator it, it_f;
vector result, tmp;
Token token;

if(exp.size() == 1)
{
AddTokensToSource(result, DerivateFuncPol(exp.back()));
retu
result;
}

//если всего одно выражение - вида а?b
if(exp.size() == 3)
{
tmp = vector(exp.rbegin(), exp.rend());
reverse(tmp.begin(), tmp.end());
token = tmp.back();
tmp.pop_back();

Token f1 = tmp.back();
tmp.pop_back();

Token f2 = tmp.back();
tmp.pop_back();

retu
GetDerivationExpression(f2, f1, token);
}

// производную выражения ищем след. образом :
//берем 1-ю функцию списка, находим производную
//остальную часть списка берем как единую функцию и вычисляем её производную рекурсией
for(it = exp.rbegin(); it != exp.rend(); it++)
{
//если токен арифм. операция или уже набралось достаточно для дифференцирования
if(find(operations.begin(), operations.end(),it->type) != operations.end() || (tmp.size() >= 3 && IsFullOperationReverse(tmp)))
{
//если промежут стэк пустой - кладем всегда
if(tmp.empty())
{
tmp.push_back(*it);
continue;
}
//ещё нет выражения
else if(!OperandOrFuncExists(tmp))
{
tmp.push_back(*it);
continue;
}

//вычисляем все что есть в tmp

//производные первой и второй функции в виде списка токенов
vector deriv_f1, deriv_f2;
vector tmp_f1, tmp_f2;

Token f1 = tmp.back(); //берем 1-ый токен и ищем его производную
tmp.pop_back();//удаляем из промежут. стэка

vector deriv_result;

//если след токен - не операция,берем 2-ый токен и составляем первое выражение
if(!(find(operations.begin(), operations.end(),tmp.back().type) != operations.end()))
{
Token f2 = tmp.back();
tmp.pop_back();//удаляем из промежут....
Программа находит производную функции одной переменной. Необходимо ввести выражение (для переменной х), программа преобразует его в польскую нотацию, выводит пользователю, а далее выводит результат - выражение производной исходной функции (в стандартной нотации).

После офорления заказа Вам будут доступны содержание, введение, список литературы*
*- если автор дал согласие и выложил это описание.

Эту работу можно получить в офисе или после поступления денег на счет в течении 30 минут (проверка денег с 12.00 до 18.00 по мск).
ФИО*


E-mail для получения работы *


Телефон


ICQ


Дополнительная информация, вопросы, комментарии:



CAPTCHA Image
Сусловиямиприбретения работы согласен.

 
Добавить страницу в закладки
Отправить ссылку другу