Информационная система формирования разновозрастных исследовательских микро коллективов
Сравнительный анализ форм обучения. Физическая структура базы данных. Расчёт необходимого объёма внешней памяти. Основные интерфейсы разрабатываемой информационной системы. Разработка схемы алгоритма формирования исследовательских микро коллективов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 08.10.2018 |
Размер файла | 4,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
{
result.Add(1);
}
}
else if (shCourseCount < podCourseCount)
{
for (int i = 0; i < shCourseCount; i++)
{
result.Add(1);
}
for (int i = 0; i < podCourseCount - shCourseCount; i++)
{
result[i] += 1;
}
result = result.OrderBy(r => Guid.NewGuid()).ToList();
}
else
{
for (int i = 0; i < shCourseCount; i++)
{
result.Add(1);
}
for (int i = 0; i < shCourseCount - podCourseCount; i++)
{
result[i] -= 1;
}
result = result.OrderBy(r => Guid.NewGuid()).ToList();
}
return result;
}
private DataTable GetInputDataForCourse(int course, out DataTable table, int semesterId)
{
int[,] koefz = {
{1, 1, 3, 3, 3, 2, 2, 0}, {2, 2, 2, 1, 2, 1, 2, 1}, {2, 3, 1, 1, 2, 0, 3, 1},
{2, 4, 0, 0, 2, 0, 3, 1}
};
int countSh = 1;
int countPod = 1;
table = z(course, ref countSh, ref countPod, semesterId);
DataTable dt = new DataTable();
dt.Columns.Add();
for (int j = 0; j < countSh; j++)
{
dt.Columns.Add(table.Rows[j % countSh][0].ToString());
}
int l = 0;
for (int i = 0; i < countPod; i++)
{
dt.Rows.Add(table.Rows[i * countSh][1]);
dt.Rows[i][0] = table.Rows[i * countSh][1];
for (int j = 0; j < countSh; j++)
{
double sum = 0;
double chast = 0;
for (int k = 0; k < 8; k++)
{
sum = sum +
(Math.Pow(3, koefz[course - 2, k] - 1) *
Convert.ToDouble(table.Rows[i * countSh + j][k + 2].ToString()));
chast = chast + Math.Pow(3, koefz[course - 2, k] - 1);
}
dt.Rows[i][j + 1] = Math.Round(sum / chast, 3);
}
}
return dt;
}
private List<ChainItem> GetEffects(out int row, out int col, out List<ChainItem> tableFours, int semesterId)
{
col = 0;
row = 0;
var table = new List<ChainItem>();
tableFours = new List<ChainItem>();
for (int course = 2; course <= 4; course++)
{
DataTable t1;
var t2 = GetInputDataForCourse(course, out t1, semesterId);
var listConnections = GetListConnections(t1);
if (course == 2)
{
col += t2.Rows.Count;
}
for (int j = 0; j < t2.Columns.Count - 1; j++)
{
for (int i = 0; i < t2.Rows.Count; i++)
{
var sc = listConnections.FirstOrDefault(c => c.FioPod == t2.Rows[i][0].ToString()
&& c.FioSh == t2.Columns[j + 1].ColumnName);
var e = double.Parse(t2.Rows[i][j + 1].ToString());
var z = sc != null ? sc.Value > 1 ? 1d : sc.Value : 0d;
e *= (z + 1);
table.Add(new ChainItem
{
Row = i + row,
Col = j + col,
Course = course - 1,
FioPod = t2.Rows[i][0].ToString(),
FioSh = t2.Columns[j + 1].ColumnName,
ForecastEffect = e,
Z1 = z
});
}
//если курс 4 то заполняем таблицу для 4 курса
if (course == 4)
{
tableFours.Add(new ChainItem
{
Row = -1,
Col = j + col,
Course = course,
FioSh = t2.Columns[j + 1].ColumnName,
});
}
}
row += t2.Rows.Count;
col += t2.Columns.Count - 1;
}
return table;
}
private List<StudentConnection> GetListConnections(DataTable t1)
{
var list = new List<StudentConnection>();
for (int i = 0; i < t1.Rows.Count; i++)
{
var v = double.Parse(t1.Rows[i]["z1"].ToString());
if (v > 0)
{
list.Add(new StudentConnection
{
Value = v,
FioPod = t1.Rows[i]["PodShef"].ToString(),
FioSh = t1.Rows[i]["Shef"].ToString(),
});
}
}
return list;
}
#endregion
}
}
ForecastMatrix.cshtml
@{
ViewBag.Title = "Прогнозироавние матричной структуры";
}
<script src="@Url.Content("~/Content/js/highcharts.js")" type="text/javascript"></script>
<script>
$(function() {
$("#loader").dialog({
autoOpen: false,
height: 0,
width: 400,
modal: true,
title: ""
});
});
function getInputData() {
if ($("#SemesterId").val()) {
$("#loader").dialog({ title: "Получение исходных данных..." }).dialog("open");
$.post('@Url.Action("GetInputDataPartial")', { semesterId: $("#SemesterId").val() }, function(data) {
$("#inputDataDiv").html(data);
$("#loader").dialog("close");
$("#getInputData").hide();
$("#getForecastMatrix").show();
}, "html");
} else {
alert("Выберите пожалуйста семестр");
}
}
function getForecastMatrix() {
if ($("#SemesterId").val()) {
$("#loader").dialog({ title: "Расчет матричной структуры..." }).dialog("open");
$.post('@Url.Action("GetForecastMatrixPartial")',
{
semesterId: $("#SemesterId").val(),
countIterations: $("#countIterations").val(),
a: $("#a").val()
}, function (data) {
$("#forecastMatrixDiv").html(data);
$("#loader").dialog("close");
$("#getForecastMatrix").hide();
$("#clear").show();
chart();
}, "html");
} else {
alert("Выберите пожалуйста семестр");
}
}
function clearData() {
location.href = '@Url.Action("ForecastMatrix")';
}
function chart() {
var data = new Array();
var e = { name: "Э", data: new Array() };
$(".E").each(function (i, el) {
e.data[i] = parseFloat($(el).text().trim().replace(",", "."));
});
var p = { name: "P", data: new Array() };
$(".P").each(function (i, el) {
p.data[i] = parseFloat($(el).text().trim().replace(",", "."));
});
var f = { name: "F", data: new Array() };
$(".F").each(function (i, el) {
f.data[i] = parseFloat($(el).text().trim().replace(",", "."));
});
data[0] = e;
data[1] = p;
data[2] = f;
Highcharts.Chart({
chart: {
renderTo: 'container'
},
title: {
text: 'График отображения вычислительного процесса',
x: -20 //center
},
yAxis: {
title: {
text: 'Эффективность'
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
tooltip: {
valueSuffix: ''
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'middle',
borderWidth: 0
},
series: data
});
}
</script>
<div align="center">
<h2>Формирование матричной структуры</h2>
</div>
<div>
<p>
Для расчета рекомендаций по формированию матричной структуры на факультете необходимо выполить следующие действия:<br/>
<ul style="list-style: decimal">
<li>Выбрать семестр для расчета</li>
<li>Получить исходную матрицу прогнозируемой эффективности пар и пожеланий парного взаимодействия студентов</li>
<li>Задать количество итераций расчета</li>
<li>Расичтать оптимальное распределение матричной структуры на факультете</li>
</ul>
<br/>
Расчет осуществляется методом
<a target="_blank" href="https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D0%9C%D0%BE%D0%BD%D1%82%D0%B5-%D0%9A%D0%B0%D1%80%D0%BB%D0%BE">"Монте-Карло"</a>
</p>
<div>
@Html.DropDownList("SemesterId")
</div>
<br/>
<input id="getInputData" type="button" value="Получить исходные данные" onclick=" getInputData(); "/>
<br/>
<div id="inputDataDiv">
</div>
<br/>
<div id="getForecastMatrix" style="display: none;">
<span>Количество итераций</span>
<input type="number" id="countIterations"/><br/><br/>
<span>Коэф. учета взаимной «приязни»</span>
<input type="text" id="a" /><br /><br />
<input type="button" value="Расчет матричной структуры" onclick=" getForecastMatrix(); "/><br/>
</div>
<br />
<div id="forecastMatrixDiv">
</div>
<input id="clear" type="button" style="display: none;" value="Очистить" onclick="clearData();"/>
</div>
<div id="loader">
</div>
Размещено на Allbest.ru
Подобные документы
Анализ предметной области разрабатываемой информационной системы "Библиотека". Проектирование базы данных в среде MS Access. Физическая реализация данной информационной системы средствами Delphi 7 и MS Access 2003. Области применения технологии BDE.
курсовая работа [2,4 M], добавлен 12.01.2016Основные функции склада. Информационная структура складского учета. Логическая и физическая модель информационной системы. Проектирование базы данных. Разработка экранных форм. Разработка модулей для прикладных решений. Моделирование бизнес-процессов.
дипломная работа [2,1 M], добавлен 31.12.2017Выбор методологии проектирования и разработка информационной системы "Расчёт зарплаты" для предприятия ОАО РТП "Авторемонтник". Архитектурное проектирование базы данных информационной системы и разработка её интерфейса. Тестирование программного модуля.
дипломная работа [2,3 M], добавлен 25.05.2014Выбор инструментальной среды для разработки базы данных. Подсистема сбора, обработки и загрузки данных. Укрупненный алгоритм разрабатываемой информационной системы. Формирование области запросов базы, интерфейс ввода и редактирования входных данных.
курсовая работа [2,2 M], добавлен 25.12.2012Разработка системы программного обучения по курсу "Компьютерные сети". Обзор и сравнительный анализ существующих информационных систем обучения. Разработка программного обеспечения информационной системы. Разработка контента информационной системы.
дипломная работа [1,4 M], добавлен 28.04.2009Характеристика разрабатываемой информационной системы, основные требования к используемому аппаратному и программному обеспечению. Структура базы данных, а также применяемые в ней компоненты. Основные сведения о работе программы, ее возможности.
курсовая работа [1,2 M], добавлен 13.06.2017Методика и основные этапы разработки информационной системы туристического агентства, основные требования к ней. Внутренняя структура и элементы данной системы, принцип работы с ней и оценка функциональности. Описание таблиц разрабатываемой базы данных.
контрольная работа [881,5 K], добавлен 08.06.2014Распределение шин интерфейса, их связь с внешней системой, выбор алгоритмов арифметических и логических операций. Построение структурной схемы микро-ЭВМ, определение формата микрокоманд, составление таблиц соответствия двоичного и символьного кодирований.
курсовая работа [1,6 M], добавлен 05.06.2013Разработка информационной системы ресторана, определение ее границ для реализации базы данных. Перечень запросов, отчетов и операций по вводу информации в информационной системе "Ресторан". Проектирование базы данных, выбор средств ее реализации.
курсовая работа [7,6 M], добавлен 27.04.2011Назначение для информационной системы OpenPOS для автоматизации рабочих процессов в заведениях общественного питания. Состав и структура исходных данных. Основные сведения о предметной области, ее моделирование. Создание и запуск базовых запросов SQL.
курсовая работа [2,2 M], добавлен 28.01.2016