- •Модуль 5. «Язык express»
- •Слайд 1.Введение
- •Слайд 2. Требования к обмену данными
- •Пояснения
- •Слайд 3. Общие сведения о языке
- •Пояснения
- •Слайд 4. Основные свойства языка
- •Пояснения
- •Слайд 5. Объектно-ориентированный подход
- •Пояснения
- •Слайд 6. Основной элемент языка
- •Пояснения
- •Слайд 7. Компоненты языка
- •Слайд 14. Двоичный литерал
- •Слайд 21. Тип данных и сущность
- •Пояснения
- •Слайд 22. Простой тип
- •Пояснения
- •Слайд 23. Числовой тип (number)
- •Пояснения
- •Слайд 24. Вещественный тип (real)
- •Пояснения
- •Слайд 25. Целочисленный тип (integer)
- •Слайд 29. Двоичный тип (binary)
- •Пояснения
- •Слайд 30. Агрегированный тип
- •Пояснения
- •Слайд 31. Массив (array)
- •Пояснения
- •Слайд 32. Список (list)
- •Пояснения
- •Слайд 33. Множество (set)
- •Пояснения
- •Слайд 34. Мультимножество (bag)
- •Пояснения
- •Слайд 35. Многомерные агрегированные типы
- •Пояснения
- •Слайд 36. Поименованный тип
- •Пояснения
- •Слайд 37. Составной тип
- •Пояснения
- •Слайд 38. Понятие
- •Пояснения
- •Слайд 39. Схема (schema)
- •Пояснения
- •Слайд 40. Константы (constant)
- •Пояснения
- •Слайд 41. Определяемый тип (type)
- •Пояснения
- •Слайд 42. Правило области значений определяемого типа
- •Пояснения
- •Слайд 43. Сущность (entity)
- •Пояснения
- •Слайд 44. Атрибут сущности
- •Пояснения
- •Слайд 45. Локальное правило сущности
- •Пояснения
- •Слайд 46. Правило уникальности
- •Пояснения
- •Слайд 47. Правила области значений
- •Пояснения
- •Слайд 48. Наследование
- •Пояснения
- •Слайд 49. Интерфейс между схемами
- •Пояснения
- •Слайд 50. Пример информационной модели
- •Пояснения
- •Слайд 51. Основные принципы express-g
- •Пояснения
- •Слайд 52. Знаки определения
- •Пояснения
- •Слайд 53. Знаки связи
- •Пояснения
- •Слайд 54. Знаки композиции
- •Пояснения
- •Слайд 55. Диаграмма уровня сущности
- •Пояснения
- •Слайд 56. Диаграмма уровня схемы
- •Пояснения
- •Слайд 57. Программная поддержка express
- •Пояснения
- •Слайд 58. Резюме
Слайд 30. Агрегированный тип
Пояснения
Агрегированный типпредставляет собой встроенный тип языкаEXPRESS, элементами области значений которого являются наборы значений (а не единичные значения, как в случае с простым типом). В такой набор включаются только значения одного типа, называемогобазовым типомданного агрегированного типа. Сам набор конкретных значений называетсяэкземпляромагрегированного типа. Отдельные значения из набора значений являютсяэлементамиагрегированного типа. Всего вEXPRESSсуществует четыре агрегированных типа:
Массив (ARRAY).
Список (LIST).
Множество (SET).
Мультимножество (BAG).
На агрегированные типы языка EXPRESSмогут накладываться дополнительные ограничения, требующиеуникальностивсех элементов в наборе значений (в таком случае в объявлении типа употребляется ключевое слово «UNIQUE») или разрешающиеотсутствиеотдельных элементов в наборе значений (в таком случае в объявлении типа употребляется ключевое слово «OPTIONAL»). Например, в объявленном на слайде массиве могут отсутствовать отдельные элементы, а в объявленном на слайде списке все элементы должны быть уникальны.
Слайд 31. Массив (array)
Пояснения
Элементы агрегированного типа «Массив» упорядочены, а размер набора значенийфиксирован. Каждый элемент массива проиндексирован по порядку целым числом и доступ к элементу осуществляется в соответствии с его номером. Массив значений может быть использован для представления, например, координат точки в пространстве, которые упорядочены согласно осям координат и количество которых строго фиксировано. При обозначении массива используется ключевое слово «ARRAY», за которым идет спецификация границ массива, состоящая из двух чисел. Первое число обозначает наименьший номер элемента массива, а второе число обозначает наибольший номер элемента массива. После ключевого слова «OF» идет базовый тип данных массива.
На слайде приведены примеры объявления массивов из 10 элементов:
ARRAY[1:10] OF REAL - массив типа REAL. Наименьший номер элемента массива 1, наибольший 10.
ARRAY[0:9]OFOPTIONALsomething- массив типаsomething, допускающий отсутствие некоторых элементов. Наименьший номер элемента 0, наибольший 9.
ARRAY[-5:4]OFUNIQUESTRING- массив типаSTRINGвсе значения которого должны быть уникальны. Наименьший номер элемента -5, наибольший 4.
Слайд 32. Список (list)
Пояснения
Агрегированный тип «Список» представляет собой последовательность значений. Элементы последовательности упорядочены, но размер последовательности по умолчаниюне фиксирован. Элементы списка не являются проиндексированными, а доступ к ним осуществляется по номеру позиции, которую они занимают в списке. Примером списка является перечень операций, которые необходимо выполнить при проектировании изделия. Эти операции упорядочены, но их перечень и количество могут меняться из-за добавления и удаления операций. При обозначении списка используется ключевое слово «LIST», за которым может идти спецификация его размера: минимальное и максимальное количество элементов (в противном случае размеры списка не фиксированы). При этом список может иметь наименьшую границу, но быть неограниченным сверху, для этого вместо второго числа после двоеточия ставится знак неопределенного значения, т.е. «?».
На слайде приведены примеры объявления списков:
LISTOFINTEGER– список неограниченного числа элементов типаINTEGER;
LIST[1:10]OFUNIQUEsomething- список десяти элементов типаsomething, значения которых должны быть уникальными. Наименьший номер элемента списка 1, наибольший 10;
LIST[1: ?]OFSTRING- неограниченный сверху список элементов типаSTRING. Наименьшая граница списка 1.