Оглавление
Аннотация
1. Введение
1.1 Понятие алгоритма. Основные алгоритмические структуры
1.2 Схемы алгоритма
1.3 Графические форматы
2 Создание схем алгоритмов средствами Microsoft Visio 2003
2.1 Окно изменения размеров и координат
2.2 Средства выравнивания и распределения элементов
2.3 Соединительные линии
2.4 Добавление текста
2.5 Сохранение диаграммы и экспорт в векторном формате
3 Создание текстового документа MS Word со схемой алгоритма
4 Создание схем алгоритмов средствами OpenOffice Draw
4.1 Соединительные линии
4.2 Средства выравнивания и распределения элементов
4.3 Сохранение диаграммы и экспорт в векторном формате
4.4 Полезные комбинации клавиш в OpenOffice Draw
5 Задание
Контрольные вопросы
Литература
МГТУ им. Н.Э. Баумана Факультет «Информатика и Системы Управления»
Кафедра ИУ-6 «Компьютерные системы и сети»
Самарев Роман Станиславович Создание схем алгоритмов средствами Microsoft Visio и OpenOffice Draw Методические указания по выполнению лабораторных работ и практикума по курсу Алгоритмические языки и программирование
МОСКВА
2010 год МГТУ им. Баумана Оглавление Аннотация Методические указания предназначены для студентов, слушающих курс Алгоритмические языки и программирование.Настоящие указания содержат минимально необходимые теоретические сведения, практические рекомендации и задания для рабораторной работы по выполнению схем алгоритмов с использованием программных продуктов Microsoft Visio 2003 и OpenOffice Draw и формированию текстовых документов, содержащих созданные схемы.
Оглавление 1. Введение Данная лабораторная работа предполагает практическое изучение способов изображения схем алгоритмов с использованием Microsoft Visio 2003 и OpenOffice Draw.
Рассматривается создание фрагмента элементарного алгоритма.
Цель работы – приобретение практических навыков создания текстовых документов, содержащих схемы алгоритмов, с использованием указанных инструментов.
1.1 Понятие алгоритма. Основные алгоритмические структуры Алгоритмом называют формально описанную последовательность действий, которые необходимо выполнить для получения требуемого результата.
Различают последовательности действий (вычислений) линейной, разветвленной и циклической структуры.
Линейная структура процесса вычислений предполагает, что для получения результата необходимо выполнить некоторые операции в определенной последовательности. Например, для определения площади треугольника по формуле Герона необходимо сначала определить полупериметр треугольника, а затем по формуле рассчитать его площадь.
Разветвленная структура процесса вычислений предполагает, что конкретная последовательность операций зависит от значений одного или нескольких параметров.
Например, если дискриминант квадратного уравнения не отрицателен, то уравнение имеет два корня, а если отрицателен, то действительных корней оно не имеет.
Циклическая структура процесса вычислений предполагает, что для получения результата некоторые действия необходимо выполнить несколько раз. Например, для того, чтобы получить таблицу значений функции на заданном интервале изменения аргумента с заданным шагом, необходимо соответствующее количество раз определить следующее значение аргумента и посчитать для него значение функции.
Процессы вычислений циклической структуры в свою очередь делятся на три группы:
• счетные циклы или циклы с заданным количеством повторений – циклические процессы, для которых количество повторений известно;
• итерационные циклы – циклические процессы, завершающиеся по достижении или нарушении некоторых условий;
• поисковые циклы – циклические процессы поиска некоторой информации в таблицах, выход из которых происходит при нахождении необходимой информации или по завершению процесса поиска, если необходимая информация не найдена.
1.2 Схемы алгоритма Формальное описание алгоритмов осуществляют с использованием схем алгоритмов и псевдокодов. На изображение схем алгоритмов существует ГОСТ 19.701–90, согласно которому каждой группе действий ставится в соответствие блок особой формы. Некоторые, часто используемые обозначения приведены в таблице 1.
Таблица Название блока Обозначение Назначение блока 1. Терминатор Начало, завершение программы или Действие подпрограммы 2. Процесс Обработка данных (вычисления, Таблица 1 (окончание) процесс При разработке алгоритма каждое действие обозначают соответствующим блоком, показывая их последовательность линиями, идущими слева направо и сверху вниз. Для удобства чтения схемы желательно, чтобы линия входила в блок сверху, а выходила снизу.
Если направление линии отлично от стандартного, то в конце линии ставится стрелка, в противном случае ее можно не ставить.
Если схема алгоритма не умещается на листе, то используют соединители. При переходе на другой лист или получении управления с другого листа в комментарии указывается номер листа, например, «с листа 3», «на лист 1».
Доказано, что для записи любого, сколь угодно сложного алгоритма достаточно трех базовых управляющих структур:
следование – обозначает последовательное выполнение действий (см. рисунок 1.1, а);
ветвление – соответствует выбору одного из двух вариантов действий (см. рисунок 1.1, б);
цикл-пока – определяет повторение действий, пока не будет нарушено некоторое условие, выполнение которого проверяется в начале цикла (см. рисунок 1.1, в).
Рисунок 1.1 – Базовые алгоритмические структуры: следование (а), ветвление (б) и цикл-пока (в) Помимо базовых структур используют еще три дополнительные структуры, производные от базовых:
• выбор – обозначающий выбор одного варианта из нескольких в зависимости от значения некоторой величины (см. рисунок 1.2, а);
• цикл-до – обозначающий повторение некоторых действий до выполнения заданного условия, проверка которого осуществляется после выполнения действий в цикле (см. рисунок 2, в);
• цикл с заданным числом повторений (счетный цикл) – обозначающий повторение некоторых действий указанное количество раз (см. рисунок 1.2, д).
На рисунке 1.2 (б, г и е) показано, как каждая из дополнительных структур может быть реализована через базовые структуры.
Рисунок 1.2 – Дополнительные структуры и их реализация через базовые структуры: выбор (а-б), цикл-до (в-г) и программирования – технологии, которая представляет собой набор рекомендаций по уменьшению количества ошибок в программах. В том случае, если в схеме алгоритма отсутствуют другие варианты передачи управления, алгоритм называют структурным, подчеркивая, что он построен с учетом рекомендаций структурного программирования.
Графический формат - способ записи графической информации, предназначенный для храниения изображений. Различают растровые и векторные форматы.
Основная область применения растровых форматов — фотографии, небольшие рисунки, сложные цветовые схемы и пр. Характеризуются тем, что изображение формируется в виде матрицы точек (пикселов), каждая из которых содержит информацию о цвете. Изображение может быть любой степени сложности, однако при этом существуют ограничения на отображение, связанное с тем, что четкость изображения зависит от разрешения рисунка и устройства отображения (см. рисунок 1.3). К растровым форматам относятся bmp, jpg, gif, tiff, png.
Рисунок 1.3 – Примеры одинаковых растровых рисунков в исходном и увеличенном размерах Векторные форматы по сути являются программами для формирования растрового изображения с помощью графических примитивов — точки, линии, дуги, шрифт и пр., включая необходимые параметры, например коорданаты относительно границ изображения, цвет, текст. Основным достоинством векторных форматов является то, что качество формируемого изображения не зависит от разрешения устройства отображения. Несмотря на то, что такие устройства, как видеомонитор, принтер обеспечивают только вывод изображения в растровом формате, изображение, сформированное на основе векторного формата будет иметь в точности такое разрешение, которое необходимо (см. рисунок 1.4).
Следует заметить, что растровое изображение может являться графическим примитивом для некоторых векторных форматов (например нанесение надписи поверх фона). К векторным форматам относятся eps, ps, wmf, emf, svg.
Рисунок 1.4 – Примеры одинаковых векторных рисунков в исходном и увеличенном размерах 2 Создание схем алгоритмов средствами Microsoft Visio Запускаем Microsoft Visio, используя меню Windows Пуск/Программы/Microsoft Office/ Microsoft Office Visio, и выполняем создание нового файла по типу диаграммы (рисунок 2.1).
В открывшемся списке выбираем категорию Flowchart и шаблон SDL Diagrams (рисунок 2.2) или шаблон Basic Flowchart (в этом случае внешний вид элементов будет несколько отличаться от приведенных здесь).
Рисунок 2.2 – Выбор типа диаграммы Flowchart/SDL Diagrams Из шаблонов “SDL Diagrams Shapes” «перетаскиваем» мышью необходимые элементы на лист в рабочей области справа (рисунок 2.3). Примечание: дополнительные шаблоны элементов доступны через меню File/Shapes/Flowcharts.
Для смены цвета заливки выделяем элемент и, используя инструмент заливки « »
(ведро), нажимаем левой клавишей мыши стрелку справа от знака «ведро». В выпадающем списке выбираем цвет, например белый (рисунок 2.4).
Для изменения вида элемента «предопределенный процесс», выделяем его и, зафиксировав левой клавишей указатель мыши на желтом ромбе, который указан на рисунке 2.5, смещаем внутреннюю линию до наружных границ элемента.
Рисунок 2.5 – Изменение особенностей отображения элемента при наличии такой возможности Для того, чтобы отобразить окно, позволяющее точно задать размеры и координаты элементов, выбираем пункт меню View/Size&Position Window (рисунок 2.6).
Рисунок 2.6 – Включение окна отображения координат и размеров элемента 2.2 Средства выравнивания и распределения элементов Для облегчения выравнивания редактируемых элементов, добавляем соответствующие инструменты на инструментальную панель. Для этого нажимаем правую клавишу мыши в любом месте меню или инструментальной панели. В выпадающем списке выбираем пункт «Action» (рисунок 2.7).
Рисунок 2.7 – Добавление средств выравнивания на инструментальную панель Распределение элементов возможно либо по критерию равенства расстояний между ними, либо по расстоянию между центрами элементов. Последовательно указателем мыши, фиксируя левой клавишей, выбираем несколько элементов, удерживая при этом нажатой клавишу CTRL на клавиатуре. Далее нажимаем указателем мыши стрелку справа от инструмента распределения, обозначенного как « ». В открывшимся списке выбираем тип распределения, например по горизонтали с выравниванием расстояния между элементами (рисунок 2.8).
Рисунок 2.8 – Выбор типа распределения расстояния по горизонтали Аналогично выравниваем расстояние между элементами по вертикали (рисунок 2.9).
Рисунок 2.9 – Выбор типа распределения расстояния по вертикали Следующий шаг – выравнивание элементов по одной линии (вертикальной или горизонтальной) по критерию центр или граница (правая/левая или верхняя/нижняя, соответственно). Выделяем требуемые элементы и выбираем из выпадающего списка на инструменте « », необходимый режим выравнивания. Внимание, выравнивание производится по первому выделенному элементу, рамка которого отображается более жирно (рисунок 2.10).
Рисунок 2.10 – Выравнивание элементов по горизонтали на уровне выделенного Выравнивание элементов по вертикальной оси производим аналогичным образом (рисунок 2.11).
Рисунок 2.11 – Выравнивание элементов по вертикали на уровне выделенного Для соединения элементов предусмотрены специальные соединители, наиболее универсальным из которых является инструмент, обозначенный на инструментальной панели как – Connector tool (рисунок 2.12).
Элементы из шаблона “SDL Diagrams Shapes” имеют определенные точки для соединителей, обозначаемые как. После того, как выбран «Connector tool» наведение указателя мыши на соответствующую точку вызывает изменение её вида на (рисунок 2.13).
Рисунок 2.13 – Точки присоединения соединителей на элементах Фиксируем начало соединителя и, не отпуская левую клавишу мыши, перемещаем указатель на точку окончания соединителя (рисунок 2.14).
После соединения элементов необходимо отключить режим соединения. Для этого выбираем рисунок. При этом схема должна выглядеть подобно рисунку 2.15.
Рисунок 2.15 – Схема с нанесенными линиями-соединителями Изменяем цвет линий-соединителей, выделив их и выбрав соответствующий инструмент (рисунок 2.16).
Выбор стрелок на концах линий-соединителей осуществляется инструментом, обозначенным как. Нажимаем стрелку справа от изображения и в выпадающем списке выбираем один из предложенных вариантов, либо пункт «More Line Ends» (рисунок 2.17).
Рисунок 2.17 – Выбор типа начала-окончания линии соединителя В открывшемся диалоге выбираем тип стрелки для конца соединителя (т.е. вторая выбранная точка), а также размер стрелки (рисунок 2.18). Внимание! Размер стрелки зависит от толщины линии, но не зависит от размеров соединяемых элементов. Т.е. при одних и тех же параметрах стрелок, их видимый размер на диаграмме будет зависеть от выбранного размера прочих элементов.
Рисунок 2.18 – Диалог изменения окончаний линии-соединителя Результат изменения типа окончания линии соединителя приведен на рисунке 2.19.
Рисунок 2.19 – Результат изменения типа окончания линии-соединителя Вставка текста в элементы осуществляется следующим образом. Необходимо выполнить указателем мыши двойной щелчок левой клавишей на элементе, в который надо вставить текст. После чего ввести текст (рисунок 2.20).
Используя инструмент «Text Tool», обозначенный как, добавляем текстовые надписи, такие как «Да» и «Нет» над стрелками блока решения.
2.5 Сохранение диаграммы и экспорт в векторном формате Для того, чтобы можно было работать с диаграммой в дальнейшем, необходимо сохранить её в формате Visio, выбрав меню File/Save и формат по умолчанию vsd. Если диаграмма будет сохранена в других форматах – при попытке открыть их в Visio в дальнейшем, будет потеряна связь между шаблонами элементов и графическим отображением, раннее им соответствовавшим. Visio позволяет открывать и редактировать файлы в формате wmf, однако например текст внутри элементов будет отдельным графическим элементом, никак не связанным с изображением, внутри которого он размещен. Также будут потеряны динамические соединители, изображение которых останется в том виде, в каком они были на момент создания wmf.
Для вставки диаграмм в текстовый редактор целесообразно сохранить их в векторном графическом формате, например wmf, поскольку редактирование таких рисунков в дальнейшем не предполагается. Векторный формат позволит при необходимости осуществлять масштабирование рисунков в тексте без потери качества изображения, а также минимизировать размер результирующего файла.
Выделяем всю диаграмму. Выбираем пункт меню File/Save as (рисунок 2.21).
Рисунок 2.21 – Сохранение выделенного фрагмента диаграммы В открывшемся диалоге выбираем директорию назначения, имя файла и тип «wmf».
Нажимаем кнопку Save.
3 Создание текстового документа MS Word со схемой алгоритма При наличии текстового редактора MS Word, запускаем его. Если этот текстовый редактор не установлен, переходим к выполнению схемы алгоритма в OpenOffice Draw.
После запуска MS Word автоматически создается пустой текстовый документ.
Предположим, что схему алгоритма необходимо вставить в текст документа. Месту вставки рисунка будет определяться положением текстового курсора. Для вставки выбираем «Вставка/ рисунок/ из файла»» и указываем соответствующее имя файла (рисунок 3.1).
Рисунок 3.1 – Добавление рисунка в текстовом редакторе Word Результат добавления рисунка в текст документа приводится на рисунке 3.2.
Размер вставленного рисунка может быть изменен. Для этого нажимаем правой клавишей мыши на рисунке и, в открывшемся меню, выбираем «Формат рисунка» (рисунок 3.3).
Рисунок 3.3 – Открытие диалога изменения формата рисунка Находим закладку «Размер» и указываем масштаб по высоте или ширине. Если установлен пункт «сохранять пропорции», изменение высоты или ширины автоматически изменяет второй размер (рисунок 3.4).
Изменить размер рисунка можно и другим способом. Щелкнув указателем мыши по рисунку левой клавишей, получаем рамку с отмеченными областями, позволяющими изменять размеры пропорционально или по ширине/высоте (рисунок 3.5).
Рисунок 3.5 – Изменение размера рисунка при помощи мыши Изменив размер, продолжаем редактировать текстовый документ (рисунок 3.6).
По окончанию редактирования документа его необходимо сохранить, выбрав пункт меню Файл/Сохранить.
4 Создание схем алгоритмов средствами OpenOffice Draw Запускаем OpenOffice Draw из меню Пуск/Программы/OpenOffice.org/OpenOffice.org Draw.
После запуска программы автоматически создается пустой документ, в котором можно сразу начинать рисование (рисунок 4.1).
По умолчанию предлагается размещать графические элементы на рабочем пространстве формата A4. Его размер определяется в меню Формат/Страница и может быть установлен как в стандартные величины A0, A1…A6, так и не стандартно. Следует отметить, что размер рабочего пространства не связан с размером бумаги печатающего устройства, непосредственно подключенного к компьютеру, на котором производится рисование.
Используя кнопки панели инструментов «Рисование», выбираем необходимую фигуру и размещаем её на рабочем пространстве. Например, скругленный прямоугольник используем как блок начала и окончания алгоритма (рисунок 4.2).
Некоторые элементы снабжены средствами изменения их параметров. В частности, для «скругленного прямоугольника» может быть изменен радиус закругления (рисунок 4.3).
Рисунок 4.3 – Изменение специфических параметров элемента Копирование блоков может быть выполнено через буфер обмена – меню Правка/Копировать, Вставить или CTRL+C, CTRL+V. Для добавления надписи внутрь графического элемента необходимо выполнить на этом элементе двойное нажатие левой клавишей мыши (рисунок 4.4).
Первоначально, элементы следует размещать приблизительно. Точное выравнивание производится после того, как все элементы размещены и соединены линиями.
Цвет заливки графических элементов может быть изменен при помощи кнопки Стиль/Заливка области панели инструментов Линия и Заливка (рисунок 4.5).
Связывание элементов обеспечивается при помощи «Соединительных линий». Стрелки на соединительных линиях могут быть изменены позднее. Наиболее универсальная соединительная линия, которая так и называется «Соединительная линия» (рисунок 4.6).
4.1 Соединительные линии Рисунок 4.6 – Выбор типа линии-соединителя Рисунок 4.7 – Подсветка точек присоединения начала линии-соединителя Выбрав соединительную линию нужного типа, наводим указатель мыши на элементисточник. Его контур примет пунктирный вид, а в местах возможного присоединения соединительных линий появятся перекрестия. Нажимаем левую клавишу мыши на нужном перекрестии и, не отпуская клавишу, ведем к элементу, с которым должно быть выполнено соединение (рисунок 4.7).
Рисунок 4.8 –Подсветка точек присоединения окончания линии-соединителя После наведения указателя мыши на подчиненный элемент, его контур также меняет вид, и появляются перекрестия, аналогично первому элементу. Наводим на перекрестие и отпускаем левую клавишу мыши (рисунок 4.8).
Соединяем все элементы аналогичным образом. При необходимости изменить внешний вид соединительной линии следует на соответствующей соединительной линии нажать правую клавишу мыши и выбрать пункт контекстного меню «Линия» (рисунок 4.9).
В открывшемся диалоговом окне можно выбрать тип стрелок, цвет и ширину (рисунок 4.10).
Рисунок 4.11 – Вызов диалога выбора распределения для выделенных элементов Первоначально элементы были размещены приблизительно, следовательно, необходимо применить «распределение» – т.е. в заданном диапазоне элементов разместить промежуточные элементы и «выравнивание» – размещение выделенных элементов по определенным осям.
Для распределения, необходимо последовательно выделить соответствующие элементы и вызвав контекстное меню (правой клавишей мыши), и выбирать меню «Распределение» (рисунок 4.11). После активации этого пункта меню откроется диалог, изображенный на рисунке 4.12.
Распределение может быть горизонтальным или/и вертикальным. Возможно выравнивание расстояний между левыми/правыми границами, выравнивание межцентрового расстояния или интервала между границами элементов.
Последовательно выравниваем по межцентровому расстоянию элементы, расположенные по вертикали (в случае нескольких элементов на одной горизонтали распределение осуществляем по одному из них – например по крайнему левому) Аналогично выравниваем по межцентровому расстоянию элементы по горизонтали (в данном случае процессы – присвоения и блок принятия решения) (см. рисунок 4.13).
Рисунок 4.13 – Выделение элементов для распределения по горизонтали Рисунок 4.14 – Выделение опорного элемента для выравнивания Следующим шагом является выравнивание элементов. Закрепляем опорный элемент, для чего выделяем его (рисунок 4.14) и нажимаем клавишу F4 (Формат/Положение и размер).
Рисунок 4.15 – Диалог изменения положения и размера элемента В открывшемся диалоге отмечаем «Защита/Положение» (рисунок 4.15).
Обратите внимание, что этот же диалог может быть использован для установки точных размеров элементов.
Рисунок 4.16 – Выполнение выравнивания по горизонтали для выделенных элементов Выделяем все элементы, которые необходимо выделить (процессы присвоения) и в контактном меню выбираем «Выравнивание/По центру (горизонтально)» (рисунок 4.16).
Рисунок 4.17 – Выполнение выравнивания по вертикали для выделенных элементов Аналогично фиксируем элемент «принятия решения», выделяем вертикально ориентированные элементы и выбираем «Выравнивание/По центру (вертикально)» (рисунок 4.17).
В итоге получаем правильно распределенную и выровненную схему алгоритма (рисунок 4.18).
При помощи кнопки «Текстовые», добавляем необходимые подписи (рисунок 4.19).
4.3 Сохранение диаграммы и экспорт в векторном формате Внимание! Не забывайте сохранять файл с диаграммой в формате.odg, используя меню Файл/Сохранить.
Следующим шагом следует экспортировать схему в формате, в котором она может быть вставлена в текстовом редакторе. Для этого выделяем все элементы (CTRL+A) и выбираем меню «Файл/Экспорт». В открывшемся диалоге отмечаем пункт «Выделение» (т.е.
экспортировать только выделенную часть диаграммы, а не лист рабочей области в целом). В качестве формата сохранения следует выбрать векторный формат, например «WMF»
(рисунок 4.20).
Создаем текстовый документ OpenOffice Writer. Для этого выбираем пункт меню Windows Пуск/Программы/OpenOffice.org/OpenOffice.org Writer. После запуска программы автоматически создается чистый текстовый документ. Предположим, что схему алгоритма необходимо вставить в текст документа. Место вставки рисунка будет определяться положением текстового курсора.
Рисунок 4.21 – Вставка рисунка в документе OpenOffice Writer В текстовом редакторе (OpenOffice Writer) выбираем пункт меню «Вставка/Изображение/Из файла» и файл, который был ранее получен как результат экспорта диаграммы (рисунок 4.21).
Результат вставки показан на рисунке 4.22.
Рисунок 4.23 – Изменение размера рисунка при помощи мыши Размер вставленного рисунка может быть изменен с использованием опорных точек (рисунок 4.23).
Сохраните файл, содержащий вставленную схему алгоритма.
F4 - Положение и размер.
CTRL+SHIFT+G – сгруппировать выделенные элементы CTRL+SHIFT+ALT+G – разгруппировать элементы выделенной группы CTRL+”+” – повысить уровень элемента (при их взаимном наложении) CTRL+”-” – понизить уровень элемента Для алгоритма