Московский государственный технический университет
имени Н. Э. Баумана
Факультет Информатика и системы управления
Кафедра Компьютерные системы и сети
«УТВЕРЖДАЮ»
Заведующий кафедрой ИУ-6
_________ Сюзев В.В.
Создание схем алгоритмов средствами
Microsoft Visio и OpenOffice Draw
Методические указания по выполнению лабораторных работ и практикума
Москва 2009
1. Введение
Данная лабораторная работа предполагает практическое изучение способов изображения схем алгоритмов с использованием Microsoft Visio и OpenOffice Draw. Рассматривается создание фрагмента элементарного алгоритма.
Цель работы – приобретение практических навыков создания текстовых документов, содержащих схемы алгоритмов, с использованием указанных инструментов.
1.1 Понятие алгоритма. Основные алгоритмические структуры
Алгоритмом называют формально описанную последовательность действий, которые необходимо выполнить для получения требуемого результата.
Различают последовательности действий (вычислений) линейной, разветвленной и циклической структуры.
Линейная структура процесса вычислений предполагает, что для получения результата необходимо выполнить некоторые операции в определенной последовательности. Например, для определения площади треугольника по формуле Герона необходимо сначала определить полупериметр треугольника, а затем по формуле рассчитать его площадь.
Разветвленная структура процесса вычислений предполагает, что конкретная последовательность операций зависит от значений одного или нескольких параметров. Например, если дискриминант квадратного уравнения не отрицателен, то уравнение имеет два корня, а если отрицателен, то действительных корней оно не имеет.
Циклическая структура процесса вычислений предполагает, что для получения результата некоторые действия необходимо выполнить несколько раз. Например, для того, чтобы получить таблицу значений функции на заданном интервале изменения аргумента с заданным шагом, необходимо соответствующее количество раз определить следующее значение аргумента и посчитать для него значение функции.
Процессы вычислений циклической структуры в свою очередь делятся на три группы:
· счетные циклы или циклы с заданным количеством повторений – циклические процессы, для которых количество повторений известно;
· итерационные циклы – циклические процессы, завершающиеся по достижении или нарушении некоторых условий;
· поисковые циклы – циклические процессы поиска некоторой информации в таблицах, выход из которых происходит при нахождении необходимой информации или по завершению процесса поиска, если необходимая информация не найдена.
Формальное описание алгоритмов осуществляют с использованием схем алгоритмов и псевдокодов. На изображение схем алгоритмов существует ГОСТ 19.701–90, согласно которому каждой группе действий ставится в соответствие блок особой формы. Некоторые, часто используемые обозначения приведены в таблице 1.
Таблица 1
Название блока | Обозначение | Назначение блока |
1. Терминатор | Начало, завершение программы или подпрограммы | |
2. Процесс | Обработка данных (вычисления, пересылки и т.п.) | |
3. Данные | Операции ввода-вывода |
Таблица 1 (окончание)
Название блока | Обозначение | Назначение блока |
4. Решение | Ветвления, выбор, итерационные и поисковые циклы | |
5. Подготовка | Счетные циклы | |
6. Граница цикла | Любые циклы | |
7. Предопределенный процесс | Вызов процедур | |
8. Соединитель | Маркировка разрывов линий | |
9. Комментарий | Пояснения к операциям |
При разработке алгоритма каждое действие обозначают соответствующим блоком, показывая их последовательность линиями, идущими слева направо и сверху вниз. Для удобства чтения схемы желательно, чтобы линия входила в блок сверху, а выходила снизу. Если направление линии отлично от стандартного, то в конце линии ставится стрелка, в противном случае ее можно не ставить.
Если схема алгоритма не умещается на листе, то используют соединители. При переходе на другой лист или получении управления с другого листа в комментарии указывается номер листа, например, «с листа 3», «на лист 1».
Доказано, что для записи любого, сколь угодно сложного алгоритма достаточно трех базовых управляющих структур:
следование – обозначает последовательное выполнение действий (см. рисунок 1.1, а);
ветвление – соответствует выбору одного из двух вариантов действий (см. рисунок 1.1, б);
цикл-пока – определяет повторение действий, пока не будет нарушено некоторое условие, выполнение которого проверяется в начале цикла (см. рисунок 1.1, в).
Рисунок 1.1 – Базовые алгоритмические структуры: следование (а), ветвление (б) и цикл-пока (в)
Помимо базовых структур используют еще три дополнительные структуры, производные от базовых:
· выбор – обозначающий выбор одного варианта из нескольких в зависимости от значения некоторой величины (см. рисунок 1.2, а);
· цикл-до – обозначающий повторение некоторых действий до выполнения заданного условия, проверка которого осуществляется после выполнения действий в цикле (см. рисунок 2, в);
· цикл с заданным числом повторений (счетный цикл) – обозначающий повторение некоторых действий указанное количество раз (см. рисунок 1.2, д).
На рисунке 1.2 (б, г и е) показано, как каждая из дополнительных структур может быть реализована через базовые структуры.
Рисунок 1.2 – Дополнительные структуры и их реализация через базовые структуры: выбор (а-б), цикл-до (в-г) и цикл с заданным числом повторений (д-е)
Перечисленные структуры были положены в основу структурного программирования – технологии, которая представляет собой набор рекомендаций по уменьшению количества ошибок в программах. В том случае, если в схеме алгоритма отсутствуют другие варианты передачи управления, алгоритм называют структурным, подчеркивая, что он построен с учетом рекомендаций структурного программирования.
2 Создание схем алгоритмов средствами
Microsoft Visio 2003
Запускаем Microsoft Visio, используя меню Windows Пуск/Программы/Microsoft Office/ Microsoft Office Visio, и выполняем создание нового файла по типу диаграммы (рисунок 2.1).
Рисунок 2.1 – Выбор типа создаваемой диаграммы
В открывшемся списке выбираем категорию Flowchart и шаблон SDL Diagrams (рисунок 2.2).
Рисунок 2.2 – Выбор типа диаграммы Flowchart/SDL Diagrams
Из шаблонов “SDL Diagrams Shapes” «перетаскиваем» мышью необходимые элементы на лист в рабочей области справа (рисунок 2.3).
Рисунок 2.3 – Наполнение рабочей области шаблонами
Для смены цвета заливки выделяем элемент и, используя инструмент заливки «
» (ведро), нажимаем левой клавишей мыши стрелку справа от знака «ведро». В выпадающем списке выбираем цвет, например белый (рисунок 2.4).Рисунок 2.4 Выделение элемента на рабочей области
Для изменения вида элемента «предопределенный процесс», выделяем его и, зафиксировав левой клавишей указатель мыши на желтом ромбе, который указан на рисунке 2.5, смещаем внутреннюю линию до наружных границ элемента.
Рисунок 2.5 – Изменение особенностей отображения элемента при наличии такой возможности
Для того, чтобы отобразить окно, позволяющее точно задать размеры и координаты элементов, выбираем пункт меню View/Size&Position Window (рисунок 2.6).