объекты анализа | ||||
код объекта | название | количество элементов | топо-логия | нагрузки |
элементы | ||||
код объекта | код элемента | тип элемента | геометрия | материал |
структуры | ||||
код объекта | номер узла | способ соединения узлов | начальная точка | конечная точка |
узлы | |||
код элемента | номер узла | координа-ты узла | степени свободы |
Рисунок 3.4 - Логическая модель объектов анализа
Рассмотренная логическая модель данных представляется в виде исходного файла в соответствии с требованиями, предъявляемыми к формату представления исходных данных для ПМК ANSYS. Файл имеет произвольное имя, выбранное пользователем по желанию. Расширение командного файла - bat. Порядок и формат данных оговаривается в разделе “Лингвистическое обеспечение".
Структура исходных данных представлена в таблице.1 в виде физической модели объекта.
Таблица 3.1 Описание структуры файла нормативно-справочной информации
№ | Название поля | Тип, размер | Описание | |
Таблица Elements | ||||
11. | Category | Текст,100 | Категория объекта | |
.2. | Element | Текст,100 | Наименование объекта | |
33. | ModelPict | Графика,1 | Изображение объекта | |
44. | ElemType | Текст,100 | Тип элемента | |
55. | ModelConst | Мемо,100 | Константы объекта | |
66. | MaterialProp | Мемо,100 | Свойства материала | |
77. | ModelBuild | Мемо, 20 | Команды построения объекта | |
Таблица Materials | ||||
11. | Material | Текст, 20 | Материалы объектов | |
22. | EX | Текст,10 | Модуль упругости | |
33. | NUXY | Текст,10 | Коэффициент Пуассона | |
44. | DENS | Текст,10 | Плотность |
В качестве языка программирования мною был выбран язык Object Pascal в силу следующих его свойств:
объектная ориентация этого языка, позволяющая разрабатывать приложения проще и быстрее;
поддержка баз данных;
использование технологии визуального проектирования, позволяющее сосредоточить усилия не на разработке интерфейса, а на реализации логики программы.
В среде программирования Delphi для записи программ используется язык программирования Object Pascal. Программа на Object Pascal представляет собой последовательность инструкций, которые довольно часто называют операторами. Одна инструкция от другой отделяется точкой с запятой.
Каждая инструкция состоит из идентификаторов.
Программа может оперировать данными различных типов: целыми и дробными числами, символами, строками символов, логическими величинами.
Язык Object Pascal поддерживает семь целых типов данных: shortint, smailint, Longint, Int64, Byte, Word и Longword.
Object Pascal поддерживает и наиболее универсальный целый тип - Integer, который эквивалентен Longint.
Язык Object Pascal поддерживает шесть вещественных типов: Reai48, single, Double, Extended, comp, Currency. Типы различаются между собой диапазоном допустимых значений, количеством значащих цифр и количеством байтов, необходимых для хранения данных в памяти компьютера.
Язык Object Pascal поддерживает и наиболее универсальный вещественный тип - Real, который эквивалентен Double.
Язык Object Pascal поддерживает два символьных типа: Ansichar и Widechar:
тип Ansichar - это символы в кодировке ANSI, которым соответствуют числа в диапазоне от 0 до 255;
тип widechar - это символы в кодировке Unicode, им соответствуют числа от 0 до 65 535.
Object Pascal поддерживает и наиболее универсальный символьный тип - Char, который эквивалентен Ansichar
Язык Object Pascal поддерживает три строковых типа: shortstring, Longstring, WideString:
тип shortstring представляет собой статически размещаемые в памяти компьютера строки длиной от 0 до 255 символов;
тип Longstring представляет собой динамически размещаемые в памяти строки, длина которых ограничена только объемом свободной памяти;
тип WideString представляет собой динамически размещаемые в памяти строки, длина которых ограничена только объемом свободной памяти. Каждый символ строки типа WideString является Unicode-символом.
В языке Object Pascal для обозначения строкового типа допускается использование идентификатора string. Тип string эквивалентен типу shortstring.
Логическая величина может принимать одно из двух значений True (истина) или False (ложь). В языке Delphi логические величины относят к типу Boolean.
Переменная - это область памяти, в которой находятся данные, которыми оперирует программа. Когда программа манипулирует с данными, она, фактически, оперирует содержимым ячеек памяти, т.е. переменными.
Чтобы программа могла обратиться к переменной (области памяти), например, для того, чтобы получить исходные данные для расчета по формуле или сохранить результат, переменная должна иметь имя. Имя переменной придумывает программист.
В качестве имени переменной можно использовать последовательность из букв латинского алфавита, цифр и некоторых специальных символов. Первым символом в имени переменной должна быть буква. Пробел в имени переменной использовать нельзя.
Следует обратить внимание на то, что компилятор языка Object Pascal не различает прописные и строчные буквы в именах переменных, поэтому имена SUMMA, Summa и summa обозначают одну и ту же переменную.
В языке Object Pascal каждая переменная перед использованием должна быть объявлена. С помощью объявления устанавливается не только факт существования переменной, но и задается ее тип, чем указывается и диапазон допустимых значений.
В общем виде инструкция объявления переменной выглядит так:
Имя: тип;
где: имя - имя переменной;
тип - тип данных, для хранения которых предназначена переменная.
В тексте программы объявление каждой переменной, как правило, помещают на отдельной строке.
Если в программе имеется несколько переменных, относящихся к одному типу, то имена этих переменных можно перечислить в одной строке через запятую, а тип переменных указать после имени последней переменной через двоеточие.
Инструкция присваивания является основной вычислительной инструкцией. Если в программе надо выполнить вычисление, то нужно использовать инструкцию присваивания.
В результате выполнения инструкции присваивания значение переменной меняется, ей присваивается значение.
В общем виде инструкция присваивания выглядит так: Имя: = Выражение.
Выражение состоит из операндов и операторов. Операторы находятся между операндами и обозначают действия, которые выполняются над операндами. В качестве операндов выражения можно использовать: переменную, константу, функцию или другое выражение. При записи выражений между операндом и оператором, за исключением операторов DIV и MOD, пробел можно не ставить.
Результат применения операторов +, - , * и / очевиден.
Оператор DIV позволяет получить целую часть результата деления одного числа на другое. Например, значение выражения is DIV i равно 2.
Оператор MOD, деление по модулю, позволяет получить остаток от деления одного числа на другое.
В простейшем случае выражение может представлять собой константу или переменную.
При вычислении значений выражений следует учитывать, что операторы имеют разный приоритет. Так у операторов *, /, DIV, MOD более высокий приоритет, чем у операторов + и - .
Приоритет операторов влияет на порядок их выполнения. При вычислении значения выражения в первую очередь выполняются операторы с более высоким приоритетом. Если приоритет операторов в выражении одинаковый, то сначала выполняется тот оператор, который находится левее.
Для задания нужного порядка выполнения операций в выражении можно использовать скобки.
Выражение, заключенное в скобки, трактуется как один операнд. Это означает, что операции над операндами в скобках будут выполняться в обычном порядке, но раньше, чем операции над операндами, находящимися за скобками. При записи выражений, содержащих скобки, должна соблюдаться парность скобок, т.е. число открывающих скобок должно быть равно числу закрывающих скобок.