Лабораторная работа №1




Скачать 28.64 Kb.
НазваниеЛабораторная работа №1
Дата публикации09.08.2013
Размер28.64 Kb.
ТипЛабораторная работа
www.vbibl.ru > Право > Лабораторная работа
Задание на лабораторные работы

Лабораторные работы основаны на лекционном материале; каждая выполняется после изучения соответствующего теоретического раздела. До выполнения лабораторной работы нужно внимательно разобраться с примерами, ответить на контрольные вопросы изученного теоретического раздела, а также решить задачи, предлагаемые в составе контрольных вопросов.

Каждая работа снабжена методическими указаниями, сопровождающими текст задания. Рекомендуется внимательно читать задание и выполнять работу в строгом соответствии с требованиями.

Среда программирования – любая, по желанию студента. Рекомендуется использовать Delphi, C# или аналоги.

Внимание!
При выполнении лабораторных работ необходимо предусматривать обработку любых возможных ошибок ввода. Программа не должна «зависать» или вести себя иным некорректным образом ни при каких начальных данных! При вводе неправильных начальных данных должно быть выведено сообщение об ошибке пользователя и предложено повторить ввод правильно (как вариант – можно программно запрещать ввод неправильных данных).


По каждой лабораторной работе необходимо выполнять отчёт, включающий в себя:

  1. постановку задачи;

  2. описание входных данных программы и её результатов;

  3. описание основных переменных, а также основных блоков и подпрограмм;

  4. алгоритм решения задачи;

  5. текст программы;

  6. результаты работы, если они есть (вариант – копия экрана), или результаты тестирования;

  7. ответы на контрольные вопросы.

Преподавателю на проверку необходимо предоставлять отчёт, исходный код и откомпилированный модуль (exe-файл).

Для получения зачёта по каждой лабораторной работе студентом должно быть выполнено основное задание. Дополнительная часть не обязательна, она предназначена для желающих более полно и глубоко изучить предмет.

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

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

Предусмотреть возможность выбора пользователю – использовать заданную в программе грамматику или вводить свою с клавиатуры.

На вход программы подаётся КС-грамматика (терминальный и нетерминальный алфавиты, целевой символ, правила вывода), задаётся диапазон длин цепочек, указывается тип вывода (левосторонний или правосторонний).

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

На выходе должен быть список построенных цепочек. Все цепочки в списке должны быть различны. При получении одинаковых цепочек (разными способами) их следует сохранять в списке выводимых цепочек только в случае выполнения дополнительного задания.

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

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

Контрольные вопросы:

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

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

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

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

Добавить документ в свой блог или на сайт

Похожие:

Лабораторная работа №1 iconЛабораторная работа №1,2
Лабораторная работа №2. Организация переписка с помощью электронной почты (E-mail). 22

Лабораторная работа №1 iconЛабораторная работа №2. 13 Работа с базами данных lotus notes 13...
Проблемы возникают при выборе средств автоматизации документооборота, поскольку в настоящее время существует большое количество программных...

Лабораторная работа №1 iconЛабораторная работа №1 по дисциплине «организация ЭВМ и систем»
Работа выполняется с целью изучения структуры микропроцессора (МП) кр580ВМ80А и практического овладения аппаратно программными средствами...

Лабораторная работа №1 iconЛабораторная работа №2 Тема: Нормализация данных

Лабораторная работа №1 iconЛабораторная работа №2 Работа в Project Expert. Создание нового проекта...
Существует замысел создать небольшое транспортное предприятие, которое должно заниматься грузовыми перевозками

Лабораторная работа №1 iconЛабораторная работа №2 по дисциплине «организация ЭВМ и систем»
Работа выполняется с целью изучения структуры однокристальной микроэвм (омэвм) mcs 48 (К1816ВЕ48) и практического овладения имитационной...

Лабораторная работа №1 iconЛабораторная работа по эконометрик е
Государственное образовательное учреждение высшего профессионального образования

Лабораторная работа №1 iconЛабораторная работа №5
Программирование циклических вычислительных процессов с использованием массивов и матриц

Лабораторная работа №1 iconЛабораторная работа по эконометрике
Государственное образовательное учреждение высшего профессионального образования

Лабораторная работа №1 iconУрок биологии в 7 классе Тема: структурно-функциональные особенности...
...

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
www.vbibl.ru
Главная страница