Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №3

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

material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon Project1.cfg
material.view.file_icon Project1.dof
material.view.file_icon Project1.dpr
material.view.file_icon Project1.exe
material.view.file_icon Project1.res
material.view.file_icon Unit1.dcu
material.view.file_icon Unit1.ddp
material.view.file_icon Unit1.dfm
material.view.file_icon Unit1.pas
material.view.file_icon Unit1.~ddp
material.view.file_icon Unit1.~dfm
material.view.file_icon Unit1.~pas
material.view.file_icon Отчет.doc
material.view.file_icon
material.view.file_icon
material.view.file_icon Project1.cfg
material.view.file_icon Project1.dof
material.view.file_icon Project1.dpr
material.view.file_icon Project1.exe
material.view.file_icon Project1.res
material.view.file_icon Unit1.dcu
material.view.file_icon Unit1.ddp
material.view.file_icon Unit1.dfm
material.view.file_icon Unit1.pas
material.view.file_icon Unit1.~ddp
material.view.file_icon Unit1.~dfm
material.view.file_icon Unit1.~pas
material.view.file_icon Отчет.doc
material.view.file_icon
material.view.file_icon Отчет.doc
material.view.file_icon
material.view.file_icon language1.txt
material.view.file_icon language2.txt
material.view.file_icon language3.txt
material.view.file_icon Project1.cfg
material.view.file_icon Project1.dof
material.view.file_icon Project1.dpr
material.view.file_icon Project1.exe
material.view.file_icon Project1.res
material.view.file_icon Unit1.dcu
material.view.file_icon Unit1.ddp
material.view.file_icon Unit1.dfm
material.view.file_icon Unit1.pas
material.view.file_icon Unit1.~ddp
material.view.file_icon Unit1.~dfm
material.view.file_icon Unit1.~pas
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Word
  • Программа для просмотра текстовых файлов

Описание

Лабораторная работа 1
Генерация цепочек языка

ЗАДАНИЕ


Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с клавиатуры.
На вход программы подаётся КС-грамматика (терминальный и нетерминальный алфавиты, целевой символ, правила вывода), задаётся диапазон длин цепочек, указывается тип вывода (левосторонний или правосторонний).
Рекомендуется для ввода исходных данных использовать соответствующую форму. При вводе правил грамматики не рекомендуется предоставлять пользователю излишнюю свободу действий, например, удобнее запретить ввод в левой части правил более чем одного нетерминального символа, чем проверять введённые правила на соответствие контекстно-свободному типу.
На выходе должен быть список построенных цепочек. Все цепочки в списке должны быть различны. При получении одинаковых цепочек (разными способами) их следует сохранять в списке выводимых цепочек только в случае выполнения дополнительного задания.
Проверить программу на примерах из лекционного курса и на заданиях из контрольных вопросов к теоретической части.

Контрольные вопросы:
1.Как поведёт себя программа, если при вводе правил грамматики сделать ошибку – ввести правила грамматики, не соответствующей КС-типу, или не использовать какие-то символы исходных алфавитов, или поместить в левой части правил терминальный символ?

2.Используется ли при генерации цепочек рекурсия? Если да, то как ограничена её глубина?

3.Какой язык порождается грамматикой G({0},{S,A},{SAAA, AAAA |0}, S)? Правильно ли Ваша программа работает на этом примере? Если нет – доработайте программу.

4.Разрешает ли Ваша программа использовать в исходной грамматике пустые правила? Если нет – доработайте программу.

=============================================

Лабораторная работа 2
Моделирование работы ДКА

Пусть регулярный язык задаётся конечным автоматом – ДКА (теоретический материал разделов 1.5, 2.2). Написать программу, которая будет проверять по заданному автомату вводимую цепочку и делать вывод о том, принадлежит ли она рассматриваемому регулярному языку. В случае отрицательного ответа необходимо давать пояснение, по какой причине цепочка не принадлежит языку – например, «в цепочке присутствуют посторонние символы», «после прочтения цепочки автомат не пришёл в конечное состояние» и т.п. Исходный автомат вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также производить с клавиатуры.
На вход программы подаётся ДКА (множество состояний, алфавит языка, начальное состояние, множество заключительных состояний, функция переходов в виде таблицы) и проверяемая цепочка символов (может вводиться многократно, т.е. возможно проверить любое количество цепочек). При этом в проверяемую цепочку могут входить и символы, не принадлежащие алфавиту языка; цепочка может быть и пустой.
Программа должна предоставлять пользователю возможность изменять начальное и конечные состояния с сохранением введённой функции переходов для заданного автомата.
Выход – отображение на экране процесса проверки цепочки в виде последовательной смены конфигураций и вывод результата – сообщения, принадлежит ли цепочка языку.
Проверить работу программы на примерах из лекций и задачах из контрольных вопросов.

1.Контрольные вопросы:
Как поведёт себя программа, если при вводе таблицы переходов ДКА сделать (случайно или преднамеренно) ошибку – например, ввести несуществующее состояние?

2.Все ли ячейки таблицы переходов исходного ДКА обязательно должны быть заполнены или можно использовать неполностью определённый ДКА?

3.В каком случае ДКА распознаёт пустую цепочку как цепочку языка?

=============================================

Лабораторная работа 3
Перевод с помощью МП-преобразователя

Пусть дан преобразователь с магазинной памятью; написать программу, которая будет выполнять перевод цепочек с одного языка на другой с помощью заданного преобразователя (теоретический материал раздела 4.2). При невозможности выполнить перевод (цепочка не принадлежит исходному языку) необходимо выводить на экран соответствующее сообщение.

Исходный преобразователь вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также производить с клавиатуры, выполняя его до тех пор, пока не возникнет желание закончить работу. Процесс перевода цепочки в виде последовательной смены конфигураций отображать на экране.

На вход программы подаётся ДМП-преобразователь (множество состояний, алфавиты входного и выходного языков, алфавит магазина, начальное состояние, начальное содержимое стека, множество заключительных состояний, функция переходов в виде списка правил) и проверяемая цепочка символов (аналогично лаб. раб. No2).

Рекомендуется за основу взять программу лабораторной работы No2, дополнив исходные данные алфавитом стека, начальным содержимым стека и выходным алфавитом, функцию переходов – в соответствии с определением преобразователя, а конфигурации – содержимым памяти и выходными цепочками.

Выход: отображение на экране процесса перевода цепочки в виде последовательной смены конфигураций преобразователя, результат перевода – полученная цепочка.

Проверить работу программы на примерах из лекций и задачах из контрольных вопросов.

Контрольные вопросы:
1.Как поведёт себя преобразователь, если поданная на его вход цепочка не может быть распознана (не принадлежит к заданному языку)?

2.Как соотносятся алфавиты исходного языка и того, на который выполняется перевод (должны совпадать, различаться...)? Поясните ответ.

3.Как поведёт себя Ваша программа при некорректном вводе? Например, функция переходов задана не в том формате, определена не для того количества параметров, использует алфавит, отличный от заданных...

=============================================

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

Проверил(а): Бах Ольга Анатольевна
Оценка: Отлично
Дата оценки: 25.12.2022г.

Помогу с вашим вариантом, другой дисциплиной, онлайн-тестом, либо сессией под ключ.
E-mail: sneroy20@gmail.com
E-mail: ego178@mail.ru
Курсовая и Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №3
Лабораторная работа 1 Генерация цепочек языка ЗАДАНИЕ Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю
User IT-STUDHELP : 25 декабря 2022
1800 руб.
promo
Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Без вариантов
Лабораторная работа 1 Генерация цепочек языка Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматик
User IT-STUDHELP : 25 декабря 2022
1500 руб.
promo
Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Без вариантов
Лабораторная работа 1 Генерация цепочек языка ЗАДАНИЕ: Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использоват
User IT-STUDHELP : 25 декабря 2022
1500 руб.
promo
Теория языков программирования и методы трансляции. Лабораторная работа №1. Вариант №3
Лабораторная работа № 1 Генерация цепочек языка Задание Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе гр
User JulDir : 22 сентября 2013
49 руб.
Теория языков программирования и методы трансляции. Лабораторная работа №1
Теория языков программирования и методы трансляции_Лабораторная работа 1 Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
User bvv1975 : 26 января 2016
20 руб.
Теория языков программирования и методы трансляции. Лабораторная работа №1.
Лабораторная работа № 1 Генерация цепочек языка Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику
User zhekaersh : 20 февраля 2015
70 руб.
Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №04
Лабораторная работа 1 Постановка задачи Тема: «Генерация цепочек языка». Пусть язык задан контекстно-свободной грамматикой. Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Рекомендуется для ввода исходных данных использовать соответствующую форму. При вводе правил грамматики не р
User IT-STUDHELP : 6 июля 2023
1500 руб.
promo
Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №10*
Лабораторная работа 1 Генерация цепочек языка Постановка задачи: Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в пр
User IT-STUDHELP : 6 июля 2023
1500 руб.
Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №10* promo
Вентиль запорный МЧ00.74.00.00. Деталировка
Запорный вентиль монтируют на трубопроводе, по которому движется жидкость или газ. С помощью вентиля можно отключать одну часть трубопровода от другой. Для этого нужно опустить запорный клапан поз. 12 до соприкосновения его с торцом втулки поз. 5. Перемещение клапана по вертикали производят вращением маховика поз. 9. Гайка поз. 14 предупреждает соскакивание маховика со шпинделя поз. 10. Уплотнение, состоящее из асбестового просаленного шнура поз. 16 прямоугольного сечения, прижимается сверху вту
User bublegum : 24 июня 2021
700 руб.
Вентиль запорный МЧ00.74.00.00. Деталировка promo
Расчет плиты перекрытия, колонны и фундамента для каменного здания с жесткой конструктивной схемой
СОДЕРЖАНИЕ 1. Исходные данные 3 2. Компоновка балочного панельного сборного перекрытия 4 3. Предварительные размеры поперечного сечения элементов 5 4. Расчет плиты (панели) перекрытия 6 4.1. Общие сведения 6 4.2. Статический расчет плиты П1 7 4.3. Подбор продольной арматуры в ребрах 9 4.4. Подбор поперечной арматуры в ребрах 10 4.5. Расчет по прочности на действие поперечной силы по наклонной сжатой полосе 11 4.6. Статический расчет полки плиты 11 4.7. Подбор продольной арматуры полки плиты 12 5
User Рики-Тики-Та : 16 октября 2011
55 руб.
Подъёмный вал буровой лебедки-Чертеж-Оборудование для бурения нефтяных и газовых скважин-Курсовая работа-Дипломная работа
Подъёмный вал буровой лебедки-(Формат Компас-CDW, Autocad-DWG, Adobe-PDF, Picture-Jpeg)-Чертеж-Оборудование для бурения нефтяных и газовых скважин-Курсовая работа-Дипломная работа
User nakonechnyy.1992@list.ru : 27 марта 2017
277 руб.
Подъёмный вал буровой лебедки-Чертеж-Оборудование для бурения нефтяных и газовых скважин-Курсовая работа-Дипломная работа
Разработка системы связи для передачи непрерывных сообщений дискретными сигналами
Курсовая работа по Теории электрической связи Вариант 7 Оглавление 1. Введение…......................................................................................стр. 3 2. Задание…………………………………………………………….стр. 4 3. Исходные данные………………………………………………...стр. 4 4. Структурная схема системы связи………………………………стр. 5 5. Структурная схема приемника…………………………………..стр. 8 6. Принятие решения приемником по одному отсчету…………..стр. 9 7. Вероятность ошибки на выходе приемника……………………стр. 11 8. Выигрыш в отнош
User gerold66 : 13 июня 2010
300 руб.
up Наверх