Ви є тут

Управління процесом символьних перетворень при розв'язанні задач комп'ютерної алгебри

Автор: 
Швалюк Тетяна Миколаївна
Тип роботи: 
Дис. канд. наук
Рік: 
2008
Артикул:
0408U000491
129 грн
Додати в кошик

Вміст

РАЗДЕЛ 2
ОСНОВНЫЕ ПРОЦЕДУРЫ СИСТЕМЫ КОМПЬЮТЕРНОЙ АЛГЕБРЫ
В этом разделе решена задача выбора наиболее типичных базовых средств
необходимых для создания СКА с высоким уровнем интеллекта. Выполнена
классификация ее процедур. Приведены результаты исследования основных свойств и
особенностей сигнатуры СКА и основные алгоритмы базовых процедур языка А-2000.
2.1. Классификация и свойства процедур компьютерной алгебры
В результате выполненных исследований была получена приведенная ниже
классификация средств КА. Под средствами входного языка мы понимаем процедуры
работы с данными и программой - функции и операторы языка. Эти средства должны
обладать достаточной общностью для полного и лаконичного описания алгоритмов
решения современных задач.
Одной из задач настоящих исследований было выделение множества элементарных
базовых процедур, которые наиболее полно обеспечивают оптимальную реализацию
сложных математических методов. В настоящем подразделе базовые средства
описываются в терминах языка АНАЛИТИК. Всего СКА АНАЛИТИК содержит около 130
операторов и функций, из которых наиболее типичные описаны ниже.
Описанная ниже сигнатура языка А-2000 была определена на основе исследований
многочисленных научных и прикладных программ выполненных в Институте проблем
математических машин и систем. Она содержит процедуры, реализованные в
предыдущих версиях языка АНАЛИТИК и процедуры, которые приходилось эмулировать
в процессе составления программ [68].
Базовые средства СКА АНАЛИТИК делятся на четыре типа (рис. 2.1). Такое деление
условно, т.к. модификации процедур А-2000 могут относиться к различным из
перечисленных ниже типам:
процедуры управления преобразованиями;
средства именования;
процедуры распознавания свойств объектов;
преобразующие процедуры.
Рис. 2.1. Классификация базовых средств СКА
Управление преобразованиями данных и программы выполняется с помощью
специальных функций и операторов.
Средства именования служат для именования объектов.
Средства распознавания используются для распознавания структурных и
функциональных свойств объектов.
К преобразующим процедурам относятся процедуры, которые отображают объекты КА в
другие объекты.
2.1.1. Процедуры управления преобразованиями
Обычно под управлением преобразованиями понимается прежде всего возможность
создавать и использовать различные управляющие конструкции, изменяющие порядок
выполнения предусмотренных программой преобразований в зависимости от тех или
иных условий: циклы, ветвления, условные и безусловные переходы. Однако под
управлением преобразованиями в А-2000 мы понимаем также более сложную проблему
- проблема управления преобразования данных, которая осуществляется режимными
операторами и функциями.
Особенностью аппарата управления в АНАЛИТИКе является то, что выполнение
различных операций и функций в записи данных определяется (разрешается или не
разрешается) не типом данных, а специальными управляющими процедурами.
Глобально – режимными операторами, в пределах программы или нескольких
операторов, или локально – режимными функциями, в пределах объекта или его
части. Режимные операторы и режимные функции, обычно, записываются с помощью
подобных синтаксических структур и различаются только в контексте программ.
Управляющие процедуры АНАЛИТИКа можно условно разделить на 3 вида:
Операторы, управляющие порядком выполнения программы.
Операторы управления преобразованиями данных.
Функции, управляющие преобразованиями данных.
2.1.1.1. Операторы, управляющие порядком выполнения программы
Логическая структура программ в АНАЛИТИКе формируется с помощью операторов
перехода, ветвления, цикла, стирания и подпрограммами. Структура может быть
статической, т.е. сформированной в процессе написания программы, или
динамической, т.е. программа может автоматически изменяться в процессе ее
выполнения.
К управляющим операторам в первую очередь относятся обычные для других языков
операторы цикла: ЦИКЛ, ПОКА, ПОВТОРИТЬ и операторы ВОЗВРАТ, ПРЕРЫВАНИЕ,
ПРОДОЛЖИТЬ, СТЕРЕТЬ, ПРОГРАММА, СТОП, КОНЕЦ, АВОСТ, ТРАССА, ЗНАЧЕНИЕ,
ОСТАНОВКА, ПАМЯТЬ, ТРАНСЛЯЦИЯ, РЕТРАНСЛЯЦИЯ.
Многие операторы А-2000 отличаются рядом уникальных свойств.
Операторы перехода
Оператор безусловного перехода имеет вид
НА (B),
где ЗН(В) – имя оператора, на который происходит переход.
Оператор ветвления имеет вид
ЕСЛИ(В,{О1}{,О2}).
Если ЗН(В)=1 (истина), выполняется оператор О1 (или пустой оператор, при
отсутствии О1). Если ЗН(В)=0 (ложь), выполняется оператор О2 (или пустой
оператор, при отсутствии О2). После этих преобразований выполняется следующий
за ЕСЛИ оператор, если операторами О1 или О2 не предусмотрено другое
продолжение программы. Если ЗН(В) не 0 и не 1, выполняется следующий за ЕСЛИ
оператор.
Операторы являются оригинальными тем, что благодаря системе именования (см.
подразд. 2.1.2) все операторы программы именуются своими порядковыми номерами и
переход может осуществляться относительно заданной метки.
Пример 2.1.
ЕСЛИ(…, НА(L+3),…).
2. ВЫПОЛНИТЬ
Именование операторов номерами дает возможность с помощью оператора ВЫПОЛНИТЬ
рассматривать любое множество операторов как подпрограмму с глобальными
параметрами. Зная номера операторов из любой части программы можно инициировать
выполнение такой "подпрограммы" над полученными в данный момент данными. Так,
оператор
ВЫП ( i, j, k )
инициирует выполнение операторов с порядковыми номерами i, j и k над
непосредственно полученными значениями данных. Такая гибкость управления наряду
с общностью МИС не только резко увеличивает лаконизм программы, но и
психологически приближает работу пользователя к привычной немашинной технологии
м