Просмотр содержимого документа
«Реферат на тему "Возможности системы Аналитик-С для решения математических задач"»
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«МОРДОВСКИЙ ГОСУДАРСТВЕННЫЙ
ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ М.Е. ЕВСЕВЬЕВА»
Физико-математический факультет
Кафедра информатики и вычислительной техники
РЕФЕРАТ
ВОЗМОЖНОСТИ СИСТЕМЫ АНАЛИТИК – С ДЛЯ РЕШЕНИЯ МАТЕМАТИЧЕСКИХ ЗАДАЧ
Автор работы _____________________________________А. С. Тимошкина
Направление подготовки 44.03.05 Педагогическое образование (с двумя профилями подготовки) Профиль Математика. Информатика
Руководитель работы
канд. физ.-мат. наук, доцент__________________________Т. В. Кормилицына
Оценка__________________
Саранск 2021
Содержание
Введение 2
1 История возникновения системы «Аналитик-С» 4
2 Описательная характеристика системы «Аналитик-С» 6
2.1 Алфавит системы «Аналитик-С» 7
2.2 Идентификаторы системы «Аналитик-С» 8
2.3 Синтаксис графического окна 12
2.4 Синтаксис командного окна 13
Список использованных источников 16
Введение
В настоящее время, не имея отечественной системы аналитических вычислений, наличие многообразия зарубежных систем компьютерной алгебры является в своём роде некоторым спасением. Это обусловливается тем, что программная реализация (с их использованием) алгоритмов, например, аналитической теории автоматического управления, зачастую затруднительна, а в ряде случаев и невозможна. Рост уровня входных языков – общая тенденция в программировании. Основная цель – сократить время на разработку программ и передать формальные, рутинные операции по их переводу на машинный язык и распределению памяти самой ЭВМ. Отдавая отчет в том, что дальнейшее отставание в этой области не способствует паритету и безопасности России (в оборонном и технологическом плане), в Саратовском государственном техническом университете (СГТУ) была предпринята попытка возрождения отечественной школы САВ. Проект получил условное название «Аналитик-С».
Web-сервис среды аналитических вычислений «Аналитик-С» (WEB 2.0) представляет собой среду программирования вычислений как с числами (команда «выполнить»), так и с символами (команда «пусть»), базирующуюся на идеях языка АНАЛИТИК украинской школы символьных вычислений. Предметная область среды очерчена кругом научных интересов руководителя проекта, отражённых в его монографиях и учебниках.
1 История возникновения системы «Аналитик-С»
В 1967 году в Лондоне на выставке Советский Союз представил серийно выпускаемую ЭВМ, которая получила название машины для инженерных расчётов (сокращённо «МИР-1»), в которой было реализовано ступенчатое микропрограммирование. Там же эта ЭВМ была куплена американским «голубым гигантом» - фирмой IBM. Как выяснилось позже, американцы купили машину лишь для того, чтобы доказать своим конкурентам, запатентовавшим в 1963 году принцип ступенчатого микропрограммирования, что русские давно об этом принципе знали и реализовали в серийно выпускаемой ЭВМ.
Разработчики ЭВМ «МИР-1» (Институт кибернетики АН СССР) получили Государственную премию. Среди них: академик АН СССР В.М. Глушков (научный руководитель проекта), Ю. В. Благовещенский, А. А. Летичевский, В. Д. Лосев, И. Н. Молчанов, С.Б. Погребинский, А. А. Стогний.
В 1969 году в производство была запущена более совершенная ЭВМ «МИР-2». За ней последовала и «МИР-3».
Проектируя МИРы, разработчики ставили дерзкую задачу – сделать машинный язык возможно более близким ко входному (математическому) языку. Такой язык АНАЛИТИК был создан и поддержан оригинальной аппаратно-микропрограммной системой, практически реализующей аппаратурную трансляцию программ. По скорости выполнения аналитических преобразований им не было равных в мире. «МИР-2», например, успешно соревновалась с универсальными ЭВМ обычной архитектуры, превосходящими ее по быстродействию и ёмкости памяти в сотни раз!
Реализованная в ЭВМ этой серии первая отечественная система аналитических вычислений (САВ) получила признание мирового научного сообщества и составила серьезную конкуренцию предшествующей ей программной реализации символьных вычислений в системе компьютерной алгебры (СКА) REDUCE, созданной в начале 60-х годов А.К. Херном.
Впоследствии идея АНАЛИТИКА была возрождена в Maple (как признают авторы разработки), отдельные компоненты которого в качестве составной части входят в такие известные пакеты, как Matlab и MathCAD.
Рост уровня входных языков – общая тенденция в программировании. Основная цель – сократить время на разработку программ и передать формальные, рутинные операции по их переводу на машинный язык и распределению памяти самой ЭВМ.
В условиях современной России, не имеющей отечественной системы аналитических вычислений, факт многообразия существующих зарубежных систем компьютерной алгебры является слабым утешением. В первую очередь потому, что программная реализация (с их использованием) алгоритмов, например, аналитической теории автоматического управления зачастую затруднительна, а в ряде случаев и невозможна.
Отдавая отчет в том, что дальнейшее отставание в этой области не способствует паритету и безопасности России (в оборонном и технологическом плане), в Саратовском государственном техническом университете (СГТУ) была предпринята попытка возрождения отечественной школы САВ. Проект получил условное название «АНАЛИТИК-С».
Работа над проектом велась выпускниками специальности «Управление и информатика в технических системах» Саратовского государственного технического университета на протяжении многих лет (начиная с 1991 года) и, пройдя этап программной реализации на Паскале, вышла на программную реализацию в среде ИНТЕРНЕТ на языке PHP (сначала 2-ой версии, а сейчас 4-ой). Развитие и сопровождение САВ «АНАЛИТИК-С» осуществлялось, в основном, силами студентов в день научно-производственной работы (8 и 9 семестры) и в период дипломного проектирования.
В связи с переходом научного руководителя проекта в Саратовский государственный аграрный университет (СГАУ) имени Н.И. Вавилова, работа над проектом продолжается силами аспирантов СГТУ и аспирантов и студентов СГАУ имени Н.И. Вавилова.
2 Описательная характеристика системы «Аналитик-С»
К основным характеристикам среды аналитических вычислений «Аналитик-С» относятся:
Язык реализации – PHP;
Платформа реализации – сервер Apache;
Открытый исходный код.
Синтаксис и функциональность языка Аналитик:
Поддержка символов латиницы, кириллицы и греческих
Двуязычность ключевых слов: пусть (let), вычислить (calculate) и т. п.
К базовым функциям «Аналитик-С» относятся: комбинаторика, полиномы, матрицы, дифференциальное и интегральное исчисление, тригонометрия, графика, управление в технических системах.
Разработчиками данной системы является коллектив, состоящий из из аспирантов и студентов СГТУ и СГАУ.
WEB-сервис среды аналитических вычислений «АНАЛИТИК-С» (WEB 2.0) представляет собой среду программирования вычислений как с числами (команда «выполнить»), так и с символами (команда «пусть»), базирующуюся на идеях языка АНАЛИТИК украинской школы символьных вычислений. Предметная область среды очерчена кругом научных интересов руководителя проекта, отражённых в его монографиях и учебниках . Среда размещена на научно-образовательном портале по адресу http://www.tki-analitik.ru.
Среда программирования численных и аналитических вычислений «АНАЛИТИК-С» позволяет программировать численные и аналитические вычисления с данными, заданными в числовой или символьной форме, с использованием операций сложения, вычитания, умножения, деления, возведения в степень, извлечения корня заданной степени, дифференцирования и интегрирования. Ядро среды аналитических вычислений «АНАЛИТИК-С» содержит программно реализованные гиперболические функции, комбинаторные функции, константы и системные переменные, многозначные функции, обратные тригонометрические функции, операции над матрицами, операции над многочленами, операции над числами, тригонометрические функции, а также операторы цикла и условные операторы. Указанная среда снабжена следующими пакетами прикладных программ: «Абстрактная математическая модель информационно-управляющих систем», «Линейная алгебра», «Анализ», «Синтез», «Распознавание образов алгебраических формул» и т.д.
Среда реализована на языке сценариев PHP 4.0 под управлением Apache. Свободный доступ к среде осуществляется с помощью любого из известных браузеров (в рамках лицензии Apache 2.0). Функционально среда имеет командное и графическое окна, а также окно вывода результатов. Запрограммированный пользователем вычислительный фрагмент (скрипт) может быть сохранён на компьютере пользователя с возможностью последующего запуска в очередном сеансе среды аналитических вычислений «АНАЛИТИК-С», для чего сохранённый скрипт должен быть скопирован в командное окно. Среда является открытой.
2.1 Алфавит системы Аналитик-С
Алфавит языка включает:
1.Прописные и строчные буквы кириллицы и латинского алфавита.
2.Арабские цифры от 0 до 9;
3.Специальные знаки:
+ - / * = . ; [ ] ( ) { } ^
Среди них знаки операций:
операция присваивания «=»,
сложение «+»;
вычитание «-»;
умножение «*»;
деление «/»;
возведение в степень «^»;
извлечение корня степени r «»;
взятие производной порядка r «^(r)»;
взятие r-кратного интеграла «^{r}»;
взятие наибольшего целого слева на числовой оси от иррационального числа «[…]».
разделители (скобки: круглые, квадратные, фигурные; точка; запятая; точка с запятой; пробелы).
Из символов алфавита формируются лексемы (базовые конструкции) языка:
1. Идентификаторы.
2. Зарезервированные слова, которые не могут использоваться в качестве идентификаторов
3. Команды.
4. Операторы, из которых составляются специализированные библиотеки прикладных программ (TOOLBOX’ы).
2.2 Идентификаторы системы «Аналитик-С»
Идентификаторы – это имена переменных, программ, констант. Идентификаторы могут иметь произвольную длину. Идентификатор всегда начинается с буквы, за которой могут следовать другие буквы, в том числе повторяющиеся, (с учётом регистра) и цифры.
Пробелы и зарезервированные слова не могут использоваться в качестве идентификаторов.
Длина идентификатора не ограничена.
Зарезервированные слова, которые не могут использоваться в качестве идентификаторов приведены в таблицах 1 – 7.
Таблица 1
Гиперболические функции
ch(x)
Гиперболический косинус
cth(x)
Гиперболический котангенс
sh(x)
Гиперболический синус
th(x)
Гиперболический тангенс
Комбинаторика:
plac(n,m) – число размещений из n по m, nm;
comb(n,m) – число сочетаний из n по m, nm;
fact(n) – факториал – число перестановок из n элементов (n –любое положительное число).
Константы и системные переменные:
Avost – значение машинной бесконечности (прерывание);
J – мнимая единица;
Realmin – наименьшее число с плавающей точкой (2-1022);
Realmax – наибольшее число с плавающей точкой (21023);
Ans – переменная, хранящая результат последней операции и обычно вызывающая его отображение на экране дисплея;
Eps – погрешность операций над числами с плавающей точкой (2-52);
E – системная константа е = 2, 7182;
NaN – указание на нечисловой характер данных;
Pi – число = 3.1415926.
Многозначные функции:
sgn(n) – сигнум-функция (возвращает –1, если аргумент 0; 0, если аргумент = 0) или символьное выражение.
Обратные тригонометрические функции:
acs(x) – арккосинус;
asn(x) – арксинус;
actn(x) – арккотангенс;
atn(x) – арктангенс.
Операции над матрицами:
invert(А) – вычисление обратной матрицы, где А – исходная матрица;
obsv – формирование матрицы наблюдаемости (транспонированной матрицы Крылова);
form(P) – формирование матрицы P=(A+En)(A-En)-1, где А – исходная матрица;
formshur(P) – формирование матрицы P=(AT-En)W(A-En), где А – исходная матрица, W – матрица Шура-Кона;
gurviz – формирование матрицы Гурвица;
oprgur – формирование и вычисление определителей Гурвица;
simm – формирование симметрической матрицы 0,5(A+AT);
cossimm – формирование кососимметрической матрицы 0,5(A-AT);
andreevgram – формирование матрицы Андреева-Грама;
vander – формирование матрицы Ван-дер-Монда;
givens – формирование матрицы вращения Гивенса;
podobie – формирование матрицы подобия;
kinemat – формирование матрицы кинематического подобия;
sqmatr – формирование квадратного корня из матрицы;
hauss – формирование матрицы отражения Хаусхолдера;
funk – формирование функциональной матрицы;
trans(А) – формирование транспонированной матрицы;
vander(А) – формирование матрицы Вандермонда, где А – заданная матрица-строка;
hankel(А) – формирование ганкелевой матрицы, где А – заданная матрица-строка;
toeplitz(А) – формирование теплицевой матрицы, где А – заданная матрица-строка;
norm(A) – функция вычисляет нормы матрицы (вектора). Если задать norm(A), то результатом будет наибольшая сингулярная величина матрицы; если задать norm(A,'1'), то будет вычислена первая норма; если norm(A,'2'), то – вторая; если norm(A,'inf'), то – норма по бесконечности; если norm(A,'-inf'), то – норма по минус бесконечности; если norm(A,'g'), то – гильбертова норма; если norm(A,'e'), то – евклидова норма.
Операции над многочленами:
Conform – формирование многочлена, полученного из исходного в результате конформного преобразования z = (s+1)/(s –1);
Ermit – формирование полиномов Эрмита-Билера из исходного полинома;
Silvestr – формирование непрерывной дроби из положительной пары полиномов (алгоритм Стильтьеса анализа устойчивости).
Операции над функциями:
Diff – дифференцирование функций;
Integr – интегрирование функций;
Macloren – разложение в ряд Маклорена;
Teilor – разложение в ряд Тейлора.
Операции над числами:
sqr(n) – арифметический корень, где n – любое положительное число;
log(n) – логарифм десятичный, где n – любое положительное число;
lgn(n) – логарифм натуральный, где n – любое положительное число;
rand(n,m) – матрица случайных чисел размерами n´m;
abs(n) – модуль, где n – любое число;
ent(n) – операция взятия целой части действительного числа;
Показательные и логарифмические функции:
log(),ln() – логарифмическая функция;
^ – показательная функция;
exp(n) –экспоненциальная функция, где n – любое число.
Тригонометрические функции:
cos(x) – косинус;
ctan(x) – котангенс;
sin(x) – синус;
tan(x) – тангенс.
2.3 Синтаксис графического окна системы «АНАЛИТИК-С»
Каждая графическая команда открывает графическое окно со своим интерфейсом.
Команда «график (plot)» – построение графика функции одной переменной.
Варианты задания команды: график {X;Y;A;V;W} или plot {X;Y;A;V;W}, где X – обозначение оси абсцисс; Y – обозначение оси ординат; A – обозначение независимой переменной; [V, W] – диапазон изменения независимой переменной.
2.4 Синтаксис командного окна системы «АНАЛИТИК-С»
Команды можно давать как на русском, так и на английском языках (англ. вариант приведен в круглых скобках):
пусть (let) – команда вычислений с символьными данными.
Варианты задания команды: пусть {A=B} или let {A=B}, разделённые пробелом, где А – символьная переменная, В – выражение в символьном виде, вычисленное в командном окне до подачи этой команды (расположенное в командном окне выше данной команды), «=» - операция присваивания;
2) вычислить (calculate) – команда вычислений с численными данными;
3) точность (precision) – команда количества значащих цифр, выводимых на экран после десятичной точки. Варьируется от 3-х (по умолчанию) до 12;
4) вывести (print) – команда вывода сообщения или результата вычислений на экран.
Варианты задания команды: вывести {А} или print{A};
5) «/» (rem) – обозначение комментария,
Обозначения разделителей,
используемых в командном окне
«.» – фиксированная точка в представлении числа.
«,» – запятая, используется для разделения параметров функции.
«;» – точка с запятой, применяется внутри квадратных скобок для отделения строк матрицы. Также применяется в операторах: plot(график), integr, modalcontrol, krylov и т.д. – для разделения переменных и выражений.
« » – пробел, используется для разделения элементов строки матрицы.
«:» – двоеточие – формирователь упорядоченных числовых последовательностей, которому ставится в соответствие оператор
«Начальное значение: шаг: конечное значение»
(если шаг не задан, то по умолчанию он принимается равным единице).
В командном окне допустимо использование операторов цикла. Синтаксис неявного оператора цикла имеет вид:
цикл (cycle)
телоцикла (a body of cycle) – пусть {}
повторить (repeat) {}
(в фигурных скобках задается число повторений).
Например:
пусть {А=1}
цикл
пусть {А=А+1}
повторить {2}
вывести {A}
Если число повторений неизвестно, рекомендуется в тело цикла помещать условный оператор, описание которого приводится ниже.
В командном окне допустимо использование операторов условного перехода если (if)…иначе (else)…конец (end).
Синтаксис и выполняемые действия этих операторов аналогичны соответствующим операторам других распространённых языков программирования. Синтаксис операторов выглядит следующим образом:
если (if) {условие}
выполняемое действие
конец_если (end_if)
иначе (else)
выполняемое действие
конец_иначе (end_else)
Известны полная и неполная структуры этого оператора:
if (логическое условие) then (оператор(Ы) присваивания) else
(оператор(Ы) присваивания);
2) if (логическое условие) then (оператор(Ы) присваивания).
Например:
если {ab}
вывести {a}
конец_если
иначе
вывести {b}
конец_иначе
Список использованных источников
Грипченко, Г. А. Энциклопедия кибернетики / Г. А. Грипченко. СПб.: БХВ-Петербург, 1974. – 608 c.
Зверев, Г. Н. Теоретическая информатика и её основания : монография / Г. Н. Зверев. – Москва : Физматлит, 2008. – Т. 2. – 571 с.
Осипов, Л. А. Язык Аналитик и его сравнение с языками Алгол и Фортран / Л. А. Осипов. – М. : «Наука», 1982. – 304 с.
Осипов, Л. А. Языки программирования: Алмир-Аналитик / Новое в жизни, науке, технике. Сер. «Вычислительная техника и её применение», № 10/89.
Соколов, А. В. Методы оптимальных решений : учебное пособие : в 2 т / А. В. Соколов, В. В. Токарев. – 3-е изд., испр. и доп. – Москва : Физматлит, 2012. – Т. 1. Общие положения. Математическое программирование. – 562 с.