Математическая и программная реализация теории принятия решений
Математическая и программная реализация теории принятия решений
СОДЕРЖАНИЕ
математическая программная решение реализация
ВВЕДЕНИЕ
.ОПИСАНИЕ ПОСТАНОВКИ ЗАДАЧИ
.1 Характеристика задачи
.2 Математическая постановка задачи
.ОПИСАНИЕ ИНФОРМАЦИИ
.1 Входная информация
.2 Выходная информации
. ИЕРАРХИЧЕСКАЯ СХЕМА
.1 Иерархическая схема
.2 Спецификация
.ОПИСАНИЕ АЛГОРИТМА ФУНЦИИ checkBox_Checked()
.1 Назначение и характеристика
.2 Используемая информация
.3 Результаты решения
.4 Алгоритм решения
.ОПИСАНИЕ АЛГОРИТМА ФУНЦИИ обработка()
.1 Назначение и характеристика
.2 Используемая информация
.3 Результаты решения
.4 Алгоритм решения
ЗАКЛЮЧЕНИЕ
ПРИЛОЖЕНИЯ
ВВЕДЕНИЕ
Знание -это сила. Всем известное утверждение как никогда становится актуальным наше время, так как прогресс не стоит на месте и технологии постоянно развиваются. Вследствии чего становится затруднительным сделать логический вывод на основании тех или иных фактов(условий), для облегчения процесса установления вывода необходимо формализовать знания, упорядочить и представить в виде некой структуры, удобной для хранения и отображения информации.
За такую структуру можно принять Базу знаний, представляющую из себя набор фактов и действий, возникающий при утверждении того или иного условия.
1.ОПИСАНИЕ ПОСТАНОВКИ ЗАДАЧИ
.1 Характеристика задачи
Цель:
Необходимо разработать и реализовать программу, позволяющую выбрать поставщика товаров. Программа должна представлять собой аналог продукционной модели представления знаний, а именно:
)Сопоставление фактов и условий.
)Построение логического вывода, исходя из полученных данных в ходе выполнения алгоритма программы.
.2 Математическая постановка задачи
Приведем таблицу фактов и действий (образцов и консиквентов) (см.Таблица 1.2.1.).
Таблица 1.2.1.Таблица фактов и действий
Условие,образецДействие, консиквентУсловие 1Условие 2Условие 31Поставщик проверенный(1.1)Товар качественный (1.2)Цена приемлемая (1.3)Поставщик подходит (Д1)2Поставщик давно на рынке (2.1)Жалоб на поставщика не было (2.2)Поставщик проверенный (Д2)3Есть рекомендации от других заказчиков (3.1)Поставка производится в срок (3.2)Товар не имеет дефектов (3.3)Жалоб на поставщика не было (Д3)4Товар сертифицирован (4.1)Товар прошел государственные экспертизы (4.2)Товар качественный (Д4)5Цена чуть ниже чем у других поставщиков (5.1)Цена приемлемая (Д5)
Исходя из данных приведенных в таблице (см.таблица 1.2.1.) математическую модель алгоритма построения логического вывода опишем следующим образом:
)У1.1 and У1.2 and У1.3=>Д1
)У2.1 or У2.2=>Д2
)Д2=>У1.1
)У3.1 or (У3.2 and У3.3)=>Д3
)Д3=>У2.2.=>Д2=>У1.1
)У4.1 or У4.2=>Д4
)Д4=>У1.2.
)У5.1=>Д5
)Д5=>У1.3.
)Д2 and Д4 and Д5 =>Д1
11)Д5 and (У4.1. or У4.2.)and(У2.1 or У2.2) =>Д1
)У5.1 and (У4.1. or У4.2) and ((У3.1 or (У3.2 and У3.3)) or У2.1) =Д1
Где:
У1,У2,У3 - условия (факты) необходимые для выполнения некоторого действия
Д - действие которое возникает при выполнении необходимых условий.
2.ОПИСАНИЕ ИНФОРМАЦИИ
.1 Входная информация
Входной информацией для программы в целом, является модуль data_base.cs ( который хранит в себе описание структуры базы знаний, непосредственно саму базу данных и функции инициализации и констатации фактов), а так же отмеченные утверждения (см. Рис.2.1.1.).
Рис.2.1.1.Панель выбора фактов
.2 Выходная информации
В качестве выходной информации (для программы в целом) выступает логический вывод (см.Рис.2.2.1), и панель отображения текущего состояния фактов (вывод данных об активности условий см.Рис.2.2.2.).
Рис.2.2.1.Построение вывода
Рис.2.2.2Активность условий
3. ИЕРАРХИЧЕСКАЯ СХЕМА
.1 Иерархическая схема представлена в виде граф - схемы (см.Рис.3.1.1)
Рис.3.1.1.Граф-схема Иерархия функций
.2 Спецификация
Кurs_TPR - основная программа
checkbox_checked() - функция отвечающая за передачу образцов, выбранных пользователем, функции data.Констотация_факта().
exit() - функция реализует выход из программы.
data.Констотация_факта() - занесение изменений состояния образца в базу знаний.
обновить() - обновление панели отображения состояний фактов (образцов) базы знаний.
обработка() - функция реализует обработку базы знаний вызванную внесенными изменениями в базу знаний, а так же функция отвечает за построение и отображение логического вывода, полученного в ходе обработки образцов и консиквентов.
4.ОПИСАНИЕ АЛГОРИТМА ФУНЦИИ checkBox_Checked()
.1 Назначение и характеристика
Алгоритм предназначен для обработки выбранных пользователем фактов и передачи их модулю data_base.cs (передачи данных базе знаний);
.2 Используемая информация
В алгоритме используются «форма»(form1) с прикрепленными к ней элементами (checkBox1-11), позволяющими пользователю выбрать необходимый «факт»;
.3 Результаты решения
Результатом является передача необходимых параметров модулю data_base и вызов функций обработка() и обновить().
.4 Алгоритм решения
Представим алгоритм решения в виде граф-схемы (Рис.4.4.1.).
Граф-схема checkBox_Checked()
Функция обработки выбора образцов
Рис.4.4.1.
5.ОПИСАНИЕ АЛГОРИТМА ФУНЦИИ обработка()
.1 Назначение и характеристика
Функция реализует обработку базы знаний вызванную внесенными изменениями в базу знаний, а так же функция отвечает за построение и отображение логического вывода, полученного в ходе обработки образцов и консиквентов.
.2 Используемая информация
В алгоритме используется база знаний описанная в модуле data_base.cs, данные которой можно представить в виде таблицы (см.Таблица 5.2.1.)
Таблица 5.2.1.Структура базы знаний
Имя объекта/элементатипДопустимые значения/элементы в составеBD[]struct DATAyslovie1, yslovie1, yslovie1,deistvieyslovie1, yslovie2, yslovie3struct Yslovie yslovie,ActivEysloviestringА-я,A-z и символы разделителиActivEbooltrue/falsedeistviestringА-я,A-z и символы разделители
Где:
BD[] - база знаний
yslovie1, yslovie2, yslovie3 - составные части образца
yslovie -поле части образца
ActivE - состояние (активность) части образца
Deistvie - консиквент (действие при выполнении условия)
5.3 Результаты решения
Результатом решения выступает построение логического вывода (получение консиквента).
.4 Алгоритм решения
Представим алгоритм решения в виде граф-схемы (Рис.5.4.1.).
Граф-схема обработка()
Функция обработки базы знаний
Рис.5.4.1.
ЗАКЛЮЧЕНИЕ
В ходе выполнения курсовой работы была разработана и реализована программа, позволяющая выбрать поставщика товаров. Программа представляет собой аналог продукционной модели представления знаний (сопоставление образцов и консиквентов).
ПРИЛОЖЕНИЕ
Приложение 1
ТЕКСТ ПРОГРАММЫ
using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Text;System.Windows.Forms;data_base;
Kurs_TPR
{partial class Form1 : Form
{DatA Data = new DatA();Form1()
{();.инициализация_БД();
}void label3_Click(object sender, EventArgs e)
{this.Close();}
void move_exit(object sender, MouseEventArgs e)
{label3.ForeColor = Color.BlueViolet;}void move_form(object sender, MouseEventArgs e)
{label3.ForeColor = Color.Maroon;}
void move_title(object sender, MouseEventArgs e)
{panel4.Visible = true;}
void move_title_end(object sender, MouseEventArgs e)
{panel4.Visible = false;}
void обработка()
{listBox1.Items.Clear();listBox1.Refresh();изменение=true;(изменение == true)
{ изменение = false;((Data.BD[0].yslovie1.ActivE == true) && (Data.BD[0].yslovie2.ActivE == true) && (Data.BD[0].yslovie3.ActivE == true))
{ listBox1.Items.Add(Data.BD[0].yslovie1.yslovie);.Items.Add(Data.BD[0].yslovie2.yslovie);.Items.Add(Data.BD[0].yslovie3.yslovie);.Items.Add("ВЫВОД: " + Data.BD[0].deistvie);.Items.Add("<---X--->");
}else
{if (Data.BD[0].yslovie1.ActivE == false)
{((Data.BD[1].yslovie1.ActivE == true) || (Data.BD[1].yslovie2.ActivE == true))
{ if (Data.BD[1].yslovie1.ActivE == true) listBox1.Items.Add(Data.BD[1].yslovie1.yslovie);listBox1.Items.Add(Data.BD[1].yslovie2.yslovie);.Items.Add("ВЫВОД: " + Data.BD[1].deistvie);.Items.Add("<---X--->");.BD[0].yslovie1.ActivE = true;.Checked = true;
изменение = true;
}if (((Data.BD[2].yslovie2.ActivE == true) && (Data.BD[2].yslovie3.ActivE == true)) || (Data.BD[2].yslovie1.ActivE == true))
{ if ((Data.BD[2].yslovie1.ActivE == true) && (Data.BD[2].yslovie2.ActivE == false)).Items.Add(Data.BD[2].yslovie1.yslovie);
{ listBox1.Items.Add(Data.BD[2].yslovie2.yslovie);.Items.Add(Data.BD[2].yslovie3.yslovie);
};.Items.Add("ВЫВОД: " + Data.BD[2].deistvie);.Items.Add("<---X--->");.BD[1].yslovie2.ActivE = true;.Checked = true;
изменение = true;
}
}(Data.BD[0].yslovie2.ActivE == false)
{if ((Data.BD[3].yslovie1.ActivE == true) || (Data.BD[3].yslovie2.ActivE == true))
{if (Data.BD[3].yslovie1.ActivE == true) listBox1.Items.Add(Data.BD[3].yslovie1.yslovie);listBox1.Items.Add(Data.BD[3].yslovie2.yslovie);.Items.Add("ВЫВОД: "+Data.BD[3].deistvie);.Items.Add("<---X--->");.BD[0].yslovie2.ActivE = true;.Checked = true;
изменение = true;
}
}(Data.BD[0].yslovie3.ActivE == false)
{if (Data.BD[4].yslovie1.ActivE == true)
{ listBox1.Items.Add(Data.BD[4].yslovie1.yslovie);.Items.Add("ВЫВОД: "+Data.BD[4].deistvie);.BD[0].yslovie3.ActivE = true;.Checked = true;
изменение = true;
}
}
}
}
}
void Обновить()
{ listBox2.Items.Clear();(int i = 0; i < 5; i++)
{listBox2.Items.Add(Data.BD[i].yslovie1.ActivE.ToString() +" "+ Data.BD[i].yslovie2.ActivE.ToString() +" "+ Data.BD[i].yslovie3.ActivE.ToString());
}.Refresh();
}
void checkBox1_CheckedChanged(object sender, EventArgs e)
{ if (sender == checkBox1)
{ Data.Констотация_факта(1);(Data.BD[0].yslovie1.ActivE == true)
{checkBox2.Enabled=checkBox3.Enabled=checkBox4.Enabled=checkBox5.Enabled=checkBox6.Enabled=false;
}else checkBox2.Enabled = checkBox3.Enabled = checkBox4.Enabled = checkBox5.Enabled = checkBox6.Enabled = true;
};(sender == checkBox2) {Data.Констотация_факта(4); };(sender == checkBox3)
{ Data.Констотация_факта(5);(Data.BD[1].yslovie2.ActivE==true)
{checkBox4.Enabled = checkBox5.Enabled = checkBox6.Enabled = false;
}else checkBox4.Enabled = checkBox5.Enabled = checkBox6.Enabled = true;
};(sender == checkBox4) {Data.Констотация_факта(7); };(sender == checkBox5) {Data.Констотация_факта(8); };(sender == checkBox6) {Data.Констотация_факта(9); };(sender == checkBox7)
{ Data.Констотация_факта(2); (Data.BD[0].yslovie2.ActivE==true)
{checkBox8.Enabled = checkBox9.Enabled = false;
}else checkBox8.Enabled = checkBox9.Enabled = true;
};(sender == checkBox8) {Data.Констотация_факта(10); };(sender == checkBox9) {Data.Констотация_факта(11); };(sender == checkBox10)
{ Data.Констотация_факта(3);(Data.BD[0].yslovie3.ActivE==true)
{checkBox11.Enabled=false;
}else checkBox11.Enabled=true;
};(sender == checkBox11) {Data.Констотация_факта(13); };
Обновить();
обработка();
}
}
}
Приложение 2
ТЕКСТ МОДУЛЯ data_base.cs
using System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Text;data_base
{ public class DatA
{ public struct DATA
{ public struct Yslovie { public string yslovie; public bool ActivE;}Yslovie yslovie1;Yslovie yslovie2;Yslovie yslovie3;string deistvie;};DATA.Yslovie yslovie1 = new DATA.Yslovie();DATA.Yslovie yslovie2 = new DATA.Yslovie();DATA.Yslovie yslovie3 = new DATA.Yslovie();DATA[] BD = new DATA[5];void инициализация_БД()
{ BD[0].yslovie1.yslovie = "поставщик проверенный"; BD[0].yslovie1.ActivE = false;[0].yslovie2.yslovie = "товар качественный"; BD[0].yslovie2.ActivE = false;[0].yslovie3.yslovie = "цена приемлемая"; BD[0].yslovie3.ActivE = false;[0].deistvie = "Поставщик подходит";[1].yslovie1.yslovie = "поставщик давно на рынке"; BD[1].yslovie1.ActivE = false;[1].yslovie2.yslovie = "жалоб на поставщика не было"; BD[1].yslovie2.ActivE = false;[1].yslovie3.yslovie = null; BD[1].yslovie3.ActivE = false;[1].deistvie = "поставщик проверенный";[2].yslovie1.yslovie = "есть рекомендации от других заказчиков"; BD[2].yslovie1.ActivE = false;[2].yslovie2.yslovie = "поставка производится в срок"; BD[2].yslovie2.ActivE = false;[2].yslovie3.yslovie = "товар не получает дефектов в ходе транспатрировки"; BD[2].yslovie3.ActivE = false;[2].deistvie = "жалоб на поставщика не было";[3].yslovie1.yslovie = "товар сертифицирован"; BD[3].yslovie1.ActivE = false;[3].yslovie2.yslovie = "товар прощел государственные экспертизы"; BD[3].yslovie2.ActivE = false;[3].yslovie3.yslovie = null; BD[3].yslovie3.ActivE = false;[3].deistvie = "товар качественный";[4].yslovie1.yslovie = "цена чуть ниже чем у других поставщиков"; BD[4].yslovie1.ActivE = false;[4].yslovie2.yslovie = null; BD[4].yslovie2.ActivE = false;[4].yslovie3.yslovie = null; BD[4].yslovie3.ActivE = false;[4].deistvie = "цена приемлемая";
}void Констотация_факта(int i)
{ switch (i)
{ case 1: if (BD[0].yslovie1.ActivE == true) BD[0].yslovie1.ActivE = false;BD[0].yslovie1.ActivE = true; break;2: if (BD[0].yslovie2.ActivE == true) BD[0].yslovie2.ActivE = false;BD[0].yslovie2.ActivE = true; break;3: if (BD[0].yslovie3.ActivE == true) BD[0].yslovie3.ActivE = false;BD[0].yslovie3.ActivE = true; break;4: if (BD[1].yslovie1.ActivE == true) BD[1].yslovie1.ActivE = false;BD[1].yslovie1.ActivE = true; break;5: if (BD[1].yslovie2.ActivE == true) BD[1].yslovie2.ActivE = false;BD[1].yslovie2.ActivE = true; break;6: if (BD[1].yslovie3.ActivE == true) BD[1].yslovie3.ActivE = false;BD[1].yslovie3.ActivE = true; break;7: if (BD[2].yslovie1.ActivE == true) BD[2].yslovie1.ActivE = false;BD[2].yslovie1.ActivE = true; break;8: if (BD[2].yslovie2.ActivE == true) BD[2].yslovie2.ActivE = false;BD[2].yslovie2.ActivE = true; break;9: if (BD[2].yslovie3.ActivE == true) BD[2].yslovie3.ActivE = false;BD[2].yslovie3.ActivE = true; break;10: if (BD[3].yslovie1.ActivE == true) BD[3].yslovie1.ActivE = false;BD[3].yslovie1.ActivE = true; break;11: if (BD[3].yslovie2.ActivE == true) BD[3].yslovie2.ActivE = false;BD[3].yslovie2.ActivE = true; break;12: if (BD[3].yslovie3.ActivE == true) BD[3].yslovie3.ActivE = false;BD[3].yslovie3.ActivE = true; break;13: if (BD[4].yslovie1.ActivE == true) BD[4].yslovie1.ActivE = false;BD[4].yslovie1.ActivE = true; break;14: if (BD[4].yslovie2.ActivE == true) BD[4].yslovie2.ActivE = false;BD[4].yslovie2.ActivE = true; break;15: if (BD[4].yslovie3.ActivE == true) BD[4].yslovie3.ActivE = false;BD[4].yslovie3.ActivE = true; break;}
}}}
Приложение 3
КОНТРОЛЬНЫЕ ПРИМЕРЫ
Интерфейс программы состоит из трех основных частей: панель утверждения фактов(образцов), панель построения логического вывода, панель отображения активности образцов. Интерфейс представлен на рисунке Контрольный пример 1 (интерфейс)(см.Рис.П.3.1.).
Контрольный пример 1 (интерфейс)
Рис.П.3.1.
Установим два факта (образца): товар прошел государственные экспертизы; цена приемлемая. Исходя из данных фактов программа должна, в поле построения вывода, выдать запись, о том, что товар качественный (т.к. товар прошел государственные экспертизы => товар качественный).Окно программы представлено на рисунке Контрольный пример 2(см..Рис.П.3.2).
Контрольный пример 2
Рис.П.3.2.
Установим следующие факты (образцы): поставка происходит в срок; товар не получает дефектов в ходе транспортировки; товар прошел государственные экспертизы; цена приемлемая. Исходя из данных фактов программа должна, в поле построения вывода, выдать запись, о том, что товар качественный (т.к. товар прошел государственные экспертизы => товар качественный), после чего обрабатывая образцы «поставка происходит в срок», «товар не получает дефектов», программа должна сделать вывод о том что жалоб на поставщика не было, а исходя из этого факта(из того что жалоб не было), программа должна сделать вывод о том что поставщик проверенный, в следствии чего следует вывод о том что поставщик подходит(т.к. Поставщик проверенный и товар качественный и цена приемлемая => поставщик подходит).Окно программы представлено на рисунке Контрольный пример 3(см..Рис.П.3.3.).
Контрольный пример 3
Рис.П.3.3.
Установим следующие факты (образцы): есть рекомендации от других заказчиков; товар прошел государственные экспертизы; цена приемлемая. Исходя из данных фактов программа должна, в поле построения вывода, выдать запись, о том, что товар качественный (т.к. товар прошел государственные экспертизы => товар качественный), после чего обрабатывая образец «есть рекомендации от других заказчиков», программа должна сделать вывод о том что жалоб на поставщика не было, а исходя из этого факта(из того что жалоб не было), программа должна сделать вывод о том что поставщик проверенный, в следствии чего следует вывод о том что поставщик подходит(т.к. Поставщик проверенный и товар качественный и цена приемлемая => поставщик подходит).Окно программы представлено на рисунке Контрольный пример 4(см..Рис.П.3.4.).
Контрольный пример 4
Рис.П.3.4.
Установим следующие факты (образцы): поставщик давно на рынке; товар сертифицирован; цена приемлемая. Исходя из данных фактов программа должна, в поле построения вывода, выдать запись, о том, поставщик проверенный (т.к. поставщик давно на рынке => поставщик проверенный), после чего обрабатывая образец «товар сертифицирован», программа должна сделать вывод о том что товар качественный, а исходя из этого факта(из того что тавр качественный) в следствии чего следует вывод о том что поставщик подходит(т.к. Поставщик проверенный и товар качественный и цена приемлемая => поставщик подходит).Окно программы представлено на рисунке Контрольный пример 5(см..Рис.П.3.5.).
Контрольный пример 5
Рис.П.3.5.
Приложение 4
РУКОВОДСТВО ПРОГРАММИСТА
П.4.1.Назначение программы
Программа предназначена для построения вывода, исходя из данных введенных пользователем.
П.4.2.Описание информации
П.4..2.1.Входная информация
Входной информацией для программы в целом, является модуль data_base.cs ( который хранит в себе описание структуры базы знаний, непосредственно саму базу данных и функции инициализации и констатации фактов), а так же отмеченные утверждения (см. Рис.2.1.1.).
Панель выбора фактов
Рис.2.1.1.
П.4.2.2. Выходная информации
В качестве выходной информации (для программы в целом) выступает логический вывод (см.Рис.2.2.1), и панель отображения текущего состояния фактов (вывод данных об активности условий см.Рис.2.2.2.).
Построение вывода
Рис.2.2.1.
Активность условий
Рис.2.2.2
П.4.3Требования необходимые для работы программы
Для работы программы необходимым и достаточным является установленная операционная система windows xp,seven,vista.
Для отладки и внесения изменений необходимым и достаточным является установленная на ПК среда разработки Microsoft visual studio 2008 года (девятая версия продукта).
П.4.4 Известные ошибки
В процессе тестирования программы ошибок обнаружено не было.
П.4.5 Общее представление модуля data_base.cs
Модуль содержит определение структуры базы знаний, функции её инициализации и констатации фактов (утверждения образцов).
П.4.5.1.Разработанная структураstruct DATA
{ public struct Yslovie { public string yslovie; public bool ActivE;}Yslovie yslovie1;Yslovie yslovie2;Yslovie yslovie3;string deistvie;
};
П.4.5.2.Описание структуры
Структура DATA содержит в своем составе четыре элемента (yslovie1, yslovie2, yslovie3, deistvie), а элементы yslovie1, yslovie2 и yslovie3 являются объектами структуры Yslovie, и содержат поля yslovie и ActivE. Поле yslovie содержит факт, поле ActivE содержит состояние факта.
База знаний представляет собой последовательность записей структурой DATA, для создания базы необходимо добавить определение объектов yslovie1, yslovie2 и yslovie3, и создать объект записей структуры DATA. Для этого необходимо добавить следующие строки:
public DATA.Yslovie yslovie1 = new DATA.Yslovie();DATA.Yslovie yslovie2 = new DATA.Yslovie();DATA.Yslovie yslovie3 = new DATA.Yslovie();DATA[] BD = new DATA[5];
Итоговое представление базы знаний на языке программирования C# будет выглядеть следующим образом:
public struct DATA
{ public struct Yslovie { public string yslovie; public bool ActivE;}Yslovie yslovie1;Yslovie yslovie2;Yslovie yslovie3;string deistvie;
};DATA.Yslovie yslovie1 = new DATA.Yslovie();DATA.Yslovie yslovie2 = new DATA.Yslovie();DATA.Yslovie yslovie3 = new DATA.Yslovie();DATA[] BD = new DATA[5];
Подключение модуля происходит путем указания его имени, в списке подключаемых модулей и библиотек, в коде программы. При этом код программы в которой используется модуль должен быть написан на языке программирования C#.
Приложение 5
РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
П.5.1.Назначение программы
Программа предназначена для построения вывода, исходя из данных введенных пользователем.
П.5.2.Описание информации
П.5.2.1.Входная информация
Входной информацией для программы в целом, является модуль data_base.cs (который хранит в себе описание структуры базы знаний, непосредственно саму базу данных и функции инициализации и констатации фактов), а так же отмеченные утверждения (см. Рис.5.2.1.1.).
Панель выбора фактов
Рис.5.2.1.1.
П.5.2.2. Выходная информации
В качестве выходной информации (для программы в целом) выступает логический вывод (см.Рис.5.2.2.1), и панель отображения текущего состояния фактов (вывод данных об активности условий см.Рис.5.2.2.2.).
Построение вывода
Рис.5.2.2.1.
Активность условий
Рис.5.2.2.2
П.4.3.Требования необходимые для работы программы
Для работы программы необходимым и достаточным является установленная операционная система windows xp,seven,vista.
Больше работ по теме:
Предмет: Информационное обеспечение, программирование
Тип работы: Курсовая работа (т)
Новости образования
КОНТАКТНЫЙ EMAIL: [email protected]
Скачать реферат © 2017 | Пользовательское соглашение
ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ