* Данный текст распознан в автоматическом режиме, поэтому может содержать ошибки
Основные средства программирования СКМ
1035
столь же быстро, как и в языках программирования компилирующего типа. Кроме того, надо отметить, что выигрыш от компиляции обычно заметно меньше, чем выигрыш от применения хороших алгоритмов вычислений, применяемых в со временных СКМ. К примеру, при решении задач линейной алгебры в Maple используются самые совершенные алгоритмы группы NAG. В Mathematica ис пользуются свои алгоритмы матричных вычислений, которые, по мнению разра ботчиков системы, обеспечивают более высокие скорости матричных вычисле ний, чем у системы MATLAB. По существу, все представленные выше главы описывали языки общения СКМ и СКА. Они обеспечивают решение огромного числа задач как без програм мирования, так и с ним. В этой главе описаны дополнительные средства, традици онно относящиеся к языкам программирования высокого уровня. Это управляю щие структуры и модули программ, процедуры и функции, циклы, специальные средства ввода/вывода и т. д. Отдельные примеры их применения уже не раз при водились, но настал момент, когда эти средства нужно рассмотреть более деталь но и целенаправленно. Язык реализации систем – это стандартный язык программирования высокого уровня, чаще всего C или C++. Явным исключением тут является система Deruve, реализованная на языке программирования MuLISP – одной из реализаций хоро шо известного языка программирования для систем искусственного интеллекта LISP. Выбор языка C (или C++) обусловлен высокой эффективностью машинно го кода, который создается компиляторами этого языка.
14.1.2. О языках программирования СКМ и СКА
Фактически СКМ и СКА имеют проблемно ориентированный на математиче ские расчеты язык программирования сверхвысокого уровня. По своим возможно стям в этой области эти языки намного превосходят обычные универсальные язы ки программирования, такие как Фортран, Бейсик, Паскаль или Си (С/C++). Достаточно отметить, что такие сложные операции, как дифференцирование, ин тегрирование, решение сложных уравнений и т. д., языки СКМ и СКА реализуют в виде простых операторов или функций – как правило, тех же самых, которые определены во входном языке общения. На языках программирования пишутся программы, содержащие набор инструк ций и программных конструкций, обеспечивающих выполнение тех или иных опера ций и алгоритмов – в нашем случае математических. Программы обычно создаются в текстовых редакторах или в специальных редакторах/отладчиках программ. Программы, все инструкции которых выполняются строго последовательно, называются линейными программами. Большинство же программ относятся к раз ветвляющимся программам, у которых возможны переходы от одной ветви с командами к другой в зависимости от условий работы. Для создания таких про грамм используются управляющие структуры.