Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UCHPOS98.DOC
Скачиваний:
4
Добавлен:
04.11.2018
Размер:
1.44 Mб
Скачать

5.2.13. Структуры. Оператор описания типа данных. Перемен­ные структурно­го типа

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

TYPE     ИмяСтруктурногоТипаДанных

ИмяЭлемента1   AS   ТипЭлемента1

ИмяЭлемента2   AS   ТипЭлемента2

.....................................................................

END    TYPE

ИмяСтруктурногоТипаДанных и ИменаЭлементов на­зна­ча­ют­ся са­мим про­грам­ми­стом. При этом в языке Basic нуж­но со­блю­дать те же пра­вила, что и для имен переменных (см. 5.2.6).

TYPE, END и AS - служебные слова. Между первой и последней стро­­ками оператора содержатся строки описания элементов структуры, по одной строке на каждый элемент. В них задаются имена элементов и их ти­пы.

Пример. Для рассмотренного выше структурного типа данных, по­именованного нами как Info имеем следующий оператор описания:

TYPE     Info

Det AS   STRING

Num AS   LONG

W AS   SINGLE

END    TYPE

После того как нужный структурный тип задан, можно объявлять пе­ре­мен­ные этого типа. Для этого используется рассмотренный ранее опе­­ра­тор объявления переменных.

Так, в языке Basic для объявления переменной, например, с именем X струк­турного типа Info можно записать:

DIM    X    AS    Info

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

Например, в языке Basic после объявления переменной X структур­ного типа Info можно считать, что она состоит из трех переменных: X.Det типа STRING, X.Num типа LONG и X.W типа SINGLE. Последние мо­гут исполь­зоваться обыч­ным способом. К примеру,

X.Det="Фланец"

Для примера введем теперь еще один структурный тип данных, по­именованный, на­пример, как Product со следующими элементами: Part (информация о партии деталей), Price (стоимость), Fam (фамилия по­ставщика):

Part

Price

Fam

Составное данное типа Info

Данное целого типа

Данное строкового типа

Данные этого типа являются структурами, состоя­щими из: струк­ту­ры ранее введенного типа Info и двух данных эле­ментарного ти­па.

В языке Basic рассмотренный выше структурный тип данных можно опи­сать оператором

TYPE     Product

Part AS   Info

Price AS   LONG

Fam AS   STRING

END    TYPE

Если объявить новую переменную Y оператором:

DIM    Y     AS    Product

то ее внутренние элементы доступны через значения переменных Y.Part струк­турного типа Info, Y.Price типа LONG, Y.Fam типа STRING. В свою очередь, переменная Y.Part состоит из переменных Y.Part.Det типа STRING, Y.Part.Num типа LONG и Y.Part.W типа SINGLE.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]