Курсовая работа По дисциплине: Теория языков программирования и методы трансляции. Вариант 3
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
- Программа для просмотра текстовых файлов
Описание
Задание на курсовую работу.
Написать программу для автоматического построения регулярного выражения (РВ) по словесному описанию языка.
Вход программы: алфавит языка, обязательная начальная подцепочка, выбранный символ алфавита, его кратность (натуральное число), 2 числа – диапазон длин для генерации цепочек.
Выход: построенное регулярное выражение, результат генерации цепочек.
Подробно:
Язык задан своим алфавитом, обязательной начальной цепочкой и указанием кратности вхождений некоторого символа во все цепочки языка. В начальной цепочке не должно находиться символов, не содержащихся в алфавите. В крайнем случае она может быть и пустой. Кратность числа вхождений выбранного символа задаётся любым натуральным числом. Кратность, равная единице, равносильна отсутствию ограничений на вхождения данного символа, т.е. он может встречаться в цепочках любое количество раз. При любом значении кратности количество вхождений символа в цепочку может быть и нулевым.
Программа должна:
1. по предложенному описанию регулярного языка строить РВ, генерирующее этот язык, в том виде, как было рассмотрено в теории, раздел 2.1.1;
2. с помощью построенного РВ генерировать все цепочки языка в заданном пользователем диапазоне длин.
При генерации цепочек языка по РВ можно использовать любые структуры и алгоритмы, в том числе и прямой перебор.
Рассмотрим пример построения регулярного выражения.
Задан язык: алфавит {0,1,a,b}, обязательная начальная цепочка ‘01a’, количество вхождений символа ‘а’ кратно 2. Анализируем задание: язык будет состоять из цепочек с чётным количеством символов ‘а’, начинающихся с ‘01a’, например {01аa, 01аba, 01аab, 01аac, 01аaaa,…}. Для начала определим минимально возможную цепочку этого языка. Это ‘01aa’ – она удовлетворяет всем условиям и является при этом самой короткой. Это основа нашего РВ.
Удлинить эту цепочку можно, поместив после неё или между цепочкой ’01a’ и ‘a’ в ней любое количество любых символов алфавита, за исключением символа ‘a’ – для него нужно подсчитывать количество, поэтому его следует рассматривать особо. Заданную цепочку ’01a’ разрывать нельзя. Для генерации любого количества символов используется итерация, а выбор одного из нескольких символов записывается в виде суммы.
Итак, получим 01a(0+1+b)*a(0+1+b)*. Но по построенному таким образом выражению нельзя получить много символов ‘a’. Для увеличения количества ‘a’ можно добавить после построенного выражения (aa)* для сохранения чётности. Но тогда нельзя будет между символами ‘a’ поместить другие символы алфавита. Для того чтобы сделать это возможным, заменим добавляемую конструкцию на ((0+1+b)*a(0+1+b)*a(0+1+b)*) *, сохранив чётность ‘a’ и добавив любое количество других символов. Итоговое регулярное выражение будет иметь вид:
01a(0+1+b)*a(0+1+)*((0+1+b)*а(0+1+b)*a (0+1+b))*. Можно несколько упростить построенное выражение, убрав одну из скобок (0+1+b)* – там, где она повторяется. Окончательный ответ: 01 a(0+1+b)*a(0+1+b)*(а(0+1+b)*a(0+1+b))*.
Написать программу для автоматического построения регулярного выражения (РВ) по словесному описанию языка.
Вход программы: алфавит языка, обязательная начальная подцепочка, выбранный символ алфавита, его кратность (натуральное число), 2 числа – диапазон длин для генерации цепочек.
Выход: построенное регулярное выражение, результат генерации цепочек.
Подробно:
Язык задан своим алфавитом, обязательной начальной цепочкой и указанием кратности вхождений некоторого символа во все цепочки языка. В начальной цепочке не должно находиться символов, не содержащихся в алфавите. В крайнем случае она может быть и пустой. Кратность числа вхождений выбранного символа задаётся любым натуральным числом. Кратность, равная единице, равносильна отсутствию ограничений на вхождения данного символа, т.е. он может встречаться в цепочках любое количество раз. При любом значении кратности количество вхождений символа в цепочку может быть и нулевым.
Программа должна:
1. по предложенному описанию регулярного языка строить РВ, генерирующее этот язык, в том виде, как было рассмотрено в теории, раздел 2.1.1;
2. с помощью построенного РВ генерировать все цепочки языка в заданном пользователем диапазоне длин.
При генерации цепочек языка по РВ можно использовать любые структуры и алгоритмы, в том числе и прямой перебор.
Рассмотрим пример построения регулярного выражения.
Задан язык: алфавит {0,1,a,b}, обязательная начальная цепочка ‘01a’, количество вхождений символа ‘а’ кратно 2. Анализируем задание: язык будет состоять из цепочек с чётным количеством символов ‘а’, начинающихся с ‘01a’, например {01аa, 01аba, 01аab, 01аac, 01аaaa,…}. Для начала определим минимально возможную цепочку этого языка. Это ‘01aa’ – она удовлетворяет всем условиям и является при этом самой короткой. Это основа нашего РВ.
Удлинить эту цепочку можно, поместив после неё или между цепочкой ’01a’ и ‘a’ в ней любое количество любых символов алфавита, за исключением символа ‘a’ – для него нужно подсчитывать количество, поэтому его следует рассматривать особо. Заданную цепочку ’01a’ разрывать нельзя. Для генерации любого количества символов используется итерация, а выбор одного из нескольких символов записывается в виде суммы.
Итак, получим 01a(0+1+b)*a(0+1+b)*. Но по построенному таким образом выражению нельзя получить много символов ‘a’. Для увеличения количества ‘a’ можно добавить после построенного выражения (aa)* для сохранения чётности. Но тогда нельзя будет между символами ‘a’ поместить другие символы алфавита. Для того чтобы сделать это возможным, заменим добавляемую конструкцию на ((0+1+b)*a(0+1+b)*a(0+1+b)*) *, сохранив чётность ‘a’ и добавив любое количество других символов. Итоговое регулярное выражение будет иметь вид:
01a(0+1+b)*a(0+1+)*((0+1+b)*а(0+1+b)*a (0+1+b))*. Можно несколько упростить построенное выражение, убрав одну из скобок (0+1+b)* – там, где она повторяется. Окончательный ответ: 01 a(0+1+b)*a(0+1+b)*(а(0+1+b)*a(0+1+b))*.
Дополнительная информация
Сдано на отлично в 2023 году.
Похожие материалы
Курсовая работа по дисциплине: Теория языков программирования и методы трансляции. Вариант №3
IT-STUDHELP
: 25 декабря 2022
Курсовая работа
Вариант №3
Задание:
Написать программу для автоматического построения регулярного выражения (РВ) по словесному описанию языка.
Вход программы: алфавит языка, обязательная начальная подцепоч-ка, выбранный символ алфавита, его кратность (натуральное число), 2 чис-ла – диапазон длин для генерации цепочек.
Выход: построенное регулярное выражение, результат генерации цепочек.
Подробно:
Язык задан своим алфавитом, обязательной начальной цепочкой и указанием кратности вхождений некотор
800 руб.
Курсовая работа по дисциплине: Теория языков программирования и методы трансляции. Вариант №3
SibGOODy
: 18 июля 2018
Содержание
Задание 3
1. Описание алгоритма 4
2. Инструкция пользователя 5
3. Текст программы 7
4. Результаты тестирования 13
Задание
Вариант №3
Написать программу для автоматического построения регулярного выражения (РВ) по словесному описанию языка.
Вход программы: алфавит языка, обязательная начальная подцепочка, выбранный символ алфавита, его кратность (натуральное число), 2 числа – диапазон длин для генерации цепочек.
Выход: построенное регулярное выражение, результат генерации цепоч
1400 руб.
КУРСОВАЯ РАБОТА по дисциплине «теория языков программирования и методы трансляции» Вариант №3.
freelancer
: 5 сентября 2016
Задание.
Написать программу для автоматического построения регулярного выражения (РВ) по словесному описанию языка.
Вход программы: алфавит языка, обязательная начальная подцепочка, выбранный символ алфавита, его кратность (натуральное число), 2 числа – диапазон длин для генерации цепочек.
Выход: построенное регулярное выражение, результат генерации цепочек.
Подробно:
Язык задан своим алфавитом, обязательной начальной цепочкой и указанием кратности вхождений некоторого символа во все цепоч
100 руб.
Курсовая работа по дисциплине Теория языков программирования и методы трансляции
Некто
: 16 сентября 2018
Написать программу для автоматического построения детерминированного конечного автомата (ДКА) по словесному описанию языка.
Вход программы: алфавит языка, обязательная конечная подцепочка, цепочки для распознавания.
Выход: построенный ДКА (все 5 элементов), результат проверки цепочек.
Подробно:
Язык задан своим алфавитом, обязательной конечной цепочкой всех цепочек языка. В конечной цепочке не должно находиться символов, не содержащихся в алфавите. В край
200 руб.
Теория языков программирования и методы трансляции
Илья272
: 5 ноября 2023
Лабораторные работы основаны на лекционном материале; каждая выполняется после изучения соответствующего теоретического раздела. До выполнения лабораторной работы нужно внимательно разобраться с примерами, ответить на контрольные вопросы изученного теоретического раздела, а также решить задачи, предлагаемые в составе контрольных вопросов.
Каждая работа снабжена методическими указаниями, сопровождающими текст задания. Рекомендуется внимательно читать задание и выполнять работу в строгом соответс
1300 руб.
Теория языков программирования и методы трансляции
piligrim-24
: 11 апреля 2012
Билет No1
1) Классификация грамматик и языков по Хомскому. Проиллюстрировать на примерах (примеры должны быть свои).
2) Нисходящий распознаватель языков с возвратами. Алгоритм распознавателя с подбором альтернатив. Проиллюстрировать на примере (пример должен быть свой).
3) Построить детерминированный автомат с магазинной памятью P (с опустошением стека), допускающий язык L(P) = {a n b n c 2k k > 0, n 0}. Построить КС-грамматику для задания этого же языка.
50 руб.
Теория языков программирования и методы трансляции
piligrim-24
: 3 марта 2012
Лабораторная работа № 3
По дисциплине «Теория языков программирования и методы трансляции»
Моделирование работы МПА
Пусть контекстно-свободный язык задаётся детерминированным автоматом с магазинной памятью – ДМПА (теоретический материал раздела 3.1). Написать программу, которая будет проверять для вводимой цепочки, принадлежит ли она заданному КС-языку. В случае отрицательного ответа необходимо давать пояснение, по какой причине цепочка не принадлежит языку (аналогично лаб. раб №2) Исходный авт
50 руб.
Курсовая работа по дисциплине: Теория языков программирования и методы трансляции. Вариант №10*
IT-STUDHELP
: 6 июля 2023
Курсовая работа
Вариант №10
Постановка задачи
Написать программу для автоматического построения регулярной грамматики (леволинейной или праволинейной) по словесному описанию языка.
Вход программы: алфавит языка, обязательная конечная подцепочка, кратность длины всех цепочек языка, тип грамматики (ЛЛ либо ПЛ), 2 числа – диапазон длин для генерации цепочек.
Выход: построенная грамматика (все 4 элемента), результат генерации цепочек.
Подробно:
Язык задан своим алфавитом, обязательной конечной п
800 руб.
Другие работы
Практика менеджмента на примере компании Toyota Motor Corporation
GnobYTEL
: 23 марта 2014
Введение……………………………………….………………….………………………......3
1. Общие сведения о компании...…………..………………….…………………………...4
1.1. История «Тойота» …...………………………………….…………………………...4
1.2. Собственники и руководство………...………………….…………………………...4
2. Руководящие принципы компании...……………………….…………………………..4
3. Корпоративная социальная ответственность.….……………………………………..7
3.1. Политика социальной ответственности.….………………..………………………..7
4. Экологический менеджмент.….………………..………………………………………..8
4.1. Зелёный месяц «Тойота» .….…
15 руб.
Теория Автоматов. Вариант №2
IT-STUDHELP
: 1 декабря 2021
Зачетная работа.
Вариант 2
1. Как строится диаграмма Мура?
2. Какие бывают виды недетерминированности?
3. Чем вероятностный автомат отличается от обычного автомата?
4. В каком случае автомата может «умереть»?
300 руб.
Банковская статистика
Slolka
: 25 марта 2013
Московский Государственный Университет Экономики, Статистики и Информатики Контрольная работа по курсу Банковская статистика Выполнил Москва 1997 Задача 1 1. По данным вашего варианта таблица 1 построить ряд распределения по 30 коммерческим банкам группировка по привлеченным ресурсам. таблица 1 Назание банкаПривлеченные ресурсыАК
Б Торибанк155729Автобанк101АвтоВАЗбанк4916 86АКБ Енисей16826АКБ Софинтрейд196170Башкредитбанк154317Башпр омбанк297613Газпромбанк32935Гута банк82060Еврофинанс653123Запс
5 руб.
Системы цифрового видеонаблюдения при организации охранных структур на особо охраняемых объектах
Slolka
: 6 июля 2013
Глава 1
Системы охранного телевидения.
Аналоговые системы видеонаблюдения.
Цифровые системы видеонаблюдения.
Устройство и основные принципы работы элементов телевидения.
Сравнительные характеристики аналогового и цифрового телевидения.
Среды передачи телевизионных сигналов
Преимущество волокнистой оптики как передающей среды.
Принципиальное устройство волокон.
Классификация волокон.
Обработка сигнала.
Сжатие видеоданных.
Протоколы передачи видеосигнала по высоко скоростным компьютерным сетям.
Fa
15 руб.