Непейвода Н.Н. Программирование. Раздел 4

Непейвода Н.Н. Программирование. Страница 412

Новым по отношению к рассмотренным ранее абстрактносинтаксиче­ским структурам у конструктора набора компонент является то, что де

рево строится как часть атрибутной информации вершины. Эта ситуация аналогична процедурам: в данном случае атрибут фиксирует структуру, ко­торая должна использоваться при вычислениях в качестве программы для абстрактного вычислителя.

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

9.3.2. Записи

Этот конструктор представляет в программах структуру, в которой реа­лизуется математическое понятие декартового произведения множеств зна­чений компонентов. В программировании он называется конструктором записей (РаэсаГя) или конструктором структур (С/С++, Алгол 68). Ком­поненты записи называются полями. Каждое поле имеет собственное имя и явно указываемый тип значений, которые оно может принимать. Как след­ствие, число компонентовполей всегда статически определено.

Существуют две точки зрения на понятие записи, касающиеся упорядо­ченности ее полей. Первая отражает абстрактный подход, согласно которо­му совокупность полей для их использования не требует знания порядка их следования в описании, вторая связывает порядок следования полей в опи­сании с их порядком размещения в памяти, т. е. восходит к реализационному представлению. В C/C++ структуры — это упорядоченный набор, а стандарт языка Pascalразрешает при реализации размещать поля записи в любом порядке. Но, независимо от представления, порядковый номер поля не ис­пользуется для селектирования. По причинам, описанным в § 9.3.1, никогда не предлагаются средства организации цикла по полям: запись объединя­ет, как правило, разнотипные и прагматически разнородные компоненты, их обработку не получается описывать единообразно.

Новости

  • 1
  • 2
Prev Next

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

24.01.2016

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

Роскосмос не планирует в течение ближайшего десятилетия осуществлять пуск тяжёлой ракеты-носителя А...

Ученые РФ опровергли выводы исследований о вреде ГМО

24.01.2016

Ученые РФ опровергли выводы исследований о вреде ГМО

Исследователи из Института проблем передачи информации (ИППИ РАН) проанализировали несколько самых п...

Летающие "Крокодилы"

24.01.2016

Летающие "Крокодилы"

20 удивительных фактов о боевом вертолете Ми-24.Этот вертолет стал таким же узнаваемым символом сове...

В Аргентине описали новый вид динозавра-гиганта

24.01.2016

О ранее неизвестном виде динозавра, относящемуся к инфраотряду зауроподов, рассказали аргентинские п...

Реклама