Библиотека методов когнитивного анализа задач
Предмет и этапы когнитивного анализа задач, его основные методы и их реализация на псевдокодовом языке. Виды факторов, использующихся при когнитивном моделировании систем. Предъявляемые к библиотеке требования, оценка ее экономической эффективности.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 29.01.2013 |
Размер файла | 1,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
}
publicList<Pari_Variant> Variants { get { returnnewList<Pari_Variant> (variants.ToArray()); } }
publicvoid AddVariant(string theme, string action, string precursor, string result, string interpretation) {
variants.Add(newPari_Variant(theme, action, precursor, result, interpretation));
}
publicvoid AddVariant(Pari_Variant variant) {
variants.Add(variant);
}
publicvoid RemoveVariant(int index) {
variants.RemoveAt(index);
}
publicvoid RemoveVariant(string theme) {
Pari_Variant variant = (from v in variants where v.Theme == theme select v).FirstOrDefault();
variants.Remove(variant);
}
publicvoid ReplaceVariant(int index, string theme, string action, string precursor, string result, string interpretation) {
RemoveVariant(index);
variants.Insert(index, newPari_Variant(theme, action, precursor, result, interpretation));
}
}
}
Pari.AnalysisForm.cs
using System;
using System.Windows.Forms;
namespace SupportLibrary.PARI {
publicpartialclassPari_AnalysisForm : Form {
Pari_Variant PariVariant;
publicPari_Variant Variant
{ get { return PariVariant; } }
public Pari_AnalysisForm(Pari_Variant PariVariant) {
InitializeComponent();
this.PariVariant = PariVariant;
DialogResult = System.Windows.Forms.DialogResult.Cancel;
variantText_textBox.Text = PariVariant.Theme;
Fill();
}
publicvoid Fill() {
action_textBox.Text = PariVariant.SomeAction;
result_textBox.Text = PariVariant.SomeResult;
precursor_textBox.Text = PariVariant.SomePrecursor;
interpretation_textBox.Text = PariVariant.SomeInterpretation;
}
publicPari_Variant Pari_Variant {
get { return PariVariant; }
}
privatebool IsFilled() {
if ((PariVariant.Theme == "") || (PariVariant.SomeAction == "") || (PariVariant.SomeResult == "") ||
(PariVariant.SomePrecursor == "") || (PariVariant.SomeInterpretation == ""))
returnfalse;
else
returntrue;
}
privatevoid ok_button_Click(object sender, EventArgs e) {
if (!IsFilled()) {
MessageBox.Show(this, "Заполните, пожалуйста, всеполя", "Ошибка!");
return;
}
DialogResult = System.Windows.Forms.DialogResult.OK;
Close();
}
privatevoid cancel_button_Click(object sender, EventArgs e) {
Close();
}
privatevoid variantText_textBox_Leave(object sender, EventArgs e) {
PariVariant.Theme = variantText_textBox.Text;
}
privatevoid action_textBox_Leave(object sender, EventArgs e) {
PariVariant.SomeAction = action_textBox.Text;
}
privatevoid precursor_textBox_Leave(object sender, EventArgs e) {
PariVariant.SomePrecursor = precursor_textBox.Text;
}
privatevoid result_textBox_Leave(object sender, EventArgs e) {
PariVariant.SomeResult = result_textBox.Text;
}
privatevoid interpretation_textBox_Leave(object sender, EventArgs e) {
PariVariant.SomeInterpretation = interpretation_textBox.Text;
}
}
}
Pari.Variant.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SupportLibrary.PARI {
publicclassPari_Variant {
publicstring Theme { get; set; }
constint methodsCount = 4;
List<string> methods = newList<string>(newstring[4] { "", "", "", ""});
public Pari_Variant() {
}
public Pari_Variant(string serialized) {
string[] parts = serialized.Split(newchar[] { '@' });
if (parts.Count() != 5)
thrownewArgumentException("Количество строковых описаний методов изменения идеи должно быть равно " + methodsCount.ToString() + ". Методам должно предшествовать строка с подробным описанием проблемы", "serialized");
Theme = parts[0];
for (int i = 1; i < parts.Length; i++)
methods[i - 1] = parts[i];
}
public Pari_Variant(string theme, string action, string precursor, string result, string interpretation)
{
Theme= theme;
methods[0] = action;
methods[1] = precursor;
methods[2] = result;
methods[3] = interpretation;
}
publicstring GetMethod(int index) {
return methods[index];
}
publicvoid SetMethod(int index, string method) {
methods[index] = method;
}
///<summary>
///Что вы сделаете для решения проблемы?
///</summary>
publicstring SomeAction {
get { return methods[0]; }
set { methods[0] = value; }
}
///<summary>
///Почему вы выполните данное действие? Введите предпосылки.
///</summary>
publicstring SomePrecursor {
get { return methods[1]; }
set { methods[1] = value; }
}
///<summary>
///Что принесет результат в отношении определения места повреждения?
///</summary>
publicstring SomeResult {
get { return methods[2]; }
set { methods[2] = value; }
}
///<summary>
///Что результат говорит о проблеме?
///</summary>
publicstring SomeInterpretation {
get { return methods[3]; }
set { methods[3] = value; }
}
publicstring Serialize() {
string result = Theme + '@';
for (int i = 0; i < methods.Count; i++)
result += methods[i] + '@';
result = result.Remove(result.Length - 1);
return result;
}
}
}
Pari.VariantEditForm.cs
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace SupportLibrary.PARI {
publicdelegatevoidDeleteVariant(int index);
publicdelegatevoidEditVariant(int index);
publicpartialclassPari_VariantEditForm : Form {
privatePari_Analysis pari;
privateList<Pari_VariantUserControl> variantUCs;
public Pari_VariantEditForm(Pari_Analysis pari) {
InitializeComponent();
this.pari = pari;
DialogResult = System.Windows.Forms.DialogResult.Cancel;
problem_textBox.Text = pari.Problem;
FillVariants();
}
publicPari_Analysis PARI
{ get { return pari; } }
privatevoid FillVariants() {
List<Pari_Variant> variants = pari.Variants;
variantUCs = newList<Pari_VariantUserControl>(variants.Count);
for (int i = 0; i < variants.Count; i++)
variantUCs.Add(newPari_VariantUserControl(variants[i], i, DeleteVariant, EditVariant));
variants_panel.Controls.Clear();
variants_panel.Controls.AddRange(variantUCs.ToArray());
}
privatevoid ok_button_Click(object sender, EventArgs e) {
if (pari.Problem == "") {
MessageBox.Show(this, "Заполните, пожалуйста, проблему.", "Ошибка!");
return;
}
DialogResult = System.Windows.Forms.DialogResult.OK;
Close();
}
privatevoid cancel_button_Click(object sender, EventArgs e) {
Close();
}
privatevoid DeleteVariant(int index) {
DialogResult result = MessageBox.Show("Вы действительно хотите удалить этот вариант?", "Подтверждение удаления", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
if (result == System.Windows.Forms.DialogResult.Yes) {
pari.RemoveVariant(index);
FillVariants();
}
}
privatevoid EditVariant(int index) {
Pari_AnalysisForm analysisForm = newPari_AnalysisForm(pari.Variants[index]);
if (analysisForm.ShowDialog() == System.Windows.Forms.Dialog Result.OK)
FillVariants();
}
privatevoid add_button_Click(object sender, EventArgs e) {
Pari_AnalysisForm analysisForm = newPari_Analysis Form(newPari_Variant("", "", "", "", ""));
if (analysisForm.ShowDialog() == System.Windows.Forms.Dialog Result.OK) {
pari.AddVariant(analysisForm.Variant);
FillVariants();
}
}
privatevoid problem_textBox_Leave(object sender, EventArgs e) {
pari.Problem = problem_textBox.Text;
}
}
}
Pari.VariantUserControl.cs
using System;
using System.Windows.Forms;
namespace SupportLibrary.PARI {
publicpartialclassPari_VariantUserControl : UserControl {
publicint Index { get; set; }
publicPari_Variant variant;
DeleteVariant delete;
EditVariant edit;
public Pari_VariantUserControl(Pari_Variant variant, int index, DeleteVariant deleteAction, EditVariant editAction) {
InitializeComponent();
label.Text = variant.Theme;
this.variant = variant;
Index = index;
delete = deleteAction;
edit = editAction;
}
privatevoid edit_button_Click(object sender, EventArgs e) {
edit(Index);
label.Text = variant.Theme;
}
privatevoid remove_button_Click(object sender, EventArgs e) {
delete(Index);
}
}
TAPPS.Form.cs
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace SupportLibrary.TAPPS {
publicdelegatevoidDeleteVariant(int index);
publicdelegatevoidEditVariant(int index);
publicpartialclassTAPPS_Form : Form {
privateTAPPS_Analysis tapps;
privateList<TAPPS_VariantUserControl> variantUCs;
public TAPPS_Form(TAPPS_Analysis tapps) {
InitializeComponent();
this.tapps = tapps;
DialogResult = System.Windows.Forms.DialogResult.Cancel;
problem_textBox.Text = tapps.Problem;
FillVariants();
}
publicTAPPS_Analysis TAPPS { get { return tapps; } }
privatevoid FillVariants() {
List<TAPPS_Variant> variants = tapps.Variants;
variantUCs = newList<TAPPS_VariantUserControl>(variants.Count);
for (int i = 0; i < variants.Count; i++)
variantUCs.Add(newTAPPS_VariantUserControl(variants[i], i, Delete Variant, EditVariant));
variants_panel.Controls.Clear();
variants_panel.Controls.AddRange(variantUCs.ToArray());
}
privatevoid ok_button_Click(object sender, EventArgs e) {
if (tapps.Problem == "") {
MessageBox.Show(this, "Заполните, пожалуйста, проблему.", "Ошибка!");
return;
}
DialogResult = System.Windows.Forms.DialogResult.OK;
Close();
}
privatevoid cancel_button_Click(object sender, EventArgs e) {
Close();
}
privatevoid order_button_Click(object sender, EventArgs e) {
tapps.OrderVariants();
FillVariants();
}
privatevoid DeleteVariant(int index) {
DialogResult result = MessageBox.Show("Вы действительно хотите удалить этот вариант?", "Подтверждение удаления", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
if (result == System.Windows.Forms.DialogResult.Yes) {
tapps.RemoveVariant(index);
FillVariants();
}
}
privatevoid EditVariant(int index) {
TAPPS_AnalysisForm editForm = newTAPPS_AnalysisForm tapps.Variants[index]);
if (editForm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
FillVariants();
}
privatevoid add_button_Click(object sender, EventArgs e) {
TAPPS_AnalysisForm editForm = newTAPPS_AnalysisForm(newTAPPS_Variant("", newList<string>()));
if (editForm.ShowDialog() == System.Windows.Forms.DialogResult.OK) {
tapps.AddVariant(editForm.Variant);
FillVariants();
}
}
privatevoid problem_textBox_Leave(object sender, EventArgs e) {
tapps.Problem = problem_textBox.Text;
}
}
}
TAPPS.Variant.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SupportLibrary.TAPPS {
publicclassTAPPS_Variant {
List<string> Steps;
publicstring Name { get; set; }
int StepsSum;
public TAPPS_Variant(string constructionString) {
Steps = newList<string>();
string[] parts = constructionString.Split(newchar[] { '@' });
Name = parts[0];
for (int i = 1; i < parts.Length; i++)
Steps.Add(parts[i]);
StepsSum = Steps.Count;
}
publicstring GetConstructionString() {
string result = Name + '@' + GetString(Steps);
return result;
}
privatestring GetString(List<string> list) {
string result = "";
if (list.Count == 0)
return result;
for (int i = 0; i < list.Count; i++)
result += list[i] + "@";
result = result.Remove(result.Length - 1);
return result;
}
public TAPPS_Variant(string name, string steps)
{
Name = name;
SetSteps(steps);
}
public TAPPS_Variant(string name, List<string> steps)
{
Name = name;
SetSteps(steps);
}
publicvoid SetSteps(List<string> steps) {
this.Steps = steps;
this.StepsSum = Steps.Count;
}
publicvoid SetSteps(string steps) {
this.Steps = GetRecordsList(steps);
this.StepsSum = Steps.Count;
}
privateList<string> GetRecordsList(string input) {
string[] lines = input.Split(newchar[] { '@' });
List<string> result = newList<string>();
for (int i = 0; i < lines.Length; i++)
result.Add(lines[i]);
return result;
}
publicList<string> GetSteps() {
return Steps;
}
publicint GetSumm() {
return Steps.Count;
}
publicstaticint Compare(TAPPS_Variant a, TAPPS_Variant b) {
return b.StepsSum - a.StepsSum;
}
}
}
TAPPS.Analysis.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SupportLibrary.TAPPS {
publicclassTAPPS_Analysis {
publicstring Problem { get; set; }
privateList<TAPPS_Variant> variants = newList<TAPPS_Variant>();
public TAPPS_Analysis () {
}
public TAPPS_Analysis(string constructionString) {
string[] parts = constructionString.Split(newchar[] { '|' });
Problem = parts[0];
string result = "";
for (int i = 1; i < parts.Length; i++)
result += parts[i];
variants.Add(newTAPPS_Variant(result));
}
publicstring Serialize() {
string result = Problem + '|';
for (int i = 0; i < variants.Count; i++)
result += variants[i].GetConstructionString() + '|';
result = result.Remove(result.Length - 1);
return result;
}
publicList<TAPPS_Variant> Variants { get { returnnewList<TAPPS_Variant>(variants.ToArray()); } }
publicvoid AddVariant(string name, List<string> steps) {
variants.Add(newTAPPS_Variant(name, steps));
}
publicvoid AddVariant(string name, string steps) {
variants.Add(newTAPPS_Variant(name, steps));
}
publicvoid AddVariant(TAPPS_Variant variant) {
variants.Add(variant);
}
publicvoid RemoveVariant(int index) {
variants.RemoveAt(index);
}
publicvoid RemoveVariant(string name) {
TAPPS_Variant variant = (from v in variants where v.Name == name select v).FirstOrDefault();
variants.Remove(variant);
}
publicvoid ReplaceVariant(int index, string name, string steps) {
RemoveVariant(index);
variants.Insert(index, newTAPPS_Variant(name, steps));
}
publicvoid OrderVariants() {
Comparison<TAPPS_Variant> variantComparer = newComparison <TAPPS_Variant> (TAPPS_Variant.Compare);
variants.Sort(variantComparer);
}
}
TAPPS.AnalysisForm.cs
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace SupportLibrary.TAPPS {
publicpartialclassTAPPS_AnalysisForm : Form {
TAPPS_Variant variant;
string oldCellValue;
publicTAPPS_Variant Variant
{ get { return variant; } }
public TAPPS_AnalysisForm(TAPPS_Variant variant) {
InitializeComponent();
this.variant = variant;
FillGrids();
DialogResult = System.Windows.Forms.DialogResult.Cancel;
}
privatevoid FillDataGrid(DataGridView grid, List<string> list) {
for (int i = 0; i < list.Count; i++) {
grid.Rows.Add(newDataGridViewRow());
grid.Rows[i].Cells[0].Value = list[i];
}
}
privatevoid FillGrids() {
variantText_textBox.Text = variant.Name;
FillDataGrid(steps_dataGridView, variant.GetSteps());
}
privateList<string> GetDataFromGrid(DataGridView grid) {
this.Focus();
List<string> result = newList<string>();
for (int i = 0; i < grid.Rows.Count - 1; i++) {
result.Add(grid[0, i].Value.ToString());
}
return result;
}
privatevoid ok_button_Click(object sender, EventArgs e) {
if (variantText_textBox.Text == "") {
MessageBox.Show(this, "Заполните, пожалуйста, имяучастника.", "Ошибка!");
return;
}
variant.Name = variantText_textBox.Text;
variant.SetSteps(GetDataFromGrid(steps_dataGridView));
DialogResult = System.Windows.Forms.DialogResult.OK;
Close();
}
privatevoid cancel_button_Click(object sender, EventArgs e) {
DialogResult = System.Windows.Forms.DialogResult.Cancel;
Close();
}
privatevoid steps_dataGridView_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e) {
if (e.ColumnIndex == 1) {
object value = ((DataGridView)sender)[e.ColumnIndex, e.RowIndex].Value;
oldCellValue = (value == null) ? "" : value.ToString();
}
}
privatevoid steps_dataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e) {
int parseResult = 0;
if (e.ColumnIndex == 1) {
if (!Int32.TryParse((string)((DataGridView)sender)[e.ColumnIndex, e.RowIndex].Value, out parseResult)) {
((DataGridView)sender)[e.ColumnIndex, e.RowIndex].Value = oldCellValue;
}
}
}
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace SupportLibrary.TAPPS {
publicpartialclassTAPPS_AnalysisForm : Form {
TAPPS_Variant variant;
string oldCellValue;
publicTAPPS_Variant Variant
{ get { return variant; } }
public TAPPS_AnalysisForm(TAPPS_Variant variant) {
InitializeComponent();
this.variant = variant;
FillGrids();
DialogResult = System.Windows.Forms.DialogResult.Cancel;
}
privatevoid FillDataGrid(DataGridView grid, List<string> list) {
for (int i = 0; i < list.Count; i++) {
grid.Rows.Add(newDataGridViewRow());
grid.Rows[i].Cells[0].Value = list[i];
}
}
privatevoid FillGrids() {
variantText_textBox.Text = variant.Name;
FillDataGrid(steps_dataGridView, variant.GetSteps());
}
privateList<string> GetDataFromGrid(DataGridView grid) {
this.Focus();
List<string> result = newList<string>();
for (int i = 0; i < grid.Rows.Count - 1; i++) {
result.Add(grid[0, i].Value.ToString());
}
return result;
}
privatevoid ok_button_Click(object sender, EventArgs e) {
if (variantText_textBox.Text == "") {
MessageBox.Show(this, "Заполните, пожалуйста, имяучастника.", "Ошибка!");
return;
}
variant.Name = variantText_textBox.Text;
variant.SetSteps(GetDataFromGrid(steps_dataGridView));
DialogResult = System.Windows.Forms.DialogResult.OK;
Close();
}
privatevoid cancel_button_Click(object sender, EventArgs e) {
DialogResult = System.Windows.Forms.DialogResult.Cancel;
Close();
}
privatevoid steps_dataGridView_CellBeginEdit(object sender, DataGridViewCellCancelEventArgs e) {
if (e.ColumnIndex == 1) {
object value = ((DataGridView)sender)[e.ColumnIndex, e.RowIndex].Value;
oldCellValue = (value == null) ? "" : value.ToString();
}
}
privatevoid steps_dataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e) {
int parseResult = 0;
if (e.ColumnIndex == 1) {
if (!Int32.TryParse((string)((DataGridView)sender)[e.ColumnIndex, e.RowIndex].Value, out parseResult)) {
((DataGridView)sender)[e.ColumnIndex, e.RowIndex].Value = oldCellValue;
}
}
}
TAPPS_VariantEditUserControl.cs
using System;
using System.Windows.Forms;
namespace SupportLibrary.TAPPS {
publicpartialclassTAPPS_VariantUserControl : UserControl {
publicint Index {get; set;}
publicTAPPS_Variant variant;
DeleteVariant delete;
EditVariant edit;
public TAPPS_VariantUserControl(TAPPS_Variant variant, int index, DeleteVariant deleteAction, EditVariant editAction)
{
InitializeComponent();
label.Text = variant.Name;
this.variant = variant;
Index = index;
delete = deleteAction;
edit = editAction;
value_label.Text = "S: " + variant.GetSumm().ToString();
}
privatevoid edit_button_Click(object sender, EventArgs e)
{
edit(Index);
label.Text = variant.Name;
}
privatevoid remove_button_Click(object sender, EventArgs e)
{
delete(Index);
}
}
}
Остальной код библиотеки
HistoryEntriesForm.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace DecisionSupportLibrary
{
publicpartialclassHistoryEntriesForm : Form
{
int result = -1;
publicint Result { get { return result; } }
publicstring DeletedEntries
{
get
{
if (deleted.Count == 0)
return"";
string result = "";
for (int i = 0; i < deleted.Count; i++)
result += deleted[i].Item1 + '#' + deleted[i].Item2.ToString() + '#';
result = result.Remove(result.Length - 1);
return result;
}
}
publicstring LeftEntries
{
get
{
if (history.Count == 0)
return"";
string result = "";
for (int i = 0; i < history.Count; i++)
result += history[i].Item1 + '#' + history[i].Item2.ToString() + '#';
result = result.Remove(result.Length - 1);
return result;
}
}
List<Tuple<string, int>> history, deleted = newList<Tuple<string,int>>();
public HistoryEntriesForm(string historyEntries)
{
InitializeComponent();
string[] parts = historyEntries.Split(newchar[] { '#' });
history = newList<Tuple<string, int>>(parts.Length / 2);
for (int i = 0; i < parts.Length / 2; i++)
history.Add(newTuple<string,int>(parts[2 * i], Convert.ToInt32(parts[2 * i + 1])));
for (int i = 0; i < history.Count; i++)
historyEntries_listBox.Items.Add(history[i].Item1);
}
privatevoid addNew_button_Click(object sender, EventArgs e)
{
result = 0;
Close();
}
privatevoid edit_button_Click(object sender, EventArgs e)
{
if (historyEntries_listBox.SelectedIndex >= 0)
{
result = history[historyEntries_listBox.SelectedIndex].Item2;
Close();
}
}
privatevoid delete_button_Click(object sender, EventArgs e)
{
int index = historyEntries_listBox.SelectedIndex;
if (index >= 0)
{
if (MessageBox.Show(this, "Вы действительно хотите удалить эту запись из истории?", "Запрос подтверждения", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
{
deleted.Add(history[index]);
historyEntries_listBox.Items.RemoveAt(index);
history.RemoveAt(index);
}
}
}
privatevoid historyEntries_listBox_SelectedIndexChanged(object sender, EventArgs e)
{
if (historyEntries_listBox.SelectedIndex != -1)
{
edit_button.Enabled = true;
delete_button.Enabled = true;
}
else
{
edit_button.Enabled = false;
delete_button.Enabled = false;
}
}
}
}
ExtFunctions.cs
using System;
using System.Text;
using SupportLibrary;
using SupportLibrary.PARI;
using SupportLibrary.TAPPS;
namespace FuncLib {
publicclassExtFunctions {
privatestaticPari_Analysis pari = newPari_Analysis();
privatestaticTAPPS_Analysis tapps = newTAPPS_Analysis();
privatestaticstring deletedHistoryEntries;
privatestaticstring historyEntries;
privatestaticstring[,] functions = {
{"GETDELETEDHISTORYENTRIES", "STRING", "string GetDeletedHistoryEntries() - Получает строку со списком удаленных записей из истории мероприятий. Формат списка: \"Имя1#QAID1#Имя1#QAID2#...ИмяN#QAIDN\""},
{"POPONEDELETEDHISTORYENTRY", "INTEGER", "int PopOneDeletedHistoryEntry() - Получает QAID первой удаленной из истории записи и удаляет её из списка удалённых, уменьшая тем самым количество удаленных записей."},
{"GETDELETEDHISTORYENTRIESCOUNT", "INTEGER", "int GetDeletedHistoryEntriesCount() - Получает количество удаленных записей из истории."},
{"SETHISTORYENTRIES", "STRING", "string SetHistoryEntries(string entries) - Задает список записей истории. Возвращает старое значение."},
{"GETHISTORYENTRIES", "STRING", "string GetHistoryEntries(string entries) - Получает список записей истории."},
{"SHOWHISTORYFORM", "INTEGER", "int ShowHistoryForm() - Показывает модальное окно, через которое можно запросить создание нового мероприятия, редактирование, просмотр или удаление уже созданного из истории."},
{"ADDTOHISTORY", "STRING", "string AddToHistory(string history, string content, int qaid) - Добавляет запись к истории записей мероприятий."},
{"TRYUPDATETOPICINHISTORY", "STRING", "string TryUpdateTopicInHistory(string history, string content, int qaid) - Изменяет тему в истории мероприятий для только что отредактированного мероприятия."},
{"SHOWMESSAGE", "STRING", "string ShowMessage(string msg) - показывает сообщение."},
{"CONCATSTRINGS", "STRING", "string ConcatStrings(string s1, string s2) - сливает содержимое двух строк в одну и возвращает её как результат."},
{"PARI_SHOWMAINFORM", "INTEGER", "int PARI_ShowMainForm() - показывает модальную форму редактирования PARI-анализа. Возвращает 0, если была нажата клавиша ОК. Возвращает 1, если была нажата Отмена."},
{"PARI_GETSERIALIZED", "STRING", "string PARI_GetSerialized() - получает сериализованный экземпляр PARI-анализа."},
{"PARI_DESERIALIZE", "STRING", "string PARI_Deserialize(string serializedPari) - десериализует строку в экземпляр PARI-анализа. Возвращает пустую строку, если всё прошло в штатном режиме. В случае возникновения исключения возвращает строку с исключением."},
{"PARI_SETNEW", "STRING", "string PARI_SetNew() - задает новый экземпляр текущего PARI-анализа."},
{"TAPPS_SHOWMAINFORM", "INTEGER", "int TAPPS_ShowMain Form() - показывает модальную форму редактирования TAPPS-анализа. Возвращает 0, если была нажата клавиша ОК. Возвращает 1, если была нажата Отмена."},
{"TAPPS_GETSERIALIZED", "STRING", "string TAPPS_GetSerialized() - получает сериализованный экземпляр TAPPS-анализа."},
{"TAPPS_DESERIALIZE", "STRING", "string TAPPS_Deserialize(string serializedTapps) - десериализует строку в экземпляр TAPPS-анализа. Возвращает пустую строку, если всё прошло в штатном режиме. В случае возникновения исключения возвращает строку с исключением."},
{"TAPPS_SETNEW", "STRING", "string TAPPS_SetNew() - задает новый экземпляр текущего TAPPS-анализа."},
};
privatestaticstring LibName = "SupportLib";
publicstaticstring SHOWMESSAGE(string msg) {
System.Windows.Forms.MessageBox.Show(msg);
return"";
}
privatestaticstring GetExceptionString(Exception exc) {
return exc.Message + "\r\n" + exc.StackTrace;
}
publicstaticstring GetLibName() {
return LibName;
}
publicstaticstring[,] GetFunctions() {
return functions;
}
///<summary>
/// Сливает содержимое двух строк в одну и возвращает её как результат.
///</summary>
publicstaticstring CONCATSTRINGS(string s1, string s2) {
return s1 + s2;
}
#region history
///<summary>
/// Получает строку со списком удаленных записей из истории мероприятий.
/// Формат списка: "Имя1#QAID1#Имя1#QAID2#...ИмяN#QAIDN"
///</summary>
///<returns></returns>
publicstaticstring GETDELETEDHISTORYENTRIES() {
returndeletedHistoryEntries;
}
///<summary>
/// Получает QAID первой удаленной из истории записи и удаляет её из списка удалённых, уменьшая тем самым количество удаленных записей.
///</summary>
///<returns></returns>
publicstaticint POPONEDELETEDHISTORYENTRY() {
deletedHistoryEntries = deletedHistoryEntries.Remove(0, deletedHistoryEntries.IndexOf('#') + 1);
int index = deletedHistoryEntries.IndexOf('#');
if (index == -1) {
int result = Convert.ToInt32(deletedHistoryEntries);
deletedHistoryEntries = "";
return result;
} else {
string QA_index = deletedHistoryEntries.Substring(0, index);
deletedHistoryEntries = deletedHistoryEntries.Remove(0, index + 1);
int result = Convert.ToInt32(QA_index);
return result;
}
}
///<summary>
/// Получает количество удаленных записей из истории.
///</summary>
///<returns></returns>
publicstaticint GETDELETEDHISTORYENTRIESCOUNT() {
int count = (deletedHistoryEntries.Split(newchar[] { '#' }).Length / 2);
return count;
}
///<summary>
/// Задает список записей истории мероприятий.
///</summary>
///<param name="entries"></param>
publicstaticstring SETHISTORYENTRIES(string entries) {
string result = historyEntries;
historyEntries = entries;
return result;
}
///<summary>
/// Показывает модальное окно, через которое можно запросить создание нового мероприятия, редактирование или просмотр уже созданного из истории, запросить удаление созданных мероприятий.
///</summary>
///<returns>Возвращает -1 в случае отмены, возвращает 0 в случае выбора кнопки создания нового мероприятия, возвращает значение >0 с индексом QA-единицы, в которой хранятся данные истории.</returns>
publicstaticint SHOWHISTORYFORM() {
HistoryEntriesForm historyForm = newHistoryEntriesForm(historyEntries);
historyForm.ShowDialog();
deletedHistoryEntries = historyForm.DeletedEntries;
historyEntries = historyForm.LeftEntries;
return historyForm.Result;
}
///<summary>
/// Получает список записей истории мероприятий.
///</summary>
///<returns>Возвращает список записей истории мероприятий</returns>
publicstaticstring GETHISTORYENTRIES() {
return historyEntries;
}
///<summary>
/// Добавляет запись к истории записей мероприятий.
///</summary>
///<param name="history"></param>
///<param name="content"></param>
///<param name="qaid"></param>
///<returns></returns>
publicstaticstring ADDTOHISTORY(string history, string content, int qaid)
string[] parts = content.Split(newchar[] { '|' });
return history + (history == "" ? "" : "#") + parts[0] + '#' + qaid;
}
///<summary>
/// Изменяет тему в истории мероприятий для только что отредактированного мероприятия.
///</summary>
///<param name="history"></param>
///<param name="content"></param>
///<param name="qaid"></param>
///<returns></returns>
publicstaticstring TRYUPDATETOPICINHISTORY(string history, string content, int qaid) {
StringBuilder result = newStringBuilder();
string[] parts = history.Split(newchar[] { '#' });
for (int i = 0; i < parts.Length / 2; i++) {
if (i != 0)
result.Append('#');
if (int.Parse(parts[i * 2 + 1]) == qaid) {
string[] p = content.Split(newchar[] { '|' });
result.Append(result.ToString() == "" ? "" : "#");
result.Append(p[0] + '#');
result.Append(qaid);
} else {
result.Append(parts[i * 2]);
result.Append('#');
result.Append(parts[i * 2 + 1]);
}
}
return result.ToString();
}
#endregion;
#region PARI
///<summary>
/// Показывает модальную форму редактирования PARI-анализа.
///</summary>
///<returns>Возвращает 0, если была нажата клавиша ОК. Возвращает 1, если была нажата Отмена.</returns>
publicstaticint PARI_SHOWMAINFORM() {
Pari_VariantEditForm form = newPari_VariantEditForm(pari);
if (form.ShowDialog() == System.Windows.Forms.DialogResult.OK)
return 0;
else
return 1;
}
///<summary>
///Получает сериализованный экземпляр PARI-анализа.
///</summary>
///<returns></returns>
publicstaticstring PARI_GETSERIALIZED() {
return pari.Serialize();
}
///<summary>
///Десериализует строку в экземпляр PARI-анализа.
///</summary>
///<param name="serializedPari">Строка с сериализованным экземпляром</param>
///<returns>Возвращает пустую строку, если всё прошло в штатном режиме. В случае возникновения исключения возвращает строку с исключением.</returns>
publicstaticstringPARI_DESERIALIZE(stringserializedPari) {
try {
if ((serializedPari == "") || (serializedPari == null))
pari = newPari_Analysis();
else
pari = newPari_Analysis(serializedPari);
return"";
} catch (Exception exc) {
return GetExceptionString(exc);
}
}
///<summary>
/// Получает текущее количество вариантов-альтернатив в текущем PARI-анализе
///</summary>
///<returns></returns>
publicstaticint PARI_GETVARIANTSCOUNT() {
return pari.Variants.Count;
}
///<summary>
/// Задаёт проблему PARI-анализа
///</summary>
///<returns>Возвращает старую проблему</returns>
publicstaticstring PARI_SETNEWPROBLEM(string problem) {
string result = pari.Problem;
pari.Problem = problem;
return result;
}
///<summary>
///Получает проблему PARI-анализа
///</summary>
///<returns>Возвращает старую тему</returns>
publicstaticstring SWOT_GETPROBLEM() {
return pari.Problem;
}
///<summary>
///Создает новый PARI-анализ
///</summary>
///<returns></returns>
publicstaticstring PARI_SETNEW() {
pari = newPari_Analysis();
return"OK";
}
#endregion
#region TAPPS
///<summary>
/// Показывает модальную форму редактирования TAPPS-анализа.
///</summary>
///<returns>Возвращает 0, если была нажата клавиша ОК. Возвращает 1, если была нажата Отмена.</returns>
publicstaticint TAPPS_SHOWMAINFORM() {
TAPPS_Form form = newTAPPS_Form(tapps);
if (form.ShowDialog() == System.Windows.Forms.DialogResult.OK)
return 0;
else
return 1;
}
///<summary>
///Получает сериализованный экземпляр TAPPS-анализа.
///</summary>
///<returns></returns>
publicstaticstring TAPPS_GETSERIALIZED() {
return tapps.Serialize();
}
///<summary>
///Десериализует строку в экземпляр TAPPS-анализа.
///</summary>
///<param name="serializedTapps">Строка с сериализованным экземпляром</param>
///<returns>Возвращает пустую строку, если всё прошло в штатном режиме. В случае возникновения исключения возвращает строку с исключением.</returns>
publicstaticstringTAPPS_DESERIALIZE(stringserializedTapps) {
try {
if ((serializedTapps == "") || (serializedTapps == null))
tapps = newTAPPS_Analysis();
else
tapps = newTAPPS_Analysis(serializedTapps);
return"";
} catch (Exception exc) {
return GetExceptionString(exc);
}
}
///<summary>
/// Получает текущее количество вариантов-альтернатив в текущем TAPPS-анализе
///</summary>
///<returns></returns>
publicstaticint TAPPS_GETVARIANTSCOUNT() {
return tapps.Variants.Count;
}
///<summary>
/// Задаёт проблему TAPPS-анализа
///</summary>
///<returns>Возвращает старую проблему</returns>
publicstaticstring TAPPS_SETNEWPROBLEM(string problem) {
string result = tapps.Problem;
tapps.Problem = problem;
return result;
}
///<summary>
///Получает проблему TAPPS-анализа
///</summary>
///<returns>Возвращает старую тему</returns>
publicstaticstring TAPPS_GETPROBLEM() {
return tapps.Problem;
}
///<summary>
///Создает новый TAPPS-анализ
///</summary>
///<returns></returns>
publicstaticstring TAPPS_SETNEW() {
tapps = newTAPPS_Analysis();
return"OK";
}
#endregion
}
}
Размещено на Allbest.ru
Подобные документы
Обзор разнообразных методов теории линейных систем: методов корреляционного и регрессионного анализа, косинор-анализа. Особенности применения факторного анализа. Программная реализация метода главных компонент. Разработка нелинейных регрессионных моделей.
дипломная работа [390,2 K], добавлен 03.09.2016Особенности решения задач нелинейного программирования различными методами для проведения анализа поведения этих методов на выбранных математических моделях нелинейного программирования. Общая характеристика классических и числовых методов решения.
дипломная работа [2,4 M], добавлен 20.01.2013Обзор моделей анализа и синтеза модульных систем обработки данных. Модели и методы решения задач дискретного программирования при проектировании. Декомпозиция прикладных задач и документов систем обработки данных на этапе технического проектирования.
диссертация [423,1 K], добавлен 07.12.2010Решение задач нелинейного программирования различными методами для проведения анализа поведения этих методов на выбранных математических моделях. Компьютерная реализация выбранных задач нелинейного программирования в среде пакетов Excel и Matlab.
дипломная работа [2,9 M], добавлен 25.01.2013Характеристика предприятия ТОО "Com Sales Group". Составление программ на языке программирования. Составление алгоритмов, разработка численных методов решения задач. Методы откладки программ. Анализ технологии машинной обработки экономической информации.
отчет по практике [1,3 M], добавлен 19.04.2016Состав и принцип работы аппаратуры. Выбор параметров корреляционного анализа и Фурье-анализа. Разработка и применение алгоритма корреляционного анализа. Реализация алгоритма Фурье-анализа на языке С++ и алгоритма корреляционного анализа на языке С#.
дипломная работа [4,6 M], добавлен 30.11.2016Разработка программы на языке Си++ и осуществление постановки и выбора алгоритмов решения задач обработки экономической информации, создание и редактирование базы данных, сортировка записей по определенному запросу, анализ эффективности обработки данных.
контрольная работа [316,8 K], добавлен 28.08.2012Универсальный пакет программ схемотехнического анализа, предназначенный для решения широкого круга задач MicroCAP-7 (основные сведения, необходимые для начала работы, анализ электронных схем). Требования к программно-аппаратным средствам компьютера.
реферат [236,5 K], добавлен 25.12.2010Решение системы линейных уравнений методами деления отрезка пополам, Гаусса и подбора параметров. Формализация задач при моделировании; построение математических, алгоритмических и программных моделей задач с помощью электронных таблиц Microsoft Excel.
лабораторная работа [1,4 M], добавлен 21.07.2012Разработка технологии обработки информации, структуры и формы представления данных. Проектирование программных модулей. Блок-схема алгоритма и исходный код программы анализа арифметического выражения, синтаксического анализа простой программы на языке С.
курсовая работа [2,4 M], добавлен 12.12.2011