Заказать курсовые, контрольные, рефераты...
Образовательные работы на заказ. Недорого!

Проектирование информационной системы в соответствии с индивидуальным заданием

Курсовая Купить готовую Узнать стоимостьмоей работы

Add (word); } protected void Clear () { O_n = new List (); } /*Добовлениевходногослова*/ public void Add_Word_Input (string word){ W_n.Add (word); } /*Добовление внутреннего слова*/public void Add_Word_Internal (I word){ I_n.Add (word); } /*Добовление доступной операции*/public void Add_Oper (string oper) { Y_n.Add (oper); } protected string ToSO (TextBox TB, bool Sw) { string words = TB. Text… Читать ещё >

Содержание

  • Список сокращений
  • Введение
  • Цель работы
  • 1. Теоретическое описание задачи
  • 2. Выбор инструментальных средств
  • 3. Разработка алгоритмов
  • 4. Разработка графического интерфейса
  • 5. Тестирование
  • приложения
  • Заключение
  • Список литературы
  • Приложение 1. Листинг класса Automatic
  • Приложение 2. Листинг класса Math_Amount
  • Приложение 3. Листинг класса Letters
  • Приложение 4. Листинг главной формы

Проектирование информационной системы в соответствии с индивидуальным заданием (реферат, курсовая, диплом, контрольная)

Add (word); } protected void Clear () { O_n = new List<O>(); } /*Добовлениевходногослова*/ public void Add_Word_Input (string word){ W_n.Add (word); } /*Добовление внутреннего слова*/public void Add_Word_Internal (I word){ I_n.Add (word); } /*Добовление доступной операции*/public void Add_Oper (string oper) { Y_n.Add (oper); } protected string[] ToSO (TextBox TB, bool Sw) { string words = TB. Text; words = Regex. Replace (words, @" s+", «»); string[] res = words. Split (','); for (int i = 0; i < res. Length; i++) { if (Sw) { if (!W_n.Contains (res[i])){ throw new Exception («Cлово '» + res[i] +" ' не принодлежит данному автомату");} } else { if (!Y_n.Contains (res[i])){ throw new Exception («Операция '» + res[i] + «' не принадлежит данному автомату»);} } } return res; } protected void Process_Word (TextBox TB) { this. Sw = ToSO (TB, true); } protected void Process_Operation (TextBox TB) { this. Op = ToSO (TB, false);} /*Абстрактный метод микроопераций и логических условий*/public abstract void Operation (); /*Запускавтомата*/ public bool Run (TextBox TWords, TextBox TOper, RichTextBox Out) { try { Process_Word (TWords); Process_Operation (TOper); } catch (Exception ex) { MessageBox. Show (ex.Message); return false; } Operation (); Show (Out); return true; } /*Выводрезультата*/ public void Show (RichTextBox Out) { Out. Text = «»; foreach (var res in O_n){ Out. Text+="Выходное слово: «+ res +» n" ;} } public void info (RichTextBox Out) { Out. Text = «»; Out. Text += «Входныеслова: «; foreach (var w in W_n) { Out. Text += «'» + w +» ' «; } Out. Text += «nОперации: «; foreach (var y in Y_n) { Out. Text += «'» + y + «' «; } Out. Text += «nВнутренниеслова: «; foreach (var i in I_n) { Out. Text += «'» + i + «' «;} } }Приложение 2. Листинг класса Math_Amount/*ОА вычисляет математические операции операндов типа double*/public class Math_Amount: Automatic<double, double> { /*Доступныеоперанды*/ double a; double b; /*Множествологическийусловий X*/ private bool check_two (string[] operand) { if (operand.Length > 1) { a = Convert. ToDouble (operand[0]); b = Convert. ToDouble (operand[1]); return true;} else { MessageBox. Show («Для выполнения этой операции необходимы 2 операнда»);return false; } } private bool check_one (string[] operand) { if (operand.Length == 1) { a = Convert. ToDouble (operand[0]);return true; } else { MessageBox. Show («Для выполнения этой операции необходим 1 операнд»); return false; } } /*Реализация абстрактного метода операций*/public override void Operation () { Clear (); foreach (string oper in Op) { switch (oper) { case «+»: if (check_two (Sw)) { this. O_n.Add (a + b); } break; case «++»: if (check_one (Sw)) { this. O_n.Add (a + 1); } break; case «.

-": if (check_two (Sw)) { this. O_n.Add (a — b); } break; case «sign»: if (check_one (Sw)) { this. O_n.Add (Math.Sign (a)); } break; case «cos»: if (check_one (Sw)) { this. O_n.Add (Math.Cos (a)); } break; case «sin»: if (check_one (Sw)) { this. O_n.Add (Math.Sin (a));} break; case «internal»: if (check_two (Sw)) { this. O_n.Add (a + b — I_n[0] - I_n[1]); } break; default: MessageBox. Show («Неизвестнаяоперация: «+ oper);break; } } } }Приложение 3. Листинг класса Letterspublic class Letters: Automatic<string, char> { public override void Operation () { foreach (string oper in Op){ switch (oper) { case «join»: Clear (); string res = «»; foreach (string let in Sw) { res += let; } if (I_n.Count > 0) { foreach (char let in I_n) { res += let; } } O_n.Add (res); break; case «split»: List<string> tmp = new List<string>(); foreach (string let in O_n){ foreach (string sw in Sw) { tmp. Add (let.Replace (sw, ««));} } O_n = tmp; break; } } } }Приложение 4. Листинг главнойформыpublic partial class Form1: Form {/*Экземпляр класса автомата математических операций*/Math_Amount MA = new Math_Amount ();/*Экземпляр класса автомата буквенных операций*/Letters LT = new Letters (); public Form1() { InitializeComponent (); } private void OnLoad (object sender, EventArgs e){ /*Доступные входные слова*/ MA. Add_Word_Input («0»);MA.Add_Word_Input («1»); MA. Add_Word_Input («.

— 8″); LT. Add_Word_Input («A»); LT. Add_Word_Input («C»); LT. Add_Word_Input («B»); LT. Add_Word_Input («X»);/*Доступные операции*/ MA. Add_Oper («+»); MA. Add_Oper («.

-");MA.Add_Oper («++»); MA. Add_Oper («sign»); MA. Add_Oper («sin»); MA. Add_Oper («internal»); MA. Add_Oper («cos»); LT. Add_Oper («join»); LT. Add_Oper («split»); /*Внутриниеслова*/ MA. Add_Word_Internal (100); MA. Add_Word_Internal (-500); LT. Add_Word_Internal ('C'); LT. Add_Word_Internal ('A'); } private void Math_Info_Click (object sender, EventArgs e) { MA.info (ConsoleIn); } private void Button_Math_Click (object sender, EventArgs e) { MA. Run (InputBox, OperBox, ConsoleOut);} private void LettersInfo_Click (object sender, EventArgs e) { LT.info (ConsoleIn); } private void Button_Let_Click (object sender, EventArgs e) { LT. Run (InputBox, OperBox, ConsoleOut);} }.

Показать весь текст

Список литературы

  1. Б.В. Кудрявцев, Г. Килибарда, Ш. Ушчумлич Системы автоматов в лабиринтах — 562с.
  2. Ю.А., Пащук И. Н. Импульсные и цифровые устройства. — М.: Высшая школа, 2003.
  3. В. Введение в теорию конечных автоматов. Перевод с английского под редакцией Ю.И. Журавлева-М. Радио и связь, 1987, — 392с.
  4. В.А. Горбатов, А. В. Горбатов, М. В. Горбатова Теория автоматов: Учебник для студентов втузов. — М.: АСТ: Астрель. — 559с.
  5. В.В. Воронин Основы синтеза и диагностирования автоматов: Учебное пособие — Хабаровск: Изд-во Хабар. гос. техн. университета, 2002. — 235с.
  6. Джеймс Чамберс ASP.NET Core. Разработка приложений
  7. Дженифер Грин Head First. Изучаем C#. 3-е изд. Включая C# 5.0, Visual Studio 2012 и .NET 4.5 Framework
  8. Н.Г., Рогов В. Н. Синтез цифровых автоматов: Учебное пособие — Ульяновск: УлГТУ, 2003. — 136с.
  9. .М. Электронные вычислительные машины и системы. — М. Энергоавтомиздат, 1988, — 551с.
  10. К., Асада К., Карашу О. Логическое проектирование СБИС — М. Мир, 1988, — 309с.
  11. Кристиан Нагел, Билл Ивьен, Джей Глинн, Карли Уотсон, Морган Скиннер C# 5.0 и платформа .NET 4.5 для профессионалов
  12. А.Я. Прикладная теория цифровых автоматов. Учебник для вузов — М.: Высшая школа, 1987, — 272с.
  13. Н.В., Коняхин В. В. Функционально-логическое проектирование БИС. -М. Высшая школа, 1990. — 156с.
  14. Е.П., Цифровая схемотехника: Учебное пособие для вузов. — 2-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2007. — 800с.
  15. Уфимский Государственный Авиационный Технический Университет. Предмет, — Теория автоматов. Лекции по теории автоматов. 2014 г. — 79 стр. [Электронный ресурс]. — Режим доступа: — https://studfiles.net/preview/996 151
  16. Эндрю Троелсен, Филипп Джепикс Язык программирования C# 6.0 и платформа .NET 4.6
  17. Ю.Г.Карпов Теория автоматов: Учебник для вузов. — 1-е издание. — СПб: Издат. дом ПИТЕР, 2003 год. — 208с.
Заполнить форму текущей работой
Купить готовую работу

ИЛИ