Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Построение блок-схем - метод. указания к ЛР №1.docx
Скачиваний:
23
Добавлен:
16.05.2015
Размер:
548.16 Кб
Скачать

Пример информационного моделирования предметной области

В качестве примера выберем задачу автоматизированная система распознавания математических выражений. Для начала выделим основные информационные потоки, характерные для данной задачи:

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

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

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

Для построения блок-схем воспользуемся набором фигур «Фигуры простой блок-схемы». Данный набор можно вызвать через меню «Файл» → «Создать» → «Блок-схема» → «Простая блок схема» (рис. 1). Перед нами откроется полотно для рисования с соответствующим набором фигур (рис. 2). При этом часть фигур имеют название отличное от представленных в табл. 1, однако при этом они соответствуют им по смыслу.

Рис. 1. Окно выбора шаблона документа Visio 2010

Рис. 2. Полотно для рисования с набором фигур Visio 2010

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

На блок-схеме, представленной на рис. 3, для обозначения цикла был использован блок «Решение» с соответствующими ветками «Да» и «Нет». При этом данный цикл является циклом с предусловием.

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

Задание на лабораторную работу

  1. Для алгоритма обработки данных согласно варианту построить блок-схему.

Варианты

  1. Сортировка выбором.

  2. Сортировка вставками.

  3. Сортировка слиянием.

  4. Быстрая сортировка.

  5. Метод Гаусса решения системы линейных алгебраических уравнений.

  6. Метод Крамера решения системы линейных алгебраических уравнений.

  7. Метод Якоби решения системы линейных алгебраических уравнений.

  8. Численное интегрирование методом прямоугольников.

  9. Численное интегрирование методом трапеций.

  10. Численное интегрирование методом парабол.

  11. Алгоритм Дейкстры.

  12. Алгоритм Прима.

  13. Алгоритм Краскала.

  14. Алгоритм Флойда-Уоршелла.

  15. Метод Ньютона для решения систем нелинейных уравнений.

  16. Алгоритм Евклида.

  17. Расширенный алгоритм Евклида.

  18. Алгоритм разложения числа на простые сомножители с помощью перебора делителей.

  19. Алгоритм Миллера-Рабина.

  20. Алгоритм Монтгомери.

  21. Алгоритм Кнута-Морриса-Пратта.

  22. Алгоритм извлечения квадратного корня столбиком.

  23. Алгоритм перевода двоичного числа в десятичное.

  24. Алгоритм перевода десятичного числа в двоичное.

  25. Алгоритм построения кода Прюфера по дереву.