Ющенко, Юрій2021-01-092021-01-092020Ющенко Ю. О. Окремі аспекти декларативності "мінус штрих-операції" / Ющенко Ю. О. // Наукові записки НаУКМА. Комп'ютерні науки. - 2020. - Т. 3. - С. 17-26.2617-3808https://doi.org/10.18523/2617-3808.2020.3.17-26https://ekmair.ukma.edu.ua/handle/123456789/19189У роботі розглянуто "мінус штрих-операцію", яку було введено як обернену до "штрих-операції" (1955 р.). Аналогом "штрих-операції" є розіменування вказівника (1964 р.). На прикладі продемонстровано, що для отримання адреси лінійного однозв’язного списку в Адресному програмуванні можна вказати порядковий номер цього вузла у списку. У цьому полягає перевага "штрих-операції" над розіменуванням вказівника. "Мінус штрих-операцію" в імперативних мовах програмування високого рівня не застосовують, оскільки за своєю сутністю вона належить до декларативної концепції програмування. У роботі досліджено динамічну (неявну) типізацію даних в Адресній мові програмування та наведено загальну класифікацію типів даних. У статті подано приклад представлення дерева в Адресній мові програмування шляхом указування "батьків" вершин дерева, без зазначення сукупності синів, як це потрібно робити в імперативних мовах програмування. В Адресному програмуванні сукупність адрес усіх синів можна отримати застосуванням до адреси вершини "мінус штрих-операції". Із цього та інших наведених прикладів випливає універсальна потужність "мінус штрих-операції" як інструменту декларативного програмування. Адресна мова програмування є багатоконцептуальною та поєднує у собі концепції імперативного та декларативного програмування. Основою декларативної концепції Адресного програмування (1955 р.) є "мінус штрих-операція".The article considers the capacities of "Minus stroke-operation", which was introduced as the inverse of "stroke-operation" (dereferencing a pointer). Addressing higher ranks Address Programming is based on "stroke-operation" and, in contrast to the dereference (or indirection) operator, allows you to specify the rank of addressing, which can be both an integer value or an expression of integer type. The paper gives an example of using a "stroke-operation" to obtain the address of an arbitrary element of a linear single-linked list by its sequence number. The dereference operator of modern programming languages does not allow to make it and demands implementation with use of a cycle. "Minus stroke operation" operation is not used in imperative high-level programming languages, because it belongs to the declarative paradigm of programming. Address programming language has the dynamic types of data, which are based on "minus stroke-operation". This article provides some specific examples of the use of "minus stroke-operation" in the Address Programming language and compares the capabilities of this operation with some modern declarative programming tools. From the above examples it follows the universal power of "minus stroke-operation" as a tool of declarative programming. The paper presents an example of tree representation using "minus stroke-operation". In Address Programming, you can represent trees by defining only the vertex parents. The result of applying to the address of the node "minus the stroke-operation" is a set of sons of this node. An example of a tree representation in the Address Programming Language with parent-only indication is given. The Address Programming Language is multi-conceptual and combines the concepts of imperative and declarative programming. The basis of the declarative concept of Address Programming (1955) is "minus stroke-operation".uk"штрих-операція""мінус штрих-операція"адресне сортуваннябагатовимірне адресне сортуванняспискидвозв’язні спискидереваабстрактні типи данихструктури данихпрості даніскалярні данімасивизаписивказівникипоказникипосиланняPointersтипи данихнеявна типізаціянеявна типізація данихбази данихреляційні бази данихSQLForeign Keyінформаційні системилогічне програмуванняімперативне програмуваннядекларативне програмуваннямови програмуваннястаттяstroke operationminus stroke operationaddress sortingmultidimensional address sortingliststwo-linked liststreesabstract data typedata structuressimple datascalar dataarraysrecordsindicatorslinksPointersdata typesimplicit typingimplicit data typingDatabasesRelational DatabasesSQLForeign Keyinformation systemslogical programmingimperative programmingdeclarative programmingprogramming languagesОкремі аспекти декларативності "мінус штрих-операції""Minus Stroke-operation" and its Declarative AspectsArticle