Теория языков программирования и методы трансляции. КУРСОВАЯ РАБОТА. Вариант №18

Цена:
300 руб.

Состав работы

material.view.file_icon
material.view.file_icon
material.view.file_icon kr.docx
material.view.file_icon kr.exe
material.view.file_icon
material.view.file_icon kr.sln
material.view.file_icon kr.suo
material.view.file_icon kr.v12.suo
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon kr.exe
material.view.file_icon kr.pdb
material.view.file_icon kr.vshost.exe
material.view.file_icon kr.vshost.exe.manifest
material.view.file_icon
material.view.file_icon kr.exe
material.view.file_icon kr.pdb
material.view.file_icon kr.vshost.exe
material.view.file_icon KR.vshost.exe.manifest
material.view.file_icon Form1.cs
material.view.file_icon Form1.Designer.cs
material.view.file_icon Form1.resx
material.view.file_icon Form2.cs
material.view.file_icon Form2.Designer.cs
material.view.file_icon Form2.resx
material.view.file_icon Form3.cs
material.view.file_icon Form3.Designer.cs
material.view.file_icon Form3.resx
material.view.file_icon kr.csproj
material.view.file_icon kr.csproj.user
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon DesignTimeResolveAssemblyReferences.cache
material.view.file_icon DesignTimeResolveAssemblyReferencesInput.cache
material.view.file_icon GenerateResource.read.1.tlog
material.view.file_icon GenerateResource.write.1.tlog
material.view.file_icon kr.csproj.FileListAbsolute.txt
material.view.file_icon kr.csproj.GenerateResource.Cache
material.view.file_icon kr.csprojResolveAssemblyReference.cache
material.view.file_icon KR.exe
material.view.file_icon KR.pdb
material.view.file_icon KR.Properties.Resources.resources
material.view.file_icon Lab2.Configs.resources
material.view.file_icon Lab2.csproj.FileListAbsolute.txt
material.view.file_icon Lab2.csproj.GenerateResource.Cache
material.view.file_icon Lab2.csprojResolveAssemblyReference.cache
material.view.file_icon Lab2.exe
material.view.file_icon Lab2.Form1.resources
material.view.file_icon Lab2.Form2.resources
material.view.file_icon Lab2.Form3.resources
material.view.file_icon Lab2.Function.resources
material.view.file_icon Lab2.MainForm.resources
material.view.file_icon Lab2.pdb
material.view.file_icon Lab2.Properties.Resources.resources
material.view.file_icon Lab2.Result.resources
material.view.file_icon ResolveAssemblyReference.cache
material.view.file_icon
material.view.file_icon Properties.Resources.Designer.cs.dll
material.view.file_icon
material.view.file_icon DesignTimeResolveAssemblyReferences.cache
material.view.file_icon DesignTimeResolveAssemblyReferencesInput.cache
material.view.file_icon GenerateResource.read.1.tlog
material.view.file_icon GenerateResource.write.1.tlog
material.view.file_icon kr.csproj.FileListAbsolute.txt
material.view.file_icon kr.csproj.GenerateResource.Cache
material.view.file_icon KR.exe
material.view.file_icon KR.pdb
material.view.file_icon KR.Properties.Resources.resources
material.view.file_icon Lab2.Configs.resources
material.view.file_icon Lab2.csproj.FileListAbsolute.txt
material.view.file_icon Lab2.csproj.GenerateResource.Cache
material.view.file_icon Lab2.exe
material.view.file_icon Lab2.Form1.resources
material.view.file_icon Lab2.Form2.resources
material.view.file_icon Lab2.Form3.resources
material.view.file_icon Lab2.Function.resources
material.view.file_icon Lab2.MainForm.resources
material.view.file_icon Lab2.pdb
material.view.file_icon Lab2.Properties.Resources.resources
material.view.file_icon Lab2.Result.resources
material.view.file_icon ResolveAssemblyReference.cache
material.view.file_icon
material.view.file_icon Properties.Resources.Designer.cs.dll
material.view.file_icon Program.cs
material.view.file_icon
material.view.file_icon AssemblyInfo.cs
material.view.file_icon Resources.Designer.cs
material.view.file_icon Resources.resx
material.view.file_icon Settings.Designer.cs
material.view.file_icon Settings.settings
material.view.file_icon Данные.txt
material.view.file_icon Результат.txt

Необходимые программы

Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Word
  • Программа для просмотра текстовых файлов

Описание

Написать программу для автоматического построения детерминированного конечного автомата (ДКА) по словесному описанию языка.
Вход программы: алфавит языка, обязательная конечная подцепочка, цепочки для распознавания.
Выход: построенный ДКА (все 5 элементов), результат проверки цепочек.
Подробно:
Язык задан своим алфавитом и обязательной конечной подцепочкой всех цепочек языка. В конечной подцепочке не должно находиться символов, не содержащихся в алфавите. В крайнем случае она может быть и пустой.
Программа должна:
1. по предложенному описанию регулярного языка строить ДКА, распознающий этот язык, в том виде, как он рассматривался в теории, раздел 2.2.2;
2. с помощью построенного ДКА проверять вводимые пользователем цепочки на их принадлежность этому языку.
ДКА должен быть полностью определённым. Функция переходов ДКА может изображаться в виде таблицы или графа, вариант вида её представления выбирается разработчиком.
Наиболее простой способ построения такого ДКА состоит в том, чтобы сначала по описанию языка построить НКА (недетерминированный конечный автомат), а затем преобразовать его согласно рассмотренному в разделе 2.2.2 алгоритму. При выборе такого способа построения ДКА промежуточный результат в виде НКА необходимо также отображать на экране по просьбе пользователя.
По желанию автора допускаются и другие способы построения ДКА.
После построения ДКА пользователь может вводить произвольные цепочки для проверки их на принадлежность исходному языку. Разбор цепочек автоматом следует поэтапно отображать на экране в виде последовательной смены конфигураций в соответствии с лабораторной работой №2.
Рассмотрим пример построения ДКА.
Задан язык: алфавит {0,1,a,b} и обязательная конечная подцепочка «01ab». Анализируем задание: язык будет состоять из цепочек любой длины, заканчивающихся на «01ab», например {1a01ab, bb01ab, ba101ab, …}. Тогда ДКА должен иметь вид M(Q,{a,b,с},d,q0,F), множество состояний Q и заключительные состояния F определятся в процессе построения. Разберёмся с построением функции переходов d. Очевидно, что пустая цепочка в языке не содержится (поскольку есть непустая обязательная конечная цепочка). Сначала определимся с минимальной цепочкой языка – это ‘aaba’, и построим для неё граф переходов.

Если выбрать способ с предварительным построением НКА, то такой автомат выглядит очевидным образом. Сначала могут быть прочитаны любые символы алфавита в любом количестве, а затем конечная подцепочка:
Недетерминированность автомата вызвана тем, что из начального состояния существует два перехода по одному символу алфавита (‘a’). Осталось преобразовать построенный автомат в детерминированный. Для этого построим таблицу переходов:
 вход Исходную таблицу переходов отделим от остальной части жирной линией.
Для упрощения процесса будем создавать не все возможные новые состояния, которые могут получиться в результате сочетаний исходных состояний, а только те, которые реально возникают при построении. Сначала это единственное состояние q0q1 – занесём его в таблицу. Затем последовательно появятся q0q1q2, q0q3, q0q1q4. Все состояния исходного автомата, кроме q0, оказались недостижимыми. В таблице они выделены синим цветом. Удалим их.

состояние  a  b  c 
q0  {q0,q1}  {q0} {q0} 
q1  {q2}  –  – 
q2  –  {q3}  – 
q3  {q4}  –  – 
q4  –  –  – 
q0q1 A {q0q1q2} {q0} {q0} 
q0q1q2 B {q0q1q2} {q0q3} {q0} 
q0q3 C {q0q1q4} {q0} {q0} 
q0q1q4 D {q0q1q2} {q0} {q0} 
 вход Новые состояния для удобства переобозначим A, B, C, D. Заключительными состояниями станут те, которые содержат q4. Здесь такое состояние одно – D. Новая таблица переходов представлена слева:

состояние  a  b  c 
q0  {A}  {q0}  {q0} 
A  {B}  {q0}  {q0} 
B  {B}  {C}  {q0} 
C  {D}  {q0}  {q0} 
D  {B}  {q0}  {q0} 

Граф переходов построен по таблице:
Q={q0,A,B,С,D }, F={D}.
ДКА построен.

Дополнительная информация

Работа была зачтена с первого раза в 2014г.
Преподаватель: Бах О.А.
Теория языков программирования и методы трансляции
Лабораторные работы основаны на лекционном материале; каждая выполняется после изучения соответствующего теоретического раздела. До выполнения лабораторной работы нужно внимательно разобраться с примерами, ответить на контрольные вопросы изученного теоретического раздела, а также решить задачи, предлагаемые в составе контрольных вопросов. Каждая работа снабжена методическими указаниями, сопровождающими текст задания. Рекомендуется внимательно читать задание и выполнять работу в строгом соответс
User Илья272 : 5 ноября 2023
1300 руб.
Теория языков программирования и методы трансляции
Билет No1 1) Классификация грамматик и языков по Хомскому. Проиллюстрировать на примерах (примеры должны быть свои). 2) Нисходящий распознаватель языков с возвратами. Алгоритм распознавателя с подбором альтернатив. Проиллюстрировать на примере (пример должен быть свой). 3) Построить детерминированный автомат с магазинной памятью P (с опустошением стека), допускающий язык L(P) = {a n b n c 2k k > 0, n 0}. Построить КС-грамматику для задания этого же языка.
User piligrim-24 : 11 апреля 2012
50 руб.
Теория языков программирования и методы трансляции
Лабораторная работа № 3 По дисциплине «Теория языков программирования и методы трансляции» Моделирование работы МПА Пусть контекстно-свободный язык задаётся детерминированным автоматом с магазинной памятью – ДМПА (теоретический материал раздела 3.1). Написать программу, которая будет проверять для вводимой цепочки, принадлежит ли она заданному КС-языку. В случае отрицательного ответа необходимо давать пояснение, по какой причине цепочка не принадлежит языку (аналогично лаб. раб №2) Исходный авт
User piligrim-24 : 3 марта 2012
50 руб.
Курсовая работа по дисциплине Теория языков программирования и методы трансляции
Написать программу для автоматического построения детерминированного конечного автомата (ДКА) по словесному описанию языка. Вход программы: алфавит языка, обязательная конечная подцепочка, цепочки для распознавания. Выход: построенный ДКА (все 5 элементов), результат проверки цепочек. Подробно: Язык задан своим алфавитом, обязательной конечной цепочкой всех цепочек языка. В конечной цепочке не должно находиться символов, не содержащихся в алфавите. В край
User Некто : 16 сентября 2018
200 руб.
Теория языков программирования и методы трансляции. ЛАБОРАТОРНАЯ РАБОТА № 1. Вариант № 18
Генерация цепочек языка Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с клави
User Shamrock : 27 января 2015
250 руб.
Теория языков программирования и методы трансляции. ЛАБОРАТОРНАЯ РАБОТА № 3. Вариант: 18
Моделирование работы МПА Пусть контекстно-свободный язык задаётся детерминированным автоматом с магазинной памятью – ДМПА (теоретический материал раздела 3.1). Написать программу, которая будет проверять для вводимой цепочки, принадлежит ли она заданному КС-языку. В случае отрицательного ответа необходимо давать пояснение, по какой причине цепочка не принадлежит языку (аналогично лаб. раб №2) Исходный автомат вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также произво
User Shamrock : 27 января 2015
250 руб.
Теория языков программирования и методы трансляции. ЛАБОРАТОРНАЯ РАБОТА № 4. Вариант №18
Перевод с помощью СУ-схемы Пусть дана схема синтаксически управляемого перевода (теоретический материал раздела 4.2). Написать программу, которая будет выполнять перевод цепочек с одного языка на другой в соответствии с этой схемой. При невозможности выполнить перевод (цепочка не строится по правилам входной грамматики) необходимо выводить на экран соответствующее сообщение. Правила СУ-схемы считывать из файла (предоставив пользователю возможность редактировать их на экране); цепочки вводить с к
User Shamrock : 27 января 2015
250 руб.
Теория языков программирования и методы трансляции. ЛАБОРАТОРНАЯ РАБОТА № 5. Вариант №18
Перевод с помощью МП-преобразователя Пусть дан преобразователь с магазинной памятью; написать программу, которая будет выполнять перевод цепочек с одного языка на другой с помощью заданного преобразователя (теоретический материал раздела 4.2). При невозможности выполнить перевод (цепочка не принадлежит исходному языку) необходимо выводить на экран соответствующее сообщение. Исходный преобразователь вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также производить с клав
User Shamrock : 27 января 2015
250 руб.
Лабораторные работы №1,2,3 по дисциплине: Обработка и анализ данных. Для всех вариантов
Задания к лабораторным работам Лабораторная работа No1. Введение в Python Задание 1 Напишите программу для решения примера (по вариантам). Предусмотрите проверку деления на ноль. Все необходимые переменные пользователь вводит через консоль. Запись |пример| означает «взять по модулю», т.е. если значение получится отрицательным, необходимо сменить знак с минуса на плюс. Для вычисления примеров вам понадобится библиотека math. Подключить ее можно, записав в ячейке кода: import math. Вариант 1.
User SibGUTI2 : 27 июля 2024
700 руб.
Лабораторные работы №1,2,3 по дисциплине: Обработка и анализ данных. Для всех вариантов
Экзамен по дисциплине «Архитектура вычислительных систем». Билет № 9
Билет № 9 Задача 1. ВС с неконвейерной архитектурой и временем исполнения любой инструкции 200 нс была заменена на ВС с идентичной системой команд, но с конвейерной архитектурой. Продолжительность такта - 40 нс, число стадий конвейера равно 5. Вычислите полученное ускорение (отношение времени работы программы на старой ВС ко времени ее работы на новой ВС), учитывая стадию загрузки конвейера и считая, что при выполнении не возникло ни одной коллизии. Число инструкций в программе равно 100. Зада
User xtrail : 31 марта 2013
340 руб.
promo
Курсовая работа по операционным системам. Вариант №1
ЗАДАЧИ: 1. Два потока: первый читает информацию из файла (например, стихи или текст программы) в буфер, второй эту информацию из буфера выдаёт на экран. При заполнении окна вывода до конца его содержимое не должно обновляться полностью – вывод новой информации должен осуществляться в последнюю строку, а все остальные строки смещаться вверх (по материалам лаб. работы №4). Имя читаемого файла задавать как параметр командной строки. После окончания файла он начинает считываться заново. 2. Музыкальн
User Nicola90 : 29 апреля 2013
599 руб.
Курсовая работа по дисциплине: Электроника. Вариант №59
«Разработка интегрального аналогового устройства» Содержание Техническое задание 3 Введение 4 1. Разработка структурной схемы 5 2. Разработка принципиальной схемы 6 Расчет второго каскада. 8 3. Разработка интегральной микросхемы 13 3.1. Выбор навесных элементов и расчет конфигурации пленочных элементов 13 3.2. Разработка топологии 15 3.3. Этапы изготовления устройства в виде гибридной интегральной микросхемы 16 Заключение 19 Список литературы 20 Техническое задание Разработать принципиальную
User Roma967 : 12 июля 2019
1000 руб.
promo
up Наверх