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

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

material.view.file_icon
material.view.file_icon
material.view.file_icon Project1.dpr
material.view.file_icon Project1.exe
material.view.file_icon Project1.res
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 Project1.dpr
material.view.file_icon Project1.exe
material.view.file_icon Project1.res
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 Project1.dpr
material.view.file_icon Project1.exe
material.view.file_icon Project1.res
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 1.su
material.view.file_icon 2.su
material.view.file_icon 3.su
material.view.file_icon Project1.dpr
material.view.file_icon Project1.exe
material.view.file_icon Project1.res
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 Project1.dpr
material.view.file_icon Project1.exe
material.view.file_icon Project1.res
material.view.file_icon Unit1.dfm
material.view.file_icon Unit1.pas
material.view.file_icon Отчет.doc
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Word

Описание

Лабораторная работа No1
Тема: «Генерация цепочек языка»
1. ПОСТАНОВКА ЗАДАЧИ
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с клавиатуры.
На вход программы подаётся КС-грамматика (терминальный и нетерминальный алфавиты, целевой символ, правила вывода), задаётся диапазон длин цепочек, указывается тип вывода (левосторонний или правосторонний).
Рекомендуется для ввода исходных данных использовать соответствующую форму. При вводе правил грамматики не рекомендуется предоставлять пользователю излишнюю свободу действий, например, удобнее запретить ввод в левой части правил более чем одного нетерминального символа, чем проверять введённые правила на соответствие контекстно-свободному типу.
На выходе должен быть список построенных цепочек. Все цепочки в списке должны быть различны. При получении одинаковых цепочек (разными способами) их следует сохранять в списке выводимых цепочек только в случае выполнения дополнительного задания.
Проверить программу на примерах из лекционного курса и на заданиях из контрольных вопросов к теоретической части.
2. ОПИСАНИЕ ВХОДНЫХ ДАННЫХ ПРОГРАММЫ И ЕЁ РЕЗУЛЬТАТОВ
3. ОПИСАНИЕ ОСНОВНЫХ ПЕРЕМЕННЫХ И ОСНОВНЫХ БЛОКОВ
4. АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ
5. ТЕКСТ ПРОГРАММЫ
6. РЕЗУЛЬТАТЫ РАБОТЫ ПРОГРАММЫ
7. ОТВЕТЫ НА КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Как поведёт себя программа, если при вводе правил грамматики сделать ошибку – ввести правила грамматики, не соответствующей КС-типу, или не использовать какие-то символы исходных алфавитов, или поместить в левой части правил терминальный символ?
2. Используется ли при генерации цепочек рекурсия? Если да, то как ограничена её глубина?
3. Какой язык порождается грамматикой G({0},{S,A},{SAAA, AAAA |0}, S)? Правильно ли Ваша программа работает на этом примере? Если нет – доработайте программу.
4. Разрешает ли Ваша программа использовать в исходной грамматике пустые правила? Если нет – доработайте программу.


Лабораторная работа No2
Тема: «Моделирование работы ДКА»
1. ПОСТАНОВКА ЗАДАЧИ
Пусть регулярный язык задаётся конечным автоматом – ДКА (теоретический материал разделов 1.5, 2.2). Написать программу, которая будет проверять по заданному автомату вводимую цепочку и делать вывод о том, принадлежит ли она рассматриваемому регулярному языку. В случае отрицательного ответа необходимо давать пояснение, по какой причине цепочка не принадлежит языку – например, «в цепочке присутствуют посторонние символы», «после прочтения цепочки автомат не пришёл в конечное состояние» и т.п. Исходный автомат вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также производить с клавиатуры.
На вход программы подаётся ДКА (множество состояний, алфавит языка, начальное состояние, множество заключительных состояний, функция переходов в виде таблицы) и проверяемая цепочка символов (может вводиться многократно, т.е. возможно проверить любое количество цепочек). При этом в проверяемую цепочку могут входить и символы, не принадлежащие алфавиту языка; цепочка может быть и пустой.
Программа должна предоставлять пользователю возможность изменять начальное и конечные состояния с сохранением введённой функции переходов для заданного автомата.
Выход – отображение на экране процесса проверки цепочки в виде последовательной смены конфигураций и вывод результата – сообщения, принадлежит ли цепочка языку.
Проверить работу программы на примерах из лекций и задачах из контрольных вопросов.
2. ОПИСАНИЕ ВХОДНЫХ ДАННЫХ ПРОГРАММЫ И ЕЁ РЕЗУЛЬТАТОВ
3. ОПИСАНИЕ ОСНОВНЫХ ПЕРЕМЕННЫХ И ОСНОВНЫХ БЛОКОВ
4. АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ
5. ТЕКСТ ПРОГРАММЫ
6. РЕЗУЛЬТАТЫ РАБОТЫ ПРОГРАММЫ
7. ОТВЕТЫ НА КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Как поведёт себя программа, если при вводе таблицы переходов ДКА сделать (случайно или преднамеренно) ошибку – например, ввести несуществующее состояние?
2. Все ли ячейки таблицы переходов исходного ДКА обязательно должны быть заполнены или можно использовать неполностью определённый ДКА?
3. В каком случае ДКА распознаёт пустую цепочку как цепочку языка?


Лабораторная работа No3
Тема: «Моделирование работы МПА»
1. ПОСТАНОВКА ЗАДАЧИ
Пусть контекстно-свободный язык задаётся детерминированным автоматом с магазинной памятью – ДМПА (теоретический материал раздела 3.1). Написать программу, которая будет проверять для вводимой цепочки, принадлежит ли она заданному КС-языку. В случае отрицательного ответа необходимо давать пояснение, по какой причине цепочка не принадлежит языку (аналогично лаб. раб No2) Исходный автомат вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также производить с клавиатуры, выполняя его до тех пор, пока не возникнет желание закончить работу.
На вход программы подаётся ДМПА (множество состояний, алфавит языка, алфавит магазина, начальное состояние, начальное содержимое стека, множество заключительных состояний, функция переходов в виде списка правил) и проверяемая цепочка символов (может вводиться многократно, т.е. возможно проверить любое количество цепочек). При этом в проверяемую цепочку могут входить и символы, не принадлежащие алфавиту языка; цепочка может быть и пустой.
Рекомендуется для ввода исходных данных использовать соответствующую форму с полями выбора. При вводе функции переходов не рекомендуется предоставлять пользователю излишнюю свободу действий.
Выход – отображение на экране процесса проверки цепочки в виде последовательной смены конфигураций и вывод результата – сообщения, принадлежит ли цепочка языку.
Внимание!!! В ходе проверки цепочки ДМПА может проделывать пустые такты не только после прочтения всей цепочки, но и в её середине. Внимательно прочтите соответствующий раздел лекций 3.1.
Проверить работу программы на примерах из лекций и задачах из контрольных вопросов.
2. ОПИСАНИЕ ВХОДНЫХ ДАННЫХ ПРОГРАММЫ И ЕЁ РЕЗУЛЬТАТОВ
3. ОПИСАНИЕ ОСНОВНЫХ ПЕРЕМЕННЫХ И ОСНОВНЫХ БЛОКОВ
4. АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ
5. ТЕКСТ ПРОГРАММЫ
6. РЕЗУЛЬТАТЫ РАБОТЫ ПРОГРАММЫ
7. ОТВЕТЫ НА КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Обязательно ли должна быть задана функция переходов для всех возможных сочетаний «состояние, входной символ, символ стека»? Как поведёт себя автомат, если при проверке цепочки встретит неизвестную комбинацию?
2. В каком случае цепочка считается допущенной автоматом, а в каком – нет?
3. Возможно ли в качестве алфавита магазина использовать символы, отличные от алфавита языка? Изменится ли работа программы, если изменить только алфавит магазинных символов (и соответствующие правила функции переходов)? Если в Вашей программе это недопустимо – доработайте программу.


Лабораторная работа No4
Тема: «Перевод с помощью СУ-схемы»
1. ПОСТАНОВКА ЗАДАЧИ
Пусть дана схема синтаксически управляемого перевода (теоретический материал раздела 4.2). Написать программу, которая будет выполнять перевод цепочек с одного языка на другой в соответствии с этой схемой. При невозможности выполнить перевод (цепочка не строится по правилам входной грамматики) необходимо выводить на экран соответствующее сообщение.
Правила СУ-схемы считывать из файла (предоставив пользователю возможность редактировать их на экране); цепочки вводить с клавиатуры, процесс перевода отображать на экране. Предусмотреть возможность выполнения перевода любого количества цепочек для заданной схемы.
На вход программы подаётся схема СУ-перевода (алфавиты входного и выходного языков, множество нетерминальных символов, правила вывода, целевой символ) и цепочка языка, которую необходимо перевести (может вводиться многократно, т.е. возможно перевести любое количество цепочек). Цепочка может быть и не относящейся к исходному языку.
Работа программы может быть организована по-разному. В качестве основного задания допустимо использовать материалы лабораторной работы No1. На первом этапе в соответствии с входной грамматикой схемы СУ-перевода попытаться сгенерировать цепочку, поданную на вход (поскольку её длина известна, можно генерировать только цепочки этой длины). При генерации фиксировать номера использованных правил. В случае успешной генерации выполнить второй этап – применяя номера использованных правил, получать одновременно входную и выходную цепочки по правилу вывода и соответствующему ему элементу перевода.
На выходе – отображение процесса перевода и результирующая цепочка языка.
2. ОПИСАНИЕ ВХОДНЫХ ДАННЫХ ПРОГРАММЫ И ЕЁ РЕЗУЛЬТАТОВ
3. ОПИСАНИЕ ОСНОВНЫХ ПЕРЕМЕННЫХ И ОСНОВНЫХ БЛОКОВ
4. АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ
5. ТЕКСТ ПРОГРАММЫ
6. РЕЗУЛЬТАТЫ РАБОТЫ ПРОГРАММЫ
7. ОТВЕТЫ НА КОНТРОЛЬНЫЕ ВОПРОСЫ
1. В чём отличие работы схемы СУ-перевода от порождения цепочек языка при помощи обычной грамматики?
2. Постройте схему СУ-перевода, которая будет переводить цепочки из алфавита {a,b,+,*} из префиксной записи в постфиксную (в том же алфавите). Проверьте работу программы на этой схеме.


Лабораторная работа No5
Тема: «Перевод с помощью МП-преобразователя»
1. ПОСТАНОВКА ЗАДАЧИ
Пусть дан преобразователь с магазинной памятью; написать программу, которая будет выполнять перевод цепочек с одного языка на другой с помощью заданного преобразователя (теоретический материал раздела 4.2). При невозможности выполнить перевод (цепочка не принадлежит исходному языку) необходимо выводить на экран соответствующее сообщение.
Исходный преобразователь вводить с клавиатуры в соответствии с определённым форматом. Ввод цепочек также производить с клавиатуры, выполняя его до тех пор, пока не возникнет желание закончить работу. Процесс перевода цепочки в виде последовательной смены конфигураций отображать на экране.
На вход программы подаётся ДМП-преобразователь (множество состояний, алфавиты входного и выходного языков, алфавит магазина, начальное состояние, начальное содержимое стека, множество заключительных состояний, функция переходов в виде списка правил) и проверяемая цепочка символов (аналогично лаб. раб. No3).
Рекомендуется за основу взять программу лабораторной работы No3, дополнив исходные данные выходным алфавитом, функцию переходов – в соответствии с определением преобразователя, а конфигурации – выходными цепочками.
Выход: отображение на экране процесса перевода цепочки в виде последовательной смены конфигураций преобразователя, результат перевода – полученная цепочка.
Проверить работу программы на примерах из лекций и задачах из контрольных вопросов.
2. ОПИСАНИЕ ВХОДНЫХ ДАННЫХ ПРОГРАММЫ И ЕЁ РЕЗУЛЬТАТОВ
3. ОПИСАНИЕ ОСНОВНЫХ ПЕРЕМЕННЫХ И ОСНОВНЫХ БЛОКОВ
4. АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ
5. ТЕКСТ ПРОГРАММЫ
6. РЕЗУЛЬТАТЫ РАБОТЫ ПРОГРАММЫ
7. ОТВЕТЫ НА КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Как поведёт себя преобразователь, если поданная на его вход цепочка не может быть распознана (не принадлежит к заданному языку)?
2. Как соотносятся алфавиты исходного языка и того, на который выполняется перевод (должны совпадать, различаться...)? Поясните ответ.
3. Как поведёт себя Ваша программа при некорректном вводе? Например, функция переходов задана не в том формате, определена не для того количества параметров, использует алфавит, отличный от заданных.

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

Все работы успешно зачтены (без замечаний).
Дата сдачи: июнь 2016 г.
Преподаватель: Бах О.А.
В архиве отчет по каждой из работ + файлы программы.
Данные работы подходят для всех вариантов.

Выполняю работы на заказ по следующим специальностям:
МТС, АЭС, МРМ, ПОВТиАС, ПМ, ФиК и др.
E-mail: help-sibguti@yandex.ru
Теория языков программирования и методы трансляции. Лабораторная работа №1-№5. Вариант общий
Лабораторная работа No 1 Генерация цепочек языка Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматик
User gnv1979 : 1 декабря 2017
70 руб.
Теория языков программирования и методы трансляции. Лабораторная работа №1
Теория языков программирования и методы трансляции_Лабораторная работа 1 Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы.
User bvv1975 : 26 января 2016
20 руб.
Теория языков программирования и методы трансляции. Лабораторная работа №1.
Лабораторная работа № 1 Генерация цепочек языка Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику
User zhekaersh : 20 февраля 2015
70 руб.
Лабораторные работы №1-5 по дисциплине: Теория языков программирования и методы трансляции. Вариант №1
!СКИДКА! На все свои работы могу предложить скидку до 50%. Для получения скидки напишите мне письмо(выше ссылка "написать") Лабораторная работа №1 Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске прог
User popye : 10 декабря 2015
120 руб.
Лабораторные работы №1-5 по дисциплине: Теория языков программирования и методы трансляции. Вариант №1
Лабораторные работы №1-5 по дисциплине: Теория языков программирования и методы трансляции. Вариант №7.
Лабораторная работа No1 Генерация цепочек языка Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику
User teacher-sib : 28 ноября 2016
250 руб.
promo
Лабораторные работы №1-5 по дисциплине: Теория языков программирования и методы трансляции. Вариант 05.
Лабораторная работа No1 Задание Генерация цепочек языка Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе гра
User freelancer : 18 августа 2016
250 руб.
promo
Лабораторная работа №1 по дисциплине «Теория языков программирования и методы трансляции»
Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с клавиатуры. На вход программы
User Сергей38 : 26 января 2023
200 руб.
Лабораторная работа №1 по дисциплине «Теория языков программирования и методы трансляции»
Лабораторная работа №1 по дисциплине Теория языков программирования и методы трансляции
Генерация цепочек языка Пусть язык задан контекстно-свободной грамматикой (теоретический материал разделов 1.1–1.4). Написать программу, которая по заданной грамматике будет генерировать ВСЕ цепочки языка в некотором диапазоне длин. Использовать только левосторонний или правосторонний вывод! Диапазон длин генерируемых цепочек должен задаваться пользователем при запуске программы. Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с кла
User Некто : 16 сентября 2018
100 руб.
Административное право.Тест Синергия 2020
Сдано на 97баллов в 2020г. Верно 29 из 30 вопросов. Скриншот с отметкой прилагается к работе. Ответы выделены цветом в Worde. После покупки Вы получите файл с ответами на вопросы которые указаны ниже: Особенность межотраслевого управления, выраженная в том, что его субъекты (например, Министерство финансов России) издают предписания, обязательные для всех органов государственной власти, предприятий, учреждений, организаций и граждан, - это ... общая компетенция субъектов управления широкие во
User annaserg : 3 октября 2022
250 руб.
Зачетная работа по дисциплине: Русский язык и культура речи
Анализ текста на присутствие психологических, лингвистических, логических оснований агональной риторики В качестве анализа взято обращение В. И. Ленина к Красной Армии «Товарищи красноармейцы! Капиталисты Англии, Америки, Франции ведут войну против России. Они мстят Советской рабочей и крестьянской республике за то, что она свергла власть помещиков и капиталистов и дала тем пример для всех народов земли. Капиталисты Англии, Франции и Америки помогают деньгами и военными припасами русским поме
User Антон133 : 3 января 2015
100 руб.
Механика жидкости и газа СПбГАСУ 2014 Задача 7 Вариант 40
Из резервуара при постоянном манометрическом давлении рм = (20 + 0,2·y) кПа и постоянном уровне H = (1,0 + 0,1·z) м вода вытекает по вертикальной трубе переменного сечения, нижний конец которой погружен в открытый резервуар. Определить расход Q в трубе и полное гидростатическое давление р2 в сечении 2 – 2, расположенном на высоте h = (0,5 + 0,02·y) = 0,58 м от свободной поверхности нижнего резервуара, если d1 = (50 + 5·z) = 95 мм, d2 = (75 + 2·y) = 83 мм (рис. 7). Учитывать только местные
User Z24 : 1 января 2026
250 руб.
Механика жидкости и газа СПбГАСУ 2014 Задача 7 Вариант 40
Разработка интегрального цифрового устройства
Вариант 11 1. Разработка структурной схемы Разработка цифрового устройства на простых логических элементах, которые реализуют заданные функции. Принципиальную схему составить по минимальным функциям с использованием одного элемента для частичного выполнения нескольких функций одновременно. 1.1. Исходные данные Условия: 3 состояния Pпотр < 3 мВт tзад.р.ср. < 200 нс
User Даренка : 9 марта 2013
60 руб.
up Наверх