Подходы к моделированию развития научных способностей личности
Процесс разработки программного комплекса оптимального управления структурой научной деятельности студентов в семестре. Исследование основных изменений стратегии развития у различных личностей. Использование концепции организации учебного процесса.
Рубрика | Менеджмент и трудовые отношения |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 08.10.2018 |
Размер файла | 2,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
3. Информационная система оптимального управления структурой научной деятельности студентов в семестре // Международная заочная научно-практическая конференция «Современные образовательные технологии, реализация, перспективы», посвященная 60-летию БГТУ им. В. Г.Шухова
4. Программный комплекс оптимального управления структурой научной деятельности студентов в семестре // VII Международная научно-практическая конференция «Современная наука: теоретический и практический взгляд», Уфа, 2015.
5. Программный комплекс оптимального управления структурой научной деятельности студентов в семестре // Сборник Международной научно-технической конференции «Перспективные информационные технологии ПИТ-2015г» 1 заочный тур г.Самара, СГАУ.
4.4 Перечень участия в конференциях
1. Труды международной научно-практической конференции с элементами научной школы для молодежи, Самара, 2014. - С. 362-364
2. Международная заочная научно-практическая конференция «Современные образовательные технологии, реализация, перспективы», посвященная 60-летию БГТУ им. В. Г.Шухова, Белгород, 2014.
3. VII Международная научно-практическая конференция «Современная наука: теоретический и практический взгляд», Уфа, 2015.
4. Международная научно-техническая конференция «Перспективные информационные технологии ПИТ-2015г» 1 заочный тур г.Самара, СГАУ.
4.5
4.6 Перечень выполненных в период обучения курсовых работ и проектов
Таблица 7 - Перечень курсовых работ
Семестр |
Предмет |
Тема |
|
1 |
Введение в специальность |
Линейное программирование |
|
2 |
Информационный поиск |
Обзор методов тестирования моторики и внедрение теста на ФИСТ |
|
2 |
Операционные системы |
FIFO |
|
3 |
Обработка и анализ |
Реализация теста моторики и внедрение его на ФИСТ |
|
3 |
Информационные технологии |
Синтез конечных автоматов |
|
4 |
Технология программирования |
Индексно-последовательный поиск |
|
4 |
Моделирование и исследование с использованием прикладных программ |
ИС оптимальной систематизации фактографической информации в кластер максимальной информативности |
|
5 |
Моделирование и исследование с разработкой программных продуктов |
ИС наполнения БД фактографической информацией из файла Excel |
|
6 |
МПД |
ИС создания комплексной оценки вуза |
|
6 |
Проектирование интерфейсов |
Проектирование интерфейсов |
|
7 |
Моделирование систем |
Модель дисбаланса производства комплектующих для сборки изделий неквалифицированными рабочими |
|
7 |
Корпоративные ИС |
ИС мониторинга учебной деятельности |
|
7 |
Разработка инновационных ИСТ |
ИС оптимального управления структурой научной деятельности студентов в семестре |
|
8 |
Методы и средства проектирования ИС |
ПК оптимального управления структурой научной деятельности студентов в семестре |
|
8 |
Реализация инновационных ИС |
ПК оптимального управления структурой научной деятельности студентов в семестре |
4.7 Портфолио
Таблица 8 - Перечень достижений
№ |
Достижение |
|
1 |
Участие в областной научно-технической конференции в области «Прикладная информатика» |
|
2 |
Участие в проведении Международной конференции «Творческий потенциал-2011» |
|
3 |
Работа в компании «ЛАНИТ» на должности QA Engineer |
|
4 |
Доклад на Международной конференции «Творческий потенциал-2014» |
|
5 |
Участие в 1 туре Международной Олимпиады IT-Планета. Сертификат |
|
6 |
Международная научно-техническая конференция «Перспективные информационные технологии ПИТ-2015г» 1 заочный тур г.Самара, СГАУ |
|
7 |
Статья в сборнике Международной научно-технической конференции «Перспективные информационные технологии ПИТ-2015г» 1 заочный тур г.Самара, СГАУ |
|
8 |
IT-Олимпиада по спортивному программированию. Самара, СГАУ, 2015г. |
ЗАКЛЮЧЕНИЕ
При написании данной работы была поставлена цель: разработка и практическая реализация программного комплекса оптимального управления структурой научной деятельности студентов в семестре. Главным итогом выполненной работы стало создание программного комплекса, который позволяет производить моделирование на основе базовой математической модели, вести журнал студентов с возможностью просмотра студентом своих текущих оптимальных (рассчитанных) значений научных компетенций.
Система реализована при помощи языка программирования С++ с использованием Фреймворка Qt, также была использована база данных SQLite. В системе предусмотрено ведение справочников, разграничение прав доступа и расчет оптимальных значений компетенций научной деятельности.
Исследование проводилось с целью выявления изменений развития научных способностей у разных личностей. В результате исследований было получено влияние мотивации на развитие научных способностей личности.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Пиявский, С.А Метод «шансов» принятия решений в условиях неопределенности при математическом моделировании развития исследовательских способностей молодежи [Текст] / С. А. Пиявский, Самара, 2014. - 25 с.
2. Пиявский, С.А Методы оптимизации и теория оптимального управления [Текст] / С. А. Пиявский, Самара, 2005. - 125 с.
3. Mathcad [Электронный ресурс] // URL: http://ru.ptc.com/product/mathcad
4. Сигма-Технология. IOSO [Электронный ресурс] // URL: http://www.iosotech.com/ru/ioso_nm.htm
5. Леоненков, А. В. Самоучитель UML .2-е изд., пер. и доп./А.В.Леоненков. - СПб.: БХВ-Петербург, 2004. - 432 с.
6. Пиявский, С.А. Исследовательская деятельность студентов в инновационном вузе [Текст] / С. А. Пиявский, Самара, 2010. - 198 с.
7. Википедия. Qt [Электронный ресурс] // URL: http://ru.wikipedia.org/wiki/Qt.
8. Википедия. Qwt [Электронный ресурс] // URL: http://ru.wikipedia.org/wiki/Qwt.
9. Википедия. C++ [Электронный ресурс] // URL: http://ru.wikipedia.org/wiki/C%2B%2B.
10. ОМС. [Электронный ресурс] // URL: http://www.omc.ru.
11. OPTCON. Mathematical software [Электронный ресурс] // URL: http://www.swmath.org/software/2660.
12. Центр дистанционного управления. Задачи оптимального управления [Электронный ресурс] // URL: http://edu.dvgups.ru/METDOC/GDTRAN/YAT/AT/SIS_TSIF_UPR/M_U/MALAI/M_U2.htm.
ПРИЛОЖЕНИЕ А
Руководство оператора
А. Введение
Требования настоящего документа применяются при предварительных комплексных испытаниях, приемочных испытаниях и эксплуатации программного комплекса.
Программный комплекс (далее ПК) оптимального управления структурой научной деятельности студентов в семестре предназначен для выявления оптимального значения компетенций научной деятельности.
ПК предполагает разграничение прав пользователей на Администратора БД, Преподавателя и Студента. И в соответствии с правами доступа предоставляет функционал ведения справочной информации, формирование информационных отчетов и ведение оперативной информации.
Пользователь системы должны иметь навыки работы с персональным компьютером. Также ему необходимо быть знакомым с предметной областью и ознакомиться с данным руководством.
А.2 Назначение и условия применения
ПК предназначен для вычисления оптимального значения компетенций научно-исследовательской деятельности студентов в саместре.
Работа с системой доступна всем пользователям с установленными правами доступа.
Минимальные требования к техническому и программному обеспечению. Требования к процессору определяются требованиями ОС.
Минимальные требования к рабочей станции:
- процессор класса Pentium с тактовой частотой 1,6 ГГц и выше;
- объем оперативной памяти не менее 4 Гб;
- объем свободного дискового пространства не менее 22,1 Гб;
- тип операционной системы -Windows 7 64 бит (или вышедшие следом);
- манипулятор типа «мышь»;
- монитор с разрешением 1280x1024.
Условия работы:
- температура окружающего воздуха -15 - +25 °С;
- относительная влажность - 45-75%.
- содержание вредных веществ, пыли и подвижного воздуха в рабочей зоне соответствует нормам ГОСТ 12.1.005, 12.1.007; комплекс должен удовлетворять санитарным правилам и нормам СанПиН 2.2.2/2.4.1340-03.
А.3 Подготовка к работе
Руководство пользователя программного комплекс оптимизации затрат при транспортировке штучных товаров, разрабатывалось в соответствии с РД 50-34.698- 90. В нем регламентировались правила оформления руководства пользователя, порядок и расположение пунктов в тексте, описывающем работу с программным комплексом, размеры и положение рисунков.
Данное руководство предназначено для Преподавателя, Студента и Администратора БД и предполагает наличие элементарных навыков работы с программными комплексами и умениями пользоваться компьютером.
После запуска приложения, появляется главное окно приложения. Пользователь должен ввести верные логин и пароль и нажать кнопку «Авторизация» (рисунок А1).
Рисунок А1 - Главное окно программы
А.4 Формирование отчетов
Формирование отчета об оптимизированном значении функций.
Войдем в систему в качестве Преподавателя, заполнив для этого поля «Пользователь» и «Пароль»
Программа откроет меню, настроенное на права Преподавателя. (Рисунок А2).
Для формирования отчета оптимизированных функций научно-исследовательской деятельности нужно выбрать пункт меню «Расчет».
При нажатии на кнопку «Расчет» программа отображается форму с полями для ввода переменных: «а0», «М_max», «h», «T», «Начальные значения», «Тета», «Бета», «Альфа» и «Мотивация». Значения переменных вставляются из базы данных, но их все равно можно изменить (рисунок А3).
Рисунок А2 - Окно работы Преподавателя
Рисунок А3 - Расчет компетенций
После ввода всех переменных Преподаватель нажимает на кнопку «Расчет». Если введены корректные данные, то программа рассчитывает максимально возможные значения компетенций исследовательской деятельности для каждого студента, вставляет значение в текстовое поле «Конечные значения» и формирует отчет в виде графика (рисунок А4).
Рисунок А4 - График рассчитанных значений компетенций
ПРИЛОЖЕНИЕ Б
Руководство программиста
Б.1 Общие сведения о программе
Б.1.1 Назначение программы
Главная задача высшей школы заключается в достижении студентами качеств, которые должны соответствовать требованиям, предъявляемым личности в современных реалиях, где социально-экономические условия меняются чрезвычайно быстро. Эти требования состоят в ключевых компетентностях, которые позволяют реализовать себя в современном информационном обществе.
Понятие «компетентность», можно объяснить, как уже состоявшееся личное качество, позволяющее решать задачи, возникающие в реальной жизни на накопленных знаний, жизненного опыта и полученных навыков. Компетентности нужны всем и в любой отрасли, так как они связаны с успехом личности в переменчивом мире.
Чтобы образование достигло нового уровня развития, необходимо усиление личностной направленности образования. Именно в этом могут помочь компетентности. Одним из важных оснований выделения компетентностей является создание наиболее благоприятных условий для саморазвития учащихся в образовательном процессе .
Существует информационная система, внедренная на сайте http://sciyouth.ru/, которая уже использует компетентностный подход, но она просто сохраняет значение какой-либо компетентности. Поэтому была разработана программа «vkr.exe», которая не только хранит значения функций исследовательской деятельности, но и вычисляет максимально возможное значение для определенной личности.
Программа «vkr.exe» работает под управлением Windows 7.
Б.1.2 Функции программы
Функции программного комплекса «vkr.exe» представлены на таблице Б1.
Таблица Б1 - Функционал системы
Функция |
Задача |
Описание |
|
Управление структурой научной деятельности |
Ведение справочников |
Ведение справочников для предоставления различных прав для работы с системой, в зависимости от пользователя |
|
Ведение журнала студентов |
Управление развитием научных компетенций студентов и написание им комментариев |
||
Расчет функций |
Расчет и просмотр вычисленных значений функций научной деятельности |
Б.1.3 Минимальный состав технических средств
Минимальный состав используемых технических средств:
· IBM PC совместимый с процессором 80386 и выше
· ОЗУ более 32 Мбайт
· 16 Мб видеопамяти и выше
· Наличие свободного места на жестком диске более 20 Мбайт.
Б.1.4 Минимальный состав программных средств
Системные программные средства, используемые программой vkr.exe, должны быть представлены локализованной версией операционной системы Windows 7.
Б.2 Структура программы
Б.2.1 Сведения о структуре программы
Программа «vkr.ехе» состоит из одной запускаемой формы.
Б.2.2 Сведения о составных частях программы
Программа «vkr.ехе» состоит из одной запускаемой формы и не имеет составных частей.
Б3. Проверка программы
Б.3.1 Описание способов проверки
Работоспособность программы «vkr.ехе» проверяется просмотром справочников.
Б.3.2 Методы прогона
Б.3.2.1 Проверка работоспособности программы
1. На исполняемом файле vkr.exe в каталоге установки программы, произвести двойной щелчок левой кнопкой мыши.
2. В открывшемся окне в поле «Пользователь» ввести имя пользователя, в поле «Пароль» ввести пароль пользователя. Нажать кнопку «Авторизация».
3. В появившемся окне «Окно работы Администратора БД» указать из выпадающего списка «Справочник пользователей» и нажать кнопку «Выбрать».
Б.3.2.2 Проверка на сообщение об ошибке
1. На исполняемом файле vkr.exe в каталоге установки программы, произвести двойной щелчок левой кнопкой мыши.
2. В открывшемся окне в поле «Пользователь» ввести имя пользователя, в поле «Пароль» ввести неверный пароль пользователя. Нажать кнопку «Авторизация».
3. Программа должна выдать сообщение об ошибке (рисунок В1)
Б4. Сообщения системному программисту
Программа «vkr.exe» выдает сообщения об ошибке, показанные на рисунках В1 и В2.
Рисунок Б1 - Ошибка авторизации
ПРИЧИНА. Введен неверный логин или пароль
ДЕЙСТВИЯ ПРОГРАММЫ. Программа не может осуществить механизм входа
ДЕЙСТВИЯ ПРОГРАММИСТА. Ввести корректный логин или пароль.
ПРИЛОЖЕНИЕ В
Схема алгоритма
ПРИЛОЖЕНИЕ Г
Сертификаты
Рисунок Г1 - Сертификат «Netcracker»
ПРИЛОЖЕНИЕ Д
Текст статьи
ПРИМЕНЕНИЕ СТАТИСТИЧЕСКИХ МЕТОДОВ АНАЛИЗА РЕЗУЛЬТАТОВ ТЕСТИРОВАНИЯ СТУДЕНТОВ ПО ДИСЦИПЛИНАМ КАФЕДРЫ «МЕХАНИЗАЦИИ, АВТОМАТИЗАЦИИ И ЭЛЕКТРОСНАБЖЕНИЯ СТРОИТЕЛЬНЫХ ПЛОЩАДОК»
Самарский государственный архитектурно-строительный университет
Аннотация: в статье сделана попытка исследования результатов промежуточного тестирования студентов. В данной работе были использованы непараметрические методы стандартного аппарата математического анализа, такие как коэффициент ассоциации Юла, коэффициент контингенции Пирсона и коэффициент корреляции рангов.
Ключевые слова: тестирование, статистический анализ, коэффициент ассоциации, коэффициент контингенции, коэффициент корреляции рангов.
В современном обществе проблема развития профессиональных компетенций очень актуальна. Для проверки их формирования необходимо проводить промежуточный контроль знаний, что особенно актуально при индивидуализированном обучении [1,2,3,4]. В настоящий момент существует много методик оценки качества обучения, к примеру, тестирование, которое является самой популярной системой проверки остаточных и промежуточных знаний. Данная система позволяет выявить «пробелы» в знаниях, что помогает дать достаточно информации для приобретения профессиональных навыков в рамках учебной программы.
Существующие виды тестирования неидеальны, в частности, определение трудоемкости тех или иных заданий порой бывает затруднительно. Основой для выполнения данного исследования и стала эта проблема. В ходе ряда тестов было получено достаточно данных для их исследования и выявления некоторых зависимостей. В данной работе предпринята попытка произвести данный анализ.
Информационной базой является база данных результатов прохождения тестов во время летней сессии 2014 года, на кафедре «Механизации, автоматизации и электроснабжения строительных площадок». В ходе анализа были использованы информационные технологии:
1) Microsoft Excel;
2) STATISTICA;
3) SOFA Statistics.
Пакет Microsoft Excel имеет широкий набор возможностей для проведения математического анализа, но в тоже время специально не предназначен для проведения статистического анализа, в отличие от программ STATISTICA и SOFA Statistics. STATISTICA имеет большой набор методов для исследования методов корреляции между переменными, например вычисление коэффициента Пирсона. SOFA Statistics предназначена для создания отчетов на основе статистических тестов, а также имеет небольшой ряд возможностей для проведения статистического анализа.
В ходе выполнения работы были выявлены следующие результаты.
Исследование взаимосвязи результатов тестирования и затрат времени на него, использовались только непараметрические методы, для которых нет ограничений в связи с объемом информации и зависимости от закона распределения.
В частности были использованы методы:
1) Коэффициент ассоциации Юла;
Таблица 1. Сопряженность признаков.
Затрачено времени выше среднего |
Ниже среднего |
||
Выше среднего балла |
a |
b |
|
Ниже среднего |
c |
d |
2) Коэффициент контигенции Пирсона;
где a, b, c, d берутся из таблицы сопряженности признаков
3) Коэффициент корреляции рангов Спирмена;
где- сумма квадратов разностей рангов, а - число парных наблюдений.
Используемые в работе коэффициенты должны показать зависимость между затраченным временем на тест и его результатом. Коэффициент ассоциации Юла показывает степень тесноты между признаками. Коэффициент контингенции Пирсона вычисляется с помощью коэффициента ассоциации и служит для получения более качественной оценки силы связи. Коэффициент корреляции рангов Спирмена непараметрический метод, который определяет фактическую степень параллелизма между двумя количественными рядами изучаемых признаков и дает оценку тесноты установленной связи с помощью количественно выраженного коэффициента.
Окончательная взаимосвязь результатов тестирования и затраченного времени на прохождение тестовых заданий отражены в Таблице 2.
Таблица 2. Взаимосвязь результатов тестирования и затрат времени.
Дисциплины |
Коэффициент ассоциации |
Коэффициент контингенции |
Коэффициент корреляции |
|
Машины, оборудование и инструмент в строительстве |
-0,871 |
-0,582 |
-0,433 |
|
Нелинейные системы управления |
-0,746 |
-0,424 |
-0,0714 |
|
Теория автоматического управления |
-0,134 |
-0,065 |
-0,331 |
|
Электрооборудование в строительстве |
0,250 |
0,111 |
0,085 |
Результатом расчета является полученный коэффициент корреляции, контингенции и ассоциации. Следовательно, можно утверждать, что показатели результата тестирования студентов и затраченное время на прохождение тестовых заданий связаны отрицательной корреляционной зависимостью - иначе говоря, чем выше показатель затраченного времени, тем лучше будет пройдено тестирование.
Результаты данной работы могут быть использованы при улучшении системы тестирования.
Список использованных источников
1. Козлов, В.В. Индивидуализация учебного процесса в инфокоммуникационной среде вуза / Козлов В.В. // Saarbruecken, Germany, 2012. - 111 с. - ISBN 978-3-8473-7586-9.
2. Козлов, В.В. Планирование и организация учебного процесса в вузе на основе информационной технологии индивидуализированного обучения: дис. к.т.н.: 05.13.10 : / Козлов В.В. - М., 2010. - с. 160, Национальный исследовательский технологический университет "МИСиС".
3. Козлов, В.В. Технология индивидуализированной подготовки специалистов в области инфокоммуникаций на основе математического моделирования / Козлов В.В. // Известия Самарского научного центра Российской академии наук. 2009. Т. 11. № 5-2. С. 499-501. - ISSN 1990-5378.
Козлов, В.В. Модель индивидуализированной подготовки специалистов в инфокоммуникационной среде вуза / Козлов В.В., Пиявский С.А. // Инфокоммуникационные технологии. 2009. Т. 7. № 3. С. 93-98. - ISSN 2073-3909.
ПРИЛОЖЕНИЕ Е
Листинг программы
#include "widget.h"
#include "ui_widget.h"
#include "connectdb.h"
#include <QtSql>
#include <QMessageBox>
#include <QtGui>
#include <QInputDialog>
#include <QApplication>
//Библиотеки Qwt
#include <qwt_plot.h>
#include <qwt_plot_grid.h>
#include <qwt_legend.h>
#include <qwt_plot_curve.h>
#include <qwt_symbol.h>
#include <qwt_plot_magnifier.h>
#include <qwt_plot_panner.h>
#include <qwt_plot_picker.h>
#include <qwt_picker_machine.h>
//Идентификатор студента
int id_stud;
//Идентификатор студента для расчета
int id_stud_ras;
//для журнала преподавателя
int id_stud_journal;
QStringList items;
//Модель пользователей
QSqlTableModel *users;
//Модель студент-функция
QSqlTableModel *znach;
//Модель для семестров
QSqlTableModel *semestr;
//Модель для студентов
QSqlTableModel *stud;
//Модель для отображения
QSqlTableModel *model1;
//QwtPlot *plot;
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{ui->setupUi(this);
//Заполнение комбобокса справочников для администратора БД
ui->comboBox->addItem("Пользователи");
ui->comboBox->addItem("Компетенции");
ui->comboBox->addItem("Студенты");
//Пароль
ui->lineEdit_2->setEchoMode(QLineEdit::Password);
//Кнопка выхода делается скрытой
ui->pushButton_2->setHidden(1);
//Кнопка справка делается скрытной
ui->pushButton_10->setHidden(1);
//Подключение к бд
connectDB();
//Заполнение модели юзеров
users = new QSqlTableModel;
users->setTable("users");
users->select();
//Заполнение модели студент-функция
znach = new QSqlTableModel;
znach->setTable("znach");
znach->select();
//Заполнение модели студентов
stud = new QSqlTableModel;
stud->setTable("stud");
stud->select();
//QStringList items;
for (int i=0; i<stud->rowCount(); i++)
items << stud->record(i).value(1).toString();
//Всплывающие подсказки
ui->label_19->setToolTip("Оптимизируемый параметр");
ui->label_20->setToolTip("Коэффициент возрастания функции");
ui->label_21->setToolTip("Коэффициент формирования мотивации");
ui->label_23->setToolTip("Коэффициент формирования мотивации");
ui->label_24->setToolTip("Максимальный уровень мотивации");
ui->label_25->setToolTip("Шаг интегрирования");
ui->label_26->setToolTip("Время интегрирования");
ui->label_23->setVisible(false);
ui->a0_2->setVisible(false);
ui->label_24->setVisible(false);
ui->M_max_2->setVisible(false);
//Установка ширины столбцов tablewidget
ui->tableWidget->setColumnWidth(0, 200);
for (int i=1; i<10; i++)
ui->tableWidget->setColumnWidth(i,65);
//Установка ширины столбцов tablewidget для рассчитаных значений
ui->tableWidget_2->setColumnWidth(0, 150);
for (int i=1; i<10; i++)
ui->tableWidget_2->setColumnWidth(i,70);
//Заполнение tablewidget для журнала студентами и компетенциями
for (int i=0; i<stud->rowCount(); i++)
{ui->tableWidget->insertRow(ui->tableWidget->rowCount());
QTableWidgetItem* item1 = new QTableWidgetItem;
item1->setText(stud->record(i).value(1).toString());
ui->tableWidget->setItem(i,0,item1);
for (int j=0; j<9; j++)
{QTableWidgetItem* item2 = new QTableWidgetItem;
item2->setText(znach->record( (i*9) + j).value(3).toString());
ui->tableWidget->setItem(i,j+1,item2);
}
//Заполнение полей значениями по умолчанию
ui->tetta1->setText("0.333");
ui->tetta1_2->setText("0.333");
ui->tetta1_3->setText("0.333");
ui->tetta1_4->setText("0.333");
ui->tetta1_5->setText("0.333");
ui->tetta1_6->setText("0.333");
ui->tetta1_7->setText("0.333");
ui->tetta1_8->setText("0.333");
ui->tetta1_9->setText("0.333");
ui->beta1->setText("0.12");
ui->beta1_2->setText("0.12");
ui->beta1_3->setText("0.12");
ui->beta1_4->setText("0.12");
ui->beta1_5->setText("0.12");
ui->beta1_6->setText("0.12");
ui->beta1_7->setText("0.12");
ui->beta1_8->setText("0.12");
ui->beta1_9->setText("0.12");
this->setWindowTitle("Программный комплекс оптимального управления структурой научной деятельности студентов в семестре");
}
Widget::~Widget()
{
delete ui;
}
//Функция расчета
double proizvod(double b, double x, double t, double m)
{double p = b * x * (1 - x) * t * m;
return p;
}
//Метод РК
double rung(double b, double x, double t, double m, double h){
double k1,k2,k3,k4,ras;
k1 = b * x * (1 - x) * t * m;
k2 = b * x+(h*k1/2) * (1 - x+(h*k1/2)) * t * m;
k3 = b * x+(h*k2/2) * (1 - x+(h*k2/2)) * t * m;
k4 = b * (x+k3*h) * (1 - (x+k3*h)) * t * m;
ras = h/6 * (k1 + 2*k2 + 2*k3 + k4);
//ras = ras / 10;
return ras;
}
//Авторизация ->
void Widget::on_pushButton_clicked()
{
int flag=-1;
for (int i=0; i<users->rowCount();i++)
{
if ( (ui->lineEdit->text()==users->record(i).value(3).toString()) &&
(ui->lineEdit_2->text()==users->record(i).value(4).toString()) )
{
flag=users->record(i).value(2).toInt();
break;
}
}
switch (flag){
case 0:
//admin
ui->stackedWidget->setCurrentIndex(1);
ui->pushButton_2->setHidden(0);
ui->pushButton_10->setHidden(0);
ui->label_4->setText("Администратор БД");
break;
case 1:
//prep
ui->stackedWidget->setCurrentIndex(2);
ui->pushButton_2->setHidden(0);
ui->pushButton_10->setHidden(0);
ui->label_4->setText("Преподаватель");
break;
case 2:{
//stud
ui->stackedWidget->setCurrentIndex(3);
ui->pushButton_2->setHidden(0);
ui->pushButton_10->setHidden(0);
ui->label_4->setText("Студент");
//Вывод данных конкретного студента
QString str_stud;
for (int i=0; i<users->rowCount(); i++)
{
if (ui->lineEdit->text()==users->record(i).value(3).toString())
str_stud = users->record(i).value(1).toString();
}
for (int i=0; stud->rowCount(); i++)
{
if (str_stud == stud->record(i).value(1).toString())
{
id_stud = stud->record(i).value(0).toInt();
break;
}
}
ui->label_6->setText(stud->record(id_stud-1).value(1).toString());
//QString
//Вывод его компетенций
int dd = (id_stud-1) * 9;
double kompeten[9];
for (int i=0; i<9; i++)
kompeten[i] = znach->record(dd+i).value(3).toDouble() / 180;
ui->znach_func_1->setText(QString::number(kompeten[0], 'f', 2));
ui->znach_func_2->setText(QString::number(kompeten[1], 'f', 2));
ui->znach_func_3->setText(QString::number(kompeten[2], 'f', 2));
ui->znach_func_4->setText(QString::number(kompeten[3], 'f', 2));
ui->znach_func_5->setText(QString::number(kompeten[4], 'f', 2));
ui->znach_func_6->setText(QString::number(kompeten[5], 'f', 2));
ui->znach_func_7->setText(QString::number(kompeten[6], 'f', 2));
ui->znach_func_8->setText(QString::number(kompeten[7], 'f', 2));
ui->znach_func_9->setText(QString::number(kompeten[8], 'f', 2));
ui->opt_znach_1->setText(znach->record( dd ).value(13).toString());
ui->opt_znach_2->setText(znach->record( dd + 1 ).value(13).toString());
ui->opt_znach_3->setText(znach->record( dd + 2 ).value(13).toString());
ui->opt_znach_4->setText(znach->record( dd + 3 ).value(13).toString());
ui->opt_znach_5->setText(znach->record( dd + 4 ).value(13).toString());
ui->opt_znach_6->setText(znach->record( dd + 5 ).value(13).toString());
ui->opt_znach_7->setText(znach->record( dd + 6 ).value(13).toString());
ui->opt_znach_8->setText(znach->record( dd + 7 ).value(13).toString());
ui->opt_znach_9->setText(znach->record( dd + 8 ).value(13).toString());
//Вывод коммента
ui->textBrowser->setText(stud->record(id_stud-1).value(3).toString());
break;}
default:
QMessageBox::warning(this, "Ошибка входа", "Вы ввели некорректный логин или пароль");
break;
}
}
//Кнопка выхода ->
void Widget::on_pushButton_2_clicked()
{
ui->stackedWidget->setCurrentIndex(0);
ui->pushButton_2->setHidden(1);
ui->pushButton_10->setHidden(1);
ui->label_4->setText(" ");
}
//Кнопка Выбрать (выбор справочника на странице админа)
void Widget::on_pushButton_3_clicked()
{
model1 = new QSqlTableModel;
switch (ui->comboBox->currentIndex())
{
case 0:
model1->setTable("users");
model1->select();
ui->tableView->setModel(model1);
break;
case 1:
model1->setTable("func");
model1->select();
ui->tableView->setModel(model1);
break;
case 2:
model1->setTable("stud");
model1->select();
ui->tableView->setModel(model1);
break;
default:
break;
}
}
//Кнопка Журнал ->
void Widget::on_pushButton_4_clicked()
{
ui->stackedWidget->setCurrentIndex(7);
}
//Кнопка Расчет ->
void Widget::on_pushButton_5_clicked()
{
//ui->stackedWidget->setCurrentIndex(5);
ui->stackedWidget->setCurrentIndex(8);
QString str_stud;
str_stud = QInputDialog::getItem(0, "Ввод фамилии", "Фамилия",items,0,false);
qDebug() << str_stud;
for (int i=0; stud->rowCount(); i++)
{
if (str_stud == stud->record(i).value(1).toString())
{
id_stud_ras = stud->record(i).value(0).toInt();
break;
}
}
//Простановка значения перед расчетом
int dd = (id_stud_ras-1) * 9;
//Teta
ui->tetta1_10->setText(znach->record( dd ).value(7).toString());
ui->tetta1_11->setText(znach->record( dd+1 ).value(7).toString());
ui->tetta1_12->setText(znach->record( dd+2 ).value(7).toString());
ui->tetta1_13->setText(znach->record( dd+3 ).value(7).toString());
ui->tetta1_14->setText(znach->record( dd+4 ).value(7).toString());
ui->tetta1_15->setText(znach->record( dd+5 ).value(7).toString());
ui->tetta1_16->setText(znach->record( dd+6 ).value(7).toString());
ui->tetta1_17->setText(znach->record( dd+7 ).value(7).toString());
ui->tetta1_18->setText(znach->record( dd+8 ).value(7).toString());
//Beta
ui->beta1_10->setText(znach->record( dd ).value(6).toString());
ui->beta1_11->setText(znach->record( dd+1 ).value(6).toString());
ui->beta1_12->setText(znach->record( dd+2 ).value(6).toString());
ui->beta1_13->setText(znach->record( dd+3 ).value(6).toString());
ui->beta1_14->setText(znach->record( dd+4 ).value(6).toString());
ui->beta1_15->setText(znach->record( dd+5 ).value(6).toString());
ui->beta1_16->setText(znach->record( dd+6 ).value(6).toString());
ui->beta1_17->setText(znach->record( dd+7 ).value(6).toString());
ui->beta1_18->setText(znach->record( dd+8 ).value(6).toString());
//Alpha
ui->alpha1_10->setText(znach->record( dd ).value(5).toString());
ui->alpha1_11->setText(znach->record( dd+1 ).value(5).toString());
ui->alpha1_12->setText(znach->record( dd+2 ).value(5).toString());
ui->alpha1_13->setText(znach->record( dd+3 ).value(5).toString());
ui->alpha1_14->setText(znach->record( dd+4 ).value(5).toString());
ui->alpha1_15->setText(znach->record( dd+5 ).value(5).toString());
ui->alpha1_16->setText(znach->record( dd+6 ).value(5).toString());
ui->alpha1_17->setText(znach->record( dd+7 ).value(5).toString());
ui->alpha1_18->setText(znach->record( dd+8 ).value(5).toString());
//X
double xx[9];
for (int i =0; i< 9; i++)
{
xx[i] = znach->record(dd + i).value(3).toDouble() / 180;
}
ui->x1->setText(QString::number(xx[0], 'f', 4));
ui->x2->setText(QString::number(xx[1], 'f', 4));
ui->x3->setText(QString::number(xx[2], 'f', 4));
ui->x4->setText(QString::number(xx[3], 'f', 4));
ui->x5->setText(QString::number(xx[4], 'f', 4));
ui->x6->setText(QString::number(xx[5], 'f', 4));
ui->x7->setText(QString::number(xx[6], 'f', 4));
ui->x8->setText(QString::number(xx[7], 'f', 4));
ui->x9->setText(QString::number(xx[8], 'f', 4));
//Other
ui->a0_2->setText(znach->record( dd ).value(11).toString());
ui->M_max_2->setText(znach->record( dd ).value(8).toString());
ui->h_2->setText(znach->record( dd ).value(9).toString());
ui->T_2->setText(znach->record( dd ).value(10).toString());
ui->lineEdit_4->setText(znach->record( dd ).value(12).toString());
}
//Кнопка Рассчитать ->
void Widget::on_pushButton_6_clicked()
{
ui->stackedWidget->setCurrentIndex(6);
if ( ((ui->tetta1->text().toDouble() < 0) || (ui->tetta1->text().toDouble() > 1))
|| ((ui->tetta1_2->text().toDouble() < 0) || (ui->tetta1_2->text().toDouble() > 1))
|| ((ui->tetta1_3->text().toDouble() < 0) || (ui->tetta1_3->text().toDouble() > 1))
|| ((ui->tetta1_4->text().toDouble() < 0) || (ui->tetta1_4->text().toDouble() > 1))
|| ((ui->tetta1_5->text().toDouble() < 0) || (ui->tetta1_5->text().toDouble() > 1))
|| ((ui->tetta1_6->text().toDouble() < 0) || (ui->tetta1_6->text().toDouble() > 1))
|| ((ui->tetta1_7->text().toDouble() < 0) || (ui->tetta1_7->text().toDouble() > 1))
|| ((ui->tetta1_8->text().toDouble() < 0) || (ui->tetta1_8->text().toDouble() > 1))
|| ((ui->tetta1_9->text().toDouble() < 0) || (ui->tetta1_9->text().toDouble() > 1)) )
{
ui->stackedWidget->setCurrentIndex(5);
QMessageBox::warning(this, "Ошибка", "Значения коэффициента тета должно быть больше нуля и меньше единицы");
}
if ( ((ui->beta1->text().toDouble() < 0) || (ui->beta1->text().toDouble() > 1))
|| ((ui->beta1_2->text().toDouble() < 0) || (ui->beta1_2->text().toDouble() > 1))
|| ((ui->beta1_3->text().toDouble() < 0) || (ui->beta1_3->text().toDouble() > 1))
|| ((ui->beta1_4->text().toDouble() < 0) || (ui->beta1_4->text().toDouble() > 1))
|| ((ui->beta1_5->text().toDouble() < 0) || (ui->beta1_5->text().toDouble() > 1))
|| ((ui->beta1_6->text().toDouble() < 0) || (ui->beta1_6->text().toDouble() > 1))
|| ((ui->beta1_7->text().toDouble() < 0) || (ui->beta1_7->text().toDouble() > 1))
|| ((ui->beta1_8->text().toDouble() < 0) || (ui->beta1_8->text().toDouble() > 1))
|| ((ui->beta1_9->text().toDouble() < 0) || (ui->beta1_9->text().toDouble() > 1)) )
{
ui->stackedWidget->setCurrentIndex(5);
QMessageBox::warning(this, "Ошибка", "Значения коэффициента бета должно быть больше нуля и меньше единицы");
}
if ( ((ui->alpha1->text().toDouble() < 0) || (ui->beta1->text().toDouble() > 1))
|| ((ui->alpha1_2->text().toDouble() < 0) || (ui->alpha1_2->text().toDouble() > 1))
|| ((ui->alpha1_3->text().toDouble() < 0) || (ui->alpha1_3->text().toDouble() > 1))
|| ((ui->alpha1_4->text().toDouble() < 0) || (ui->alpha1_4->text().toDouble() > 1))
|| ((ui->alpha1_5->text().toDouble() < 0) || (ui->alpha1_5->text().toDouble() > 1))
|| ((ui->alpha1_6->text().toDouble() < 0) || (ui->alpha1_6->text().toDouble() > 1))
|| ((ui->alpha1_7->text().toDouble() < 0) || (ui->alpha1_7->text().toDouble() > 1))
|| ((ui->alpha1_8->text().toDouble() < 0) || (ui->alpha1_8->text().toDouble() > 1))
|| ((ui->alpha1_9->text().toDouble() < 0) || (ui->alpha1_9->text().toDouble() > 1)) )
{
ui->stackedWidget->setCurrentIndex(5);
QMessageBox::warning(this, "Ошибка", "Значения коэффициента альфа должно быть больше нуля и меньше единицы");
}
double zz = 0;
for (int i=0; i<stud->rowCount(); i++)
{
ui->tableWidget_2->insertRow(ui->tableWidget_2->rowCount());
QTableWidgetItem* item_1 = new QTableWidgetItem;
item_1->setText(stud->record(i).value(1).toString());
ui->tableWidget_2->setItem(i,0,item_1);
for (int j=0; j<9; j++)
{
QTableWidgetItem* item_2 = new QTableWidgetItem;
zz = (ui->tetta1->text().toDouble() + ui->beta1->text().toDouble() +
ui->alpha1->text().toDouble() + ui->M_max->text().toDouble() ) /
ui->T->text().toDouble() + znach->record( (i*9) + j).value(3).toDouble();
item_2->setText(QString::number(zz));
ui->tableWidget_2->setItem(i, j+1, item_2);
}
}
}
//Кнопка "Добавить строку" в справочнике на странице админа
void Widget::on_pushButton_7_clicked()
{
model1->insertRow(model1->rowCount());
model1->submitAll();
}
//Кнопка "Удалить строку" в справочнике на странице админа
void Widget::on_pushButton_8_clicked()
{
model1->removeRow(model1->rowCount()-1);
model1->submitAll();
}
//Выбрать семестр и показать студенту отчет
void Widget::on_pushButton_9_clicked()
{
ui->stackedWidget->setCurrentIndex(2);
}
//Справка
void Widget::on_pushButton_10_clicked()
{
QMessageBox::information(this, "Справка", "ПК оптимального управления струкурой научной деятельности студентов в семестре");
QMessageBox::information(this, "Справка по коэффициентам",
"Бета - коэф. возрастания функции, Альфа-формирование мотивации, Тета - оптимизируемый параметр");
}
//Кнопка "Применить" на странице админа
void Widget::on_pushButton_12_clicked()
{
model1->submitAll();
}
//Выбор студента
void Widget::on_tableWidget_doubleClicked(const QModelIndex &index)
{
ui->stackedWidget->setCurrentIndex(4);
ui->label_11->setText(stud->record(index.row()).value(1).toString());
int rr=index.row()*9;
ui->stud_journal_func->setText(znach->record(rr).value(3).toString());
ui->stud_journal_func_2->setText(znach->record(rr+1).value(3).toString());
ui->stud_journal_func_3->setText(znach->record(rr+2).value(3).toString());
ui->stud_journal_func_4->setText(znach->record(rr+3).value(3).toString());
ui->stud_journal_func_5->setText(znach->record(rr+4).value(3).toString());
ui->stud_journal_func_6->setText(znach->record(rr+5).value(3).toString());
ui->stud_journal_func_7->setText(znach->record(rr+6).value(3).toString());
ui->stud_journal_func_8->setText(znach->record(rr+7).value(3).toString());
ui->stud_journal_func_9->setText(znach->record(rr+8).value(3).toString());
id_stud_journal = index.row();
}
//Составить комментарий студенту
void Widget::on_pushButton_11_clicked()
{
ui->stackedWidget->setCurrentIndex(2);
QSqlRecord record;
record = stud->record(id_stud_journal);
record.setValue(3, QVariant(ui->textEdit->toPlainText()));
stud->setRecord(id_stud_journal, record);
stud->submitAll();
}
void Widget::on_journal_button_clicked()
{
QSqlRecord rec1;
rec1 = znach->record(id_stud_journal*9);
rec1.setValue(5, QVariant("1"));
znach->setRecord(id_stud_journal*9, rec1);
znach->submitAll();
}
//Кнопка Расчет с графиком
void Widget::on_pushButton_13_clicked()
{
//Проверка переменных
if ( ((ui->tetta1_10->text().toDouble() < 0) || (ui->tetta1_10->text().toDouble() > 1))
|| ((ui->tetta1_11->text().toDouble() < 0) || (ui->tetta1_11->text().toDouble() > 1))
|| ((ui->tetta1_12->text().toDouble() < 0) || (ui->tetta1_12->text().toDouble() > 1))
|| ((ui->tetta1_13->text().toDouble() < 0) || (ui->tetta1_13->text().toDouble() > 1))
|| ((ui->tetta1_14->text().toDouble() < 0) || (ui->tetta1_14->text().toDouble() > 1))
|| ((ui->tetta1_15->text().toDouble() < 0) || (ui->tetta1_15->text().toDouble() > 1))
|| ((ui->tetta1_16->text().toDouble() < 0) || (ui->tetta1_16->text().toDouble() > 1))
|| ((ui->tetta1_17->text().toDouble() < 0) || (ui->tetta1_17->text().toDouble() > 1))
|| ((ui->tetta1_18->text().toDouble() < 0) || (ui->tetta1_18->text().toDouble() > 1)) )
{
QMessageBox::warning(this, "Ошибка", "Значения коэффициента тета должно быть больше нуля и меньше единицы");
}
if ( ((ui->beta1_10->text().toDouble() < 0) || (ui->beta1_10->text().toDouble() > 1))
|| ((ui->beta1_11->text().toDouble() < 0) || (ui->beta1_11->text().toDouble() > 1))
|| ((ui->beta1_12->text().toDouble() < 0) || (ui->beta1_12->text().toDouble() > 1))
|| ((ui->beta1_13->text().toDouble() < 0) || (ui->beta1_13->text().toDouble() > 1))
|| ((ui->beta1_14->text().toDouble() < 0) || (ui->beta1_14->text().toDouble() > 1))
|| ((ui->beta1_15->text().toDouble() < 0) || (ui->beta1_15->text().toDouble() > 1))
|| ((ui->beta1_16->text().toDouble() < 0) || (ui->beta1_16->text().toDouble() > 1))
|| ((ui->beta1_17->text().toDouble() < 0) || (ui->beta1_17->text().toDouble() > 1))
|| ((ui->beta1_18->text().toDouble() < 0) || (ui->beta1_18->text().toDouble() > 1)) )
{
QMessageBox::warning(this, "Ошибка", "Значения коэффициента бета должно быть больше нуля и меньше единицы");
}
int dd = (id_stud_ras-1) * 9;
// Кривая
QwtPlotMagnifier *magnifier = new QwtPlotMagnifier(ui->plot->canvas());
// клавиша, активирующая приближение/удаление
magnifier->setMouseButton(Qt::MidButton);
// Включить возможность перемещения по графику
// #include <qwt_plot_panner.h>
QwtPlotPanner *d_panner = new QwtPlotPanner( ui->plot->canvas() );
// клавиша, активирующая перемещение
d_panner->setMouseButton( Qt::RightButton );
ui->plot->setAxisTitle(QwtPlot::yLeft, "Значения");
ui->plot->setAxisTitle(QwtPlot::xBottom, "Итерация");
ui->plot->insertLegend( new QwtLegend() );
QwtPlotCurve *curve = new QwtPlotCurve();
QwtPlotCurve *curve2 = new QwtPlotCurve();
QwtPlotCurve *curve3 = new QwtPlotCurve();
QwtPlotCurve *curve4 = new QwtPlotCurve();
QwtPlotCurve *curve5 = new QwtPlotCurve();
QwtPlotCurve *curve6 = new QwtPlotCurve();
QwtPlotCurve *curve7 = new QwtPlotCurve();
QwtPlotCurve *curve8 = new QwtPlotCurve();
QwtPlotCurve *curve9 = new QwtPlotCurve();
double h=0;
double r;
int kol_iter = ui->T_2->text().toInt() + 1;
//----------------Ф1
QPolygonF qwt_points1;
curve->setTitle( "Функция 1" );
curve->setPen( Qt::blue, 1 ); // цвет и толщина кривой
curve->setRenderHint
( QwtPlotItem::RenderAntialiased); // сглаживание
double x_new = ui->znach_func_1->text().toDouble();
double points[kol_iter];
double f1;
double fm1;
double sum=0;
double tet[9];
double aa[9];
tet[0]=ui->tetta1_10->text().toDouble();
tet[1]=ui->tetta1_11->text().toDouble();
tet[2]=ui->tetta1_12->text().toDouble();
tet[3]=ui->tetta1_13->text().toDouble();
tet[4]=ui->tetta1_14->text().toDouble();
tet[5]=ui->tetta1_15->text().toDouble();
tet[6]=ui->tetta1_16->text().toDouble();
tet[7]=ui->tetta1_17->text().toDouble();
tet[8]=ui->tetta1_18->text().toDouble();
aa[0]=ui->alpha1_10->text().toDouble();
aa[1]=ui->alpha1_11->text().toDouble();
aa[2]=ui->alpha1_12->text().toDouble();
aa[3]=ui->alpha1_13->text().toDouble();
aa[4]=ui->alpha1_14->text().toDouble();
aa[5]=ui->alpha1_15->text().toDouble();
aa[6]=ui->alpha1_16->text().toDouble();
aa[7]=ui->alpha1_17->text().toDouble();
aa[8]=ui->alpha1_18->text().toDouble();
for (int i=0;i<9;i++)
sum= sum + tet[i]*aa[i];
double xx=ui->x1->text().toDouble();
double mot=ui->lineEdit_4->text().toDouble();
f1 = proizvod(ui->beta1_10->text().toDouble(),xx,
ui->tetta1_10->text().toDouble(),ui->lineEdit_4->text().toDouble());
fm1 = ( ui->a0_2->text().toDouble() + ui->lineEdit_4->text().toDouble() * sum)*(ui->M_max_2->text().toDouble()-ui->lineEdit_4->text().toDouble());
points[0]=0;
double xxx=ui->x1->text().toDouble();
for(int i =0; i<kol_iter; i++)
{
xxx = xxx + f1;
qwt_points1 << QPointF(h*100, xxx);
mot=mot + ui->h_2->text().toDouble()*fm1;
f1 = ui->beta1_10->text().toDouble() * xxx *
(1 - xxx) * ui->tetta1_10->text().toDouble() * mot;
fm1 = ( ui->a0_2->text().toDouble() + mot * sum)*(ui->M_max_2->text().toDouble()-mot);
h= h+ui->h_2->text().toDouble();
if (i==2)
{
qDebug() << QString::number(points[2], 'f', 4);
qDebug() << QString::number(mot, 'f', 4);
qDebug() << QString::number(f1, 'f', 4);
qDebug() << QString::number(fm1, 'f', 4);
qDebug() << QString::number(h, 'f', 4);
}
}
h=0;
ui->kon1->setText(QString::number(f1,'f',3));
curve->setTitle("Функция 1");
curve->setSamples( qwt_points1 ); // ассоциировать набор точек с кривой
ui->kon1->setText(QString::number(points[kol_iter], 'f', 2));
QSqlQuery query;
//query.exec("SELECT name, salary FROM employee WHERE salary > 50000");
//query.exec("UPDATE znach SET opt = "+ 2 +" WHERE id_znach = "+dd+" ;");
query.prepare("UPDATE znach SET opt = :num WHERE id_znach = :id ;");
query.bindValue(":num",QString::number(points[kol_iter], 'f', 2));
query.bindValue(":id",QString::number(dd+1, 'f', 2));
query.exec();
//---------------------
//----------------Ф2
QPolygonF qwt_points2;
curve2->setPen( Qt::red, 1 ); // цвет и толщина кривой
curve2->setRenderHint
( QwtPlotItem::RenderAntialiased, true ); // сглаживание
double f2;
double fm2;
double points2[kol_iter];
double xx2=ui->x1->text().toDouble();
mot=ui->lineEdit_4->text().toDouble();
f2 = proizvod(ui->beta1_11->text().toDouble(),xx2,
ui->tetta1_11->text().toDouble(),ui->lineEdit_4->text().toDouble());
fm2 = ( ui->a0_2->text().toDouble() + ui->lineEdit_4->text().toDouble() * sum)*(ui->M_max_2->text().toDouble()-ui->lineEdit_4->text().toDouble());
points2[0]=0;
double xxx2=ui->x2->text().toDouble();
for(int i =0; i<kol_iter; i++)
{
xxx2 = xxx2 + f2;
qwt_points2 << QPointF(h*100, xxx2);
mot=mot + ui->h_2->text().toDouble()*fm2;
f2 = ui->beta1_10->text().toDouble() * xxx2 *
(1 - xxx2) * ui->tetta1_10->text().toDouble() * mot;
fm2 = ( ui->a0_2->text().toDouble() + mot * sum)*(ui->M_max_2->text().toDouble()-mot);
h= h+ui->h_2->text().toDouble();
}
h=0;
curve2->setTitle("Функция 2");
curve2->setSamples( qwt_points2 ); // ассоциировать набор точек с кривой
ui->kon1_2->setText(QString::number(points2[kol_iter], 'f', 2));
QSqlQuery query2;
query2.prepare("UPDATE znach SET opt = :num WHERE id_znach = :id ;");
query2.bindValue(":num",QString::number(points2[kol_iter], 'f', 2));
query2.bindValue(":id",QString::number(dd+2, 'f', 2));
query2.exec();
//---------------------
//----------------Ф3
QPolygonF qwt_points3;
curve3->setPen( Qt::yellow, 1 ); // цвет и толщина кривой
curve3->setRenderHint
( QwtPlotItem::RenderAntialiased, true ); // сглаживание
double f3;
double fm3;
double points3[kol_iter];
double xx3=ui->x3->text().toDouble();
mot=ui->lineEdit_4->text().toDouble();
f3 = proizvod(ui->beta1_12->text().toDouble(),xx3,
ui->tetta1_12->text().toDouble(),ui->lineEdit_4->text().toDouble());
fm3 = ( ui->a0_2->text().toDouble() + ui->lineEdit_4->text().toDouble() * sum)*(ui->M_max_2->text().toDouble()-ui->lineEdit_4->text().toDouble());
points3[0]=0;
double xxx3=ui->x3->text().toDouble();
for(int i =0; i<kol_iter; i++)
{
xxx3 = xxx3 + f3;
qwt_points3 << QPointF(h*100, xxx3);
mot=mot + ui->h_2->text().toDouble()*fm3;
f3 = ui->beta1_12->text().toDouble() * xxx3 *
(1 - xxx3) * ui->tetta1_12->text().toDouble() * mot;
fm3 = ( ui->a0_2->text().toDouble() + mot * sum)*(ui->M_max_2->text().toDouble()-mot);
h= h+ui->h_2->text().toDouble();
}
h=0;
curve3->setTitle("Функция 3");
curve3->setSamples( qwt_points3 ); // ассоциировать набор точек с кривой
ui->kon1_3->setText(QString::number(points3[kol_iter], 'f', 2));
QSqlQuery query3;
query3.prepare("UPDATE znach SET opt = :num WHERE id_znach = :id ;");
query3.bindValue(":num",QString::number(points3[kol_iter], 'f', 2));
query3.bindValue(":id",QString::number(dd+3, 'f', 2));
query3.exec();
//---------------------
//----------------Ф4
QPolygonF qwt_points4;
curve4->setPen( Qt::magenta, 1 ); // цвет и толщина кривой
curve4->setRenderHint
( QwtPlotItem::RenderAntialiased, true ); // сглаживание
double f4;
double fm4;
double points4[kol_iter];
double xx4=ui->x4->text().toDouble();
mot=ui->lineEdit_4->text().toDouble();
f4 = proizvod(ui->beta1_13->text().toDouble(),xx4,
ui->tetta1_13->text().toDouble(),ui->lineEdit_4->text().toDouble());
fm4 = ( ui->a0_2->text().toDouble() + ui->lineEdit_4->text().toDouble() * sum)*(ui->M_max_2->text().toDouble()-ui->lineEdit_4->text().toDouble());
points4[0]=0;
double xxx4=ui->x4->text().toDouble();
for(int i =0; i<kol_iter; i++)
{
xxx4 = xxx4 + f4;
qwt_points4 << QPointF(h*100, xxx4);
mot=mot + ui->h_2->text().toDouble()*fm4;
f4 = ui->beta1_13->text().toDouble() * xxx4 *
(1 - xxx4) * ui->tetta1_13->text().toDouble() * mot;
fm4 = ( ui->a0_2->text().toDouble() + mot * sum)*(ui->M_max_2->text().toDouble()-mot);
h= h+ui->h_2->text().toDouble();
}
h=0;
curve4->setTitle("Функция 4");
curve4->setSamples( qwt_points4 ); // ассоциировать набор точек с кривой
ui->kon1_4->setText(QString::number(points4[kol_iter], 'f', 2));
QSqlQuery query4;
query4.prepare("UPDATE znach SET opt = :num WHERE id_znach = :id ;");
query4.bindValue(":num",QString::number(points4[kol_iter], 'f', 2));
query4.bindValue(":id",QString::number(dd+4, 'f', 2));
query4.exec();
//---------------------
//----------------Ф5
QPolygonF qwt_points5;
curve5->setPen( Qt::magenta, 1 ); // цвет и толщина кривой
curve5->setRenderHint
( QwtPlotItem::RenderAntialiased, true ); // сглаживание
double f5;
double fm5;
double points5[kol_iter];
double xx5=ui->x5->text().toDouble();
mot=ui->lineEdit_4...
Подобные документы
Сущность и роль стратегии развития бизнеса в коммерческой организации, ее типы, этапы разработки и реализации. Основные подходы к выработке стратегии. Анализ организационно-экономической деятельности ООО "Галла" и выбор стратегии развития организации.
дипломная работа [83,5 K], добавлен 04.06.2012Понятие стратегии, ее классификация и основные этапы разработки. Оценка экономической эффективности внедрения комплекса функциональных стратегий развития организации. Характеристика программного и правового обеспечения системы менеджмента предприятия.
дипломная работа [4,2 M], добавлен 23.07.2011Характеристика основных этапов процесса разработки региональной стратегии развития, проблем ее составления и реализации. Исследование формирования концепции социально-экономического развития города Тула на 2011-2015 годы и на перспективу до 2025 года.
курсовая работа [862,1 K], добавлен 13.10.2011Основы разработки стратегии развития предприятия: понятие стратегий развития, их виды, процесс разработки. Общая характеристика предприятия и анализ внутренней и внешней среды при разработке и обосновании выбора оптимальной стратегии его развития.
контрольная работа [76,7 K], добавлен 01.10.2012Вид деятельности, история создания и развития ЗАО НПК "Электрические машины". Миссия и основные цели предприятия. Выбор и обоснование стратегии развития организации, построение "дерева решений". Обоснование необходимых изменений в структуре управления.
курсовая работа [236,4 K], добавлен 24.05.2015Подходы к разработке стратегии развития организации, методический инструментарий стратегического менеджмента. Анализ результативных показателей деятельности организации в ретроспективном периоде. Разработка основных стратегических альтернатив развития.
дипломная работа [709,1 K], добавлен 23.03.2019Проблемы и тенденции развития хлебопекарной отрасли. Понятие стратегии развития, процесс ее разработки и реализации. Анализ деятельности и оценка системы управления ЗАО "Железногорский хлебозавод". Разработка модели эффективного управления организацией.
курсовая работа [214,2 K], добавлен 17.08.2011Теоретические аспекты развития муниципального образования. Понятие стратегии развития муниципального образования, его цели и тактика. Методика разработки и основные этапы процесса разработки СРМО. Пути улучшения отечественной системы разработки СРМО.
курсовая работа [50,6 K], добавлен 16.07.2010Типы стратегий развития бизнеса. Подходы к выработке стратегии. Стратегии концентрированного, интегрированного и диверсифицированного роста. Основные задачи разработки стратегии. Понятие стратегического решения. Последовательность разработки стратегии.
контрольная работа [31,4 K], добавлен 23.12.2010Стратегия развития и теоретические основы разработки, планирование деятельности компании. Основные конкурентные стратегии предприятий. Сущность и основные черты стратегии развития. Анализ, характеристика деятельности туристической фирмы ООО "Эсперанто".
дипломная работа [5,6 M], добавлен 21.10.2010Сущность стратегического планирования и основы разработки планов. Подходы к процессу разработки стратегии развития предприятия. Характеристика и особенности организации планирования на ОАО "БЗСП". Пути совершенствования учета стратегических альтернатив.
курсовая работа [1,2 M], добавлен 14.06.2014Концепция и основные факторы устойчивого развития организации. Управление процессом развития. Дифференциация фаз процесса развития. Пересмотр оснований прогресса и поиск его оптимального критерия. Основные тенденции изменений в окружающей среде.
презентация [118,6 K], добавлен 28.08.2016Характеристика раннего периода развития теории управления, основные концепции классической школы. Исследование Г. Минцбергом деятельности руководителей, содержание положений бюрократической теории организации. Современные разработки в области менеджмента.
реферат [24,7 K], добавлен 25.12.2011Эволюция управления как научной дисциплины. Подходы с позиций выделения различных школ в управлении. Системный подход к характеристике организации. Особенности становления и развития науки управления в России. Требования, предъявляемые к организации.
контрольная работа [730,4 K], добавлен 16.06.2010История создания и виды услуг предприятия, его миссия и цели деятельности. Анализ внешней и внутренней среды организации, разработка стратегии ее развития. Моделирование процесса принятия решений. Оценка эффективности концепции системы управления.
курсовая работа [61,9 K], добавлен 07.06.2013Раскрытие сущности и изучение основных видов стратегий фирмы. Определение методов и исследование этапов разработки стратегии организации. Описание процесса разработки и совершенствования стратегии организации на примере торговой сети ЗАО "Гулливер".
дипломная работа [508,9 K], добавлен 07.09.2012Уровни стратегических изменений в организации, этапы процесса изменений. Технические, культурологические, политические причины сопротивления изменениям. Использование стратегии фокусирования. Характеристика основных моделей стратегического планирования.
контрольная работа [241,9 K], добавлен 10.03.2010Понятие, цели, задачи и виды управления развитием организации. Предприятие в условиях неопределенности. Особенности формирования концепции или стратегии развития организации. Анализ внешней и внутренней среды организации и проблемы управления развитием.
курсовая работа [64,0 K], добавлен 11.04.2014Место и роль стратегии в системе современного управления. Грамотное обоснование и правильный выбор стратегии развития, их влияние на результаты предпринимательской деятельности предприятия в целом. Современные концепции стратегического управления.
курсовая работа [252,2 K], добавлен 12.12.2014Основные подходы к процессу формирования стратегии. Особенности процесса формирования и разработки стратегии. Три основных образа действий высшего руководства при формулировке стратегий. Плановый баланс доходов и расходов предприятия ООО "Спейсер".
курсовая работа [189,2 K], добавлен 29.05.2016