Лабораторная работа: Виведення ланцюжків у формальній граматиці

Лабораторная работа: Виведення ланцюжків у формальній граматиці




👉🏻👉🏻👉🏻 ВСЯ ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻




























































Міністерство освіти та науки України
Житомирський державний технологічний університет
Мета роботи:
вивчити математичну модель формальної граматики, одержати практичні навички виведення ланцюжків в формальній граматиці.
Завдання:
потрібно написати програму, що одержує на вході контекстно-вільну граматику, яка визначена правилами підстановки, та друкує в результаті роботи одне або більше виведення термінального ланцюжка в граматиці.
Контекстно-вільну граматику вважати заданою у виді текстового файлу, кожен рядок якого вміщує єдине правило підстановки у вигляді a -> b (a — ідентифікатор нетермінала, b — рядок ідентифікаторів терміналів і нетерміналів, розділених пробільними символами). Пустий ланцюжок ідентифікується відсутністю правою частиною правила підстановки. Довжина ідентифікаторів обмежена 32 символами. Ідентифікатори, які починаються з великої літери вважаються нетерміналами, з маленької — терміналами, нетермінал в лівій частині першого правила підстановки вважається початковим символом.
Припустимо, що на вхід програми поступає граматика виду
Тоді результатом роботи програми лабораторної роботи може бути рядок виведення
SÞa = F ; Þa = T ; Þa = E ; Þa = a ;
Порядок виконання лабораторної роботи:
2. Здати працюючу програму викладачу.
Демонстрація роботи алгоритму на прикладі виведення речення в граматиці

Граматика, задана у вигляді текстового файлу:
Dictionary list = new Dictionary();
private void ReadFile(StreamReader files)
while ((strFile = files.ReadLine()) != null)
List strValue = new List();
indexBegin = strFile.IndexOf(" -> ");
if (strFile[strFile.Length - 1] != 32)
strCheck = strFile.Substring(0, indexBegin + 1);
strKey += strFile.Substring(0, indexBegin + 1);
strKey = strFile.Substring(0, indexBegin + 1);
indexEnd = strFile.IndexOf(" | ", indexBegin);
strValue.Add(strFile.Substring(indexBegin, indexEnd + 1 - indexBegin));
indexEnd = strFile.IndexOf(" | ", indexBegin);
strValue.Add(strFile.Substring(indexBegin));
list.Add(strKey, strValue.ToArray());
private void button1_Click(object sender, EventArgs e)
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.InitialDirectory = "C:\\kpz2";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
using (StreamReader files = new StreamReader(openFileDialog1.FileName))
FileInfo infF = new FileInfo(openFileDialog1.FileName);
foreach (string strKeys in list.Keys)
strCutted = result.Split(new string[] { strKeys }, 2, StringSplitOptions.None);
random = rand.Next(list[strKeys].Length);
result = strCutted[0] + list[strKeys][random] + strCutted[1];
textBox2.Text += Environment.NewLine;
математичний формальний граматика ланцюжок термінальний

Виконавши лабораторну роботу, я вивчила математичну модель формальної граматики, одержала практичні навички виведення ланцюжків в формальній граматиці.
Я написала програму, що одержує на вході контекстно-вільну граматику з (.txt) файлу, яка визначена правилами підстановки, та друкує в результаті роботи одне виведення термінального ланцюжка в граматиці.

Название: Виведення ланцюжків у формальній граматиці
Раздел: Рефераты по информатике, программированию
Тип: лабораторная работа
Добавлен 22:11:47 15 мая 2011 Похожие работы
Просмотров: 126
Комментариев: 16
Оценило: 2 человек
Средний балл: 5
Оценка: неизвестно   Скачать

Срочная помощь учащимся в написании различных работ. Бесплатные корректировки! Круглосуточная поддержка! Узнай стоимость твоей работы на сайте 64362.ru
Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Да, но только в случае крайней необходимости.

Лабораторная работа: Виведення ланцюжків у формальній граматиці
Курсовая работа по теме Основные способы увеличения капитала организаций
Реферат: С.Ю. Витте и его экономическая политика
Сочинение На Тему Описание Любимой Вещи
Сочинение Мой Сон Краткий
Курсовая работа: Реклама и её значение в киноиндустрии
Реферат: Armenian Holocaust Essay Research Paper David RodgersInternal
Шаблон Сочинения По Роману Дубровский 6 Класс
Красивое Название К Сочинению О Соснах
Сочинение На Тему Как Решать Конфликты
Сочинение Описание Фотографии На Английском
Формирование Традиционной Казахской Культуры Реферат
Реферат по теме Практические проблемы создания в России ООО иностранной компанией, состоящей из одного лица
Курсовая работа: Государственный служащий понятие и особенности правового статуса
Курсовая работа по теме Способы выражения грамматических значений в морфологии
Шляхи Розвитку Емоційно Особистісної Сфери Людини Реферат
Практическая Работа Виды Движения
Курсовая работа: Влияние наркомании на организм человека. Скачать бесплатно и без регистрации
Учебное Пособие На Тему Філософія (Хрестоматія)
Сравнительная Характеристика Серверов Реферат
Реферат: Прибыльность коммерческих банков
Реферат: Рембрант
Реферат: Ресурсосберегающий менеджмент
Доклад: Индульгенции в истории греческой церкви

Report Page