Читать «Журнал «Компьютерра» № 9 от 7 марта 2006 года» онлайн - страница 46

Компьютерра

Подведем итог. Программа оставляет впечатление перспективной разработки. Хороша, несмотря на очевидную простоту, главная идея: взять стандартный язык программирования, оптимизировать его для работы с математическими задачами и снабдить интерфейсом, дающим, помимо всего прочего, возможность производить относительно простые вычисления даже не прибегая напрямую к самому языку программирования. Мысль не новая, но важно не это: качественная реализация хорошей идеи никогда не бывает лишней. В данном случае качество не вызывает сомнений: хотя в программе и встречаются баги, их очень мало и они несущественны.

Остается рассмотреть последний и, вероятно, самый важный вопрос: на кого рассчитан Algebrus? Для решения специфических прикладных задач, требующих использования сложного математического аппарата, он едва ли подойдет, набор реализованных в нем методов для этого недостаточно широк. Впрочем, Algebrus может оказаться весьма полезен как платформа для разработки более серьезной техники, требуемой для решения той или иной задачи. Кроме того, в роли потенциальных пользователей могут выступать студенты, которым приходится иметь дело с различными расчетами, и даже школьники; а вот профессиональные математики скорее предпочтут «вооружение» помощнее — скажем, тот же Matlab. Впрочем, не стоит забывать, что Algebrus — проект относительно новый, а значит, ситуация еще может измениться.

XPascal в действии

Одним из самых интересных методов, реализованных в Algebrus, является, на мой взгляд, DSolve, предназначенный для численного решения дифференциальных уравнений и их систем.

В качестве параметров DSolve принимает функцию f (она должна быть объявлена заранее), задающую векторное поле, а также вектор начальных условий и отрезок времени, на котором требуется найти решение. Результат возвращается в виде матрицы, по которой с помощью метода DataPlot можно в одну строчку построить фазовый портрет. Вот пример кода, выводящего на экран фазовый портрет модели простого осциллятора:

procedure DFunc ( x : Vector; t : Real; var dx : Vector ); const

F : real = 25; // частота

D : real = 0.25; // параметр системы

// дифференциальное уравнение осциллятора

dx[1] := x[2];

dx[2] := -F*F*x[1]-2*D*F*x[2];

S : Matrix; // матрица решения

// решаем ОДУ

S := DSolve( DFunc, {0, 1}, 0, 1 );

// выводим результат

PlotData( S[2], S[3], FALSE, psLine );

Софтерринки

Автор: Павел Каледа

Chronodesk

ОС: Windows

Версия: 1

Размер: 240 Кбайт

Интерфейс: русский

Цена: бесплатно

«Настольный хронометр» превратит ваш рабочий стол в часы, сделав из ярлыков программ настоящий циферблат с часовой и минутной стрелками. В этом «часовом хороводе» (выражение автора программы) можно задействовать три и более ярлыков. Сам циферблат может состоять из четырех или двенадцати значков или вообще не содержать их.

iMarkup

ОС: Windows

Адрес: www.imarkup.com/products/imarkup_client.asp

Версия: 3.97.6

Размер: 2,6 Мбайт

Интерфейс: английский

iMarkup представляет собой своеобразный маркер для Internet Explorer и подобных браузеров, позволяющий делать пометки прямо на веб-страницах. При последующем посещении такой страницы браузер отобразит ее вместе с пометками. Кроме текста, с помощью iMarkup можно записывать и прикреплять к страницам голосовые сообщения. Вся информация о пометках хранится в зашифрованном виде.