Краткая характеристика систем класса Maple
Языки системы Maple 7
Maple способна решить огромное число задач вообще без какого-либо программирования в общепринятом смысле этого понятия. Достаточно лишь описать алгоритм решения задачи и разбить его на отдельные вопросы, на которые система Maple способна дать ответы. Более того, есть тысячи задач, алгоритмы решения которых уже реализованы в виде функций и команд системы. Тем не менее это вовсе не означает, что в Maple нельзя программировать. На самом деле Maple поддерживает три собственных языка: входной, реализации и программирования.
Maple имеет входной язык сверхвысокого уровня, ориентированный на решение математических задач практически любой сложности. Он служит для задания системе вопросов или, говоря иначе, задания входных данных для последующей их обработки. Это язык интерпретирующего типа и по своей идеологии напоминает добрый старый Бейсик. И такое сходство вовсе не недостаток, а огромное достоинство – ведь именно с Бейсика начался подлинный диалог пользователя напрямую с компьютером! Входной язык имеет большое число заранее определенных математических и графических функций, а также обширную библиотеку, подключаемую по мере необходимости.
Имеет Maple и свой язык процедурного программирования – Maple-язык. Этот язык имеет вполне традиционные средства структурирования программ: операторы циклов, операторы условных и безусловных переходов, операторы сравнения, логические операторы, команды управления внешними устройствами, функции пользователя, процедуры и т. д. Он также включает в себя все команды и функции входного языка, ему доступны все специальные операторы и функции. Многие из них являются весьма серьезными программами, например символьное дифференцирование, интегрирование, разложение в ряд Тейлора, построение сложных трехмерных графиков и т. д.
Не следует путать входной язык и язык программирования системы (Maple-язык) с языком ее реализации. Им является один из самых лучших и мощных универсальных языков программирования – Си. На нем написано ядро системы, содержащее тщательно оптимизированные процедуры. Большинство же функций, которые содержатся в пакетах, написаны на Maple-языке, благодаря чему их можно модифицировать и даже писать свои собственные библиотеки. По разным оценкам, лишь от 5 до 10% средств Maple создано на языке реализации – все остальное написано на Maple-языке. Таким образом, система имеет развитые возможности для расширения и адаптации к задачам пользователя. Для подготовки программ на языке Maple могут использоваться внешние редакторы, но система имеет и свой встроенный редактор, вполне удовлетворяющий требованиям большинства пользователей. Он открывается командами New и Open в меню File. Этот редактор можно использовать для редактирования файлов программ или математических выражений. Версии Maple для MS-DOS имеют свой редактор программ и отладчик с функциями проверки синтаксиса. После версии Maple V для Windows необходимость в этих средствах практически отпала.
Синтаксис структурных операторов языка Maple напоминает смесь Бейсика и Паскаля. Это облегчает знакомство с ним тем, кто имеет хотя бы начальный опыт программирования на этих языках. По близким к Бейсику правилам (и при помощи общепринятых математических сокращений) выполняется и ввод математических выражений в диалоговом режиме работы с системой.
Ориентация систем Maple
Вообще говоря, системы Maple ориентированы на решение сложных задач, хотя и решение в них простых задач вполне возможно и уместно. Возможно, для решения таких задач вполне подойдет весьма простая, быстрая и надежная система Derive или система Mathcad, в которую (начиная с версии 3.0 под Windows) включен приобретенный по лицензии фирмы Waterloo Maple упрощенный символьный процессор Maple. Однако по числу доступных пользователю математических функций эти скромные системы не идут ни в какое сравнение с патриархом символьной математики – системой Maple.
Система Maple 7 может с успехом применяться для решения самых серьезных математических задач аэродинамики, теории поля, теплопроводности и диффузии, теоретической механики и др. Решение таких задач нередко является многолетним трудом элитных научных коллективов.
Впрочем, поскольку система может быть установлена на любом современном ПК, ее можно (да и нужно) применять как можно чаще и по любому поводу. Это способствует как приобретению практических навыков работы с Maple, так и росту математических познаний тех, кто с ней работает.