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

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

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



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

Диаграмма прецедентов представлена на рисунке 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 и с отображениями на этих множествах.

Типичными при работе со списками являются следующие операции:

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

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

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

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

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

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

4.3 Описание структур данных

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

Пусть - текущий блок,