Софт-Портал

создание блок-схемы онлайн

Рейтинг: 4.9/5.0 (114 проголосовавших)

Категория: Windows

Описание

Блок схемы онлайн: как структурно представить информацию

Блок схемы онлайн: как структурно представить информацию

Блок-схемой называют графическую модель, которая описывает процессы либо алгоритмы, где шаги — блоки различной формы, а соединяются они между собой линиями. И эти линии показывают направление последовательности. Как должна быть выполнена блок-схема, регламентируется стандартом. И служит она для того, чтобы программист или человек, не имеющий знания в этой области, мог наглядно увидеть, как работает программа или процесс.

Блок-схемы часто составляют специалисты, занимающиеся программированием.

Для чего нужна блок-схема программисту?

Нотация FlowChart — самый быстрый, универсальный и доступный метод, с помощью которого программист может объяснить неспециалисту, как выполняется любой процесс, или работает программа. Также блок-схема представляет собой и документацию на любую программу. Если программисту необходимо объяснить, как работает простая утилита или небольшой код, он может наглядно это продемонстрировать, воспользовавшись обычным редактором графики. Но если программа сложна, код ее состоит из множества модулей и строк, простой редактор не подойдет. В этом случае программисты пользуются профессиональными решениями и строят flowchart по исходному коду.

Программы и онлайн-сервисы для построения блок схем

Можно воспользоваться специальными программами, которые работают на компьютере, либо сервисами, предлагающими в режиме реального времени построить любую схему по Паскалю, Delphi и даже C++.

Опытные программисты предпочитают пользоваться только компьютерными программами.

Сервисы, которые предоставляются для построения схемы процесса в режиме онлайн, часто не поддерживают необходимые требования и, соответственно, не могут гарантировать правильную работу. Например:

  • Не поддерживается целый ряд команд языка программирования и, следовательно, неверно строится диаграмма последовательности действий.
  • Графики, показывающие последовательность операций, плохо прорисованы.
  • Онлайн сервис зачастую не дает возможность сохранить блок-схему в необходимом формате.
  • И это не все недостатки таких сервисов.
Намного профессиональней с задачей построения блок-схем справляются специальные компьютерные приложения. Ну а тем, кто не хочет устанавливать программы на компьютер, рекомендуем воспользоваться программным интерфейсом для построения диаграмм и графиков Chart API от Google.


FCeditor — удобное приложение, поддерживающее языки программирования C++ (файл .cs), Делфи, Паскаль (файл .pas). Если вам необходимо отредактировать файл с кодом в этой программе, вы должны сначала его импортировать. Когда FCeditor проанализирует импортированный файл .pas или .cs, она отобразит слева дерево классов, на панели появится вкладка, а ней — программный код и схемы.

Важное примечание! Построенный график или диаграмму вы сможете экспортировать в любой формат: от jpeg и tiff, до png и bmp.Программа имеет русскоязычную поддержку и незамысловатый пользовательский интерфейс.


Еще одна простая программа с минималистским оформлением, но широким функционалом. Пользовательский интерфейс, аналогично предыдущей программе, прост и удобен даже для непрофессионалов. В главном окне вы увидите три поля. В первом поле код представлен древовидно, во втором — сам текст, и в третьем, самом большом, вы увидите построенные диаграмму или график. Этим приложением удобно пользоваться из-за подсветки. Элементы кода, древовидной структуры, схемы не только подсвечиваются, но и сворачиваются.

Построенную в программе Autoflowchart схему можно экспортировать не только в графический формат, но и в xml-файлы. Эта программа также является удобным редактором кода. Все, что вы редактируете в коде, мгновенно отображается в схеме. В Autoflowchart есть поддержка любых языков программирования.


Code Visual to Flowchart версии 6.0 — самая мощная компьютерная программа, которая используется специалистами для построения диаграмм и графиков. Она отличается обширным функционалом и возможностью построить точную схему. Несмотря на навороченный функционал и возможности программа обладает удобным пользовательским интерфейсом. В главном окне вы увидите три поля. Слева две вкладки: одна показывает устройство проекта, другая — устройство классов. В центре главного окна вы увидите программный код, а справа — схему отрезка кода.

Построенную диаграмму вы сможете экспортировать всего в два формата: png и bmp.

Важное примечание! Все эти программы — отличное решение, помогающее построить четкие блок-схемы, отвечающие стандартам. Но чтобы воспользоваться каждой из рассмотренных выше программ, придется заплатить. Пробная версия предоставляет лишь небольшую часть функционала, и поэтому годится только для ознакомительных целей.


Зачастую разработка приложения начинается с построения блок-схемы. Прежде чем создать программный код, его необходимо продумать, составить диаграмму последовательности действий. А это и есть схема, на основе которой потом программист пишет код.

Для тех, кто привык пользоваться онлайн сервисами, рекомендуем два проверенных — Chart от Google и Draw.io


Draw.io — удобный сервис, в котором можно строить и редактировать блок-схемы. Его обширный функционал, удобный интерфейс и пакет инструментов позволяет редактировать, форматировать и видоизменять блоки, создавая их по стандартной схеме или индивидуальной. Также при создании схемы можно пользоваться внешними изображениями. Готовую схему можно сохранить в графических, векторных форматах, или как документ на облачных хранилищах, или скачать себе на компьютер.

Draw.io понравится начинающим программистам своими богатыми функциональными возможностями и удобством в использовании. И что немаловажно, пользоваться им можно абсолютно бесплатно.

Chart API от Google прекрасно визуализирует любой код, создаст график, диаграмму и схему. Обширный инструментарий представлен подключаемыми библиотеками, с помощью которых создаются качественные графики, диаграммы. Сервис от Google имеет в своем функционале огромное разнообразие схем, с помощью которых создаются не только программы, но и web-сайты, документы.


Чтобы пользоваться этим мощным онлайн-сервисом, достаточно ознакомиться с подробной инструкцией и иметь минимальные знания. Как правильно пользоваться всеми инструментами-библиотеками сервиса от Google, показано в пакете документов.


Chart API от Google — отличный инструмент для профессиональных программистов.

создание блок-схемы онлайн:

  • скачать
  • скачать
  • Другие статьи, обзоры программ, новости

    Лекция 12 создание блок схем, диаграмм и графиков в Графическом редакторе VISIO

    Лекция 12 создание блок схем, диаграмм и графиков в Графическом редакторе VISIO

    создание блок схем, диаграмм и графиков в Графическом редакторе «VISIO»

    Создание блок-схем. Навигация в многостраничных блок-схемах. Графические диаграммы. Графики

    12.1 СОЗДАНИЕ БЛОК-СХЕМ

    Графический редактор Visio обладает множеством особен­ностей, которые значительно повышают возможности Visio по сравнению с обычными редакторами. К одной из таких особенностей относится наличие встроенных мастеров, позволяющих создавать блок-схемы различных уровней слож­ности. В этом разделе мы подробно рассмотрим возможные пути разработки профессиональных блок-схем.

    В Visio имеется несколько стандартных типов блок-схем, с помощью которых можно быстро строить схемы в тех об­ластях, где они используются наиболее часто:

    · Audit Diagram (аудиторская диаграмма) — блок-схема ре­визии — включает фигуры, используемые в схемах кон­троля, учета и управления финансовыми или информа­ционными потоками;

    · Basic Flowchart (основная блок-схема) — блок-схема обще­го назначения — применяется для создания пользователь­ских блок-схем произвольного назначения или добавле­ния необходимых элементов в стандартные схемы;

    · Cause and Effect Diagram (причинно-следственная диаграм­ма) — блок-схема, позволяющая проиллюстрировать при­чинную зависимость событий;

    · Cross-Functional Flowchart (перекрестно-функциональная блок-схема) — надстройка блок-схемы, которая предназ­начена для иллюстрации отношений между изменением процесса выполнения задачи и его организацией;

    · Data Flow Diagram (диаграмма временного потока) — блок-схема, содержащая элементы, которые зависят от време­ни или условия;

    · IDEFO Diagram (IDEFO-диаграмма) — блок-схема, позво­ляющая создавать зависимые или многоуровневые диа­граммы;

    · Mind Mapping Diagram (отображающая диаграмма) - блок-схема, предназначенная для представления проектов, на­ходящихся в стадии разработки или усовершенствования;

    · SDL Diagram (SDL-диаграмма) - блок-схема, в которой используются графические элементы языка SDL (Spe­cification and Description Language, язык спецификации и описаний). Эта блок-схема содержит-фигуры стандарт­ных элементов языка SDL, с помощью которых можно создавать профессиональные блок-схемы, например блок-схемы программ;

    · TQM Diagram (TQM-диаграмма) - блок-схема, предназна­ченная для представления управления и автоматизации процесса;

    · Work Flow Diagram (диаграмма распределения рабочего по­тока) - блок-схема для представления процесса управ­ления, учета и изменения человеческих ресурсов.

    Перечисленных типов достаточно для создания блок-схем любой сложности. Каждый тип имеет свой трафарет, в кото­ром содержатся соответствующие мастера. Все трафареты, предназначенные для работы с блок-схемами, по умолчанию устанавливаются в папку C:Program FilesMicrosoft OfficeVisio 101033Solutions Flowchart. В Visio эти трафареты становятся доступными после выбора команды File► Stencils ► Flowchart.

    В качестве примера создания блок-схемы построим простую схему подготовки к продаже компьютера в специализиро­ванном магазине. Для этого откройте или создайте чистый лист и выберите трафарет Basic Flowchart Shapes.

    В поле трафарета выберите мастера Process и перетащите его на лист. Мастер Process создает фигуру, которая характери­зует первый элемент в схеме. Чтобы сделать его понятным для других пользователей, в него необходимо вставить текст, например «Заказ нового компьютера». Текст вставить очень просто — после размещения фигуры Process в поле листа на­жмите кнопку Text Tool, которая находится на панели инстру­ментов Standard, и введите соответствующий текст. Нуж­но заметить, что при создании профессиональных блок-схем для обозначения начала используется специальная фигура Start, мастер которой содержится в трафарете SDL Diagram Shapes.

    Добавьте в поле листа еще одну фигуру Process, которая бу­дет обозначать процесс сборки необходимого оборудования. В профессиональной схеме для этой цели можно использо­вать фигуру Procedure.

    Для соединения элементов схемы можно использовать соеди­нители (connectors) из текущего трафарета или выбрать понра­вившийся соединитель в специальном трафарете. Исполь­зование нестандартных соединителей позволяет украсить создаваемую схему и сделать ее более понятной и привлека­тельной.

    Следующий элемент схемы будет обозначать процесс тестиро­вания собранного компьютера. Этот процесс может иметь два исхода: компьютер работает правильно и его можно продавать или возникают ошибки, и требуется дополнительное тести­рование и, соответственно, замена неисправных комплек­тующих. Для обозначения ситуаций, требующих выбора од­ного из двух или трех вариантов, используются специальные фигуры. В трафарете Basic Flowchart Shapes это фигура Decision, а в трафарете SDL Diagram Shapes — Decision1 и Decision2. Выбор условия обозначается линией, выходящей из угла фи­гуры. Как правило, каждое условие имеет свою подпись. В простейшем случае это Да или Нет .

    Большое количество соединителей представлено в трафарете Connectors, который можно открыть, выбрав команду File ► Sten­cils ► Visio… Для отображения точек соединения не­обходимо в меню View установить флажок…

    В современном бизнесе большую роль играет правильное планирование и понимание происходящих процессов. Для графического представления таких процессов использует­ся причинно-следственная диаграмма. Для ее создания в Visio имеется специальный трафарет Cause and Effect Diagram Shapes. Для упрощения процесса создания таких диаграмм можно воспользоваться специальным шаблоном, в котором уже содержится заготовка блок-схемы и необходимые тра­фареты: Cause and Effect Diagram Shapes, Background и Borders and Titles.

    Чтобы открыть этот шаблон, его необходимо выбрать или при открытии Visio на панели задач Task Pane, или с помощью команды File ► New ► Flowchart ► Cause and Effect Diagram. В от­крывшуюся заготовку схемы из трафарета Cause and Effect Diagram Shapes добавьте необходимые элементы, характери­зующие причины и следствия.

    Чтобы добавить подпись к элементу схемы, выделите его
    и введите необходимый текст. Текстовые элементы можно
    вставлять также обычными средствами, например, с помощью инструмента Text Tool.

    Другой интересной разновидностью блок-схем, предназна­ченных для анализа, является перекрестно-функциональная блок-схема (Cross-Functional Flowchart). Этот тип позволяет разделить обычную схему на функциональные уровни и фа­зы их исполнения. Это необходимо, когда один описывае­мый блок схемы состоит из разных процессов. Для создания перекрестно-функциональной блок-схемы ис­пользуются трафареты Cross-Functional Flowchart Shapes Hori­zontal и Cross-Functional Flowchart Shapes Vertical, которые позво­ляют создавать горизонтальные или вертикальные сегменты. Перекрестно-функциональная схема используется как над­стройка к обычной блок-схеме, чтобы упростить восприятие сложно-зависимых схем. Для создания такой схемы нужно выполнить следующую пошаговую процедуру.

    1. Выберите команду File ► Stencils ► Flowchart ► Cross-Func­tional Flowchart Shapes Horizontal (или File ► Stencils ► Flow­chart ► Cross-Functional Flowchart Shapes Vertical).

    2. В открывшемся трафарете выберите фигуру Functional Band и перетащите ее в поле листа.

    3. В открывшемся окне диалога Cross-functional flowchart уста­новите параметры:

    · в поле счетчика Number of bands установите число функ­циональных уровней (максимальное число пять);

    · установка флажка Include title bar позволяет включить в шаблон установки панель заголовка схемы.

    4. Нажмите кнопку ОК.

    На рабочий лист автоматически добавится схема, являю­щаяся заготовкой перекрестно-функциональной блок-схемы, С помощью мастера Separator, который расположен в трафарете Cross-Functional Flowchart Shapes. можно установить фазы уровней.

    После создания каркаса перекрестно-функциональной схе­мы его необходимо наполнить содержанием. Как было замечено выше, перекрестно-функциональная схе­ма является надстройкой, то есть она может быть наложена на любую ранее созданную блок-схему. Возьмем в качестве примера блок-схему продажи компьютера, создание которой рассматривалось в начале раздела, и наложим на нее пере­крестно-функциональную схему. После этого остается толь­ко определить заголовки соответствующих уровней и функ­циональных операций. Ввод текста в заголовки выполняется следующим образом: щелкните левой кнопкой мыши по соответствующей ячейке в блок-схеме и введите текст. Для окон­чания набора текста щелкните левой кнопкой мыши за пре­делами ячейки или нажмите клавишу Esc. В результате по­лучится рисунок, подобный приведенному ниже.

    Рассмотренный пример является одним из простейших случаев создания одностраничной перекрестно-функцио­нальной схемы. Однако отличительной чертой Visio явля­ется возможность автоматического создания многостраничных блок-схем. Это может потребоваться для печати готовой блок-схемы.

    Для создания многостраничной перекрестно-функциональ­ной блок-схемы используется следующая процедура.

    1. Создайте первую страницу так, как это уже обсуждалось ранее.

    2. Щелкните правой кнопкой мыши по ярлыку текущего листа, который находится в левом нижнем углу окна ре­дактирования.

    3. В открывшемся контекстном меню выберите команду Insert Page.

    4. В окне диалога Page Setup установите необходимые пара­метры создаваемого листа и нажмите кнопку ОК.

    5. В появившемся информационном окне нажмите кноп­ку ОК, чтобы вставить новый лист с готовой формой пере­крестно-функциональной блок-схемы. Если нажать кноп­ку Cancel, то будет вставлен чистый лист.

    12.2. Навигация в многостраничных блок-схемах

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

    В Visio имеются специальные технологии, позволяющие до­статочно просто ориентироваться в таких сложных схемах. Как правило, для этого используются два метода: нумерация фигур в блок-схеме и соединение страниц с помощью фигуры Off-page reference.

    Нумерация фигур применяется при использовании пере­крестных ссылок или при указании последовательности исполняемых шагов. Использование нумерации фигур зна­чительно облегчает восприятие большой блок-схемы, расположенной на нескольких листах. Для нумерации используется мастер Number Shapes, который необходимо рассмотреть подробнее.

    Чтобы открыть окно диалога этого мастера, выберите коман­ду Tools ► Macros ► Visio Extras ► Number Shapes. В открывшем­ся окне диалога необходимо выбрать параметры изменения нумерации фигур:

    1. Раздел Number Assigned содержит параметры, определяю­щие отображение нумерации. Например, в полях Start with
    и Interval устанавливаются число, с которого начинается
    нумерация, и шаг нумерации. Для ввода текстового обо­
    значения при нумерации, например «Step», его нужно
    определить в поле Preceding Text. Образец того, как будет
    выглядеть нумерация, можно увидеть в поле Preview.

    2. Раздел Operation содержит способ нумерации: ручная ну­мерация (Manually By Clicking), автоматическая нумерация (Auto Number) и обновление нумерации на странице (Re­number Maintaining Sequence).

    3. Раздел Apply To содержит параметры, определяющие
    область применимости мастера: все фигуры на листе
    (All Shapes) или только выделенные фигуры (Selected
    Shapes).

    Наиболее простой способ нумерации — автоматическая ну­мерация. При автоматической нумерации, то есть когда в окне диалога Number Shapes установлен флажок Auto Number, все фигуры, имеющиеся на листе, нумеруются автоматиче­ски. По умолчанию нумерация выполняется сверху вниз и слева направо. Последовательность нумерации можно изменить. Для этого в окне диалога Number Shapes перейдите на и кладку Advanced и в разделе Auto Numbering Sequence уста­новите переключатель напротив нужного порядка нумера­ции. На этой же вкладке можно выбрать способ отображе­ния нумерации: до текстового блока фигуры (Before shape text), под текстом (After shape text) или вообще скрыть с помощью установки флажка Hide Shapes Numbers.

    Чтобы выполнить нумерацию фигур вручную, нужно выпол­нить следующую процедуру.

    1. Перейдите к тому листу, на котором нужно выполнить
    нумерацию фигур.

    2. Выберите команду Tools ► Macros ► Visio Extras ► Number Shapes.

    3. В открывшемся окне диалога установите переключатель Operation в положение Manually By Clicking.

    4. В полях Start with, Interval и Preceding Text установите зна­чения параметров начала нумерации, ее шага и сопрово­дительного текста.

    5. Нажмите кнопку ОК.

    6. В открывшемся информационном окне в поле Next Number Assigned будет указан текущий номер. Для присвоения его какой-либо фигуре щелкните по ней левой кнопкой мы­ши. Фигура получит номер, а счетчик в поле Next Number Assigned изменит свое значение.

    7. Для нумерации других фигур повторите шаг 6.

    8. Для окончания нумерации и удаления информационно­го окна нажмите в нем кнопку Close.

    Рассмотренные способы нумерации касаются только тех фи­гур, которые уже находятся на листе. Что же делать, если необходимо не только выполнить нумерацию для сущест­вующих фигур, но и продолжить ее для вновь вставляемых? Решение этой задачи заключается в установке флажка Con­tinue numbering shapes as dropped on page. После установки этого флажка все фигуры, помещаемые на лист, будут нуме­роваться автоматически.

    По умолчанию при нумерации фигур соединители не нумеруются. Однако это можно изменить. Чтобы применить мастер нумерации к соединителям, нужно снять флажок Exclud Connectors. Этот флажок находится на вкладке Advanced в окне диалога Number Shapes. К сожалению, в Visio нет возможности отключить нумерацию фигур, оставив возможность автоматической нумерации соединителей, поэтому операци нумерации соединителей должна выполняться вручную.

    Другим способом навигации по страницам многостраничной блок-схемы является использование специальной фигуры Off-page reference , мастер которой находится в трафарете Basic Flowchart Shapes.

    Эта фигура обладает замечательным свойством — после двой­ного щелчка по ней открывается связанный с ней лист теку­щего документа.

    Использование фигуры типа Off-page reference необходимо только в тех случаях, когда для представления блок-схемы или диаграммы используется компьютер.

    Для создания фигуры Off-page reference на рабочем листе ис­пользуется следующая процедура.

    1. Откройте трафарет Basic Flowchart Shapes. Для этого вы­берите команду File ► Stencils ► Flowchart ► Basic Flowchart Shapes.

    2. В трафарете выберите мастер Off-page reference и перета­щите его на рабочий лист.

    3. В открывшемся окне диалога Off-page reference установи­те необходимые параметры.

    · В разделе Connect to выберите страницу, к которой дол­жен выполняться переход после двойного щелчка по фигуре. Если переключатель установлен в положение Existing page, то в раскрывающемся списке можно вы­брать одну из соответствующих страниц.

    · Для автоматического создания копии фигуры Off- page reference на листе, куда будет выполняться ссыл­ка, установите флажок Drop off-page reference shape on page.

    · Чтобы текстовый блок, вставленный в фигуру Off-page reference на текущей странице, соответствовал тексту копии фигуры, находящейся на листе, куда выполня­ется ссылка, установите флажок Keep shape text synchro­ nized.

    · Для сохранения гиперссылки при последующем пре­образовании данного листа в HTML-формат устано­вите флажок Insert hyperlinks on shape(s).

    4. Нажмите кнопку ОК.

    После этого на листе появится новая фигура, которая будет иметь все свойства обычной фигуры за одним исключени­ем — при двойном щелчке по ней она не будет открывать свой текстовый блок для редактирования, а выполнит переход к определенному листу.

    12.3 Графические диаграммы

    Кроме блок-схем и организационных диаграмм в Visio 2002 имеются богатые возможности графического представления информации как числовой, так и текстовой. В отличие от других приложений, обладающих подобными возможнос­тями — например Microsoft Excel, графические диаграммы Visio разработаны специально для профессиональных пре­зентаций.

    При подготовке презентационных материалов очень часто возникает необходимость графического представления дан­ных. В Visio 2002 имеется набор… Visio не является специализированным пакетом построения диаграмм — в нем, как,… Кроме диаграмм в Visio имеется множество дополнительных форм для представления данных. Для создания презентаций…

    Для создания круговой диаграммы Pie chart перетащите ее мастер на лист — откроется окно диалога Custom Properties, в раскрывающемся списке которого… При вводе значений помните, что круговая диа­грамма используется для отображения процента от целого. Поэтому сумма…

    Для точного представления численных данных можно ис­пользовать плоские гистограммы. В трафарете Charting Shapes представлено несколько типов плоских… Стандартный тип гистограмм можно создать с помощью мас­теров Bar graph. Оба… При перемещении мастера из трафарета на лист открывается диалоговое окно настройки, в раскрывающемся списке ко­торого…

    Создание программы-интерпретатора блок-схем

    Создание программы-интерпретатора блок-схем

    МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

    Государственное образовательное учреждение высшего профессионального образования

    «Ижевский государственный технический университет»

    к курсовой работе

    по дисциплине «Промышленная логистика»

    на тему «Создание программы-интерпретатора блок-схем»

    студенты гр. 8-78-5 М.К. Овсянников, С.А. Сенилов

    преподаватель кафедры АСОИУ М.С. Созыкина

    • 1. Аналитический обзор существующих программ-редакторов схем
      • 1.1 Microsoft Office Visio 2007
      • 1.2 Редактор блок-схем
      • 1.3 FCEditor
      • 1.4 Вывод по аналитическому обзору
    • 2. Выбор технических средств
    • 3. Диаграммы
      • 3.1 Функциональная модель
      • 3.2 Диаграмма потоков данных
      • 3.3 Диаграмма прецедентов
    • 4.Математическое описание программы
      • 4.1 Описание модели данных
      • 4.2Математическое описание используемых моделей данных
      • 4.3 Описание структур данных
      • 4.4 Алгоритм программы
      • 4.5 Диаграмма классов
    • 5. Описание интерпретатора использованного в программе
      • 5.1 Варианты использования
      • 5.2 Возможности Jint
      • 5.3 Описание основных возможностей языка JavaScript
        • 5.3.1 Вывод данных
        • 5.3.2 Переменные
        • 5.3.3 Базовые типы
        • 5.3.4 Операторы
        • 5.3.5 Массивы
        • 5.3.6 Функции
        • 5.3.7 Циклы
    • 6. Описание системы и руководство пользователя
      • 6.1 Описание главного меню
      • 6.2 Описание панели инструментов и операций
      • 6.3 Описание вставки новых блоков
      • 6.4 Выполнение кода блок схемы
    • 7. Примеры программ созданных в редакторе
      • 7.1 Решение квадратного уравнения
      • 7.2 Сортировка массива пузырьком
      • 7.3 Среднее значение элементов массива
    • Заключение
    • Приложение А. Исходный текст программы редактора схем
    • Приложение Б.XMLфайл генерируемый программой
    • Список литературы
    В ведение Наиболее естественной формой представления (восприятия) информации является графический образ - рисунок, чертеж, схема и т.д. К этой форме человек прибегает всякий раз, возможно неявно для себя, когда необходимо решать (описывать, формулировать) действительно сложные задачи. Эффективное оперирование наглядными образами, быстрое установление смысловой связи между ними - является сильной стороной человеческого мышления. Еще во времена становления программирования, неотъемлемой частью разработки программ было использование блок-схем. Блок-схема -- это распространенный тип схем (графических моделей), описывающих алгоритмы, в которых отдельные шаги изображаются в виде блоков различной формы, соединенных между собой линиями. Их применение значительно облегчало восприятие и анализ программы. Двумерное представление программы более ясно отражало ее структуру. Применение блок- схем позволяло быстрее и качественнее разрабатывать и отлаживать программы. Но сохранение двух различных форм представления программ - самого текста и блок-схемы всегда чревато ошибками, поскольку трудно постоянно поддерживать их соответствие. Естественным развитием данной ситуации является объединение двух подходов в описании программ: в виде текста и блок-схемы. Результатом такого объединения является понятие визуального программирования. Под ним понимается способ описания алгоритма решения задачи в графическом виде, соединяющий достоинства текста и блок-схем программ. С использованием возможностей современных графических библиотек этот процесс можно сделать интерактивным и максимально удобным для пользователя. Вследствие всего выше сказанного, представляет интерес реализация системы визуального программирования, в рамках которой, будет представлена возможность определения алгоритма в графическом виде, т.е. в виде блок-схемы. Это сделает процесс построения программы наглядным и интерактивным. Такую систему можно использовать на начальных этапах обучения программированию. Блок-схемы дают возможность наглядного представления алгоритма, это упрощает понимание его структуры. Обучаемый намного быстрее и легче разберется в программировании, если дать ему возможность самому составить блок-схему алгоритма, показать ему исходный код программы соответствующей этой блок-схеме и затем запустить выполнение этого кода. Это позволит выявить ошибки в коде во время построения блок-схемы. программа редактор схема интерпретатор 1. Аналитический обзор существующих программ-редакторов схем Для реализации поставленных задач необходимым является изучение предметной области, а именно существующих программ-редакторов блок-схем, их преимуществ и недостатков. 1.1 Microsoft Office Visio 2007 Microsoft Office Visio 2007 -- программа построения чертежей и диаграмм, помогающая специалистам сферы ИТ и сферы бизнеса визуализировать, исследовать и распространять сложную информацию[1]. Трудный для понимания текст и таблицы можно представить в виде простых и наглядных диаграмм Visio. Вместо статичных рисунков пользователи создают тесно связанные с данными диаграммы Visio, которые отображают данные, легко обновляются и позволяют заметно повысить производительность работы. Широкий спектр диаграмм Office Visio 2007 помогает лучше понять информацию об организационных системах, ресурсах и процессах всего предприятия, принимать решения на основе этой информации и обмениваться ею. Microsoft Office Visio 2007 обладает следующими преимуществами:

    1. Визуализация, исследование и публикация систем, ресурсов, процессов и связанных с ними данных[2]. Широкий выбор типов схем Office Visio 2007 обеспечивает эффективную визуализацию, исследование и публикацию процессов, ресурсов, систем и связанных с ними данных.

    2. Визуализация сложной информации путем вывода данных в схемах и выполнение соответствующих действий. Визуализация данных в диаграммах позволяет лучше понять суть данных и выполнять необходимые действия в зависимости от результатов анализа. Используя средство Microsoft Office Visio 2007 «Рисунки, связанные с данными», можно изображать данные в любой диаграмме в виде текста, элементов данных, значков и цветовых обозначений.

    3. Быстрое создание диаграмм благодаря автоматическому подключению к фигурам Visio. В Office Visio 2007 имеется новая функция автоматического соединения, которая может автоматически подключать, размещать и выравнивать фигуры на схеме, облегчая работу пользователя. Достаточно перетащить фигуру на страницу документа и расположить ее над одной из синих стрелок, которые находятся над фигурой, уже размещенной на странице.

    4. Представление комплексных данных с использованием новых шаблонов и фигур. представления данных благодаря новым и усовершенствованным шаблонам и фигурам. Например, в выпуске Office Visio Профессиональный 2007 можно составлять схемы процессов ИТ-служб с помощью нового шаблона ITIL (Information Technology Infrastructure Library),создавать диаграммы на основе экономичной методологии и визуализировать более эффективные производственные процессы при помощи нового шаблона схемы потока создания стоимости.

    5. Повышение производительности благодаря интеграции схем с данными из разных источников. Источники комплексных визуальных, текстовых и числовых данных. Диаграммы, подключенные к данным, обеспечивают визуальный контекст для данных и дают полное представление о системе или процессе. Связь схем с данными из различных источников стала проще благодаря функции связывания данных в Office Visio Профессиональный 2007. Привязка данных к фигурам диаграммы выполняется с помощью нового мастера автоматического связывания.

    6. Исследование данных для отслеживания тенденций, выявления проблем и пометки исключений с помощью сводных схем. Шаблон сводной схемы позволяет наглядно представлять и анализировать бизнес-данные в Office Visio Профессиональный 2007 в иерархической форме в виде групп и итогов данных. Имеется возможность детализировать комплексные данные, отображать информацию с помощью средства «Рисунки, связанные с данными», динамически создавать различные представления данных и лучше понимать сложную информацию. Сводные схемы можно вставлять в любую диаграмму Visio, чтобы получать доступ к показателям и отчетам, которые помогут отслеживать текущее состояние процесса или системы. Сводные схемы создаются путем подключения к различным источникам данных, таким как Microsoft Office SharePoint Server 2007, Microsoft Office Project 2007 и Microsoft Office Excel 2007. Возможность создания наглядных отчетов программ Office SharePoint Server 2007 и Office Project 2007 в форме сводной схемы повышает эффективность контроля ресурсов и проектов, управляемых с помощью этих программ.

    7. Эффективное распространение информации с помощью профессионально оформленных схем. Для создания диаграмм Visio профессионального качества достаточно выбрать цвет или эффект (текст, заливку, тень, линии, формат соединителей) для всей диаграммы с использованием новой функции «Тема». На выбор в Visio предлагается ряд встроенных тем, но можно создавать и собственные темы. В Office Visio 2007 используются те же встроенные темы, что и в других программах системы Microsoft Office 2007.

    1.2 Редактор блок-схем Редактор блок-схем - специализированная программа, она предоставляет тот набор инструментов, который необходим именно для создания блок-схем, что является существенным аргументом в пользу применения данной программы, а не использования графических редакторов. Набор дополнительных опций позволяет оптимизировать процесс разработки блок-схем и дальнейшего преобразования их в процедуры и функции языка программирования. Системные требования программы очень скромные и она запускается практически на любом компьютере с любой версией Windows . Останавливаясь подробнее на опциях редактора, следует отметить наиболее важные из них:

    1. Использование шаблонов при создании блок-схем.

    2. Импорт процедур и функций языков программирования. Редактор предоставляет возможность импортировать процедуры и функции, реализованные на каком-нибудь из известных языков программирования. Эта опция полезна для того, чтобы лучше разобраться в структуре алгоритма, написанного на языке программирования.

    3. Экспорт блок-схем в процедуры и функции языков программирования.

    4. Экспорт блок-схем в различные графические форматы.

    1.3 FCEditor Основанная идея этой программы - изобразить блок-схему из блоков с произвольным по величине (имеется в виду текст) содержанием. В большинстве редакторов, если и имеется возможность автоматически менять размер компонентов, то все стрелки и переходы все равно надо расставлять вручную. В FCEditor это делается автоматически. Возможности FCEditor:

    1. импорт схемы из программного кода;

    2. автоматическое выравнивание блоков и стрелок;

    3. возможность изменения типа блоков;

    4. копирование и вставка блоков схемы;

    5. отдельная схема для каждой процедуры;

    6. возможность вставки разрывов страниц;

    7. экспорт схемы в графический файл;

    8. экспорт схемы в код.

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

    1.4 Вывод по аналитическому обзору Рассмотрев существующие программы-редакторы схем, мы можем их обобщить, каждая из них:

    1. Может использовать шаблоны для создания схем.

    2. Может экспортировать созданную схему в различные форматы.

    3. Обладает автоматической «подгонкой» блоков и стрелок.

    4. Может создавать разные типы схем.

    Однако у проанализированных программ-редакторов схем есть недостатки - они не приспособлены для российских графических стандартов. Ни одна из рассмотренных программ не обладает функцией автоматического размещения блоков и не позволяет получить код программы соответствующей построенной блок схеме.

    Проектируемая нами программа должна обладать положительными свойствами, описанными выше, а также должна иметь возможность строить схемы по российским стандартам, например ГОСТ 19.701. Так же в создаваемую программу будет включен интерпретатор программного кода, сгенерированного программой, с его помощью программу можно будет использовать для решения алгоритмических задач или для обучения программированию. Алгоритм программы можно будет редактировать в визуальном режиме, а не в режиме набора программного кода. Затем с помощью программы этот код можно будет выполнить и проверить результат работы алгоритма. Это существенно повысит эффективность процесса обучения программированию на начальном этапе.

    2. Выбор технических средств

    Программа написана на платформе .NET Framework 3.5 в интегрированной среде разработки Visual Studio 2010 Professional.

    Технические средства необходимые для разработки программы выбираем исходя из системных требований Visual Studio 2010 Professional.

    Visual Studio 2010 можно установить в следующих операционных системах:

    1. windows XP (x86) с пакетом обновления 3 (SP3) -- все выпуски, кроме Starter;

    2. windows Vista (x86 и x64) с пакетом обновления 1 (SP1) -- все выпуски, кроме Starter;

    3. windows 7 (x86 и x64);

    4. windows Server 2003 (x86 и x64) с пакетом обновления 2 (SP2);

    5. windows Server 2003 R2 (x86 и x64);

    6. windows Server 2008 (x86 и x64) с пакетом обновления 2 (SP2);

    7. windows Server 2008 R2 (x64).

    2. 64-разрядная (x64).

    Требования к оборудованию:

    1. процессор с частотой 1,6 ГГц или выше;

    3. 3 ГБ свободного места на диске;

    4. жесткий диск со скоростью 5400 об/мин;

    5. видеоадаптер с поддержкой DirectX 9 и разрешением 1280 x 1024 (или более высоким);

    6. дисковод DVD-ROM.

    Технические средства необходимые для запуска программы выбираем исходя из системных требований .NET Framework 3.5:

    1. Операционные системы: Windows Server 2003, Windows Server 2008, Windows Vista, Windows 7, Windows XP.

    2. Процессор: Pentium с тактовой частотой 400 MГц или аналогичный процессор (рекомендуется Pentium с тактовой частотой 1ГГц или аналогичный процессор).

    3. ОЗУ: не менее 96 МБ (рекомендуется 256 МБ).

    4. Жесткий диск: может потребоваться до 500 МБ доступного дискового пространства.

    5. Дисковод для компакт-дисков или DVD-дисков: не требуется.

    6. Экран: разрешение 800 x 600, 256 цветов (рекомендуется разрешение 1024 x 768, 32-разрядный)).

    3 Моделирование процессов системы

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

    Процесс бизнес-моделирования [10] может быть реализован в рамках различных методик, отличающихся прежде всего своим подходом к тому, что представляет собой моделируемая организация. В соответствии с различными представлениями об организации методики принято делить на объектные и функциональные (структурные).

    Объектные методики рассматривают моделируемую организацию как набор взаимодействующих объектов - производственных единиц. Объект определяется как осязаемая реальность - предмет или явление, имеющие четко определяемое поведение. Целью применения данной методики является выделение объектов, составляющих организацию, и распределение между ними ответственностей за выполняемые действия.

    Функциональные методики, наиболее известной из которых является методика IDEF, рассматривают организацию как набор функций, преобразующий поступающий поток информации в выходной поток. Процесс преобразования информации потребляет определенные ресурсы. Основное отличие от объектной методики заключается в четком отделении функций (методов обработки данных) от самих данных.

    С точки зрения бизнес-моделирования каждый из представленных подходов обладает своими преимуществами. Объектный подход позволяет построить более устойчивую к изменениям систему, лучше соответствует существующим структурам организации. Функциональное моделирование хорошо показывает себя в тех случаях, когда организационная структура находится в процессе изменения или вообще слабо оформлена. Подход от выполняемых функций интуитивно лучше понимается исполнителями при получении от них информации об их текущей работе.

    3.1 Разработка функциональной модели системы Методология функционального моделирования IDEF0 является достаточно простым инструментом, который позволяет разработчикам корпоративных информационных систем изучить сферу деятельности заказчика и решать задачи по повышению эффективности этой деятельности[3]. Применение функционального моделирования позволяет решать не только технические проблемы заказчика, связанные с информационными технологиями, но также проблемы, имеющие отношение к сфере деятельности заказчика. Это позволяет превратить проект информационной системы из “пачки бумаги”, за которую заказчик не хочет платить, в услугу, которая может принести заказчику дополнительный эффект, сопоставимый с последующей автоматизацией. Диаграммы декомпозиции используются для моделирования типовой ситуации, когда любое действие, операция, функция могут быть разбиты (декомпозированы) на более простые действия, операции, функции. Представляя функции графически, в виде блоков, можно как бы заглянуть внутрь блока и детально рассмотреть ее структуру и состав. В ходе проектирования структуры интерфейса системы с использованием стандарта IDEF0 мы получили следующие функциональные блоки:

    1. Блок А0: Создать программу с помощью визуального редактирования её блок-схемы(рисунок 3.1).

    2. Блок А1: Подготовить условия для создания схемы (рисунок 3.2).

    3. Блок А2: Разработать бета-версию схемы (рисунок 3.2).

    4. Блок А3: Редактировать блок-схему (рисунок 3.2).

    5. Блок А11: Согласовать с заказчиков условия создания блок-схемы (рисунок 3.3).

    6. Блок А12: Описать требования к реализации задачи (рисунок 3.3).

    7. Блок А13: Формализовать описание задачи (рисунок 3.3).

    8. Блок А21: Определить список переменных, продседур и функций, которые будут использоваться в программе (рисунок 3.4).

    9. Блок А22: Построить структуру схемы (рисунок 3.4).

    10. Блок А23: Подписать блоки в схеме (рисунок 3.4).

    11. Блок А24: Создать тестовые примеры (рисунок 3.5).

    12. Блок А31: Запустить работу интерпретатора (рисунок 3.5).

    13. Блок А32: Определить соответствие выводимых данных результатам тестов (рисунок 3.5).

    Рисунок. 3.1 - Контекстная диаграмма. Создать программу с помощью визуального редактирования её блок-схемы

    Рисунок 3.2 - Декомпозиция контекстной диаграммы. Создать программу с помощью визуального редактирования её блок-схемы

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

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

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

    3.2 Диаграмма потоков данных DFD позволяет уже на стадии функционального моделирования определить базовые требования к данным[4]. На диаграмме потоков данных показываются работы, которые входят в состав описываемого бизнес-процесса, а также показываются входы и выходы каждой из работ. Данные входы и выходы представляют собой информационные, либо материальные потоки. При этом выходы одной работы могут являться входами для других. Наличие в диаграммах DFD элементов для описания источников, приемников и хранилищ данных позволяет более эффективно и наглядно описать процесс документооборота.
    В данной системе с помощью DFD диаграммы были выявлены связи между некоторыми классами. Было выявлено, что схема доступная для редактирования может проверяться на любом этапе ее проектирования. Таким образом, процедура проверки корректности схем была встроена в класс окна ответственного за редактирование схемы. Было выявлено, что схемы нужно сохранять для последующего редактирования или в файл .jpg. Таким образом, мы выяснили, что вся схема должна быть сохранена в формат, отрывая который можно восстановить схему полностью. На основе полученного требования было принято решение использовать сериализацию объектов, т.е. сохранения всех объектов схемы и их состояний на жесткий диск. Для этого был выбран класс XmlSerializer, который позволяет сохранять состояние объектов в формате XML и затем восстанавливать объекты из этого формата. Для сохранения в .jpg была использована стандартная процедура сохранения изображения в файл. DFD диаграмма представлена на рисунке Рисунок 3.4 - Уровень А0 DFD-диаграммы. Спроектировать схему программы. Существует так же альтернативный способ выявления требуемой функциональности системы. Выявить функциональность системы можно с помощью диаграммы прецедентов. 3.3 . Диаграмма прецедентов Диаграммы прецедентов представляют собой один из пяти типов диаграмм, применяемых в UML для моделирования динамических аспектов системы[4]. Диаграммы прецедентов играют основную роль в моделировании поведения системы, подсистемы или класса. Каждая такая диаграмма показывает множество прецедентов, актеров и отношения между ними. Диаграммы прецедентов применяются для моделирования вида системы с точки зрения прецедентов (или вариантов использования). Чаще всего это предполагает моделирование контекста системы, подсистемы или класса либо моделирование требований, предъявляемых к поведению указанных элементов. Диаграммы прецедентов имеют большое значение для визуализации, специфицирования и документирования поведения элемента. Они облегчают понимание систем, подсистем или классов, представляя взгляд извне на то, как данные элементы могут быть использованы в соответствующем контексте. Кроме того, такие диаграммы важны для тестирования исполняемых систем в процессе прямого проектирования и для понимания их внутреннего устройства при обратном проектировании. Диаграмма прецедентов представлена на рисунке 3.5. Рисунок 3.5 - Диаграмма прецедентов В данной системе с помощью диаграммы прецедентов были выявлены основные функции, которые должна выполнять система. Был получен список функций, которые необходимо реализовать в системе. Если мы сравним результат применения диаграммы прецедентов с результатом применения диаграмм IDEF0 и DFD, то мы увидим что диаграммы IDEF0 и DFD помогли более точно сформулировать требования, предъявляемые к функциональности системы. В результате декомпозиции отдельных процессов основные элементы интерфейса программы были определены еще до написания программного кода. 4 . Математическое описание программы В ходе реализации выделенных выше функций необходимо описать алгоритмы и модели данных на формализованном или естественном языке. 4.1 Описание модели данных Основной структурной единицей разрабаты ваемой программы является блок. Таблица 4.1 содержит используемые в программе блоки. Таблица 4.1 - Основные блоки, используемые в программе 4.2 Математическое описание используемых моделей данных Списки используются для представления кортежей. Кортеж -- это конечная последовательность, возможно с повторениями, элементов некоторого множества E. Элементами кортежа могут быть числа, символы некоторого алфавита, точки плоскости и т.д. В более сложных случаях элементами кортежа, в свою очередь, могут быть также кортежи. Элементы, не являющиеся кортежами, называются атомами. Количество элементов в кортеже называется его длиной. Удобно рассматривать кортежи, не содержащие ни одного элемента. Такие кортежи называются пустыми. Длина пустого кортежа считается равной 0. Элемент кортежа характеризуется своим номером в последовательности (кортежным номером) и содержанием, то есть элементом множества E. Если длина кортежа равна n, n>0, то кортеж S удобно рассматривать как отображение s множества N = <1 ,2, … n> в множество E. Таким образом, s(i) -- это i-й элемент кортежа S. Термин "список" используется как обобщающее название различных структур данных, используемых для представления кортежей в памяти компьютера. При представлении кортежа в памяти появляется еще одна характеристика элемента кортежа -- его позиция в памяти. В некоторых случаях номер элемента в кортеже и его позиция в памяти связаны друг с другом арифметическими соотношениями таким образом, что по номеру легко вычисляется позиция и, наоборот, по позиции вычисляется номер. В других случаях связь между номерами и позициями задается "таблично" или осуществляется с помощью алгоритмических процедур. Множество позиций обозначим через P. Иногда удобно считать, что в множестве P имеется специальный элемент nil, указывающий на несуществующую область памяти. Таким образом, при рассмотрении того или иного списка мы имеем дело с тремя множествами E, N, P и с отображениями на этих множествах. Типичными при работе со списками являются следующие операции:

    1. нахождение позиции элемента в памяти по его номеру в кортеже;

    2. нахождение позиции элемента, следующего в кортеже за элементом из заданной позиции;

    3. нахождение позиции элемента, предшествующего в кортеже элементу из заданной позиции;

    4. удаление элемента, находящегося в заданной позиции;

    5. вставка в кортеж нового элемента перед элементом, расположенным в заданной позиции;

    6. определение длины кортежа.

    4.3 Описание структур данных Для более глубокого понимания задачи следует описать используемые структуры данных математически. Пусть - текущий блок, где q - булева переменная, характеризующая тип блока: q= 0- блок является обычным блоком, q=1 -блок является блоком-веткой. где - список блоков, принадлежащей данной ветке; N-количество блоков, принадлежащей данной ветке; Pointer(K)- указатель на ветку K. внутри которой находится блок. Вся схема представляется набором веток. Главный блок хранит внутри себя одну главную ветку. Блок-условие в списке вложенных блоков хранит две ветки, они обозначают левый и правый выходы из блока-условия. Внутри блока-цикла хранится одна ветка, которая, хранит все блоки, которые находятся внутри цикла. Точки вставки не хранятся вместе с блоками, они представляются отдельными объектами. Пусть Т<L, Pointer(K)> - точка вставки. где L - это блок, после которого располагается точка; Pointer(K)-Указатель на ветвь, внутри которой находится блок соответствующий точке вставки. 4. 4 Алгоритм программы

    Изначально схема состоит из двух блоков - начала и конца. При нажатии кнопки определенного блока, программа переключается в режим вставки. В режиме вставки все доступные точки вставки Т подсвечиваются красным цветом, а точки вставки, которая находится непосредственно под курсором синим (см. пункт 4.6). При клике по точке вставки на месте этой точки появляется блок.

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

    При удалении блока определяется ветка, которой принадлежит этот блок, и из списка элементов этой ветки удаляется соответствующий блок. Координаты блоков схемы рассчитываются заново.

    4. 5 Диаграмма классов На диаграмме классов представлено подробное описание классов использующихся в программе. Сначала рассмотрим классы блоков. На рисунке 4.1 приведена диаграмма классов блоков. Главный блок (ChartMainBlock) реализует метод сохранения схемы. В программе схема сохраняется в XML формат. Для этого был выбран класс XmlSerializer из пространства имен System.Xml.Serialization. Пространство имен System.Xml.Serialization содержит классы, используемые для сериализации объектов в документы или потоки формата XML. Центральным классом в пространстве имен является класс XmlSerializer, который позволяет сохранять состояние объектов в формате XML и затем восстанавливать объекты из этого формата. XmlSerializer сериализует и десериализует объекты в документы XML и из них. XmlSerializer позволяет контролировать способ кодирования объектов в XML. Пример XML файла сгенерированного программой можно посмотреть в приложении Б. Каждый блок наследуется от абстрактного класса Block. Текст блока хранится в поле Text, для циклов дополнительно используется поле TextAtTheEnd (определяет текст блока, закрывающего цикл), тип блока определяется классом блока. Каждый блок определяет собственный метод для отрисовки. public abstract class Block public List<Block> Items; public Block Branch; 5 . Описание интерпретатора использованного в программе В программе был использован интерпретатор Jint. Jint - это интерпретатор языка JavaScript для .NET приложений. Используя Jint. NET разработчики могут добавлять динамическое поведение в свои приложения, запуская скрипты JavaScript без компиляции. Jint имеет набор возможностей которые делают возможной связь межжу окружением JavaScript и окружением .NET во время выполнения. Jint обеспечивает весь функционал JavaScript в .NET приложениях и связь с .NET языками. Jint может использовать любые классы и объекты .NET. func() В начале работы каждая функция создает внутри себя переменную arguments и присваивает arguments.callee ссылку на себя. Так что arguments.callee.test - свойство func.test, т.е статическая переменная test. 5. 3. 5. 3 Параметры функции Функции можно запускать с любым числом параметров. Если функции передано меньше параметров, чем есть в определении, то отсутствующие считаются undefined. Непосредственно перед входом в тело функции, автоматически создается объект arguments, который содержит:

    1. аргументы вызова, начиная от нуля;

    2. длину в свойстве length;

    3. ссылку на саму функцию в свойстве callee;

    4. свойство arguments похоже на массив, т.к у него есть длина и числовые индексы.

    6 . Описание системы и руководство пользователя Нами было создано приложение программа-редактор схем. С помощью этой программы можно создавать, сохранять, редактировать блок-схему программы, а также выполнять исходный код, который генерируется по ходу редактирования схемы. Главное окно приложения показано на рисунке 6.1. Рисунок 6.1 - Внешний вид главной формы приложения На главной форме приложения расположены следующие компоненты, определяющие функциональность программы: 1. главное меню; 2. панель инструментов и операций; 3. окно с исходным кодом программы, соответствующей построенной схеме; 4. окно с результатом выполнения программы. 6.1 Описание главного меню Главное меню программы имеет два раздела «Файл» и «Код» программы. Раздел «Файл» представлен на рисунке 6.2. Рисунок 6.2 - раздел «Файл» главного меню программы Описание опций раздела «Файл» главного меню программы: 1. Новая схема - создать новую схему. 2. Открыть - открыть существующую схему из формата XML. 3. Сохранить - сохранить блок-схему в уже открытый файл (если файл был открыт) иначе сохранить в новый файл. 4. Сохранить как - сохранить схему в новый файл. 5. Выход - выйти из программы. Раздел «Код программы» представлен на рисунке 6.3. Рисунок 6.3 - раздел «Код программы» главного меню программы Выполнить - запустить выполнение кода программы. Результат выполнения будет отображен в окне Результат выполнения кода. 6.2 Описание панели инструментов и операций Ниже приведено описание панели инструментов и операций, которые используются в программе: 1. Кнопка «Обычный блок» позволяет добавить в схему блок процесса. 2. Кнопка «Условие» позволяет добавить в схему блоки условия. 3. Кнопка «Цикл» позволяет добавить в схему блоки цикла. 4. Кнопка «Очистить схему» удаляет всю структуру схемы и возвращает схему к исходному состоянию begin-end. 5. Кнопка «Удалить блок» позволяет удалить выделенный блок или всю ветку, чтобы выбрать блок надо кликнуть по нему. 6.3 Описание вставки новых блоков Для вставки нового блока нужно: 1. на панели инструментов нажать кнопку нужного блока; 2. на схеме появятся точки для вставки нового блока (рисунок 6.4). Узел, находящий под курсором, подсвечивается синим цветом, остальные доступные узлы красным. Рисунок 6.4 - Режим вставки нового блока 3. Кликнуть по нужной точке вставки. Вставится новый блок и программа сама выровняет все блоки схемы (рисунок 6.5): Рисунок 6.5 - Результат вставки нового блока 6.4 Выполнение кода блок схемы По ходу редактирования блок схемы, в правой части окна будет обновляться код схемы. В любой момент его можно выполнить, воспользовавшись кнопкой «Выполнить» из раздела «Код программы» в главном меню. Главным достоинством созданной нами программы являются простота создания схем, не нужно открывать множество окон и всплывающих меню, для того, чтобы создать схему. Откройте программу, выберите нужные блоки и подпишите их. Схема создана, теперь вы можете экспортировать созданную схему в какую-либо программу, чтобы интегрировать схему, куда вам нужно. 7. Примеры программ созданных в редакторе В этом разделе приведены программы, созданные в редакторе. 7.1 Решение квадратного уравнения Пример решения квадратного уравнения приведен на рисунке 7.1. Рисунок 7.1 - Решение квадратного уравнения 7.2 Сортировка массива пузырьком Пример сортировки массива приведен на рисунке 7.2. Рисунок 7.2 - Сортировка массива пузырьком 7.3 Среднее значение элементов массива Пример вычисления среднего значения элементов массива приведен на рисунке 7.3. Рисунок 7.3 - Среднее значение элементов массива Заключение В ходе данной курсовой работы была разработана система визуального программирования. Были реализованы основные функции этой системы, такие как сохранение построенной схемы в XML, автоматическая генерация программного кода и автоматическое расположение блоков на форме. Был разработал удобный визуальный редактор для создания блок-схем программ. С его помощью пользователь может в интерактивном режиме проверять результат своей работы, запускать выполнение кода своей программы. Программа была написана на платформе .NET Framework, были изучены и использованы некоторые возможности этой платформы. Полученную программу можно использовать в школах на начальных этапах обучения программированию. Приложение А (справочное) Исходный текст программы редактора схем 1) Block.cs using System; using System.Collections.Generic; using System.Drawing; using flowchart.blocks; using System.Xml.Serialization; namespace flowchart [Serializable] public abstract class Block public List<Block> Items; [XmlIgnore] public Block Branch; protected int w = 100; protected int h = 50; protected int marginTop; protected int marginRight; protected int marginBottom; protected int marginLeft; [XmlIgnore] public int width; [XmlIgnore] public int height; [XmlIgnore] public int X; [XmlIgnore] public int Y; [XmlIgnore] public bool isSelected = false; //смещение вниз чтобы не перекрывало точку вставки protected int dy = 18; [XmlAttribute] public string Text; [XmlAttribute] public string TextAtTheEnd; protected Font drawFont = new Font("Sans Serif", 10); protected SolidBrush drawBrush = new SolidBrush(Color.Black); protected static StringFormat strFormat = new StringFormat() Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center public Block() < > public Block (string text) Branch = null; Items = new List<Block>(); this.Text = text; public virtual bool PointInsideBlock(int x, int y) int blockX = X + width / 2 - w/2; int blockY = Y + dy; return ((x > blockX && x < blockX + w) && (y > blockY && y < blockY + h)); public void AdjustSize() int clientWidth = 0; int clientHeight = 0; if (this is Branch) foreach (Block item in Items) item.AdjustSize(); if (clientWidth < item.width) clientWidth = item.width; clientHeight += item.height; int minWidth = 180; int minHeight = 16; if (clientHeight < minHeight) clientHeight = minHeight; if (clientWidth < minWidth) clientWidth = minWidth; height = clientHeight; width = clientWidth; foreach (Block item in Items) item.AdjustSize(); if (clientHeight < item.height) clientHeight = item.height; clientWidth += item.width; marginTop = 40; marginBottom = 40; marginLeft = 10; marginRight = 10; if (this is ChartMainBlock) marginTop = 40; marginBottom = 18; else if (this is RegularBLock) marginTop = 16; marginBottom = 10; clientWidth = 120; clientHeight = 60; else if (this is ConditionBlock) marginTop = 92;