Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Аксіоматика структурних і складних типів даних. Структурні типи даних.

Структурний тип даних – це масив і запис, що будуються з базових і не структурних типів даних, що містить у собі набір впорядкованих елементів, кожний з яких обробляється як самостійний тип.

Масив конструюється з базових типів і представляється механізмом відображення множини індексів I масиву на множину значень Y елементів масиву [8]:

M: I → Y.

Над даним типом – масив – можуть виконуватися операції:

– впорядкування елементів масивів;

– додавання й віднімання елементів однотипних масивів,

– множення двовимірних масивів за правилами множення матриць та ін.

Операція множення накладає обмеження на область значень індексів масивів, обумовлених математичними правилами множення матриць. Операції додавання і віднімання виконуються для числових масивів, входять до складу множини загальних операцій над масивами і мають вигляд:

Xα = { x |( x1 Xα) & ( x2 Xα) I( x1) =

I( x2))& (Y (x1) Y(x2) α) )}, Ωα = { ≤ },

type Та = аrrаy Т(I) of T( ),

де I(х) – множина індексів х для масиву , Y(x)– множина значень елементів масиву, α) – множина значень елементів для будь-яких типів масиву, Та – тип даних масив; Т(I) – тип даних індексів масиву; T( )– тип даних для множини значень елементів масивів типу Та.

Виходячи з другого виразу наведеного визначення до даного типу належать тільки ті масиви, в яких множини індексів співпадають, а множини значень їхніх елементів належать тій самій числовій множині, що характеризує даний тип. Операції виконуються над масивами як над єдиним значенням, що відповідає типові даних масиву. Дані типу Т(Y)в описі масиву Та в свою чергу можуть визначатися рекурсивно, тобто через масив за наступною схемою: type Та = array T(I1) оf T(Y1),

type T(Y1)= array Т(I2)оf Т(Y2), що є еквівалентним наступному запису: type Та = array Т(I1 I2) оf Т(Y2).

Множина індексів масивів, що належать до типу Та, представлена у виді прямого добутку множин значень для типів Т(I1Т(I2).

Запис, як і масив, представляє собою конкатенацію окремих компонентів, які можуть мати різні типи. Множина значень типу запис – прямий добуток множини значень її компонентів. До множини операцій, виконуваних над записами, відносяться тільки операції зіставлення, використовувані для порівняння однотипних структур (типи компонентів порівнюваних записів і їхній порядок проходження однакові):

Xz = {x | (x=xv1 . . . xvn) & (xv1 X v1) & . . . & (xvn X vn )}, Ωz = { ≤ }.

Загальна форма представлення типу запису має вигляд

type Тz = (Sv1: ; ... Svn : ).

де , ..., – селектори, а , ..., типи даних компонентів запису.

У МП запис ( , ..., ) описується в такий спосіб:

type T z = record

: , : : end.

Операції виконуються над записом як над єдиним структурним значенням. Обробка окремих компонентів запису виконується за допомогою операцій селектора, аналогічно відповідній операції обробки масиву.

Складні типи даних. До них відносяться: множини, об'єднання, списки, послідовності, дерева та ін. Деякі з цих типів – стандартні в конкретних МП, інші реалізуються шляхом моделювання через відповідні структури й операції над ними. При цьому представлення даних операцій у МП менш формалізовано.

Множини. Загальна форма представлення цього типу даних має вигляд:

type T = powerset T0,

де Т – тип множини; Т0 базовий тип для його елементів.

Тип Т включає операції над множинами як над математичними типами – об'єднання, перетин, різниця, включення, тотожність і ін. За допомогою операцій селектора здійснюється вибір типу Т0 з об'єкта типу Т, а за рахунок операції конструювання – формування з одного або з декількох елементів типу Т0 об'єкта типу Т.

Об'єднання. Загальна форма для типу об'єднання має вигляд:

type T = union ( , ..., ),

де Т – тип об'єднання; , ..., – базові типи.

Деякий об'єкт типу Т має значення й ознаку, за якою визначається один з типів , ..., для даного значення. Механізм реалізації об'єднання подібний до механізму реалізації варіантних записів. Відмінність полягає в тому, що сама ознака не висвітлена на відміну від ознаки варіантного запису, до якої він входить як окремий компонент.

Списки. Це конструктивний елемент МП Лисп. Елемент списку описується як запис з однієї або декількох компонент посилального типу, над якими виконуються операції, аналогічні операціям над фіксованими записами. Існують також операції, застосовувані до цілого списку: вибір початкового елемента, одержання залишку списку, з'єднання списків, їх порівняння, інвертування, пошук елементів у списку й ін. Ці операції належать до засобів мови Лисп.

Послідовність. Загальна форма має вигляд: type T = sequence T0, де Т – тип послідовності, а T0 – базовий тип. Послідовність – один з варіантів типу списку, у якому кожен елемент містить тільки одне посилання для забезпечення однобічного зв'язку. Операції над послідовностями аналогічні операціям над списками. Один з різновидів послідовності – рядок. Для рядка кожен елемент, крім посилальної змінної, містить елемент символьного типу.

Дерева. Це спискові структури, що використовуються для представлення графів або інших аналогічних об'єктів. Множина операцій над деревами аналогічна множині операцій над списками. Реалізація цих операцій залежить від конкретних додатків.

Крім розглянутих типів, у програмуванні використовуються таблиці, файли і всілякі комбінації перерахованих вище типів.

 


Читайте також:

  1. I етап. Аналіз впливу типів ринку на цінову політику.
  2. Аксіоматика простих типів даних
  3. Архіватори даних.
  4. Баові поняття стандарту з типів даних
  5. Ввід початкових даних.
  6. Вивчення структури та зв”язку структурних зрушень елементів.
  7. Вивчення типів речень за метою висловлювання й за інтонацією
  8. Види і структура внутрішніх правовідносин у приватних аграрних підприємствах кооперативного і корпоративного типів.
  9. Види, фактори і ступінь порушення типів місцевості.
  10. ВИЗНАЧЕННЯ ОСНОВНИХ СТРУКТУРНИХ ПАРАМЕТРІВ ПРОЕКТУВАННЯ ВЕРСТАТА
  11. Визначення типів нервової системи тварин і людини.




Переглядів: 1136

<== попередня сторінка | наступна сторінка ==>
Аксіоматика простих типів даних | Семантичні аспекти взаємодії різнорідних програм

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.014 сек.