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

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



о на рисунке 6.1.

Рисунок 6.1 - Внешний вид главной формы приложения

На главной форме приложения расположены следующие компоненты, определяющие функциональность программы:

. главное меню;

. панель инструментов и операций;

. окно с исходным кодом программы, соответствующей построенной схеме;

. окно с результатом выполнения программы.

6.1 Описание главного меню

Главное меню программы имеет два раздела Файл и Код программы.

Раздел Файл представлен на рисунке 6.2.

Рисунок 6.2 - раздел Файл главного меню программы

Описание опций раздела Файл главного меню программы:

. Новая схема - создать новую схему.

. Открыть - открыть существующую схему из формата XML.

. Сохранить - сохранить блок-схему в уже открытый файл (если файл был открыт) иначе сохранить в новый файл.

. Сохранить как - сохранить схему в новый файл.

. Выход - выйти из программы.

Раздел Код программы представлен на рисунке 6.3.

Рисунок 6.3 - раздел Код программы главного меню программы

Выполнить - запустить выполнение кода программы. Результат выполнения будет отображен в окне Результат выполнения кода.

6.2 Описание панели инструментов и операций

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

. Кнопка Обычный блок позволяет добавить в схему блок процесса.

. Кнопка Условие позволяет добавить в схему блоки условия.

. Кнопка Цикл позволяет добавить в схему блоки цикла.

. Кнопка Очистить схему удаляет всю структуру схемы и возвращает схему к исходному состоянию begin-end.

. Кнопка Удалить блок позволяет удалить выделенный блок или всю ветку, чтобы выбрать блок надо кликнуть по нему.

6.3 Описание вставки новых блоков

Для вставки нового блока нужно:

. на панели инструментов нажать кнопку нужного блока;

. на схеме появятся точки для вставки нового блока (рисунок 6.4). Узел, находящий под курсором, подсвечивается синим цветом, остальные доступные узлы красным.

Рисунок 6.4 - Режим вставки нового блока

3. Кликнуть по нужной точке вставки. Вставится новый блок и программа сама выровняет все блоки схемы (рисунок 6.5):

Рисунок 6.5 - Результат вставки нового блока

6.4 Выполнение кода блок схемы

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

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

7. Примеры программ созданных в редакторе

В этом разделе приведены программы, созданные в редакторе.

7.1 Решение квадратного уравнения

Пример решения квадратного уравнения приведен на рисунке 7.1.

Рисунок 7.1 - Решение квадратного уравнения

7.2 Сортировка массива пузырьком

Пример сортировки массива приведен на рисунке 7.2.

Рисунок 7.2 - Сортировка массива пузырьком

.3 Среднее значение элементов массива

Пример вычисления среднего значения элементов массива приведен на рисунке 7.3.

Рисунок 7.3 - Среднее значение элементов массива

Заключение

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

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

Программа была написана на платформе .NET Framework, были изучены и использованы некоторые возможности этой платформы.

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

Приложение А

(справочное)

Исходный текст программы редактора схем

1) Block.csSystem;System.Collections.Generic;System.Drawing;flowchart.blocks;System.Xml.Serialization;flowchart

{

[Serializable]abstract class Block

{List Items;

[XmlIgnore]Block Branch;int w = 100;int h = 50;int marginTop;int marginRight;int marginBottom;int marginLeft;

[XmlIgnore]int width;

[XmlIgnore]int height;

[XmlIgnore]int X;

[XmlIgnore]int Y;

[XmlIgnore]bool isSelected = false;

//смещение вниз чтобы не перекрывало точку вставки

protected int dy = 18;

[XmlAttribute]string Text;

[XmlAttribute]string TextAtTheEnd;Font drawFont = new Font("Sans Serif", 10);SolidBrush drawBrush = new SolidBrush(Color.Black);static StringFormat strFormat = new StringFormat()

{= StringAlignment.Center,= StringAlignment.Center

};Block() { }Block (string text)

{= null;= new List();= 0;= 0;.Text = text;

}virtual bool PointInsideBlock(int x, int y)

{blockX = X + width / 2 - w/2;blockY = Y + dy;((x > blockX && x blockY && y < blockY + h));

}void AdjustSize()

{clientWidth = 0;clientHeight = 0;(this is Branch)

{(Block item in Items)

{.AdjustSize();(clientWidth < item.width)= item.width;+= item.height;

}minWidth = 180;minHeight = 16;(clientHeight < minHeight)= minHeight;(clientWidth < minWidth)= minWidth;= clientHeight;= clientWidth;

}

{(Block item in Items)

{.AdjustSize();(clientHeight < item.height)= item.height;+= item.width;

}= 40;= 40;