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

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

Описание

Вариант 10
Написать программу для автоматического построения регулярной грамматики (леволинейной или праволинейной) по словесному описанию языка.

Вход программы: алфавит языка, обязательная конечная подцепочка, кратность длины всех цепочек языка, тип грамматики (ЛЛ либо ПЛ), 2 числа – диапазон длин для генерации цепочек.

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

Подробно:

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

Программа должна:

1. по предложенному описанию регулярного языка строить регулярную грамматику, генерирующую этот язык, в том виде, как она рассматривалась в теории, раздел 1.3.1;

2. с помощью построенной грамматики генерировать все цепочки языка в заданном пользователем диапазоне длин.

Грамматика должна строиться и праволинейная, и леволинейная. Желаемый тип грамматики выбирается пользователем в меню. Все правила грамматики должны соответствовать выбранному типу! Отдельно следует указывать, какой нетерминальный символ является целевым. Если в грамматике используется пустое правило, то необходимо дать пояснение, каким именно символом обозначается пустая цепочка.

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

Рассмотрим пример построения регулярной грамматики.

Задан язык: алфавит {a,b,c}, обязательная конечная цепочка ‘aab’, кратность длины 2. Анализируем задание: язык будет состоять из цепочек чётной длины, заканчивающихся на ‘aab’, например {сaab, аaab, bааb, caaааb, сabaab, ...}.

Для примера выберем праволинейную грамматику (ПЛ). В правой части её правил вывода может быть только один нетерминал, и он должен располагаться справа от цепочек терминальных символов. Для соблюдения кратности длины цепочек будет использоваться чередование нетерминалов. Длина кратна двум, следовательно, потребуется два нетерминала: S→aA|bA|cA, А→aS|bS|cS. Выход должен происходить по обязательной конечной цепочке ‘aab’, в силу чётности длины цепочек перед ней должен быть как минимум один символ. Следовательно, эта цепочка должна порождаться нетерминалом А: А→aab.

Итак, построенная грамматика имеет вид:
G({a,b,c},{S,A},P,S), Р: S→aA|bA|cA; А→aS|bS|cS|aab.
Современные технологии программирования. Курсовая работа. Вариант №10.
Курсовая работа Спроектировать и реализовать калькулятор для выполнения вычислений над числами заданными в соответствии с вариантом, используя классы Object Pascal и библиотеку визуальных компонентов VCL Delphi для построения интерфейса. Варианты чисел: простые дроби.
User Bodibilder : 15 июля 2019
90 руб.
Объектно-ориентированное программирование. Курсовая работа. Вариант №10
Вариант 10 Курсовая работа состоит из одного задания. Вид графического объекта, движение которого надо будет реализовать в работе, выбирается согласно своему варианту (см. далее таблицу вариантов). Задание: Написать программу, используя объектно-ориентированный подход, которая двигает по экрану изображение заданного графического объекта. Допускается: замена некоторых элементов графического объекта, изменение его цветовой гаммы. Реализовать два вида движения: случайное и по нажатию на клавиши со
User Bodibilder : 2 апреля 2019
140 руб.
Программирование (часть 2-я). Курсовая работа. Вариант №10
Задание: разработать программу для создания и работы с двусвязным списком , состоящим из структур. Для работы со списком создать меню со следующими пунктами: 1. Создание списка. 2. Просмотр списка. 3. Добавление в список новой записи. 4. Поиск и корректировка записи в списке. 5. Удаление записи из списка. 6. Сохранение списка в файле. 7. Загрузка списка из файла. 8. Выход. 3.1. Варианты задания 10. Структура содержит название издания, тип издания (газета или журнал), цена экземпляра. Изменят
User Bodibilder : 19 марта 2019
150 руб.
Объектно-ориентированное программирование. Курсовая работа. Вариант №10
Курсовая работа состоит из одного задания. Вид графического объекта, движение которого надо будет реализовать в работе, выбирается согласно своему варианту (см. далее таблицу вариантов). Задание: Написать программу, используя объектно-ориентированный подход, которая двигает по экрану изображение заданного графического объекта. Допускается: замена некоторых элементов графического объекта, изменение его цветовой гаммы. Реализовать два вида движения: случайное и по нажатию на клавиши со стрел
User CaptainMorgan228 : 8 февраля 2018
90 руб.
Объектно-ориентированное программирование. Курсовая работа. Вариант №10
Объектно-ориентированное программирование. Курсовая работа. Вариант: №10.
Курсовая работа состоит из одного задания. Вид графического объекта, движение которого надо будет реализовать в работе, выбирается согласно своему варианту (см. далее таблицу вариантов). Задание: Написать программу, используя объектно-ориентированный подход, которая двигает по экрану изображение заданного графического объекта. Допускается: замена некоторых элементов графического объекта, изменение его цветовой гаммы. Реализовать два вида движения: случайное и по нажатию на клавиши со стрелк
User Cole82 : 6 июня 2015
21 руб.
Объектно-ориентированное программирование. Курсовая работа. Вариант: №10.
Курсовая работа. Программирование на языках высокого уровня. Вариант №10
Задание: разработать программу для создания и работы с двусвязным списком , состоящим из структур. Для работы со списком создать меню со следующими пунктами: 1. Создание списка. 2. Просмотр списка. 3. Добавление в список новой записи. 4. Поиск и корректировка записи в списке. 5. Удаление записи из списка. 6. Сохранение списка в файле. 7. Загрузка списка из файла. 8. Выход. 10. Структура содержит название издания, тип издания (газета или журнал), цена экземпляра. Изменять цену экземпляра зада
User Petr1 : 18 января 2018
500 руб.
Курсовая работа по дисциплине: Основы системного программирования. Вариант № 10
Задание 1 1. Создать командный файл, который выполняет следующие действия: a. Очистка экрана b. Создание директории C:\TEMP c. Создание нового файла NEW.TXT с консоли в директории C:\TEMP. d. Создание копий файлов *.TXT, сменив расширение на bat и оставив имя. e. Сравнение копий с оригиналами. f. Просмотр постранично содержимого директории C:\TEMP. g. Удаление всех файлов с расширением TXT с запросом подтверждения из текущей директории. Задание 2 0. Написать и отладить программу
User Jack : 6 июня 2013
300 руб.
promo
Курсовая работа по дисциплине: Современные технологии программирования. Вариант 10 (магистратура)
Тема работы: Проектирование и реализация программ в технологии «абстрактных типов данных» и объектно-ориентированного программирования. Цель работы: Сформировать практические навыки: • проектирования программ в технологии «абстрактных типов данных» и «объектно-ориентированного программирования» и построения диаграмм UML; • реализации абстрактных типов данных с помощью классов C#; • использования библиотеки визуальных компонентов VCL для построения интерфейса, • тестирования программ. Задание С
User Roma967 : 11 июля 2019
1000 руб.
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 Наверх