Корзина:
|
|
|
|
|
Технология разработки программного обеспечения - вариант 8.
Краткое содержание работы
|
Калькулятор для выражений с префиксной формой записи. В минимальном виде калькулятор – это утилита, которой в качестве параметров передается имя входного файла, содержащего выражение. Утилита 1) считывает входные параметры и проверяет их корректность, ...
Калькулятор для выражений с префиксной формой записи. В минимальном виде калькулятор – это утилита, которой в качестве параметров передается имя входного файла, содержащего выражение. Утилита 1) считывает входные параметры и проверяет их корректность, 2) открывает исходный, обрабатывая возможные ошибочные ситуации, 3) производит вычисление результата выражения, 4) печатает и завершает работу.
Выражение для калькулятора– это: • десятичная константа; • (выражение) • -(выражение) • +(выражение, выражение) • -(выражение, выражение) • *(выражение, выражение) • /(выражение, выражение) • sin(выражение) • cos(выражение) • tan(выражение) • logn(выражение) • log10(выражение)
Для задания 4 ось X – размер входного файла со строкой выражения.
Альтернативные темы заданий (не требуют согласования с преподавателем, любая из них может выбираться самостоятельно вместо стандартной темы для Вашего варианта)
Тема 1. Интерпретатор языка LISP. Минимальный набор функций - car, cdr, cons, defun, cond, print (печать на консоль), read (чтение с консоли), загрузка фрагмента программы из файла.
Тема 2. Симулятор нормальных алгоритмов Маркова – реализует обработку текстовой строки (обрабатываемая строка) по набору правил. Число правил – произвольное, правила упорядочены. Каждое правило определяет текстовую подстановку и состоит из двух строк. Первая (левая) строка определяет заменяемую подстроку. Вторая (правая) строка задает, на какую она заменяется. Исполнение происходит до неприменимости, т.е. того момента, когда в обрабатываемой строке нет ни одной подстроки, которая совпадает с одной из строк из левых частей правил. Применение правила заключается в поиске вхождения его левой части в обрабатываемую строку и замена соответствующей подстроки на правую часть правила. Если таких вхождений несколько, то заменяется только первое вхождение. Если вхождений нет, то правило – неприменимо. Применение правил идет следующим образом. Берется первое правило и пытается примениться. Если оно неприменимо, берется следующее правило. И так происходит либо до выхода по неприменимости, либо до первого применимого правила. После того, как применимое правило сработало, все начинается сначала – с первого правила.
Пример:
Обрабатываемая строка: AAAAEEabbbb
Правила: AE -> ggg A -> b bg -> X
Промежуточные и конечный результаты будут такими: 1. AAAgggEabbbb 2. bAAgggEabbbb 3. bbAgggEabbbb 4. bbbgggEabbbb 5. bbXggEabbbb
В минимальном виде симулятор – это утилита, которой в качестве параметров передается имя входного файла c исходной строкой, имя выходного файла с результирующей строкой, имя файла с правилами. Утилита 1) считывает входные параметры и проверяет их корректность, 2) открывает исходный файл и файл с правилами, обрабатывая возможные ошибочные ситуации, 3) производит поиск и применение подстановок, 4) записывает результат в результирующий файл и завершает работу.
Набор правил, синтаксис их записи и вид исходной строки выбирается по собственному усмотрению.
Для задания 4 ось X – размер входного файла с обрабатываемой строкой. Все измерения нужно проводить с одним набором правил.
Тема 3. Симулятор нормальных алгоритмов Маркова на бинарных строках. Вариант аналогичен теме 2. Но: 1) вместо текстовых строк в качестве преобразуемой строки берутся произвольные бинарные (т.е. такие, где байты могут иметь любые значения от 0 до 255), 2) в правилах вместо символов используются шестнадцатеричные коды.
Пример:
Обрабатываемая строка в шестнадцатеричном представлении:
00 ff ff fe 80 80 79 32
Правила: ff ff -> fe fe fe fe fe fe fe -> 00 00 00 -> 01 01 -> 02
Промежуточные и конечный результаты будут такими: 1. 00 fe fe fe fe 80 80 79 32 2. 00 00 80 80 79 32 3. 01 80 80 79 32 4. 02 80 80 79 32
Тема 4. Интерпретатор языка REFAL.
Тема 5. Локальная фильтрация изображений. Минимальный набор функций - загрузка изображения в формате bmp truecolor, сохранение изображения в формате bmp truecolor, задание значений коэффициентов локального фильтра, проведение фильтрации загруженного изображения. Желательный дополнительный набор функций: показ изображения, откат к предыдущему изображению, создание библиотеки фильтров, занесение фильтра в библиотеку фильтров, выбор фильтра из библиотеки для проведения фильтрации.
|