Не отобразилась форма расчета стоимости? Переходи по ссылке

Не отобразилась форма расчета стоимости? Переходи по ссылке

Дипломная работа на тему «Объектно-ориентированное программирование»

Современный уровень развития различных программных и аппаратно-программных систем, а так же систем управления, связан со значительным повышением их сложности из-за присущих им требований к гибкости, открытости, эргономичности и перенастраиваемости. Наиболее перспективным считается объектно-ориентированный подход (ООП) проектирования.

Содержание

Введение

1.      Анализ технического задания

2.      Проектирование структуры классов

3.      Программная реализация

4.      Тестирование

5.      Руковдство по програмному продукту

5.1 Руководство программиста

5.2 Руководство администратора

5.3 Руководство пользователя

Заключение

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

Приложение А. Класс разбора математических функций

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

Введение

Современный уровень развития различных программных и аппаратно-программных систем, а так же систем управления, связан со значительным повышением их сложности из-за присущих им требований к гибкости, открытости, эргономичности и перенастраиваемости. Наиболее перспективным считается объектно-ориентированный подход (ООП) проектирования.

Объектно-ориентированное программирование является относительно новым подходом к созданию компьютерных приложений, который призван устранить многие из проблем, существующих в традиционных методиках программирования.

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

Также достоинством объектно-ориентированного подхода от традиционного проектирования относят возможность использования итеративно-поступательного цикла создания программного обеспечения и перенос акцента проектирования с разработки алгоритмов функционирования системы на построения системы абстракций и их взаимодействия.

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

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

Целью работы является разработка программы «Генератор математических функций». Также целью работы является развитие навыков самостоятельной и творческой работы и закрепление навыков работы на языке С++.

В мире есть множество программных продуктов, позволяющих выполнять задачи по построению графиков, такие как Mathcad, Matlab, Excel. Если требуется решать задачи связанные только с графиками, то программа «Генератор математических функций» использовать предпочтительней, так как он сконцентрирован только на этой проблеме. Также данное приложение имеет простой пользовательский интерфейс, удобный мастер функций, возможность построения нескольких графиков функций.

Основными задачами работы являются — разработка приложения, которое будет позволять вводить выражение функции и строить график, а также сохранять график в файле, создание мастера функций для ввода математического выражения, тестирование приложения, разработка справочной системы для созданного приложения. 1.      Анализ технического задания

В дипломной работе необходимо разработать программу «Генератор математических функций».

Для реализации поставленных задач необходимо:

—       Разработать алгоритм ввода математического выражения с помощью мастера функций;

—       Разработать алгоритм построения графика по заданному выражению;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

—       Реализовать возможность сохранения построенного графика в файл;

—       Реализовать визуальные компоненты для работы с программой.

По заданию необходимо создать программу, которая будет выполнять построение графика по заданному выражению.

Данное приложение будет реализовано на мощном и гибком объектно-ориентированном языке программирования С++ [1]. Язык С++ предоставляет все средства для реализации базового и производных классов, а также оптимально использует системные ресурсы, что позволяет сделать приложение не только универсальным, но и не очень требовательным к ресурсам компьютера. Также язык С++ поддерживает платформу .NETFramework, что позволяет использовать приложение на различных персональных и переносных компьютерах, на которых установлена эта платформа.

По сравнению с другими объектно-ориентированными языками С++ обладает несколькими особенностями:

—       Полная поддержка принципов инкапсуляции, наследования и полиморфизма;

—       Полная поддержка классов и объектно-ориентированного программирования, включая наследование реализации и интерфейсов, виртуальные функции и перегрузку операций;

—       Согласованный и четко определенный набор базовых типов;

—       Возможность переопределения пользователем стандартных типов языка и операторов;

—       Автоматическая очистка динамически распределяемой памяти;

—       Полная поддержка библиотеки базовых классов .NET Framework наряду с легким доступом к Windows API;

—       Указатели и прямой доступ в память при необходимости доступны, но язык спроектирован так, что в большинстве случаев без них можно обойтись.

Данное приложение создается для пользователя, следовательно, в тестирующем приложении должен быть реализован понятный и удобный интерфейс. Также необходимо реализовать справочную систему, которую пользователь сможет вызвать при затруднении использования приложения.

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

К числу подобных метрик относится:

1.      Гибкость, которая аккумулирует ряд свойств:

—              Модульность;

—             Изменяемость;

—             Сопровождаемость;

2.      Адаптивность, которая подразумевает:

—              Настраиваемость;

—              Переносимость;

—              Способность к взаимодействию;

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

Исправления программного обеспечения может быть инициировано по следующим причинам:

1.      исправление программы с недостаточным уровнем качества;

2.      изменение программы для повышения уровня качества;

.        изменение программы для удовлетворения изменения в требованиях.

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

Измерение качества проектирования является очень важной составляющей частью в процессе обеспечения качества программного продукта.

Приложение будет реализовано в среде Microsoft Visual Studio 2010 [2] с использованием технологии Windows Forms [3]. Выбор обусловлен тем, что данная среда максимально совместима с операционной системой Microsoft Windows 7. Также данная среда поддерживает все версии .NETFramework, что позволяет создавать приложения для различных платформ. Microsoft Visual Studio 2010 включает в себя новые функции, позволяющие полностью контролировать и упрощать все этапы разработки приложения, выполнять его отладку и тестирование. Также данная среда разработки позволяет использовать визуальный конструктор, что очень важно для написания приложения. Исходя из вышеперечисленного, программный продукт будет обладать следующими аппаратными требованиями:

—             32-разрядный (x86) или 64-разрядный (x64) <#»865073.files/image001.gif»>

Рисунок 1 — Описание алгоритма работы программы «Генератор математических функций».

3.      Программная реализация

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

На главной форме находятся:

—             Область для построения графика;

—             3 текстовых области для ввода функции;

—             Кнопка вызова мастера функций;

—             Кнопка построения графиков;

—             Кнопка очистки области;

—             Кнопка сохранения графика в файл;

—             2 текстовых поля для указания диапазона значений X;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

—             Кнопка включения и отключения сетки на области построения графика;

—             Выход из программы.

Производная форма представляет собой меню с набором доступных функций и действий:

—             arccos — Арккосинус

—             arcctg — Арккотангенс

—             arcsin — Арксинус

—             arctg — Арктангенс

—             cos — Косинус

—             ctg — Котангенс

—             sin — Синус

—             tg — Тангенс

—             ln — Натуральный логарифм

—             log — Десятичный логарифм

—             sqrt — Квадратный корень

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

—             abs — Модуль

—             ‘+’ — Сложение

—             ‘-’ — Вычитание

—             ‘*’ — Умножение

—             ‘/’ -Деление

—             ‘^’ — Степень

Также доступны наиболее распространённые константы:

—             e= 2.718281828459045

—             pi= 3.141592653589793

Область построения графика представляет собой компонент ZedGraph. Для прорисовки области используем функцию Load_Graw.

// Функция преобразования компонента ZedGraph к необходимому виду

public: Load_Graw (void)

{

// Получим панель для рисования

ZedGraph::GraphPane ^myPane = zedGraphControl1->GraphPane;

// Очистим список кривых на тот случай, если до этого сигналы уже были нарисованы

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

myPane->CurveList->Clear();

myPane->GraphObjList->Clear();

//Запрет на самосогласования и выход за установленные границы

myPane->XAxis->Scale->MaxGrace=0;

myPane->XAxis->Scale->MinGrace=0;

myPane->YAxis->Scale->MaxGrace=0;

myPane->YAxis->Scale->MinGrace=0;

// Установим размеры шрифтов для подписей по осям

myPane->XAxis->Title->FontSpec->Size = 14;

myPane->YAxis->Title->FontSpec->Size = 14;

// Установим размеры шрифта для легенды

myPane->Legend->FontSpec->Size = 12;

// Установим размеры шрифта для общего заголовка

myPane->Title->FontSpec->Size = 13;

myPane->Title->FontSpec->FontColor=System::Drawing::Color::Black;

myPane->Title->Text = «Область постороения графиков»;

myPane->XAxis->Title->Text = «x»;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

myPane->YAxis->Title->Text = «y»;

//Установка фона панели графиков (не рабочая часть)

myPane->Fill->Color=System::Drawing::Color::LightGray;

//Установка фона панели отображения графиков

myPane->Chart->Fill = gcnew Fill( Color::White, Color::White, 0 );

//Установка границы вывода графиков

myPane->Chart->Border->Color=System::Drawing::Color::Black;

// Устанавливаем интересующий нас интервал по оси X

myPane->XAxis->Scale->Min = -10;

myPane->XAxis->Scale->Max = 10;

//Ручная установка шага оси Х

myPane->XAxis->Scale->MinorStep = 1;

myPane->XAxis->Scale->MajorStep = 1;

// Устанавливаем интересующий нас интервал по оси Y

myPane->YAxis->Scale->Min = -10;

myPane->YAxis->Scale->Max = 10;

//Ручная установка шага оси Y

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

myPane->YAxis->Scale->MinorStep = 1;

myPane->YAxis->Scale->MajorStep = 1;

//Устанавливаем метки только возле осей!

myPane->XAxis->MajorTic->IsOpposite = false;

myPane->XAxis->MinorTic->IsOpposite = false;

myPane->YAxis->MajorTic->IsOpposite = false;

myPane->YAxis->MinorTic->IsOpposite = false;

//Рисуем сетку по X

myPane->XAxis->MajorGrid->IsVisible=false;

myPane->XAxis->MajorGrid->DashOn=5;

myPane->XAxis->MajorGrid->DashOff=5;

myPane->XAxis->MajorGrid->Color=System::Drawing::Color::Gray;

myPane->XAxis->Color=System::Drawing::Color::Gray;

//Рисуем сетку по Y

myPane->YAxis->MajorGrid->IsVisible=false;

myPane->YAxis->MajorGrid->DashOn=5;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

myPane->YAxis->MajorGrid->DashOff=5;

myPane->YAxis->MajorGrid->Color=System::Drawing::Color::Gray;

myPane->YAxis->Color=System::Drawing::Color::Gray;

//******************************************************************************

// Добавляем информацию по регистрам вывода точек

//******************************************************************************

RollingPointPairList ^list1= gcnew RollingPointPairList (10000);

RollingPointPairList ^list2= gcnew RollingPointPairList (10000);

RollingPointPairList ^list3= gcnew RollingPointPairList (10000);

// Выводим пустые линии графиков на экран

LineItem ^F1Curve = myPane->AddCurve( «Функция f(x)», list1, Color::Blue, SymbolType::None);

LineItem ^F2Curve = myPane->AddCurve( «Функция g(x)», list2, Color::Red, SymbolType::None);

LineItem ^F3Curve = myPane->AddCurve( «Функция h(x)», list3, Color::Green, SymbolType::None);

// Ширина линии

F1Curve->Line->Width=2;

F2Curve->Line->Width=2;

F3Curve->Line->Width=2;

// Задаем что линии гладкии

F1Curve->Line->IsSmooth=true;

F2Curve->Line->IsSmooth=true;

F3Curve->Line->IsSmooth=true;

// Обновлем данные об осях

zedGraphControl1->AxisChange ();

// Обновляем график

zedGraphControl1->Invalidate();

}

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

На первом этапе используем функцию SystemStringToChar, которая преобразовывает введенную строку типа String к строке типа Char.

/ Функция преобразования строки типа String в тип char, так как класс разбора работает только с Сhar

public:* SystemStringToChar(System::String^ string)

{

//возвращает значение ввиде Сhar (char*)(void*)System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(string);

}

На втором этапе используем класс разбора Expression, который разбирает строку типа Char и осуществляет расчёт значения.

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

class Expression

{:

struct sintElem {

char lexeme;

double number;

};

double * numArray;

sintElem* walkthroughArray;/*Массив в котором хранятся результаты предразбора строки.

Признаком конца такого массива является walkthroughArray[i].lexeme == 127*/

sintElem* start;/*Хранит ссылку на первый элемент массива walkthroughArray

чтобы восстановить её после исполнения вычислительной части*/

//Функции конструктора. Подробные коментарии указаны в теле функций.

/*Функции хранящиеся в файле ArifmometrSortSigment.

Комплекс функций необходим для сортировки в польскую нотацию*/

void   sortPoland  (sintElem*       );

void   recursionMain (sintElem*,short&,short&);

void   recursionPlus (sintElem*,short&,short&);

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

void   recursionMult (sintElem*,short&,short&);

void   recursionPow (sintElem*,short&,short&);

void   recursionUnary(sintElem*,short&,short&);

/*Функции хранящиеся в файле ArifmometrPreparationSigment.

Комплекс функция необходимых для полготовки строки к сортировке в польскую нотацию*/

void   sintAdaptation  (char*         );

double  setPoint     (double, short     );

static char*   addMult     (char*         );

sintElem* setArray     (char*         );

static void addCode    (char*         );

static inline bool isNumber(char);

static inline bool isLetter(char);

static inline char* argTest(char*);

static inline bool isUnary(char);

sintElem doIt(char,sintElem);

sintElem doIt(char,sintElem,sintElem);

static bool isOperation(char);

unsigned operatorCount(sintElem*);

void delElements(sintElem*, unsigned);:

Expression();

Expression(const Expression&);

Expression(char*);

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

Expression(const std::string&);

Expression& rebild(const std::string&);

Expression& rebild(const char*);

~Expression(void);

static bool isExp(const std::string&);

static bool isExp(const char*);

//Функции выдающие результат вычисления

double calculate ();

double calculate (double);

double calculate (double,double);

Expression& optimization ();

};

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

// Функция построения графиков

public:

void Graw_Draw (void)

{

// Объявляем переменные, которые указывают диапазон значений X

double min_x = System::Convert::ToDouble(textBox_x1->Text);max_x = System::Convert::ToDouble(textBox_x2->Text);

// Построение первого графика

if(textBox11->Text != «»)

{

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

// Преобразование строки типа String к типу Сhar

char *stroka1 = SystemStringToChar(textBox11->Text);

// Получаем линии от графиков

LineItem ^F1Curve=(LineItem ^)zedGraphControl1->GraphPane->CurveList[0];

IPointListEdit ^list1= (IPointListEdit ^) F1Curve->Points;

if(Expression::isExp(stroka1) == true)

{

// Вызов функции, которая разбирает строку типа Сhar, преобразуя ее в математическое выражение

Expression exp(stroka1);

for (double x =min_x; x <= max_x; x = x+0.01)

list1->Add(((double)(x)), exp.calculate(x));

}

else

MessageBox::Show(«Не верный ввод даных»,»Ошибка»,   MessageBoxButtons::OK);}

Для сохранения графиков используем метод компонента ZedGraph.

// Сохранение графика в файл

zedGraphControl1->SaveAsBitmap ();

Этот метод позволяет сохранить график в файле в следующих форматах: png, gif, jpg, tif, bmp.

4.      Тестирование

Конечным этапом создания программного продукта является его тестирование и отладка. В ходе тестирования программы выявляются все ее недостатки и особенности работы. Обнаруженные недостатки устраняются в ходе отладки.

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

Рисунок 2 — Тестирующее приложение. Главное окно.

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

Рисунок 3 — Тестирующее приложение. Ввод выражения с помощью клавиатуры и построение графика.

Рисунок 4 — Тестирующее приложение. Очистка области построения графика.

Рисунок 5 — Тестирующее приложение. Ввод выражения с помощью мастера функций.

Рисунок 6 — Тестирующее приложение. Построение графиков функций.

Рисунок 7 — Тестирующее приложение. Изменение диапазона значений x. Рисование сетки.

Рисунок 7 — Тестирующее приложение. Сохранение графиков в файле.

Рисунок 8 — Тестирующее приложение. Некорректный ввод выражения.

Рисунок 9 — Тестирующее приложение. Построение прерывных функций.

Рисунок 10 — Тестирующее приложение. Выход из программы.

Результат тестирования: в ходе тестирования программы недостатков, влияющих на правильную работу приложения, не выявлено.

Недочетом данной программы является построение прерывных функций, так как вместе с графиком происходит построения вертикальных асимптот. Это связано с тем, что выбранный компонент ZedGraph не предусматривает возможности построения прерывных функций.

Листинг тестирующего приложения предложен в Приложении В.

Данная программа тестировалась на компьютере следующей конфигурации:

1.      Процессор Intel(R) Core(TM) i5 CPU

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

2.      ОЗУ 4.00 ГБ

.        ОС Microsoft Windows 7 Ultimate 32-разрядная

5.      Руковдство по програмному продукту   .1 Руководство программиста

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

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

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

// Добавляем информацию по регистрам вывода точек

RollingPointPairList ^list1= gcnew RollingPointPairList (10000);^list2= gcnew RollingPointPairList (10000);^list3= gcnew RollingPointPairList (10000);

// Выводим пустые линии графиков на экран^F1Curve = myPane->AddCurve( «Функция f(x)», list1, Color::Blue, SymbolType::None);^F2Curve = myPane->AddCurve( «Функция g(x)», list2, Color::Red, SymbolType::None);^F3Curve = myPane->AddCurve( «Функция h(x)», list3, Color::Green, SymbolType::None);

Для разбора введенной строки используется класс Expression.

Описание и определения класса находятся в заголовочный файле Expression.h и в файле исходного кода Expression.cpp.

Производной от главной формы является форма Form2.h. Главной задачей этой формы является ввод необходимого выражения с помощью заданный математических функций и передача его в один из textbox главной формы.

// Открытие Form2::Windows::Forms::DialogResult dr;^newDlg = gcnew Form2();: dr = newDlg->ShowDialog();

// Условия выбора пользователем, в какой textBox будет введено выражение

if (newDlg->radioButton1->Checked)

{(newDlg->textBox1->Text != «»)

textBox11->Text = newDlg->textBox1->Text;

}

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

(newDlg->radioButton2->Checked)

{

if (newDlg->textBox1->Text != «»)

textBox22->Text = newDlg->textBox1->Text;

}(newDlg->radioButton3->Checked)

{

if (newDlg->textBox1->Text != «»)

textBox33->Text = newDlg->textBox1->Text;

} 5.2 Руководство администратора

приложение математический программа

Программа «Генератор математических функций» предназначена для построения графиков функций по заданному выражению. Программа была разработана в интегрированной среде программирования Microsoft Visual Studio 2010. Приложение состоит из исполнимого модуля Zed.exe, файла главной формы Form1.cs и формы мастера функций Form2.cs. Описание и определения класса, используемого в программе для разбора выражения находится в файлах Expression (.h и .cpp файлы).

Изменение и усовершенствование программы можно проводить в Visual Studio 2010 (ранние версии не поддерживаются, в связи с изменением структуры хранения приложений). Для открытия исходного кода, надо открыть файл решения zed.sln. И далее выбрать нужный файл кода для просмотра.

Данная программа тестировалась на компьютере следующей конфигурации:

1.    Процессор Intel(R) Core(TM) i5 CPU

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

2.    ОЗУ 4.00 ГБ

3.      ОС Microsoft Windows 7 Ultimate 32-разрядная

Почти все современные компьютеры удовлетворяют данным требованиям.   5.3 Руководство пользователя

Для запуска приложения нужно открыть файл zed.exe. После этого появится главная форма программы.

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

Построенные графики можно сохранить в файле в форматах: png, gif, jpg, tif, bmp.

Рекомендуемые требования к компьтеру:

ЦП x86 или x64 с тактовой частотой 1ГГц

Объем оперативной памяти 1 Гб

Графический процессор с поддержкой DirectX 9 и 128 МБ памяти.

Windows 7/Vista

.NET FrameWork 4.0

Требования составлялись на основе требования ОС Windows 7, т.к. программа предназначена для работы в этой ОС.
Заключение

В данной работе были углублены знания, полученные в ходе лекционных и практических занятий. Получены навыки самостоятельной работы по формализации поставленной задачи, программированию, тестированию и отладке задач на ПЭВМ. Получены базовые навыки при разработке объектно-ориентированных программ. Разработана программа «Генератор математических функций».

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

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

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

1.      Павловская Т.А. С/С++. Программирование на языке высокого уровня. — СПб.: Лидер, 2010. — 461с.

.        Библиотека MSDN msdn.microsoft.com.

.        Хортон А. Visual C++: базовый курс.: пер. с англ.- М.: ООО «И.Д. Вильямс», 2014 — 1152 с., ил.

Приложение А. Класс разбора математических функций

Expression.h

#ifndef EXPRESSION_H

#define EXPRESSION_H

#include

#include

#include

#pragma onceExpression

{:

struct sintElem {

char lexeme;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

double number;

};

double * numArray;

sintElem* walkthroughArray;/*Массив в котором хранятся результаты предразбора строки.

sintElem* start;/*Хранит ссылку на первый элемент массива walkthroughArray

чтобы восстановить её после исполнения вычислительной части*/

//Функции конструктора. Подробные коментарии указаны в теле функций.

/*Функции хранящиеся в файле ArifmometrSortSigment.

Комплекс функций необходим для сортировки в польскую нотацию*/

void   sortPoland  (sintElem*       );

void   recursionMain (sintElem*,short&,short&);

void   recursionPlus (sintElem*,short&,short&);

void   recursionMult (sintElem*,short&,short&);

void   recursionPow (sintElem*,short&,short&);

void   recursionUnary(sintElem*,short&,short&);

/*Функции хранящиеся в файле ArifmometrPreparationSigment.

Комплекс функция необходимых для полготовки строки к сортировке в польскую нотацию*/

void   sintAdaptation  (char*         );

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

double  setPoint     (double, short     );

static char*   addMult     (char*         );

sintElem* setArray     (char*         );

static void addCode    (char*         );

static inline bool isNumber(char);

static inline bool isLetter(char);

static inline char* argTest(char*);

static inline bool isUnary(char);

sintElem doIt(char,sintElem);

sintElem doIt(char,sintElem,sintElem);

static bool isOperation(char);

unsigned operatorCount(sintElem*);

void delElements(sintElem*, unsigned);:

Expression();

Expression(const Expression&);

Expression(char*);

Expression(const std::string&);

Expression& rebild(const std::string&);

Expression& rebild(const char*);

~Expression(void);

static bool isExp(const std::string&);

static bool isExp(const char*);

//Функции выдающие результат вычисления

double calculate ();

double calculate (double);

double calculate (double,double);

Expression& optimization ();

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

};

#endif // EXPRESSION_H.cpp

#include «stdafx.h»

#include

#include «Expression.h»

#include ::Expression()

: walkthroughArray(0)

, numArray(0)

{

rebild(«0»);

}::Expression(char* expression)

: walkthroughArray(0)

, numArray(0)

{

rebild(expression);

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

}::Expression(const std::string& expression)

: walkthroughArray(0)

, numArray(0)

{

rebild(expression.c_str());

}::Expression(const Expression& copy)

{

size_t sizeOfArr = 0;

while(copy.walkthroughArray[sizeOfArr].lexeme != 127)

++sizeOfArr;

walkthroughArray = new sintElem [sizeOfArr + 1];

for(size_t i = 0; i != sizeOfArr; ++i)

walkthroughArray[i] = copy.walkthroughArray[i];

walkthroughArray[sizeOfArr].lexeme = 127;

size_t i = 0,

numbersCount = 0;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

while(walkthroughArray[i].lexeme != 127){

if(walkthroughArray[i].lexeme == ‘x’ || walkthroughArray[i].lexeme == ‘y’ || !walkthroughArray[i].lexeme)

++numbersCount;

++i;

}

numArray = new double[numbersCount + 1];

}::~Expression(void)

{

delete[] walkthroughArray;

delete[] numArray;

}Expression::calculate(){

return calculate(0,0);

}Expression::calculate(double x){

return calculate(x,0);

}Expression::calculate(double x, double y){

start = walkthroughArray;

while((*walkthroughArray).lexeme != 127) {

switch ((*walkthroughArray).lexeme) {

case 0:

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

*++numArray = (*walkthroughArray).number;

break;

case ‘+’:/*Существует мнение что комутативные операции

могут выполнятся на разных платформах в разном

порядке поэтому дикримент перенесен в левую часть равенства*/

*(numArray— — 1) += *numArray;

break;

case ‘*’:

*(numArray— — 1) *= *numArray;

break;

case ‘-‘:

*(numArray— — 1) -= *numArray;

break;

case ‘%’:

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

*numArray *= -1;

break;

case ‘/’:

*(numArray— — 1) /= *numArray;

break;

case ‘^’:case -121:

*(numArray— — 1) = pow(*(numArray-1),*numArray);

break;

case ‘x’:

*++numArray = x;

break;

case ‘y’:

*++numArray = y;

break;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

case -128:

*numArray = sin(*numArray);

break;

case -127:

*numArray = cos(*numArray);

break;

case -126:

*numArray = tan(*numArray);

break;

case -125:

*numArray = 1 / tan(*numArray);

break;

case -124:

*(numArray— — 1) = log(*(numArray-1))/log(*numArray);

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

break;

case -123:

*numArray = log10(*numArray);

break;

case -122:

*numArray = log(*numArray);

break;

case -120:

*numArray = pow(*numArray,0.5);

break;

case -119:

*numArray *= *numArray;

break;

case -118:

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

*numArray *= *numArray>0?1:-1;

break;

case -117:

*numArray = asin(*numArray);

break;

case -116:

*numArray = acos(*numArray);

break;

case -115:

*numArray = atan(*numArray);

break;

case -114:

*numArray = atan(1 / *numArray);

break;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

case -113:

*numArray = sinh(*numArray);

break;

case -112:

*numArray = cosh(*numArray);

break;

}

//std::cout << *numArray << ‘n’;

++walkthroughArray;

}

—numArray;

walkthroughArray = start;

return numArray[1];

}& Expression::rebild(const std::string& st) { return rebild(st.c_str()); }& Expression::rebild(const char* expression)

{

delete[] walkthroughArray;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

delete[] numArray;

//Переписываем содежимое строки expression в sourseString

int len = strlen(expression);

char* sourseString = new char[len *3];//Выражение, как правило, не длинное а нам пригодится память вовремя разбора. к тому же она будет очищена сразу после создания объекта

for (int i = 0, j = 0; i < len; ++i)

sourseString[j++] = expression[i];

sourseString[len] = 0;

sintAdaptation(sourseString);//Делает строку регистронезависимой, удаляет пробелы/’t’/’n’, приводит скобочки к однообразию

addCode(sourseString);//Заменяет ссылки на функции символами от -128 для удобства дальнейшего анализа

addMult(sourseString);//Добавляет * и 0 для реализации унарного минуса. Функции объеденены по историческим причинам.

sortPoland(setArray(sourseString));/*При вызове преобразует строку в массив sintElem и высылает его для

сортировки в польскую нотацию*/

short i = 0,

numbersCount = 0,

opCount = 1;

while (walkthroughArray[i].lexeme != 127){

if (walkthroughArray[i].lexeme == ‘x’ || walkthroughArray[i].lexeme == ‘y’ || !walkthroughArray[i].lexeme)

++numbersCount;//Посчитать максимально возможное количество чисел в стеке(тоесть все числа вобще)

else

opCount += !isUnary(walkthroughArray[i].lexeme);

++i;

}

//qDebug() << opCount << ‘<‘ << numbersCount;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

if (opCount > numbersCount)

{

//qDebug() << «fuck»;

delete[] walkthroughArray;

delete[] numArray;

walkthroughArray = new sintElem[2];

walkthroughArray->number = walkthroughArray->lexeme = 0;

(walkthroughArray + 1)->lexeme = 127;

numArray = new double[1];

*numArray = 0.;

}

numArray = new double[numbersCount + 1];//1 лишний элемент нужен для оптимизации алгаритма вычисления

//std::cout << «объект создан.n»;

return *this;

}strlen(char* st){

/*Так как функция из библиотеки выдаёт ворнинг я её переписал*/

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

char* len = st;

while (*len) ++len;

return len — st;

}Expression::sintAdaptation (char* st){

int i = -1, j = 0;

while(st[++i])//Регистронезависимость и приведение скобочек к единообразию

if(st[i] >= ‘A’ && st[i] <= ‘Z’)

st[i] -= ‘A’ — ‘a’;

else if(st[i] == ‘{‘ || st[i] == ‘[‘)

st[i] = ‘(‘;

else if(st[i] == ‘}’ || st[i] == ‘]’)

st[i] = ‘)’;

i = 0;

while(st[i — 1])//Убираю пробелы, символы табуляции и переноса строки

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

{

while(st[i] && ( st[i] == ‘ ‘ || st[i] == ‘n’ || st[i] == ‘t’))

++i;

st[j] = st[i];

++j;

++i;

}

i = j = 0;

while(st[i — 1])//Убираю унарные плюсы

{

while(st[i] && st[i] == ‘+’ && ( !i || st[i — 1] != ‘)’ && !isNumber(st[i — 1]) ) )

++i;

st[j] = st[i];

++j;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

++i;

}

}Expression::addCode (char* st)

{

int j,i=0;

while(st[i+3])

{

if(st[i]==’s’&&st[i+1]==’i’&&st[i+2]==’n’)

{

st[i]=-128;

j=i+1;

while(st[j+1])

st[j]=st[j+++2];

}

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

else if(st[i]==’c’&&st[i+1]==’o’&&st[i+2]==’s’)

{

st[i]=-127;

j=i+1;

while(st[j+1])

st[j]=st[j+++2];

}

else if(st[i]==’t’&&st[i+1]==’g’)

{

st[i]=-126;

j=i+1;

while(st[j])

st[j]=st[j+++1];

}

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

else if(st[i]==’c’&&st[i+1]==’t’&&st[i+2]==’g’)

{

st[i]=-125;

j=i+1;

while(st[j+1])

st[j]=st[j+++2];

}

else if(st[i]==’l’&&st[i+1]==’o’&&st[i+2]==’g’)

{

st[i]=-124;

j=i+1;

while(st[j+1])

st[j]=st[j+++2];

}

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

else if(st[i]==’l’&&st[i+1]==’g’)

{

st[i]=-123;

j=i+1;

while(st[j])

st[j]=st[j+++1];

}

else if(st[i]==’l’&&st[i+1]==’n’)

{

st[i]=-122;

j=i+1;

while(st[j])

st[j]=st[j+++1];

}

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

else if(st[i]==’p’&&st[i+1]==’o’&&st[i+2]==’w’)

{

st[i]=-121;

j=i+1;

while(st[j+1])

st[j]=st[j+++2];

}

else if(st[i]==’s’&&st[i+1]==’q’&&st[i+2]==’r’&&st[i+3]==’t’)

{

st[i]=-120;

j=i+1;

while(st[j+2])

st[j]=st[j+++3];

}

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

else if(st[i]==’s’&&st[i+1]==’q’&&st[i+2]==’r’)

{

st[i]=-119;

j=i+1;

while(st[j+1])

st[j]=st[j+++2];

}

else if(st[i]==’a’&&st[i+1]==’b’&&st[i+2]==’s’)

{

st[i]=-118;

j=i+1;

while(st[j+1])

st[j] = st[j+++2];

}

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

else if(st[i+4] && st[i+5])

if(st[i]==’a’&&st[i+1]==’r’&&st[i+2]==’c’&&st[i+3]==’s’&&st[i+4]==’i’&&st[i+5]==’n’){

st[i]=-117;

j=i+1;

while(st[j+4])

st[j] = st[j++ + 5];

}

else if(st[i]==’a’&&st[i+1]==’r’&&st[i+2]==’c’&&st[i+3]==’c’&&st[i+4]==’o’&&st[i+5]==’s’){

st[i]=-116;

j=i+1;

while(st[j+4])

st[j] = st[j++ + 5];

}

else if(st[i]==’a’&&st[i+1]==’r’&&st[i+2]==’c’&&st[i+3]==’t’&&st[i+4]==’g’){

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

st[i]=-115;

j=i+1;

while(st[j+3])

st[j] = st[j++ + 4];

}

else if(st[i]==’a’&&st[i+1]==’r’&&st[i+2]==’c’&&st[i+3]==’c’&&st[i+4]==’t’&&st[i+5]==’g’){

st[i]=-114;

j=i+1;

st[j] = st[j++ + 5];

}

else if(st[i]==’s’&&st[i+1]==’i’&&st[i+2]==’n’&&st[i+3]==’h’)

{

st[i]=-113;

j=i+1;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

while(st[j+2])

st[j]=st[j+++3];

}

else if(st[i]==’c’&&st[i+1]==’o’&&st[i+2]==’s’&&st[i+3]==’h’)

{

st[i]=-112;

j=i+1;

while(st[j+2])

st[j]=st[j+++3];

}

i++;

}

}* Expression::addMult (char* st)

/*Добавляет в анализируемую строку *. Ввиду сложности условвие срабатывания расписано в несколько строк

Функция не предназначена для полного решения вопроса а только помогает упростить ввод данных*/

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

{

int strLen = strlen(st),//Хрнаит длину строки изменяемую функцией!

i = 0,          //Глобальный бегунок

j;       //Бегунок используемый при добавлении ‘*’!

while (st[i]){

if (

(

((st[i]>47&&st[i]<58)||(st[i-1]==’p’&&st[i]==’i’)||st[i]==’e’||st[i]==’x’||st[i]==’y’||st[i]==’)’)

&&

(st[i+1]=='(‘ || st[i+1]<=-100 || st[i+1]==’e’ || st[i+1]==’p’&&st[i+2]==’i’ || st[i+1] ==’x’ || st[i+1] == ‘y’)

)/*Если справа число или переменная или ) а слева (, x, pi, e или функция*/

||

(

((st[i-1]==’p’&&st[i]==’i’)||st[i]==’e’||st[i]==’x’||st[i]==’y’||st[i]==’)’)

&&

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

( st[i+1]>=’0′ && st[i+1]<=’9′ )

)

)//Если нужно добавить *. Хоть и здоровенный но выносить в функцию не стал. Решил что не круто.

{

++strLen;

j=strLen;

st[j]=0;

while(i+1 != j)

{

—j;

st[j+1] = st[j];

}

st[j]=’*’;

}

++i;

}

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

//qDebug() << «theroes added $» << st << «$»;

return st;

}Expression::setPoint (double arg, short del)

{

while(del—)

arg /= 10;

return arg;

}::sintElem* Expression::setArray (char* st)

/*

Преобразует строку в массив элементов следующего вида:

Каждый элемент имеет переменную lexeme типа char хранящую все лексэмы,

если же встречается число то оно записывается в переменную number типа double.

ВНИМАНИЕ! Признаком конца такого массива является выполнение равенства lexeme == 127

Воспринимает упоминания pi и e как чисел что делает невозможной экоспоненциальную форму записи числа в классическом виде.

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

если необходимо записать число в экспоненциальной форме пользуйтесь функцией pow,

анализатор оптимизирован для исполненя этой функции и упрощает алгоритм если

необходимо возвести в целую степень!

В анализаторе не предусмотрены методы позволяющие использовать не десятиричную форму представления чисел.

*/

{

int i=0;//Бегунок символьного массива

//Обозначаем унарную операцию заменив ‘-‘ на ‘%’

if(*st == ‘-‘)

*st = ‘%’;

while(st[i++])

if(st[i-1] == ‘(‘ && st[i]==’-‘ && st[i+1]!='(‘ || (st[i-1] == ‘*’ || st[i-1] == ‘/’ || st[i-1] == ‘+’ || st[i-1] == ‘-‘ || st[i-1] == ‘^’) && st[i] == ‘-‘)

st[i] = ‘%’;

int elKol=0;//Хранит количество элементов после завершения первого корневого цикла while

//Подсчитываем количество элементов чтобы выделить память. Выделяем память.

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

i=0;

while(st[i]){

//if(st[i] == ‘%’ && st[i+1] == ‘p’ && st[i+2] == ‘i’)

//—elKol;//Если это вобще унарный минус перед пи

while((st[i] >= ‘0’ && st[i] <= ‘9’ || st[i] == ‘.’ || st[i] == ‘%’) && (st[i+1] >= ‘0’ && st[i+1] <= ‘9’ || st[i+1] == ‘.’ || st[i+1] == ‘p’ || st[i+1] == ‘e’))

++i;//Если текущий и следующий символы — части числа

if(st[i] == ‘p’ && st[i+1] == ‘i’)

++i;//Чтобы пи за 2 элемента не считать и включить унарный минус.

++elKol;

++i;

}

sintElem* firstAnalysisArray = new sintElem [elKol + 1];//Плюс место под признак конца масива

//Цикл основного анализа

i=0;

int point = 0,    //Хранит количество знаков в числе после запятой.

j = 0,      //Бегунок нового масива

det = 1;     //Коэффициент учёта унарного минуса

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

bool isFigure = false;//Признак указывающий на то что до этого было число

while(st[i])

{

if(st[i]>=’0’&&st[i]<=’9′)

if(point)//Если это число после запятой

firstAnalysisArray[j].number += setPoint(st[i] — ‘0’,point++);

else if(isFigure){//Если не первая цифра числа

firstAnalysisArray[j].number *= 10;

firstAnalysisArray[j].number += st[i] — ‘0’;

}

else{//Если это первая цифра в числе

firstAnalysisArray[j].lexeme = 0;//Фикссируем что это число

firstAnalysisArray[j].number = st[i] — ‘0’;

isFigure = true;

if(i && st[i-1] == ‘%’)//Если унарная операция

det=-1;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

}

else if(st[i]==’.’)

{

point=1;

if(!isFigure)

{

isFigure = true;

firstAnalysisArray[j].lexeme = 0;//Фикссируем что это число

firstAnalysisArray[j].number = 0.;

if(i && st[i-1] == ‘%’)//Если унарная операция

det=-1;

}

}

else if(st[i]==’e’){

if(i && st[i — 1] == ‘%’)

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

det = -1;

firstAnalysisArray[j].lexeme = 0;

firstAnalysisArray[j++].number = 2.718281828459045235360287471352662497757 * det;

det = 1;

}

else if(st[i]==’p’&&st[i+1]==’i’){

if(i && st[i — 1] == ‘%’)

det=-1;

firstAnalysisArray[j].lexeme = 0;

firstAnalysisArray[j++].number = 3.141592653589793238462643383279502884197 * det;

det=1;//Занулить данные если раньше было число(рудиментарная форма защиты от ошибок)

++i;//отработано сразу два символа

}

else if(isFigure){

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

firstAnalysisArray[j++].number *= det;

firstAnalysisArray[j++].lexeme = st[i];

det = 1;

point = isFigure = 0;

}

else if(st[i] != ‘%’ || st[i + 1] != ‘p’ && st[i + 1] != ‘e’ && ( st[i + 1] < ‘0’ || st[i + 1] > ‘9’ ) && st[i] != ‘.’ )

firstAnalysisArray[j++].lexeme = st[i];

++i;

}

if(isFigure)

firstAnalysisArray[j].number *= det;

delete[] st;

firstAnalysisArray[elKol].lexeme = 127;//Записываем признак конца масcива

return firstAnalysisArray;

}Expression::recursionPlus (Expression::sintElem* sourseArray, short &i, short &j){

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

/*В случае +- мы ищем следующий +- или конец масива.

Рекурсия нужна чтобы всё остальное было полностью независимо*/

while(sourseArray[i].lexeme != ‘+’ && sourseArray[i].lexeme != ‘-‘ && sourseArray[i].lexeme != 127){

if(!sourseArray[i].lexeme || sourseArray[i].lexeme == ‘x’ || sourseArray[i].lexeme == ‘y’)

walkthroughArray[j++] = sourseArray[i++];

else if(sourseArray[i].lexeme == ‘+’ || sourseArray[i].lexeme == ‘-‘ || sourseArray[i].lexeme == ‘*’ || sourseArray[i].lexeme == ‘/’ || sourseArray[i].lexeme == ‘^’ || sourseArray[i].lexeme < -100 || sourseArray[i].lexeme == ‘%’){

sintElem cnt = sourseArray[i];

switch(cnt.lexeme)

{

case’*’:case’/’:

recursionMult (sourseArray,++i,j);

break;

case’^’:

recursionPow (sourseArray,++i,j);

break;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

case’%’:

recursionUnary(sourseArray,++i,j);

break;

default:

recursionMain (sourseArray,++(++i),j);

while(sourseArray[i].lexeme == ‘,’)

recursionMain(sourseArray,++i,j);

++i;

}

walkthroughArray[j++] = cnt;

}

else if(sourseArray[i].lexeme == ‘(‘){

recursionMain(sourseArray,++i,j);

++i;

}

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

else if(sourseArray[i].lexeme == ‘)’ || sourseArray[i].lexeme == ‘,’)

return;

}

}Expression::recursionMult (Expression::sintElem* sourseArray, short &i, short &j){

//В случае /* мы ищем следующий /*-+ или конец масива

while(!sourseArray[i].lexeme || sourseArray[i].lexeme == ‘^’ || sourseArray[i].lexeme == ‘%’ || sourseArray[i].lexeme == ‘x’ || sourseArray[i].lexeme == ‘y’ || sourseArray[i].lexeme == ‘(‘ || sourseArray[i].lexeme < -100){

if(!sourseArray[i].lexeme || sourseArray[i].lexeme == ‘x’ || sourseArray[i].lexeme == ‘y’)

walkthroughArray[j++] = sourseArray[i++];

else if(sourseArray[i].lexeme == ‘^’ || sourseArray[i].lexeme < -100 || sourseArray[i].lexeme == ‘%’ ){

sintElem cnt = sourseArray[i];

switch(cnt.lexeme)

{

case ‘^’://свич уже вырожден в 2 исхода потому заменяется на if

recursionPow (sourseArray,++i,j);

break;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

case ‘%’:

recursionUnary(sourseArray,++i,j);

break;

default:

recursionMain (sourseArray,++(++i),j);

while(sourseArray[i].lexeme == ‘,’)

recursionMain(sourseArray,++i,j);

++i;

}

walkthroughArray[j++] = cnt;

}

else if(sourseArray[i].lexeme == ‘(‘){

recursionMain(sourseArray,++i,j);

++i;

}

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

else if(sourseArray[i].lexeme == ‘)’ || sourseArray[i].lexeme == ‘,’)

return;

}

}Expression::recursionPow (Expression::sintElem* sourseArray, short &i, short &j){

//В случае ^ нам только и нужно что выписать содержимое идущих далее скобок или одно число

if(!sourseArray[i].lexeme || sourseArray[i].lexeme == ‘x’ || sourseArray[i].lexeme == ‘y’)

walkthroughArray[j++] = sourseArray[i++];

else if(sourseArray[i].lexeme < -100 || sourseArray[i].lexeme == ‘%’){//Это может быть только функция

sintElem cnt = sourseArray[i];

if(sourseArray[i].lexeme == ‘%’){

recursionUnary(sourseArray,++i,j);

}

else

{

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

recursionMain (sourseArray,++(++i),j);

while(sourseArray[i].lexeme == ‘,’)

recursionMain(sourseArray,++i,j);

++i;//В конце стоит скобочка которую мы пропустили ++(++i) вызывая функцию

}

walkthroughArray[j++] = cnt;

}

else if(sourseArray[i].lexeme == ‘(‘){

recursionMain(sourseArray,++i,j);

++i;

}

}Expression::recursionUnary(Expression::sintElem* sourseArray, short &i, short &j){

//В случае % нам только и нужно что выписать содержимое идущих далее скобок или одно число

if(!sourseArray[i].lexeme || sourseArray[i].lexeme == ‘x’ || sourseArray[i].lexeme == ‘y’)

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

walkthroughArray[j++] = sourseArray[i++];

else if(sourseArray[i].lexeme < -100){//Это может быть только функция

sintElem cnt = sourseArray[i];

recursionMain(sourseArray,++(++i),j);

while(sourseArray[i].lexeme == ‘,’)

recursionMain(sourseArray,++i,j);

++i;//В конце стоит скобочка которую мы пропустили ++(++i) вызывая функцию

walkthroughArray[j++] = cnt;

}

else if(sourseArray[i].lexeme == ‘(‘){

recursionMain(sourseArray,++i,j);

++i;

}

}Expression::recursionMain (Expression::sintElem* sourseArray,short&i,short&j){

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

while(sourseArray[i].lexeme != 127){

if(!sourseArray[i].lexeme || sourseArray[i].lexeme == ‘x’ || sourseArray[i].lexeme == ‘y’)

walkthroughArray[j++] = sourseArray[i++];

else if(sourseArray[i].lexeme == ‘+’ || sourseArray[i].lexeme == ‘-‘ || sourseArray[i].lexeme == ‘*’ || sourseArray[i].lexeme == ‘/’ || sourseArray[i].lexeme == ‘^’ || sourseArray[i].lexeme < -100 || sourseArray[i].lexeme == ‘%’){

sintElem cnt = sourseArray[i];

switch(cnt.lexeme)

{//Для +-/*^ приходится писать рекурсивную функцию другого вида с другими условиями выхода

case’+’:case’-‘:

recursionPlus(sourseArray,++i,j);

break;

case’*’:case’/’:

recursionMult(sourseArray,++i,j);

break;

case’^’:

recursionPow (sourseArray,++i,j);

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

break;

case’%’:

recursionUnary (sourseArray,++i,j);

break;

default://Если это не операции +-/*^ значит это функция и за её кодом идут скобки -> ++(++i)

recursionMain(sourseArray,++(++i),j);

while(sourseArray[i].lexeme == ‘,’)

recursionMain(sourseArray,++i,j);

++i;//В конце стоит скобочка которую мы пропустили ++(++i) вызывая функцию

}

walkthroughArray[j++] = cnt;

}

else if(sourseArray[i].lexeme == ‘(‘){

recursionMain(sourseArray,++i,j);

++i;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

}

else if(sourseArray[i].lexeme == ‘)’ || sourseArray[i].lexeme == ‘,’)

return;

}

}Expression::sortPoland (sintElem* sourseArray)

{

short int elemQuantity = 0,//Колличество элементов в новом масиве

i = 0,      //Бегунок старого масива

j = 0;      //Бегунок нового масива

while(sourseArray[i].lexeme != 127)

if(sourseArray[i++].lexeme != ‘(‘ && sourseArray[i-1].lexeme != ‘)’ && sourseArray[i-1].lexeme != ‘,’)

++elemQuantity;

walkthroughArray = new sintElem [elemQuantity + 1];

i = 0;

recursionMain(sourseArray, i, j);//i и j педедаются по ссылке(!)

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

walkthroughArray[j].lexeme = 127;

}Expression::isExp(const std::string& str)

{

return isExp(str.c_str());

}Expression::isNumber(char s) { return s >= ‘0’ && s <= ‘9’ || s == ‘x’ || s == ‘y’; }Expression::isLetter(char s) { return s >= ‘a’ && s <= ‘z’; }Expression::isExp(const char* St)

{

int i = -1, j = 0;

char* st = new char [strlen(St) * 2];

while(St[++i])//Проверка на наличие посторонних символов

if(St[i] != ‘ ‘ && St[i] != ‘n’)

if(St[i] >= ‘A’ && St[i] <= ‘Z’)

st[j++] = St[i] — (‘A’ — ‘a’);

else if(isLetter(St[i]) || isNumber(St[i]) ||

St[i] == ‘*’ || St[i] == ‘/’ || St[i] == ‘+’ || St[i] == ‘-‘ ||

St[i] == ‘^’ || St[i] == ‘(‘ || St[i] == ‘)’ || St[i] == ‘,’ || St[i] == ‘.’)

st[j++] = St[i];

else if(St[i] == ‘}’ || St[i] == ‘]’)

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

st[j++] = ‘)’;

else if(St[i] == ‘{‘ || St[i] == ‘[‘)

st[j++] = ‘(‘;

else

{

delete[] st;

return !true && !false;

}

i = -1;

while(st[++i])

if(st[i] == ‘p’ && st[i + 1] == ‘i’)//Если это pi, заменить его на 77, чтобы в дальнейшем анализировать как число

{

st[i] = ‘7’;

st[++i] = ‘7’;

}

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

else if(st[i] == ‘e’ || st[i] == ‘x’ || st[i] ==’y’ )//если это e, y или x

st[i] = ‘2’;

st[j] = i = 0;

//std::cout << «Symbols is right.nFree string is «» << st << «»n»;

if(*st != 0 && ( *st != ‘+’ && *st != ‘-‘ && *st != ‘(‘ && !isNumber(*st) && !isLetter(*st) ) )//Проверка на порядок следования

{

delete[] st;

return !true && !false;

}

while(st[++i])

if( ( st[i] == ‘+’ || st[i] == ‘-‘ || st[i] == ‘/’ || st[i] == ‘*’ || st[i] == ‘^’ || st[i] == ‘(‘ || st[i] == ‘,’ ) &&

!isNumber(st[i + 1]) && !isLetter(st[i + 1]) && st[i + 1] != ‘(‘ && st[i + 1] != ‘-‘ && st[i + 1] != ‘+’

|| st[i] == ‘)’ &&

&& st[i + 1] != ‘)’ && st[i + 1] != ‘*’ && st[i + 1] != ‘/’ && st[i + 1] != ‘,’ && st[i + 1]

|| isLetter(st[i]) &&

( !st[i + 1] || !isLetter(st[i + 1]) && st[i + 1] != ‘(‘ ))

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

{

delete[] st;

return !true && !false;

}

//Тест последнего символа

—i;

if(st[i] != ‘)’ && ( st[i] < ‘0’ || st[i] > ‘9’ ) )

{

delete[] st;

return !true && !false;

}

//std::cout << «Sequence is right.n»;

//qDebug() << «()…»;

i = -1;

j = 0;

while(st[++i])//Проверка на скобочки

{

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

if(st[i] == ‘(‘)

++j;

else if(st[i] == ‘)’)

—j;

if( j < 0 )

{

delete[] st;

return !true && !false;

}

}

if(j)

{

delete[] st;

return !true && !false;

}

//std::cout << «Brackets is right.n»;

//qDebug() << «funk…»;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

addCode(st);

i = -1;

while(st[++i])

{

if(isLetter(st[i]))//Если есть неопознанные функции — символы не заменённые на экваваленты

{

//std::cout << st << std::endl;

delete[] st;

return !true && !false;

}

}

delete[] st;

return true;

}* Expression::argTest(char* st)

{

int j = !isUnary(*st);

++(++st);

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

int lBr = 1, rBr = 0;

while ( *st && lBr != rBr)

{

j -= *st == ‘,’;

lBr += *st == ‘(‘;

rBr += *st == ‘)’;

if (*st < -100)

{

st = argTest(st);

if (!st)

{

return 0;

}

}

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

++st;

}

if ( lBr != rBr || j )

{

return 0;

}

return ++st;

}Expression::isUnary(char s) { return s == ‘%’ || s < -100 && s != -124 && s != -121; }Expression::isOperation(char s) { return s && s != ‘x’ && s != ‘y’; }::sintElem Expression::doIt(char op, sintElem a)

{

//std::cout << op << a.number << std::endl;

sintElem ret;

ret.lexeme = 0;

switch (op)

{

case ‘%’:

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

ret.number = 0 — a.number;

break;

case -128:

ret.number = sin(a.number);

break;

case -127:

ret.number = cos(a.number);

break;

case -126:

ret.number = tan(a.number);

break;

case -125:

ret.number = 1 / tan(a.number);

break;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

case -123:

ret.number = log10(a.number);

break;

case -122:

ret.number = log(a.number);

break;

case -120:

ret.number = pow(a.number,0.5);

break;

case -119:

ret.number = a.number * a.number;

break;

case -118:

ret.number = *numArray>0 ? a.number : 0 — a.number;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

break;

case -117:

ret.number = asin(a.number);

break;

case -116:

ret.number = acos(a.number);

break;

case -115:

ret.number = atan(a.number);

break;

case -114:

ret.number = atan(1 / a.number);

break;

case -113:

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

ret.number = sinh(a.number);

break;

case -112:

ret.number = cosh(a.number);

break;

}

return ret;

}::sintElem Expression::doIt(char op, sintElem a, sintElem b)

{

//std::cout << a.number << op << b.number << std::endl;

sintElem ret;

ret.lexeme = 0;

switch (op)

{

case ‘+’:

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

ret.number = a.number + b.number;

break;

case ‘*’:

ret.number = a.number * b.number;

break;

case ‘-‘:

ret.number = a.number — b.number;

break;

case ‘/’:

ret.number = a.number / b.number;

break;

case ‘^’:case -121:

ret.number = pow(a.number, b.number);

break;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

case -124:

ret.number = log(a.number)/log(b.number);

break;

}

return ret;

}Expression::operatorCount(sintElem* op)

{

unsigned k = 1;

signed j = 0;

while(k)//проверку на достижение начала массива ставить не нужно, если мы предпологаем нотацию разрешаемой

k += isOperation(op[-++j].lexeme) ? !isUnary(op[-j].lexeme) : -1;//по моему это приведёс нас ко второму операнду

return j;

}Expression::delElements(sintElem* from, unsigned how)

{

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

for(unsigned i = 0; from[i + how — 1].lexeme != 127; ++i)

from[i] = from[i + how];

}& Expression::optimization()

{

unsigned counter = 0;

while(walkthroughArray[counter].lexeme != 127)

++counter;

sintElem* temp = new sintElem[counter + 1];

unsigned i = 0, j = 0;

while(walkthroughArray[i].lexeme != 127)

{

if(!walkthroughArray[i].lexeme || walkthroughArray[i].lexeme == ‘x’ || walkthroughArray[i].lexeme == ‘y’)

temp[j++] = walkthroughArray[i];

else

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

if(isUnary(walkthroughArray[i].lexeme))

if( !temp[j — 1].lexeme )

temp[j — 1] = doIt(walkthroughArray[i].lexeme, temp[j — 1]);

else

temp[j++] = walkthroughArray[i];

else

if( !temp[j — 1].lexeme && !temp[j — 2].lexeme )

temp[j — 1] = doIt(walkthroughArray[i].lexeme, temp[j — 1], temp[—j]);

else

temp[j++] = walkthroughArray[i];

++i;

}

temp[j].lexeme = 127;

i = j = 0;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

if(temp[1].lexeme != 127)

++(++i);//речь о бинарных операциях, нет смысла изучать что там раньше третьего знака.

while(temp[i].lexeme != 127)

{

switch(temp[i].lexeme)

{

case ‘*’:

if(!temp[i — 1].lexeme && temp[i — 1].number == 1)//правый операнд мы можем проверить сразу

{

delElements(temp + i — 1, 2);//убираем 1 и *

—(—i);

}

else if(!temp[i — 1].lexeme && temp[i — 1].number == 0)

{

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

temp[i].lexeme = 0;

temp[i].number = 0;//Чтобы не вызывать два удаления записываем 0 вместо *

j = operatorCount(temp + i — 1);//собираем второй операнд, удаляем его и *.

delElements(temp + i — j — 1, j + 1);

i -= j + 1;

}

else//иначе просто собираем всё что попадает в правый операнд

{

j = operatorCount(temp + i);

if(!temp[i — j — 1].lexeme && temp[i — j — 1].number == 1)

{//удаляем 1 и само умножение.

delElements(temp + i, 1);

delElements(temp + i — j — 1, 1);

—(—i);

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

}

else if(!temp[i — j — 1].lexeme && temp[i — j — 1].number == 0)

{

delElements(temp + i — j, j + 1);//удаляем всё кроме нуля

i -= j + 1;

}

}

break;

case ‘+’: case ‘-‘:

if(!temp[i — 1].lexeme && temp[i — 1].number == 0)

{

delElements(temp + i — 1, 2);

—(—i);

}

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

else

{

j = operatorCount(temp + i);

if(!temp[i — j — 1].lexeme && temp[i — j — 1].number == 0)

{

delElements(temp + i, 1);

delElements(temp + i — j — 1, 1);

—(—i);

}

}

break;

case ‘/’:

if(!temp[i — 1].lexeme && temp[i — 1].number == 1)

{

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

delElements(temp + i — 1, 2);

—(—i);

}

if(!temp[i — 1].lexeme && temp[i — 1].number == 0)

{

temp[i].lexeme = 0;

temp[i].number = 1;

j = operatorCount(temp + i — 1);

delElements(temp + i — j — 1, j + 1);

i -= j + 1;

}

else

{

j = operatorCount(temp + i);

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

if(!temp[i — j — 1].lexeme && temp[i — j — 1].number == 0)

{

delElements(temp + i — j, j + 1);

i -= j + 1;

}

}

break;

case ‘^’: case -121:

if(!temp[i — 1].lexeme && temp[i — 1].number == 1)

{

delElements(temp + i — 1, 2);

—(—i);

}

else

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

{

j = operatorCount(temp + i);

if(!temp[i — j — 1].lexeme && ( temp[i — j — 1].number == 0 || temp[i — j — 1].number == 1 ) )

{

delElements(temp + i — j, j + 1);

i -= j + 1;

}

}

break;

}

++i;

}

delete[] walkthroughArray;

walkthroughArray = temp;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

/*

std::cout << «Оптимизированная нотация:n»;

for(i = 0; walkthroughArray[i].lexeme != 127; ++i)

if(walkthroughArray[i].lexeme)

std::cout << walkthroughArray[i].lexeme << std::endl;

else

std::cout << walkthroughArray[i].number << std::endl;

//*/

return *this;

} Приложение Б. Листинг

Листинг Б.1 — Файл zed.cpp, запускающий программу

Form1.h

#pragma once

#include

#include «Form2.h»

#include «stdafx.h»zed {

using namespace System;

using namespace System::ComponentModel;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

using namespace System::Collections;

using namespace System::Windows::Forms;

using namespace System::Data;

using namespace System::Drawing;

using namespace ZedGraph;

public ref class Form1 : public System::Windows::Forms::Form

{

// Функция преобразования строки типа String в тип char, так как класс разбора работает только с Сhar

public:

char* SystemStringToChar(System::String^ string)

{

//возвращает значение ввиде Сhar

return (char*)(void*)System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(string);

}

// Функция преобразования компонента ZedGraph к необходимому виду

public:

void Load_Graw (void)

{

// Получим панель для рисования

ZedGraph::GraphPane ^myPane = zedGraphControl1->GraphPane;

// Очистим список кривых на тот случай, если до этого сигналы уже были нарисованы

myPane->CurveList->Clear();

myPane->GraphObjList->Clear();

//Запрет на самосогласования и выход за установленные границы

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

myPane->XAxis->Scale->MaxGrace=0;

myPane->XAxis->Scale->MinGrace=0;

myPane->YAxis->Scale->MaxGrace=0;

myPane->YAxis->Scale->MinGrace=0;

// Установим размеры шрифтов для подписей по осям

myPane->XAxis->Title->FontSpec->Size = 14;

myPane->YAxis->Title->FontSpec->Size = 14;

// Установим размеры шрифта для легенды

myPane->Legend->FontSpec->Size = 12;

// Установим размеры шрифта для общего заголовка

myPane->Title->FontSpec->FontColor=System::Drawing::Color::Black;

myPane->Title->Text = «Область постороения графиков»;

myPane->XAxis->Title->Text = «x»;

myPane->YAxis->Title->Text = «y»;

//Установка фона панели графиков (не рабочая часть)

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

myPane->Fill->Color=System::Drawing::Color::LightGray;

//Установка фона панели отображения графиков

myPane->Chart->Fill = gcnew Fill( Color::White, Color::White, 0 );

//Установка границы вывода графиков

myPane->Chart->Border->Color=System::Drawing::Color::Black;

// Устанавливаем интересующий нас интервал по оси X

myPane->XAxis->Scale->Min = -10;

myPane->XAxis->Scale->Max = 10;

//Ручная установка шага оси Х

myPane->XAxis->Scale->MinorStep = 1;

myPane->XAxis->Scale->MajorStep = 1;

// Устанавливаем интересующий нас интервал по оси Y

myPane->YAxis->Scale->Min = -10;

myPane->YAxis->Scale->Max = 10;

//Ручная установка шага оси Y

myPane->YAxis->Scale->MinorStep = 1;

myPane->YAxis->Scale->MajorStep = 1;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

//Устанавливаем метки только возле осей!

myPane->XAxis->MajorTic->IsOpposite = false;

myPane->XAxis->MinorTic->IsOpposite = false;

myPane->YAxis->MajorTic->IsOpposite = false;

myPane->YAxis->MinorTic->IsOpposite = false;

//Рисуем сетку по X

myPane->XAxis->MajorGrid->IsVisible=false;

myPane->XAxis->MajorGrid->DashOn=5;

myPane->XAxis->MajorGrid->DashOff=5;

myPane->XAxis->MajorGrid->Color=System::Drawing::Color::Gray;

myPane->XAxis->Color=System::Drawing::Color::Gray;

//Рисуем сетку по Y

myPane->YAxis->MajorGrid->IsVisible=false;

myPane->YAxis->MajorGrid->DashOn=5;

myPane->YAxis->MajorGrid->DashOff=5;

myPane->YAxis->MajorGrid->Color=System::Drawing::Color::Gray;

myPane->YAxis->Color=System::Drawing::Color::Gray;

//******************************************************************************

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

// Добавляем информацию по регистрам вывода точек

//******************************************************************************

RollingPointPairList ^list1= gcnew RollingPointPairList (10000);

RollingPointPairList ^list2= gcnew RollingPointPairList (10000);

RollingPointPairList ^list3= gcnew RollingPointPairList (10000);

// Выводим пустые линии графиков на экран

LineItem ^F1Curve = myPane->AddCurve( «Функция f(x)», list1, Color::Blue, SymbolType::None);

LineItem ^F2Curve = myPane->AddCurve( «Функция g(x)», list2, Color::Red, SymbolType::None);

LineItem ^F3Curve = myPane->AddCurve( «Функция h(x)», list3, Color::Green, SymbolType::None);

// Ширина линии

F1Curve->Line->Width=2;

F2Curve->Line->Width=2;

F3Curve->Line->Width=2;

// Задаем что линии гладкии

F1Curve->Line->IsSmooth=true;

F2Curve->Line->IsSmooth=true;

F3Curve->Line->IsSmooth=true;

// Обновлем данные об осях

zedGraphControl1->AxisChange ();

// Обновляем график

zedGraphControl1->Invalidate();

}

// Функция построения графиков

public:

void Graw_Draw (void)

{

// Объявляем переменные, которые указывают диапазон значений X

double min_x = System::Convert::ToDouble(textBox_x1->Text);

double max_x = System::Convert::ToDouble(textBox_x2->Text);

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

// Построение первого графика

if(textBox11->Text != «»)

{

// Преобразование строки типа String к типу Сhar

char *stroka1 = SystemStringToChar(textBox11->Text);

// Получаем линии от графиков

LineItem ^F1Curve=(LineItem ^)zedGraphControl1->GraphPane->CurveList[0];

IPointListEdit ^list1= (IPointListEdit ^) F1Curve->Points;

if(Expression::isExp(stroka1) == true)

{

// Вызов функции, которая разбирает строку типа Сhar, преобразуя ее в математическое выражение

Expression exp(stroka1);

for (double x =min_x; x <= max_x; x = x+0.01)

list1->Add(((double)(x)), exp.calculate(x));

}

else

MessageBox::Show(«Не верный ввод даных»,»Ошибка»,MessageBoxButtons::OK);

}

// Построение второго графика

if(textBox22->Text != «»)

{

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

// Преобразование строки типа String к типу Сhar

char *stroka2 = SystemStringToChar(textBox22->Text);

// Получаем линии от графиков

LineItem ^F2Curve=(LineItem ^)zedGraphControl1->GraphPane->CurveList[1];

IPointListEdit ^list2= (IPointListEdit ^) F2Curve->Points;

if(Expression::isExp(stroka2) == true)

{

// Вызов функции, которая разбирает строку типа Сhar, преобразуя ее в математическое выражение

Expression exp(stroka2);

for (double x =min_x; x <= max_x; x = x+0.01)

list2->Add(((double)(x)), exp.calculate(x));

}

else

MessageBox::Show(«Не верный ввод даных»,»Ошибка»,MessageBoxButtons::OK);

}

// Построение третьего графика

if(textBox33->Text != «»)

{

// Преобразование строки типа String к типу Сhar

char *stroka3 = SystemStringToChar(textBox33->Text);

// Получаем линии от графиков

LineItem ^F3Curve=(LineItem ^)zedGraphControl1->GraphPane->CurveList[2];

IPointListEdit ^list3= (IPointListEdit ^) F3Curve->Points;

if(Expression::isExp(stroka3) == true)

{

// Вызов функции, которая разбирает строку типа Сhar, преобразуя ее в математическое выражение

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

Expression exp(stroka3);

for (double x =min_x; x <= max_x; x = x+0.01)

list3->Add(((double)(x)), exp.calculate(x));

}

else

MessageBox::Show(«Не верный ввод даных»,»Ошибка»,MessageBoxButtons::OK);

}

// Обновлем данные об осях

zedGraphControl1->AxisChange ();

// Обновляем график

zedGraphControl1->Invalidate();

}

// Объявляем глобальные переменные, чтобы они запоминали значения в textBox_x1 и textBox_x2

double temp_x1, temp_x2;

public:

Form1(void)

{

InitializeComponent();

}

protected:

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

~Form1()

{

if (components)

{

delete components;

}

}

private: ZedGraph::ZedGraphControl^ zedGraphControl1;

private: System::Windows::Forms::Button^ button1;

private: System::Windows::Forms::Button^ button_master;

private: System::Windows::Forms::Button^ button_End;

private: System::Windows::Forms::TextBox^ textBox11;

private: System::Windows::Forms::Label^ label1;

private: System::Windows::Forms::Button^ button2;

private: System::Windows::Forms::Button^ button_save;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

private: System::Windows::Forms::TextBox^ textBox_x2;

private: System::Windows::Forms::Label^ label3;

private: System::Windows::Forms::TextBox^ textBox_x1;

private: System::Windows::Forms::Label^ label2;

private: System::Windows::Forms::CheckBox^ checkBox1;

private: System::Windows::Forms::Label^ label4;

private: System::Windows::Forms::TextBox^ textBox22;

private: System::Windows::Forms::Label^ label5;

private: System::Windows::Forms::TextBox^ textBox33;

private: System::Windows::Forms::ToolTip^ toolTip1;

private: System::ComponentModel::IContainer^ components;

#pragma region Windows Form Designer generated code

void InitializeComponent(void)

{

this->components = (gcnew System::ComponentModel::Container());

this->button1 = (gcnew System::Windows::Forms::Button());

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

this->zedGraphControl1 = (gcnew ZedGraph::ZedGraphControl());

this->button_master = (gcnew System::Windows::Forms::Button());

this->button_End = (gcnew System::Windows::Forms::Button());

this->textBox11 = (gcnew System::Windows::Forms::TextBox());

this->label1 = (gcnew System::Windows::Forms::Label());

this->button2 = (gcnew System::Windows::Forms::Button());

this->button_save = (gcnew System::Windows::Forms::Button());

this->textBox_x2 = (gcnew System::Windows::Forms::TextBox());

this->label3 = (gcnew System::Windows::Forms::Label());

this->textBox_x1 = (gcnew System::Windows::Forms::TextBox());

this->label2 = (gcnew System::Windows::Forms::Label());

this->checkBox1 = (gcnew System::Windows::Forms::CheckBox());

this->label4 = (gcnew System::Windows::Forms::Label());

this->textBox22 = (gcnew System::Windows::Forms::TextBox());

this->label5 = (gcnew System::Windows::Forms::Label());

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

this->textBox33 = (gcnew System::Windows::Forms::TextBox());

this->toolTip1 = (gcnew System::Windows::Forms::ToolTip(this->components));

this->SuspendLayout();

//

// button1

//

this->button1->Location = System::Drawing::Point(12, 129);

this->button1->Name = L»button1″;

this->button1->Size = System::Drawing::Size(118, 53);

this->button1->TabIndex = 0;

this->button1->Text = L»Построить график»;

this->toolTip1->SetToolTip(this->button1, L»Построение графиков»);

this->button1->UseVisualStyleBackColor = true;

this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);

//

// zedGraphControl1

//

this->zedGraphControl1->Location = System::Drawing::Point(162, 128);

this->zedGraphControl1->Name = L»zedGraphControl1″;

this->zedGraphControl1->ScrollGrace = 0;

this->zedGraphControl1->ScrollMaxX = 0;

this->zedGraphControl1->ScrollMaxY = 0;

this->zedGraphControl1->ScrollMaxY2 = 0;

this->zedGraphControl1->ScrollMinX = 0;

this->zedGraphControl1->ScrollMinY = 0;

this->zedGraphControl1->ScrollMinY2 = 0;

this->zedGraphControl1->Size = System::Drawing::Size(698, 503);

this->zedGraphControl1->TabIndex = 1;

//

// button_master

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

//

this->button_master->Location = System::Drawing::Point(770, 13);

this->button_master->Name = L»button_master»;

this->button_master->Size = System::Drawing::Size(90, 91);

this->button_master->TabIndex = 2;

this->button_master->Text = L»Мастер функций»;

this->toolTip1->SetToolTip(this->button_master, L»Мастер функций»);

this->button_master->UseVisualStyleBackColor = true;

this->button_master->Click += gcnew System::EventHandler(this, &Form1::button_master_Click);

//

// button_End

//

this->button_End->Location = System::Drawing::Point(12, 467);

this->button_End->Name = L»button_End»;

this->button_End->Size = System::Drawing::Size(118, 53);

this->button_End->TabIndex = 3;

this->button_End->Text = L»Выход»;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

this->toolTip1->SetToolTip(this->button_End, L»Выход»);

this->button_End->UseVisualStyleBackColor = true;

this->button_End->Click += gcnew System::EventHandler(this, &Form1::button_End_Click);

//

// textBox11

//

this->textBox11->Location = System::Drawing::Point(208, 12);

this->textBox11->Name = L»textBox11″;

this->textBox11->Size = System::Drawing::Size(556, 20);

this->textBox11->TabIndex = 4;

this->toolTip1->SetToolTip(this->textBox11, L»выражение f(x)»);

//

// label1

//

this->label1->AutoSize = true;

this->label1->Font = (gcnew System::Drawing::Font(L»Microsoft Sans Serif», 12, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast(204)));

this->label1->Location = System::Drawing::Point(162, 12);

this->label1->Name = L»label1″;

this->label1->Size = System::Drawing::Size(40, 20);

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

this->label1->TabIndex = 5;

this->label1->Text = L»f(x)=»;

//

// button2

//

this->button2->Location = System::Drawing::Point(12, 236);

this->button2->Name = L»button2″;

this->button2->Size = System::Drawing::Size(118, 53);

this->button2->TabIndex = 6;

this->button2->Text = L»Очистить»;

this->toolTip1->SetToolTip(this->button2, L»Очистить область построения графиков»);

this->button2->UseVisualStyleBackColor = true;

this->button2->Click += gcnew System::EventHandler(this, &Form1::button2_Click);

//

// button_save

//

this->button_save->Location = System::Drawing::Point(12, 349);

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

this->button_save->Name = L»button_save»;

this->button_save->Size = System::Drawing::Size(118, 53);

this->button_save->TabIndex = 7;

this->button_save->Text = L»Сохранить график»;

this->toolTip1->SetToolTip(this->button_save, L»Сохранение графиков в файл»);

this->button_save->UseVisualStyleBackColor = true;

this->button_save->Click += gcnew System::EventHandler(this, &Form1::button_save_Click);

//

// textBox_x2

//

this->textBox_x2->Location = System::Drawing::Point(113, 578);

this->textBox_x2->Name = L»textBox_x2″;

this->textBox_x2->Size = System::Drawing::Size(25, 20);

this->textBox_x2->TabIndex = 15;

this->textBox_x2->Text = L»10″;

this->toolTip1->SetToolTip(this->textBox_x2, L»Диапазон значений X»);

this->textBox_x2->TextChanged += gcnew System::EventHandler(this, &Form1::textBox_x2_TextChanged);

//

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

// label3

//

this->label3->AutoSize = true;

this->label3->Location = System::Drawing::Point(88, 581);

this->label3->Name = L»label3″;

this->label3->Size = System::Drawing::Size(19, 13);

this->label3->TabIndex = 14;

this->label3->Text = L»до»;

//

// textBox_x1

//

this->textBox_x1->Location = System::Drawing::Point(57, 578);

this->textBox_x1->Name = L»textBox_x1″;

this->textBox_x1->Size = System::Drawing::Size(25, 20);

this->textBox_x1->TabIndex = 13;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

this->textBox_x1->Text = L»-10″;

this->toolTip1->SetToolTip(this->textBox_x1, L»Диапазон значений X»);

this->textBox_x1->TextChanged += gcnew System::EventHandler(this, &Form1::textBox_x1_TextChanged);

//

// label2

//

this->label2->AutoSize = true;

this->label2->Location = System::Drawing::Point(23, 581);

this->label2->Name = L»label2″;

this->label2->Size = System::Drawing::Size(28, 13);

this->label2->TabIndex = 12;

this->label2->Text = L»X от»;

//

// checkBox1

//

this->checkBox1->AutoSize = true;

this->checkBox1->Location = System::Drawing::Point(162, 640);

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

this->checkBox1->Name = L»checkBox1″;

this->checkBox1->Size = System::Drawing::Size(56, 17);

this->checkBox1->TabIndex = 16;

this->checkBox1->Text = L»Сетка»;

this->toolTip1->SetToolTip(this->checkBox1, L»Включить/Отключить сетку»);

this->checkBox1->UseVisualStyleBackColor = true;

this->checkBox1->CheckedChanged += gcnew System::EventHandler(this, &Form1::checkBox1_CheckedChanged);

//

// label4

//

this->label4->AutoSize = true;

this->label4->Font = (gcnew System::Drawing::Font(L»Microsoft Sans Serif», 12, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast(204)));

this->label4->Location = System::Drawing::Point(158, 49);

this->label4->Name = L»label4″;

this->label4->Size = System::Drawing::Size(44, 20);

this->label4->TabIndex = 18;

this->label4->Text = L»g(x)=»;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

//

// textBox22

//

this->textBox22->Location = System::Drawing::Point(208, 49);

this->textBox22->Name = L»textBox22″;

this->textBox22->Size = System::Drawing::Size(556, 20);

this->textBox22->TabIndex = 17;

this->toolTip1->SetToolTip(this->textBox22, L»выражение g(x)»);

//

// label5

//

this->label5->AutoSize = true;

static_cast(204)));

this->label5->Location = System::Drawing::Point(158, 84);

this->label5->Name = L»label5″;

this->label5->Size = System::Drawing::Size(44, 20);

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

this->label5->TabIndex = 20;

this->label5->Text = L»h(x)=»;

//

// textBox33

//

this->textBox33->Location = System::Drawing::Point(208, 84);

this->textBox33->Name = L»textBox33″;

this->textBox33->Size = System::Drawing::Size(556, 20);

this->textBox33->TabIndex = 19;

this->toolTip1->SetToolTip(this->textBox33, L»выражение h(x)»);

//

// Form1

//

this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);

this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

this->ClientSize = System::Drawing::Size(900, 666);

this->Controls->Add(this->label5);

this->Controls->Add(this->textBox33);

this->Controls->Add(this->label4);

this->Controls->Add(this->textBox22);

this->Controls->Add(this->checkBox1);

this->Controls->Add(this->textBox_x2);

this->Controls->Add(this->label3);

this->Controls->Add(this->textBox_x1);

this->Controls->Add(this->label2);

this->Controls->Add(this->button_save);

this->Controls->Add(this->button2);

this->Controls->Add(this->label1);

this->Controls->Add(this->textBox11);

this->Controls->Add(this->button_End);

this->Controls->Add(this->button_master);

this->Controls->Add(this->button1);

this->Controls->Add(this->zedGraphControl1);

this->Name = L»Form1″;

this->StartPosition = System::Windows::Forms::FormStartPosition::CenterScreen;

this->Text = L»Программа «Генератор математических функций»»;

this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load);

this->ResumeLayout(false);

this->PerformLayout();

}

#pragma endregion

private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e)

{

// Вызов функции загрузки необходимых параметров компонента ZedGraph

this->Load_Graw();

// Запоминаем значения диапазона X по умолчанию

temp_x1 = System::Convert::ToDouble(textBox_x1->Text);

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

temp_x2 = System::Convert::ToDouble(textBox_x2->Text);

}

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)

{

for(int i = 0; i < 3; i++)

this->zedGraphControl1->GraphPane->CurveList[ i ]->Clear ( );

// Обновим данные об осях

zedGraphControl1->AxisChange ();

// Обновим график

zedGraphControl1->Invalidate();

// Вызываем функцию построения графиков

this->Graw_Draw();

}

private: System::Void button_master_Click(System::Object^ sender, System::EventArgs^ e)

{

// Открытие Form2

System::Windows::Forms::DialogResult dr;

Form2 ^newDlg = gcnew Form2();

m1: dr = newDlg->ShowDialog();

// Условия выбора пользователем, в какой textBox будет введено выражение

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

if (newDlg->radioButton1->Checked)

{

if (newDlg->textBox1->Text != «»)

textBox11->Text = newDlg->textBox1->Text;

}

if (newDlg->radioButton2->Checked)

{

if (newDlg->textBox1->Text != «»)

textBox22->Text = newDlg->textBox1->Text;

}

if (newDlg->radioButton3->Checked)

{

if (newDlg->textBox1->Text != «»)

textBox33->Text = newDlg->textBox1->Text;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

}

/*Вызывается Form2 в модальном режиме. В dr запоминается значение

DialogResult. Когда Form2 закроется, то значение ее свойства DialogResult

будет сравниваться с dr(там перед закрытием формы мы внесем значение ОК в

DialogResult):*/

if( dr == System::Windows::Forms::DialogResult::OK )

return;

else

{

MessageBox::Show («Ошибка закрытия Form2»);

goto m1;

}

}

private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e)

{

// Удаление графиков

for(int i = 0; i < 3; i++)

this->zedGraphControl1->GraphPane->CurveList[ i ]->Clear ( );

// Обновим данные об осях

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

zedGraphControl1->AxisChange ();

// Обновим график

zedGraphControl1->Invalidate();

}

private: System::Void button_save_Click(System::Object^ sender, System::EventArgs^ e)

{

// Сохранение графика в файл

zedGraphControl1->SaveAsBitmap ();

}

private: System::Void button_End_Click(System::Object^ sender, System::EventArgs^ e)

{

// Выход из программы

if ((MessageBox::Show(«Вы действительно хотите выйти?», «Выход», MessageBoxButtons::YesNo) == System::Windows::Forms::DialogResult::Yes))

this->Close();

}

private: System::Void checkBox1_CheckedChanged(System::Object^ sender, System::EventArgs^ e)

{

// Рисование/стирание сетки

if (checkBox1->Checked == false)

{

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

// Получим панель для рисования

ZedGraph::GraphPane ^myPane = zedGraphControl1->GraphPane;

// Стираем сетку по X

myPane->XAxis->MajorGrid->IsVisible=false;

// Стираем сетку по Y

myPane->YAxis->MajorGrid->IsVisible=false;

// Обновим данные об осях

zedGraphControl1->AxisChange ();

// Обновим график

zedGraphControl1->Invalidate();

}

else

{

// Получим панель для рисования

ZedGraph::GraphPane ^myPane = zedGraphControl1->GraphPane;

// Рисуем сетку по X

myPane->XAxis->MajorGrid->IsVisible=true;

// Рисуем сетку по Y

myPane->YAxis->MajorGrid->IsVisible=true;

// Обновим данные об осях

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

zedGraphControl1->AxisChange ();

// Обновим график

zedGraphControl1->Invalidate();

}

}

private: System::Void textBox_x1_TextChanged(System::Object^ sender, System::EventArgs^ e)

{

// Выбор диапазона значений X

double min_x = System::Convert::ToDouble(textBox_x1->Text);

double max_x = System::Convert::ToDouble(textBox_x2->Text);

if (min_x > max_x)

{

MessageBox::Show(«Минимальное значение X не должно превышать максимальное»,»Ошибка», MessageBoxButtons::OK);

textBox_x1->Text = System::Convert::ToString(temp_x1);

textBox_x2->Text = System::Convert::ToString(temp_x2);

}

if (max_x-min_x > 100)

{

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

MessageBox::Show(«Диапазон значений X не должен привышать 100″,»Ошибка», MessageBoxButtons::OK);

textBox_x1->Text = System::Convert::ToString(temp_x1);

textBox_x2->Text = System::Convert::ToString(temp_x2);

}

}

private: System::Void textBox_x2_TextChanged(System::Object^ sender, System::EventArgs^ e)

{

// Выбор диапазона значений X

double min_x = System::Convert::ToDouble(textBox_x1->Text);

double max_x = System::Convert::ToDouble(textBox_x2->Text);

if (min_x > max_x)

{

MessageBox::Show(«Минимальное значение X не должно превышать максимальное»,»Ошибка», MessageBoxButtons::OK);

textBox_x1->Text = System::Convert::ToString(temp_x1);

textBox_x2->Text = System::Convert::ToString(temp_x2);

}

if (max_x-min_x > 100)

{

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

MessageBox::Show(«Диапазон значений X не должен привышать 100″,»Ошибка», MessageBoxButtons::OK);

textBox_x1->Text = System::Convert::ToString(temp_x1);

textBox_x2->Text = System::Convert::ToString(temp_x2);

}

}

};

}

.h

#pragma once

#include

#include «Expression.h» // подключение своего класса

namespace zed {

using namespace System;

using namespace System::ComponentModel;

using namespace System::Collections;

using namespace System::Windows::Forms;

using namespace System::Data;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

using namespace System::Drawing;

public ref class Form2 : public System::Windows::Forms::Form

{

public:

Form2(void)

{

InitializeComponent();

}

protected:

~Form2()

{

if (components)

{

delete components;

}

}

private: System::Windows::Forms::Button^ button_OK;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

public: System::Windows::Forms::TextBox^ textBox1;

private: System::Windows::Forms::Label^ label1;

private: System::Windows::Forms::Button^ button_7;

private: System::Windows::Forms::Button^ button_8;

private: System::Windows::Forms::Button^ button_9;

private: System::Windows::Forms::Button^ button_4;

private: System::Windows::Forms::Button^ button_5;

private: System::Windows::Forms::Button^ button_6;

private: System::Windows::Forms::Button^ button_1;

private: System::Windows::Forms::Button^ button_2;

private: System::Windows::Forms::Button^ button_3;

private: System::Windows::Forms::Button^ button_0;

private: System::Windows::Forms::Button^ button_toch;

private: System::Windows::Forms::Button^ button_del;

private: System::Windows::Forms::Button^ button_umn;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

private: System::Windows::Forms::Button^ button_minus;

private: System::Windows::Forms::Button^ button_plus;

private: System::Windows::Forms::Button^ button_sin;

private: System::Windows::Forms::Button^ button_cos;

private: System::Windows::Forms::Button^ button_tan;

private: System::Windows::Forms::Button^ button_ctan;

private: System::Windows::Forms::Button^ button1;

private: System::Windows::Forms::Button^ button_delit;

private: System::Windows::Forms::Button^ button_Backspace;

private: System::Windows::Forms::Button^ button_log;

private: System::Windows::Forms::Button^ button_lg;

private: System::Windows::Forms::Button^ button_ln;

private: System::Windows::Forms::Button^ button_arcsin;

private: System::Windows::Forms::Button^ button_arccos;

private: System::Windows::Forms::Button^ button_arctg;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

private: System::Windows::Forms::Button^ button_arcctg;

private: System::Windows::Forms::Button^ button_skob1;

private: System::Windows::Forms::Button^ button_skob2;

private: System::Windows::Forms::Button^ button_stepen;

private: System::Windows::Forms::Button^ button_sqrt;

private: System::Windows::Forms::Button^ button_exp;

private: System::Windows::Forms::Button^ button_pi;

private: System::Windows::Forms::ToolTip^ toolTip1;

private: System::Windows::Forms::Button^ button2;

private: System::Windows::Forms::Button^ button_abs;

private: System::Windows::Forms::Button^ button_stepen2;

public: System::Windows::Forms::RadioButton^ radioButton1;

public: System::Windows::Forms::RadioButton^ radioButton2;

public: System::Windows::Forms::RadioButton^ radioButton3;

private: System::ComponentModel::IContainer^ components;

#pragma region Windows Form Designer generated code

void InitializeComponent(void)

{

this->components = (gcnew System::ComponentModel::Container());

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

this->button_OK = (gcnew System::Windows::Forms::Button());

this->textBox1 = (gcnew System::Windows::Forms::TextBox());

this->label1 = (gcnew System::Windows::Forms::Label());

this->button_7 = (gcnew System::Windows::Forms::Button());

this->button_8 = (gcnew System::Windows::Forms::Button());

this->button_9 = (gcnew System::Windows::Forms::Button());

this->button_4 = (gcnew System::Windows::Forms::Button());

this->button_5 = (gcnew System::Windows::Forms::Button());

this->button_6 = (gcnew System::Windows::Forms::Button());

this->button_1 = (gcnew System::Windows::Forms::Button());

this->button_2 = (gcnew System::Windows::Forms::Button());

this->button_3 = (gcnew System::Windows::Forms::Button());

this->button_0 = (gcnew System::Windows::Forms::Button());

this->button_toch = (gcnew System::Windows::Forms::Button());

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

this->button_del = (gcnew System::Windows::Forms::Button());

this->button_umn = (gcnew System::Windows::Forms::Button());

this->button_minus = (gcnew System::Windows::Forms::Button());

this->button_plus = (gcnew System::Windows::Forms::Button());

this->button_sin = (gcnew System::Windows::Forms::Button());

this->button_cos = (gcnew System::Windows::Forms::Button());

this->button_tan = (gcnew System::Windows::Forms::Button());

this->button_ctan = (gcnew System::Windows::Forms::Button());

this->button1 = (gcnew System::Windows::Forms::Button());

this->button_delit = (gcnew System::Windows::Forms::Button());

this->button_Backspace = (gcnew System::Windows::Forms::Button());

this->button_log = (gcnew System::Windows::Forms::Button());

this->button_lg = (gcnew System::Windows::Forms::Button());

this->button_ln = (gcnew System::Windows::Forms::Button());

this->button_arcsin = (gcnew System::Windows::Forms::Button());

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

this->button_arccos = (gcnew System::Windows::Forms::Button());

this->button_arctg = (gcnew System::Windows::Forms::Button());

this->button_arcctg = (gcnew System::Windows::Forms::Button());

this->button_skob1 = (gcnew System::Windows::Forms::Button());

this->button_skob2 = (gcnew System::Windows::Forms::Button());

this->button_stepen = (gcnew System::Windows::Forms::Button());

this->button_sqrt = (gcnew System::Windows::Forms::Button());

this->button_exp = (gcnew System::Windows::Forms::Button());

this->button_pi = (gcnew System::Windows::Forms::Button());

this->toolTip1 = (gcnew System::Windows::Forms::ToolTip(this->components));

this->button_abs = (gcnew System::Windows::Forms::Button());

this->button2 = (gcnew System::Windows::Forms::Button());

this->button_stepen2 = (gcnew System::Windows::Forms::Button());

this->radioButton1 = (gcnew System::Windows::Forms::RadioButton());

this->radioButton2 = (gcnew System::Windows::Forms::RadioButton());

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

this->radioButton3 = (gcnew System::Windows::Forms::RadioButton());

this->SuspendLayout();

//

// button_OK

//

this->button_OK->Font = (gcnew System::Drawing::Font(L»Microsoft Sans Serif», 8.25F, static_cast((System::Drawing::FontStyle::Bold | System::Drawing::FontStyle::Italic)),

System::Drawing::GraphicsUnit::Point, static_cast(204)));

this->button_OK->Location = System::Drawing::Point(413, 294);

this->button_OK->Name = L»button_OK»;

this->button_OK->Size = System::Drawing::Size(75, 35);

this->button_OK->TabIndex = 0;

this->button_OK->Text = L»ОК»;

this->toolTip1->SetToolTip(this->button_OK, L»ОК»);

this->button_OK->UseVisualStyleBackColor = true;

this->button_OK->Click += gcnew System::EventHandler(this, &Form2::button_OK_Click);

//

// textBox1

//

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

this->textBox1->Enabled = false;

this->textBox1->Location = System::Drawing::Point(42, 12);

this->textBox1->Name = L»textBox1″;

this->textBox1->Size = System::Drawing::Size(446, 20);

this->textBox1->TabIndex = 1;

this->toolTip1->SetToolTip(this->textBox1, L»Введите выражение»);

//

// label1

//

this->label1->AutoSize = true;

this->label1->Font = (gcnew System::Drawing::Font(L»Microsoft Sans Serif», 12, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,

static_cast(204)));

this->label1->Location = System::Drawing::Point(18, 12);

this->label1->Name = L»label1″;

this->label1->Size = System::Drawing::Size(25, 20);

this->label1->TabIndex = 2;

this->label1->Text = L»y=»;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

//

// button_7

//

this->button_7->Location = System::Drawing::Point(14, 130);

this->button_7->Name = L»button_7″;

this->button_7->Size = System::Drawing::Size(42, 35);

this->button_7->TabIndex = 3;

this->toolTip1->SetToolTip(this->button_7, L»7″);

this->button_7->UseVisualStyleBackColor = true;

this->button_7->Click += gcnew System::EventHandler(this, &Form2::button_7_Click);

//

// button_8

//

this->button_8->Location = System::Drawing::Point(62, 130);

this->button_8->Name = L»button_8″;

this->button_8->Size = System::Drawing::Size(42, 35);

this->button_8->TabIndex = 4;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

this->button_8->Text = L»8″;

this->toolTip1->SetToolTip(this->button_8, L»8″);

this->button_8->UseVisualStyleBackColor = true;

this->button_8->Click += gcnew System::EventHandler(this, &Form2::button_8_Click);

//

// button_9

//

this->button_9->Location = System::Drawing::Point(110, 130);

this->button_9->Name = L»button_9″;

this->button_9->Size = System::Drawing::Size(42, 35);

this->button_9->TabIndex = 5;

this->button_9->Text = L»9″;

this->toolTip1->SetToolTip(this->button_9, L»9″);

this->button_9->UseVisualStyleBackColor = true;

this->button_9->Click += gcnew System::EventHandler(this, &Form2::button_9_Click);

//

// button_4

//

this->button_4->Location = System::Drawing::Point(14, 171);

this->button_4->Name = L»button_4″;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

this->button_4->Size = System::Drawing::Size(42, 35);

this->button_4->TabIndex = 6;

this->button_4->Text = L»4″;

this->toolTip1->SetToolTip(this->button_4, L»4″);

this->button_4->UseVisualStyleBackColor = true;

this->button_4->Click += gcnew System::EventHandler(this, &Form2::button_4_Click);

//

// button_5

//

this->button_5->Location = System::Drawing::Point(62, 171);

this->button_5->Name = L»button_5″;

this->button_5->Size = System::Drawing::Size(42, 35);

this->button_5->TabIndex = 7;

this->button_5->Text = L»5″;

this->toolTip1->SetToolTip(this->button_5, L»5″);

this->button_5->UseVisualStyleBackColor = true;

this->button_5->Click += gcnew System::EventHandler(this, &Form2::button_5_Click);

//

// button_6

//

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

this->button_6->Location = System::Drawing::Point(110, 171);

this->button_6->Name = L»button_6″;

this->button_6->Size = System::Drawing::Size(42, 35);

this->button_6->TabIndex = 8;

this->button_6->Text = L»6″;

this->toolTip1->SetToolTip(this->button_6, L»6″);

this->button_6->UseVisualStyleBackColor = true;

this->button_6->Click += gcnew System::EventHandler(this, &Form2::button_6_Click);

//

// button_1

//

this->button_1->Location = System::Drawing::Point(14, 212);

this->button_1->Name = L»button_1″;

this->button_1->Size = System::Drawing::Size(42, 35);

this->button_1->TabIndex = 9;

this->button_1->Text = L»1″;

this->toolTip1->SetToolTip(this->button_1, L»1″);

this->button_1->UseVisualStyleBackColor = true;

this->button_1->Click += gcnew System::EventHandler(this, &Form2::button_1_Click);

//

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

// button_2

//

this->button_2->Location = System::Drawing::Point(62, 212);

this->button_2->Name = L»button_2″;

this->button_2->Size = System::Drawing::Size(42, 35);

this->button_2->TabIndex = 10;

this->button_2->Text = L»2″;

this->toolTip1->SetToolTip(this->button_2, L»2″);

this->button_2->UseVisualStyleBackColor = true;

this->button_2->Click += gcnew System::EventHandler(this, &Form2::button_2_Click);

//

// button_3

//

this->button_3->Location = System::Drawing::Point(110, 212);

this->button_3->Name = L»button_3″;

this->button_3->Size = System::Drawing::Size(42, 35);

this->button_3->TabIndex = 11;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

this->button_3->Text = L»3″;

this->toolTip1->SetToolTip(this->button_3, L»3″);

this->button_3->UseVisualStyleBackColor = true;

this->button_3->Click += gcnew System::EventHandler(this, &Form2::button_3_Click);

//

// button_0

//

this->button_0->Location = System::Drawing::Point(14, 253);

this->button_0->Name = L»button_0″;

this->button_0->Size = System::Drawing::Size(90, 35);

this->button_0->TabIndex = 12;

this->button_0->Text = L»0″;

this->toolTip1->SetToolTip(this->button_0, L»0″);

this->button_0->UseVisualStyleBackColor = true;

this->button_0->Click += gcnew System::EventHandler(this, &Form2::button_0_Click);

//

// button_toch

//

this->button_toch->Location = System::Drawing::Point(110, 253);

this->button_toch->Name = L»button_toch»;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

this->button_toch->Size = System::Drawing::Size(42, 35);

this->button_toch->TabIndex = 13;

this->button_toch->Text = L».»;

this->toolTip1->SetToolTip(this->button_toch, L»Точка»);

this->button_toch->UseVisualStyleBackColor = true;

//

// button_del

//

this->button_del->Location = System::Drawing::Point(182, 171);

this->button_del->Name = L»button_del»;

this->button_del->Size = System::Drawing::Size(57, 35);

this->button_del->TabIndex = 15;

this->button_del->Text = L»/»;

this->toolTip1->SetToolTip(this->button_del, L»Деление»);

this->button_del->UseVisualStyleBackColor = true;

this->button_del->Click += gcnew System::EventHandler(this, &Form2::button_del_Click);

//

// button_umn

//

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

this->button_umn->Location = System::Drawing::Point(182, 212);

this->button_umn->Name = L»button_umn»;

this->button_umn->Size = System::Drawing::Size(57, 35);

this->button_umn->TabIndex = 16;

this->button_umn->Text = L»*»;

this->toolTip1->SetToolTip(this->button_umn, L»Умножение»);

this->button_umn->UseVisualStyleBackColor = true;

this->button_umn->Click += gcnew System::EventHandler(this, &Form2::button_umn_Click);

//

// button_minus

//

this->button_minus->Location = System::Drawing::Point(182, 253);

this->button_minus->Name = L»button_minus»;

this->button_minus->Size = System::Drawing::Size(57, 35);

this->button_minus->TabIndex = 17;

this->button_minus->Text = L»-«;

this->toolTip1->SetToolTip(this->button_minus, L»Вычитание»);

this->button_minus->UseVisualStyleBackColor = true;

this->button_minus->Click += gcnew System::EventHandler(this, &Form2::button_minus_Click);

//

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

// button_plus

//

this->button_plus->Location = System::Drawing::Point(182, 294);

this->button_plus->Name = L»button_plus»;

this->button_plus->Size = System::Drawing::Size(57, 35);

this->button_plus->TabIndex = 18;

this->button_plus->Text = L»+»;

this->toolTip1->SetToolTip(this->button_plus, L»Сложение»);

this->button_plus->UseVisualStyleBackColor = true;

this->button_plus->Click += gcnew System::EventHandler(this, &Form2::button_plus_Click);

//

// button_sin

//

this->button_sin->CausesValidation = false;

this->button_sin->Location = System::Drawing::Point(245, 130);

this->button_sin->Name = L»button_sin»;

this->button_sin->Size = System::Drawing::Size(77, 35);

this->button_sin->TabIndex = 19;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

this->button_sin->Text = L»sin»;

this->toolTip1->SetToolTip(this->button_sin, L»Синус(<выражение>)»);

this->button_sin->UseVisualStyleBackColor = true;

this->button_sin->Click += gcnew System::EventHandler(this, &Form2::button_sin_Click);

//

// button_cos

//

this->button_cos->Location = System::Drawing::Point(245, 171);

this->button_cos->Name = L»button_cos»;

this->button_cos->Size = System::Drawing::Size(77, 35);

this->button_cos->TabIndex = 20;

this->button_cos->Text = L»cos»;

this->toolTip1->SetToolTip(this->button_cos, L»Косинус(<выражение>)»);

this->button_cos->UseVisualStyleBackColor = true;

this->button_cos->Click += gcnew System::EventHandler(this, &Form2::button_cos_Click);

//

// button_tan

//

this->button_tan->Location = System::Drawing::Point(245, 212);

this->button_tan->Name = L»button_tan»;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

this->button_tan->Size = System::Drawing::Size(77, 35);

this->button_tan->TabIndex = 21;

this->button_tan->Text = L»tg»;

this->toolTip1->SetToolTip(this->button_tan, L»Тангенс(<выражение>)»);

this->button_tan->UseVisualStyleBackColor = true;

this->button_tan->Click += gcnew System::EventHandler(this, &Form2::button_tan_Click);

//

// button_ctan

//

this->button_ctan->Location = System::Drawing::Point(245, 253);

this->button_ctan->Name = L»button_ctan»;

this->button_ctan->Size = System::Drawing::Size(77, 35);

this->button_ctan->TabIndex = 22;

this->button_ctan->Text = L»ctg»;

this->toolTip1->SetToolTip(this->button_ctan, L»Котангенс(<выражение>)»);

this->button_ctan->UseVisualStyleBackColor = true;

this->button_ctan->Click += gcnew System::EventHandler(this, &Form2::button_ctan_Click);

//

// button1

//

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

this->button1->Font = (gcnew System::Drawing::Font(L»Microsoft Sans Serif», 8.25F, static_cast((System::Drawing::FontStyle::Bold | System::Drawing::FontStyle::Italic)),

System::Drawing::GraphicsUnit::Point, static_cast(204)));

this->button1->Location = System::Drawing::Point(245, 89);

this->button1->Name = L»button1″;

this->button1->Size = System::Drawing::Size(77, 35);

this->button1->TabIndex = 25;

this->button1->Text = L»X»;

this->toolTip1->SetToolTip(this->button1, L»Аргумент x»);

this->button1->UseVisualStyleBackColor = true;

this->button1->Click += gcnew System::EventHandler(this, &Form2::button1_Click);

//

// button_delit

//

this->button_delit->Location = System::Drawing::Point(411, 89);

this->button_delit->Name = L»button_delit»;

this->button_delit->Size = System::Drawing::Size(77, 35);

this->button_delit->TabIndex = 26;

this->button_delit->Text = L»Очистить»;

this->toolTip1->SetToolTip(this->button_delit, L»Удаление выражения «);

this->button_delit->UseVisualStyleBackColor = true;

this->button_delit->Click += gcnew System::EventHandler(this, &Form2::button_delit_Click);

//

// button_Backspace

//

this->button_Backspace->Location = System::Drawing::Point(328, 89);

this->button_Backspace->Name = L»button_Backspace»;

this->button_Backspace->Size = System::Drawing::Size(77, 35);

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

this->button_Backspace->TabIndex = 27;

this->button_Backspace->Text = L»Backspace»;

this->toolTip1->SetToolTip(this->button_Backspace, L»Удаление одного символа»);

this->button_Backspace->UseVisualStyleBackColor = true;

this->button_Backspace->Click += gcnew System::EventHandler(this, &Form2::button_Backspace_Click);

//

// button_log

//

this->button_log->Location = System::Drawing::Point(411, 130);

this->button_log->Name = L»button_log»;

this->button_log->Size = System::Drawing::Size(77, 35);

this->button_log->TabIndex = 28;

this->button_log->Text = L»log»;

this->toolTip1->SetToolTip(this->button_log, L»Логарифм(<основание> , <выражение>)»);

this->button_log->UseVisualStyleBackColor = true;

this->button_log->Click += gcnew System::EventHandler(this, &Form2::button_log_Click);

//

// button_lg

//

this->button_lg->Location = System::Drawing::Point(411, 171);

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

this->button_lg->Name = L»button_lg»;

this->button_lg->Size = System::Drawing::Size(77, 35);

this->button_lg->TabIndex = 29;

this->button_lg->Text = L»lg»;

this->toolTip1->SetToolTip(this->button_lg, L»Десятичный логарифм(<выражение>)»);

this->button_lg->UseVisualStyleBackColor = true;

this->button_lg->Click += gcnew System::EventHandler(this, &Form2::button_lg_Click);

//

// button_ln

//

this->button_ln->Location = System::Drawing::Point(411, 212);

this->button_ln->Name = L»button_ln»;

this->button_ln->Size = System::Drawing::Size(77, 35);

this->button_ln->TabIndex = 30;

this->button_ln->Text = L»ln»;

this->toolTip1->SetToolTip(this->button_ln, L»Натуральный логарифм(<выражение>)»);

this->button_ln->UseVisualStyleBackColor = true;

this->button_ln->Click += gcnew System::EventHandler(this, &Form2::button_ln_Click);

//

// button_arcsin

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

//

this->button_arcsin->Location = System::Drawing::Point(328, 130);

this->button_arcsin->Name = L»button_arcsin»;

this->button_arcsin->Size = System::Drawing::Size(77, 35);

this->button_arcsin->TabIndex = 31;

this->button_arcsin->Text = L»arcsin»;

this->toolTip1->SetToolTip(this->button_arcsin, L»Арксинус(<выражение>)»);

this->button_arcsin->UseVisualStyleBackColor = true;

this->button_arcsin->Click += gcnew System::EventHandler(this, &Form2::button_arcsin_Click);

//

// button_arccos

//

this->button_arccos->Location = System::Drawing::Point(328, 171);

this->button_arccos->Name = L»button_arccos»;

this->button_arccos->Size = System::Drawing::Size(77, 35);

this->button_arccos->TabIndex = 32;

this->button_arccos->Text = L»arccos»;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

this->toolTip1->SetToolTip(this->button_arccos, L»Арккосинус(<выражение>)»);

this->button_arccos->UseVisualStyleBackColor = true;

this->button_arccos->Click += gcnew System::EventHandler(this, &Form2::button_arccos_Click);

//

// button_arctg

//

this->button_arctg->Location = System::Drawing::Point(328, 212);

this->button_arctg->Name = L»button_arctg»;

this->button_arctg->Size = System::Drawing::Size(77, 35);

this->button_arctg->TabIndex = 33;

this->button_arctg->Text = L»arctg»;

this->toolTip1->SetToolTip(this->button_arctg, L»Арктангенс(<выражение>)»);

this->button_arctg->UseVisualStyleBackColor = true;

this->button_arctg->Click += gcnew System::EventHandler(this, &Form2::button_arctg_Click);

//

// button_arcctg

//

this->button_arcctg->Location = System::Drawing::Point(328, 253);

this->button_arcctg->Name = L»button_arcctg»;

this->button_arcctg->Size = System::Drawing::Size(77, 35);

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

this->button_arcctg->TabIndex = 34;

this->button_arcctg->Text = L»arcctg»;

this->toolTip1->SetToolTip(this->button_arcctg, L»Арккотангенс(<выражение>)»);

this->button_arcctg->UseVisualStyleBackColor = true;

this->button_arcctg->Click += gcnew System::EventHandler(this, &Form2::button_arcctg_Click);

//

// button_skob1

//

this->button_skob1->Location = System::Drawing::Point(14, 89);

this->button_skob1->Name = L»button_skob1″;

this->button_skob1->Size = System::Drawing::Size(42, 35);

this->button_skob1->TabIndex = 39;

this->button_skob1->Text = L»(«;

this->toolTip1->SetToolTip(this->button_skob1, L»Левая скобка»);

this->button_skob1->UseVisualStyleBackColor = true;

this->button_skob1->Click += gcnew System::EventHandler(this, &Form2::button_skob1_Click);

//

// button_skob2

//

this->button_skob2->Location = System::Drawing::Point(62, 89);

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

this->button_skob2->Name = L»button_skob2″;

this->button_skob2->Size = System::Drawing::Size(42, 35);

this->button_skob2->TabIndex = 40;

this->button_skob2->Text = L»)»;

this->toolTip1->SetToolTip(this->button_skob2, L»Правая скобка»);

this->button_skob2->UseVisualStyleBackColor = true;

this->button_skob2->Click += gcnew System::EventHandler(this, &Form2::button_skob2_Click);

//

// button_stepen

//

this->button_stepen->Location = System::Drawing::Point(182, 130);

this->button_stepen->Name = L»button_stepen»;

this->button_stepen->Size = System::Drawing::Size(57, 35);

this->button_stepen->TabIndex = 41;

this->button_stepen->Text = L»^»;

this->toolTip1->SetToolTip(this->button_stepen, L»Степень»);

this->button_stepen->UseVisualStyleBackColor = true;

this->button_stepen->Click += gcnew System::EventHandler(this, &Form2::button_stepen_Click);

//

// button_sqrt

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

//

this->button_sqrt->Location = System::Drawing::Point(245, 294);

this->button_sqrt->Size = System::Drawing::Size(77, 35);

this->button_sqrt->TabIndex = 42;

this->button_sqrt->Text = L»Корень»;

this->toolTip1->SetToolTip(this->button_sqrt, L»Корень(<выражение>)»);

this->button_sqrt->UseVisualStyleBackColor = true;

this->button_sqrt->Click += gcnew System::EventHandler(this, &Form2::button_sqrt_Click);

//

// button_exp

//

this->button_exp->Location = System::Drawing::Point(14, 294);

this->button_exp->Name = L»button_exp»;

this->button_exp->Size = System::Drawing::Size(42, 35);

this->button_exp->TabIndex = 43;

this->button_exp->Text = L»e»;

this->toolTip1->SetToolTip(this->button_exp, L»Експонента»);

this->button_exp->UseVisualStyleBackColor = true;

this->button_exp->Click += gcnew System::EventHandler(this, &Form2::button_exp_Click);

//

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

// button_pi

//

this->button_pi->Location = System::Drawing::Point(62, 294);

this->button_pi->Name = L»button_pi»;

this->button_pi->Size = System::Drawing::Size(42, 35);

this->button_pi->TabIndex = 44;

this->button_pi->Text = L»pi»;

this->toolTip1->SetToolTip(this->button_pi, L»Пи»);

this->button_pi->UseVisualStyleBackColor = true;

this->button_pi->Click += gcnew System::EventHandler(this, &Form2::button_pi_Click);

//

// button_abs

//

this->button_abs->Location = System::Drawing::Point(411, 253);

this->button_abs->Name = L»button_abs»;

this->button_abs->Size = System::Drawing::Size(77, 35);

this->button_abs->TabIndex = 46;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

this->button_abs->Text = L»abs»;

this->toolTip1->SetToolTip(this->button_abs, L»Модуль(<выражение>)»);

this->button_abs->UseVisualStyleBackColor = true;

this->button_abs->Click += gcnew System::EventHandler(this, &Form2::button_abs_Click);

//

// button2

//

this->button2->Location = System::Drawing::Point(110, 89);

this->button2->Name = L»button2″;

this->button2->Size = System::Drawing::Size(42, 35);

this->button2->TabIndex = 45;

this->button2->Text = L»,»;

this->toolTip1->SetToolTip(this->button2, L»Запятая»);

this->button2->UseVisualStyleBackColor = true;

this->button2->Click += gcnew System::EventHandler(this, &Form2::button2_Click);

//

// button_stepen2

//

this->button_stepen2->Location = System::Drawing::Point(182, 89);

this->button_stepen2->Name = L»button_stepen2″;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

this->button_stepen2->Size = System::Drawing::Size(57, 35);

this->button_stepen2->TabIndex = 47;

this->button_stepen2->Text = L»^2″;

this->toolTip1->SetToolTip(this->button_stepen2, L»Квадрат»);

this->button_stepen2->UseVisualStyleBackColor = true;

this->button_stepen2->Click += gcnew System::EventHandler(this, &Form2::button_stepen2_Click);

//

// radioButton1

//

this->radioButton1->AutoSize = true;

this->radioButton1->Checked = true;

this->radioButton1->Location = System::Drawing::Point(22, 54);

this->radioButton1->Name = L»radioButton1″;

this->radioButton1->Size = System::Drawing::Size(85, 17);

this->radioButton1->TabIndex = 48;

this->radioButton1->TabStop = true;

this->radioButton1->Text = L»функция f(x)»;

this->toolTip1->SetToolTip(this->radioButton1, L»ввод выражения в функцию f(x)»);

this->radioButton1->UseVisualStyleBackColor = true;

//

// radioButton2

//

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

this->radioButton2->AutoSize = true;

this->radioButton2->Location = System::Drawing::Point(113, 54);

this->radioButton2->Name = L»radioButton2″;

this->radioButton2->Size = System::Drawing::Size(88, 17);

this->radioButton2->TabIndex = 49;

this->radioButton2->Text = L»функция g(x)»;

this->toolTip1->SetToolTip(this->radioButton2, L»ввод выражения в функцию g(x)»);

this->radioButton2->UseVisualStyleBackColor = true;

//

// radioButton3

//

this->radioButton3->AutoSize = true;

this->radioButton3->Location = System::Drawing::Point(204, 54);

this->radioButton3->Name = L»radioButton3″;

this->radioButton3->Size = System::Drawing::Size(88, 17);

this->radioButton3->TabIndex = 50;

this->radioButton3->Text = L»функция h(x)»;

this->toolTip1->SetToolTip(this->radioButton3, L»ввод выражения в функцию h(x)»);

this->radioButton3->UseVisualStyleBackColor = true;

//

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

// Form2

//

this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);

this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;

this->ClientSize = System::Drawing::Size(500, 364);

this->Controls->Add(this->radioButton3);

this->Controls->Add(this->radioButton2);

this->Controls->Add(this->radioButton1);

this->Controls->Add(this->button_stepen2);

this->Controls->Add(this->button_abs);

this->Controls->Add(this->button2);

this->Controls->Add(this->button_pi);

this->Controls->Add(this->button_exp);

this->Controls->Add(this->button_sqrt);

this->Controls->Add(this->button_stepen);

this->Controls->Add(this->button_skob2);

this->Controls->Add(this->button_skob1);

this->Controls->Add(this->button_arcctg);

this->Controls->Add(this->button_arctg);

this->Controls->Add(this->button_arccos);

this->Controls->Add(this->button_arcsin);

this->Controls->Add(this->button_ln);

this->Controls->Add(this->button_lg);

this->Controls->Add(this->button_log);

this->Controls->Add(this->button_Backspace);

this->Controls->Add(this->button_delit);

this->Controls->Add(this->button1);

this->Controls->Add(this->button_ctan);

this->Controls->Add(this->button_tan);

this->Controls->Add(this->button_cos);

this->Controls->Add(this->button_sin);

this->Controls->Add(this->button_plus);

this->Controls->Add(this->button_minus);

this->Controls->Add(this->button_umn);

this->Controls->Add(this->button_del);

this->Controls->Add(this->button_toch);

this->Controls->Add(this->button_0);

this->Controls->Add(this->button_3);

this->Controls->Add(this->button_2);

this->Controls->Add(this->button_1);

this->Controls->Add(this->button_6);

this->Controls->Add(this->button_5);

this->Controls->Add(this->button_4);

this->Controls->Add(this->button_9);

this->Controls->Add(this->button_8);

this->Controls->Add(this->button_7);

this->Controls->Add(this->label1);

this->Controls->Add(this->textBox1);

this->Controls->Add(this->button_OK);

this->Name = L»Form2″;

this->Text = L»Мастер функций»;

this->Load += gcnew System::EventHandler(this, &Form2::Form2_Load);

this->ResumeLayout(false);

this->PerformLayout();

}

#pragma endregion

private: System::Void button_OK_Click(System::Object^ sender, System::EventArgs^ e) {

this->DialogResult= System::Windows::Forms::DialogResult::OK;

this->Close(); //закрытие Form2

}

private: System::Void button_delit_Click(System::Object^ sender, System::EventArgs^ e) {

// очистка окна ввода/вывода

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Заказать диплом

textBox1->Text = «»;

}

: System::Void button_0_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «0»;

}: System::Void button_1_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «1»;

}: System::Void button_2_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «2»;

}: System::Void button_3_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «3»;

}: System::Void button_4_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «4»;

}: System::Void button_5_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «5»;

}: System::Void button_6_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «6»;

}: System::Void button_7_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «7»;

}: System::Void button_8_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «8»;

}: System::Void button_9_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «9»;

}: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «x»;

}: System::Void button_del_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «/»;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Подробнее

}: System::Void button_umn_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «*»;

}: System::Void button_minus_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «-«;

}: System::Void button_plus_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «+»;

}: System::Void button_sin_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «sin(«;

}: System::Void button_cos_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «cos(«;

}: System::Void button_tan_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «tg(«;

}: System::Void button_ctan_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «ctg(«;

}

: System::Void button_Backspace_Click(System::Object^ sender, System::EventArgs^ e) {

String ^str;

str = textBox1->Text;

int len = str->Length;

if (len != 0)

{

str = str->Remove(len-1,1);

textBox1->Text = str;

}

}: System::Void button_log_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «log(«;

}: System::Void button_lg_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «lg(«;

}: System::Void button_ln_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «ln(«;

Нужна помощь в написании диплома?

Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Сдача работы по главам. Уникальность более 70%. Правки вносим бесплатно.

Цена диплома

}: System::Void button_arcsin_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «arcsin(«;

}: System::Void button_arccos_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «arccos(«;

}: System::Void button_arctg_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «arctg(«;

}: System::Void button_arcctg_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «arcctg(«;

}

: System::Void button_skob2_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «)»; }: System::Void button_skob1_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «(«; }: System::Void button_stepen_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «^»;

}: System::Void button_sqrt_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «sqrt(«;

}: System::Void button_exp_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «e»;

}: System::Void button_pi_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «pi»;

}: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «,»;

}: System::Void Form2_Load(System::Object^ sender, System::EventArgs^ e) {

}: System::Void button_abs_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «abs(«;

}: System::Void button_stepen2_Click(System::Object^ sender, System::EventArgs^ e) {

textBox1->Text = textBox1->Text + «^2»;       }};}

Средняя оценка 0 / 5. Количество оценок: 0

Поставьте оценку первым.

Сожалеем, что вы поставили низкую оценку!

Позвольте нам стать лучше!

Расскажите, как нам стать лучше?

818

Закажите такую же работу

Не отобразилась форма расчета стоимости? Переходи по ссылке

Не отобразилась форма расчета стоимости? Переходи по ссылке