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

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

material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon Lab2.deps.json
material.view.file_icon Lab2.dll
material.view.file_icon Lab2.exe
material.view.file_icon Lab2.pdb
material.view.file_icon Lab2.runtimeconfig.json
material.view.file_icon FMA.cs
material.view.file_icon fma.txt
material.view.file_icon Form1.cs
material.view.file_icon Form1.Designer.cs
material.view.file_icon Form1.resx
material.view.file_icon Lab2.csproj
material.view.file_icon Lab2.csproj.user
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon .NETCoreApp,Version=v6.0.AssemblyAttributes.cs
material.view.file_icon apphost.exe
material.view.file_icon Lab2.AssemblyInfo.cs
material.view.file_icon Lab2.AssemblyInfoInputs.cache
material.view.file_icon Lab2.assets.cache
material.view.file_icon Lab2.csproj.AssemblyReference.cache
material.view.file_icon Lab2.csproj.CoreCompileInputs.cache
material.view.file_icon Lab2.csproj.FileListAbsolute.txt
material.view.file_icon Lab2.csproj.GenerateResource.cache
material.view.file_icon Lab2.designer.deps.json
material.view.file_icon Lab2.designer.runtimeconfig.json
material.view.file_icon Lab2.dll
material.view.file_icon Lab2.Form1.resources
material.view.file_icon Lab2.GeneratedMSBuildEditorConfig.editorconfig
material.view.file_icon Lab2.genruntimeconfig.cache
material.view.file_icon Lab2.GlobalUsings.g.cs
material.view.file_icon Lab2.pdb
material.view.file_icon
material.view.file_icon Lab2.dll
material.view.file_icon
material.view.file_icon Lab2.dll
material.view.file_icon Lab2.csproj.nuget.dgspec.json
material.view.file_icon Lab2.csproj.nuget.g.props
material.view.file_icon Lab2.csproj.nuget.g.targets
material.view.file_icon project.assets.json
material.view.file_icon project.nuget.cache
material.view.file_icon Program.cs
material.view.file_icon Lab2.deps.json
material.view.file_icon Lab2.dll
material.view.file_icon Lab2.exe
material.view.file_icon Lab2.pdb
material.view.file_icon Lab2.runtimeconfig.json
material.view.file_icon Отчет по лабораторной работе 2.docx
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon Lab3.deps.json
material.view.file_icon Lab3.dll
material.view.file_icon Lab3.exe
material.view.file_icon Lab3.pdb
material.view.file_icon Lab3.runtimeconfig.json
material.view.file_icon fma2.txt
material.view.file_icon Form1.cs
material.view.file_icon Form1.Designer.cs
material.view.file_icon Form1.resx
material.view.file_icon Lab3.csproj
material.view.file_icon Lab3.csproj.user
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon .NETCoreApp,Version=v6.0.AssemblyAttributes.cs
material.view.file_icon apphost.exe
material.view.file_icon Lab3.AssemblyInfo.cs
material.view.file_icon Lab3.AssemblyInfoInputs.cache
material.view.file_icon Lab3.assets.cache
material.view.file_icon Lab3.csproj.AssemblyReference.cache
material.view.file_icon Lab3.csproj.CoreCompileInputs.cache
material.view.file_icon Lab3.csproj.FileListAbsolute.txt
material.view.file_icon Lab3.csproj.GenerateResource.cache
material.view.file_icon Lab3.designer.deps.json
material.view.file_icon Lab3.designer.runtimeconfig.json
material.view.file_icon Lab3.dll
material.view.file_icon Lab3.Form1.resources
material.view.file_icon Lab3.GeneratedMSBuildEditorConfig.editorconfig
material.view.file_icon Lab3.genruntimeconfig.cache
material.view.file_icon Lab3.GlobalUsings.g.cs
material.view.file_icon Lab3.pdb
material.view.file_icon
material.view.file_icon Lab3.dll
material.view.file_icon
material.view.file_icon Lab3.dll
material.view.file_icon Lab3.csproj.nuget.dgspec.json
material.view.file_icon Lab3.csproj.nuget.g.props
material.view.file_icon Lab3.csproj.nuget.g.targets
material.view.file_icon project.assets.json
material.view.file_icon project.nuget.cache
material.view.file_icon Program.cs
material.view.file_icon Pushdown.cs
material.view.file_icon Lab3.deps.json
material.view.file_icon Lab3.dll
material.view.file_icon Lab3.exe
material.view.file_icon Lab3.pdb
material.view.file_icon Lab3.runtimeconfig.json
material.view.file_icon Отчет по лабораторной работе 3.docx
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon Lab1.deps.json
material.view.file_icon Lab1.dll
material.view.file_icon Lab1.exe
material.view.file_icon Lab1.pdb
material.view.file_icon Lab1.runtimeconfig.json
material.view.file_icon Form1.cs
material.view.file_icon Form1.Designer.cs
material.view.file_icon Form1.resx
material.view.file_icon Grammar.cs
material.view.file_icon Lab1.csproj
material.view.file_icon Lab1.csproj.user
material.view.file_icon
material.view.file_icon
material.view.file_icon
material.view.file_icon .NETCoreApp,Version=v6.0.AssemblyAttributes.cs
material.view.file_icon apphost.exe
material.view.file_icon Lab1.AssemblyInfo.cs
material.view.file_icon Lab1.AssemblyInfoInputs.cache
material.view.file_icon Lab1.assets.cache
material.view.file_icon Lab1.csproj.AssemblyReference.cache
material.view.file_icon Lab1.csproj.CoreCompileInputs.cache
material.view.file_icon Lab1.csproj.FileListAbsolute.txt
material.view.file_icon Lab1.csproj.GenerateResource.cache
material.view.file_icon Lab1.designer.deps.json
material.view.file_icon Lab1.designer.runtimeconfig.json
material.view.file_icon Lab1.dll
material.view.file_icon Lab1.Form1.resources
material.view.file_icon Lab1.GeneratedMSBuildEditorConfig.editorconfig
material.view.file_icon Lab1.genruntimeconfig.cache
material.view.file_icon Lab1.GlobalUsings.g.cs
material.view.file_icon Lab1.pdb
material.view.file_icon
material.view.file_icon Lab1.dll
material.view.file_icon
material.view.file_icon Lab1.dll
material.view.file_icon Lab1.csproj.nuget.dgspec.json
material.view.file_icon Lab1.csproj.nuget.g.props
material.view.file_icon Lab1.csproj.nuget.g.targets
material.view.file_icon project.assets.json
material.view.file_icon project.nuget.cache
material.view.file_icon Program.cs
material.view.file_icon Lab1.deps.json
material.view.file_icon Lab1.dll
material.view.file_icon Lab1.exe
material.view.file_icon Lab1.pdb
material.view.file_icon Lab1.runtimeconfig.json
material.view.file_icon Отчет по лабораторной работе 1.docx
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
  • Программа для просмотра текстовых файлов
  • Microsoft Word

Описание

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

Постановка задачи:

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

Описание входных данных программы и её результатов:
• Терминальный алфавит (задается строкой без пробелов, строка разбивается на множество символов)
• Нетерминальный алфавит (задается строкой без пробелов, строка разбивается на множество символов)
• Стартовый нетерминал (выбирается из выпадающего списка после загрузки нетерминального алфавита)
• Список правил (например, правило A AAA | 0 вводится как А ААА 0, то есть строка правила разбивается по пробелу, первая подстрока считается левой частью правила, все остальные подстроки принадлежат правой части)
• Выбор вывода: левосторонний или правосторонний (определяется флажком)
• Минимальная длина слова (определяется счётчиком, не может быть больше максимальной длины)
• Максимальная длина слова (определяется счётчиком, не может быть меньше минимальной длины)

------------------------------------------------------------------------------

Ответы на контрольные вопросы:

1. Как поведёт себя программа, если при вводе правил грамматики сделать ошибку – ввести правила грамматики, не соответствующей КС-типу, или не использовать какие-то символы исходных алфавитов, или поместить в левой части правил терминальный символ?
2. Используется ли при генерации цепочек рекурсия? Если да, то как ограничена её глубина?
3. Какой язык порождается грамматикой G({0},{S,A},{SAAA, AAAA |0}, S)? Правильно ли Ваша программа работает на этом примере?
4. Разрешает ли Ваша программа использовать в исходной грамматике пустые правила? Если нет – доработайте программу.

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

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

Постановка задачи

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

Описание входных данных программы и её результатов:
• Множество состояний (задается строкой с пробелами, строка разбивается на множество подстрок)
• Алфавит автомата (задается строкой без пробелов, строка разбивается на множество символов)
• Начальное состояние (выбирается из выпадающего списка после загрузки множества состояний)
• Множество финальных состояний (выбираются из списка после загрузки множества состояний)
• Множество переходов (переход из состояния q0 по символу a в состояние q1 задается как q0 a q1)
• Цепочка (строка)
• Окно переходов и результатов

------------------------------------------------------------------------------

Ответы на контрольные вопросы:

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

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

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

Постановка задачи

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

Описание входных данных программы и её результатов:
• Множество состояний (задается строкой с пробелами, строка разбивается на множество подстрок)
• Алфавит автомата (задается строкой без пробелов, строка разбивается на множество символов)
• Алфавит стека (задается строкой без пробелов, строка разбивается на множество символов)
• Начальное состояние (выбирается из выпадающего списка после загрузки множества состояний)
• Начальный символ (выбирается из выпадающего списка после загрузки множества символов)
• Множество финальных состояний (выбираются из списка после загрузки множества состояний)
• Множество переходов (переход из состояния q0 по символу a и символу стека Z в состояние q1 c записью на стек AA задается как q0 a Z q1 AA)
• Цепочка (строка)
• Окно переходов и результатов

------------------------------------------------------------------------------

Ответы на контрольные вопросы:

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

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

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

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

Помогу с вашим вариантом, другой работой, дисциплиной или онлайн-тестом.
E-mail: sneroy20@gmail.com
E-mail: ego178@mail.ru
Курсовая и Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №09
Курсовая работа Вариант No09 Постановка задачи Написать программу для автоматического построения регулярного выражения (РВ) по словесному описанию языка. Вход программы: алфавит языка, обязательные начальная и конечная подцепочки, кратность длины всех цепочек языка, 2 числа – диапазон длин для генерации цепочек. Выход: построенное регулярное выражение, результат генерации цепочек. Подробно: Язык задан своим алфавитом, обязательной начальной и конечной подцепочками и указанием кратности длины
User IT-STUDHELP : 6 июля 2023
1800 руб.
Курсовая и Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №09 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
Теория языков программирования и методы трансляции_Лабораторная работа 1 Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
User bvv1975 : 26 января 2016
20 руб.
Теория языков программирования и методы трансляции. Лабораторная работа №1.
Лабораторная работа № 1 Генерация цепочек языка Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику
User zhekaersh : 20 февраля 2015
70 руб.
Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №3
Лабораторная работа 1 Генерация цепочек языка ЗАДАНИЕ Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю
User IT-STUDHELP : 25 декабря 2022
1500 руб.
promo
Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №10
Лабораторная работа 1 Генерация цепочек языка Постановка задачи Тема: «Генерация цепочек языка». Пусть язык задан контекстно-свободной грамматикой. Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Рекомендуется для ввода исходных данных использовать соответствующую форму. При ввод
User IT-STUDHELP : 6 июля 2023
1500 руб.
Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №10 promo
Лабораторные работы 1-3 по дисциплине: Теория языков программирования и методы трансляции. Вариант №04
Лабораторная работа 1 Постановка задачи Тема: «Генерация цепочек языка». Пусть язык задан контекстно-свободной грамматикой. Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Рекомендуется для ввода исходных данных использовать соответствующую форму. При вводе правил грамматики не р
User IT-STUDHELP : 6 июля 2023
1500 руб.
promo
ММА/ИДО Иностранный язык в профессиональной сфере (ЛТМ) Тест 20 из 20 баллов 2024 год
ММА/ИДО Иностранный язык в профессиональной сфере (ЛТМ) Тест 20 из 20 баллов 2024 год Московская международная академия Институт дистанционного образования Тест оценка ОТЛИЧНО 2024 год Ответы на 20 вопросов Результат – 100 баллов С вопросами вы можете ознакомиться до покупки ВОПРОСЫ: 1. We have … to an agreement 2. Our senses are … a great role in non-verbal communication 3. Saving time at business communication leads to … results in work 4. Conducting negotiations with foreigners we shoul
User mosintacd : 28 июня 2024
150 руб.
promo
Задание №2. Методы управления образовательными учреждениями
Практическое задание 2 Задание 1. Опишите по одному примеру использования каждого из методов управления в Вашей профессиональной деятельности. Задание 2. Приняв на работу нового сотрудника, Вы надеялись на более эффективную работу, но в результате разочарованы, так как он не соответствует одному из важнейших качеств менеджера - самодисциплине. Он не обязателен, не собран, не умеет отказывать и т.д.. Но, тем не менее, он отличный профессионал в своей деятельности. Какими методами управления Вы во
User studypro : 13 октября 2016
200 руб.
Особенности бюджетного финансирования
Содержание: Введение Теоретические основы бюджетного финансирования Понятие и сущность бюджетного финансирования Характеристика основных форм бюджетного финансирования Анализ бюджетного финансирования образования Понятие и источники бюджетного финансирования образования Проблемы бюджетного финансирования образования Основные направления совершенствования бюджетного финансирования образования Заключение Список использованный литературы Цель курсовой работы – исследовать особенности бюджетного фин
User Aronitue9 : 24 августа 2012
20 руб.
Программирование (часть 1-я). Зачёт. Билет №2
ЗАЧЕТ по дисциплине “Программирование (часть 1)” Билет 2 Определить значение переменной y после работы следующего фрагмента программы: a = 3; b = 2 * a – 10; x = 0; y = 2 * b + a; if ( b > y ) or ( 2 * b < y + a ) ) then begin x = b – y; y = x + 4 end; if ( a + b < 0 ) and ( y + x > 2 ) ) then begin x = x + y; y = x – 2 end;
User sibsutisru : 3 сентября 2021
200 руб.
Программирование (часть 1-я). Зачёт. Билет №2
up Наверх