книга DipMaster-Shop.RU
поиск
карта
почта
Главная На заказ Готовые работы Способы оплаты Партнерство Контакты F.A.Q. Поиск
Генератор выражений ( Курсовая работа, 14 стр. )
Генерация метаданных для файлов данных спутника FY-1D ( Курсовая работа, 11 стр. )
Генерация расписания занятий с применением распределенных генетических алгоритмов ( Дипломная работа, 72 стр. )
ГЕНЕРАЦИЯ УЧЕБНЫХ ЗАДАЧ С ИСПОЛЬЗОВАНИЕМ ОНТОЛОГИЙ ( Курсовая работа, 10 стр. )
Геометрический метод решения задач ЛП ( Контрольная работа, 23 стр. )
Графический редактор SketchMarket с редкой возможностью троекратного Undo ( Дипломная работа, 10 стр. )
Графический редактор Marsian Paint ( Курсовая работа, 7 стр. )
Графический редактор CoolPaintM с уникальной особенностью растушевки, осветления и затемнения ( Курсовая работа, 8 стр. )
Графический редактор GrEdit ( Курсовая работа, 7 стр. )
Графический редактор Be Painter! ( Курсовая работа, 10 стр. )
Данный пакет состоит из двух программ: «Клиент» и «Сервер» ( Контрольная работа, 13 стр. )
Два алгоритма для решения задачи линейного суммарного запаздывания ( Курсовая работа, 26 стр. )
Диалоги ( Контрольная работа, 4 стр. )
Динамическое программирование ( Контрольная работа, 5 стр. )
Для возделывания в хозяйстве кукурузы и гороха на зерно выделен участок пашни и необходимые трудовые резервы ( Контрольная работа, 20 стр. )
Домашняя работа по дисциплине "Основы теории управления"* ( Реферат, 21 стр. )
Домашняя работа по дисциплине "Основы теории управления" ( Реферат, 20 стр. )
Доработка компилятора Free Pascal: Case of string ( Курсовая работа, 10 стр. )
Драйверы устройств в ОС Linux (ядра 2.4/2.6) ( Курсовая работа, 37 стр. )
Задача машинного анализа электрических цепей ( Контрольная работа, 16 стр. )
Задача №2. Создать, отладить и протестировать приложение "Расчет заработной платы работников предприятия". ( Реферат, 20 стр. )
Задачи ( Контрольная работа, 6 стр. )
Закрепление полученных знаний по языку программирования Turbo Pasca ( Контрольная работа, 23 стр. )
Запоминающие устройства персонального компьютера 4 ( Контрольная работа, 10 стр. )
Зачетная работа по курсу ЯП и МТ за осенний семестр ( Контрольная работа, 10 стр. )

Содержание

СОДЕРЖАНИЕ 2

1. ВВЕДЕНИЕ 3

1.1. ГЛОССАРИЙ 3

1.2. ОПИСАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ 3

1.3. СУЩЕСТВУЮЩИЕ РЕШЕНИЯ И ИХ НЕДОСТАТКИ 3

1.4. НЕФОРМАЛЬНАЯ ПОСТАНОВКА ЗАДАЧИ 3

2. ТРЕБОВАНИЯ К ОКРУЖЕНИЮ 4

3. СПЕЦИФИКАЦИЯ ДАННЫХ 4

3.1. СПОСОБ ЗАДАНИЯ ОБРАЗЦА 4

3.1.1. Константы 4

3.1.2. Переменные 4

3.1.3. Генерируемые параметры 4

3.2. ОБЩАЯ СТРУКТУРА ЯЗЫКА ФОРМАЛЬНОГО ОПИСАНИЯ 4

3.3. ОПИСАНИЕ ЭКВИВАЛЕНТНЫХ ПРЕОБРАЗОВАНИЙ 4

3.4. ОПИСАНИЕ ОШИБОЧНЫХ ПРЕОБРАЗОВАНИЙ 4

3.5. ОПИСАНИЕ ПРЕОБРАЗОВАНИЙ 4

3.5.1. from 4

3.5.2. to 5

3.5.3. difficulty 5

3.5.4. inversion 5

3.6. ОПИСАНИЕ РАЗДЕЛА ОПИСАНИЯ ГЕНЕРИРУЕМЫХ ПАРАМЕТРОВ 5

3.7. ОПИСАНИЕ ЗНАЧЕНИЯ ГЕНЕРИРУЕМОГО ПАРАМЕТРА 5

3.7.1. type 5

3.7.2. min 5

3.7.3. max 5

3.7.4. values 5

3.7.5. constraints 5

3.7.6. body 5

3.7.7. param 6

3.7.8. Примечание 6

3.8. ПРИМЕРЫ 6

3.8.1. Пример 1 – описание образца 6

3.8.2. Пример 2 – описание эквивалентных преобразований 6

3.8.3. Пример 3 – описание генерируемых параметров 6

4. ПРОЕКТ 7

4.1. GENEX 7

4.2. GENEX::SCANNER 7

4.3. GENEX::PARSER 8

4.4. GENEX::NODE 8

4.5. GENEX::PARAMETERS 9

4.6. GENEX::EXPRESSION 10

5. АЛГОРИТМЫ 10

5.1. ГЕНЕРАЦИЯ ВЫРАЖЕНИЙ 10

5.1.1. Генерация эквивалентных выражений 10

5.1.2. Генерация ошибочных выражений 10

5.2. ГЕНЕРАЦИЯ ГЕНЕРИРУЕМЫХ ПАРАМЕТРОВ 10

6. ЛЕММА О ПЕРЕСТАНОВКЕ АРГУМЕНТОВ МУЛЬТИАРНОЙ ОПЕРАЦИИ 10

7. РЕАЛИЗАЦИЯ И ТЕСТИРОВАНИЕ 11

7.1. ОБЪЕМ КОДА 11

7.2. ТЕСТИРОВАНИЕ 11

7.2.1. Модульное тестирование 11

7.2.2. Тестирование работоспособности 11

7.2.2.1. Алгебра логики 11

7.2.2.1.1. Образец 11

7.2.2.1.2. Эквивалентные преобразования 11

7.2.2.1.3. Ошибочные преобразования 11

7.2.2.1.4. Результат работы программы 11

7.2.2.2. Кубическое уравнение с одним корнем 12

7.2.2.2.1. Образец 12

7.2.2.2.2. Правила генерации параметров 12

7.2.2.2.3. Результаты работы программы 12

ЗАКЛЮЧЕНИЕ 13

СПИСОК ЛИТЕРАТУРЫ 14

1. Введение

1.1. Глоссарий

Образец – исходное выражение, над которым будут производиться эквивалентные преобразования

Эквивалентное преобразование – такое преобразование, применив которое к любому выражению, мы получим другое выражение, эквивалентное данному

Ошибочное преобразование – такое преобразование, применив которое к любому вы-ражению, мы получим другое выражение, не эквивалентное данному

Описание параметров – часть входных данных, описывающие правила генерации па-раметров

Генерируемый параметр – заданная в образце по определённым правилам переменная, которая в последствие принимает случайное значение в заданном в описание диапазоне и удовлетворяющее всем ограничениям, заданным в описании

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

Сложность преобразования – наперёд заданная пользователем неотрицательная цело-численная константа, определяющая относительную сложность применения данного преоб-разования к любому выражению

Сложность выражения – сумма сложностей всех преобразований, сделанных над об-разцом, для получения данного выражения

Код дерева – последовательность байт, являющаяся хеш кодом данного дерева

Нормализованное дерево – такое дерево, в котором у каждой коммутативной операции аргументы расположены по возрастанию кода

Коммутативное дерево – такое дерево, в котором все бинарные операции, которые возможно, заменены эквивалентными коммутативными

Мультиарная операция – особое представление ряда одинаковых бинарных операций

1.2. Описание предметной области

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

Производство задачников является нецелесообразной и дорогостоящей деятельностью.

Т.к. бумажные носители информации достаточно дорогостоящие, были предприняты попытки реализации программных продуктов тестовых систем.

1.3. Существующие решения и их недостатки

Было рассмотрено несколько тестирующих систем, которые можно разделить на сле-дующие классы:

• Тестовая система с определённым фиксированным банком заданий;

• Тестовая система с автоматической генерацией заданий узкого профиля, где алго-ритм генерации жестко вшит в систему;

1.4. Неформальная постановка задачи

Необходимо разработать и реализовать библиотеку удовлетворяющую следующим требованиям:

• формальное описание входных данных, а именно:

o образца;

o эквивалентных преобразований;

o ошибочных преобразований;

o прототипов пользовательских функций;

• проверка синтаксиса в заданных пользователем описаниях;

Список литературы

[1] “Разбор выражений” http://algolist.manual.ru/syntax/index.php

[2] Кормен Т., Лейзерсон Ч., Ривест Р., Алгоритмы: построение и анализ, 2005

[3] Ахо А., Сети Р., Ульман Дж., Компиляторы, 2008

[4] Шварц Р., Фой Б., Феникс Т., Изучаем глубже PERL, 2008

[5] Уолл Л., Кристиансен Т., Орвант Д., Программирование на PERL, 2007

[6] “Регулярные выражения в PERL”

Примечаний нет.

2000-2024 © Copyright «DipMaster-Shop.ru»