Библиотека методов когнитивного анализа задач

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.