Мобильный телефон Motorola V195
стандарт: GSM 850/900/1800/1900 Гц
дисплей: CSTN 128x160
24-голосная полифония
питание: литий-ионный аккумулятор 1020 мАч
встроенная память: 10 Mбайт
вес: 100 г
цена: $140
Новая бюджетная «раскладушка» поддерживает интерфейс Bluetooth Class 1 (радиус 100 метров) и может использовать файлы формата МР3 в качестве мелодий звонка, а технология SCREEN3 позволяет получать новости и другой контент из Интернета в постоянном режиме, по мере поступления. Поддерживаются сервисы MMS, SMS, EMS 5.0, протокол Wireless Village Instant Messenger и WAP 2.0. Синхронизировать с ПК и зарядить телефон можно через интерфейс USB. Время работы до 10,5 часа в режиме разговора и до 525 часов в режиме ожидания.
Мобильный телефон Samsung SGH-P900
стандарт: GSM 900/1800/1900 МГц
дисплей: 2,2 дюйма, 240х320 пикселов
встроенная память: 128 Мбайт
встроенная фотокамера: 2 Мп
разъем для SD-карт памяти
поддержка PictBridge
габариты: 94х47х26 мм
вес: 124 г
цена: пока не известна
Раскладушка, оснащенная поворачивающимся дисплеем, умеет принимать телепередачи стандарта T-DMB (Terrestrial Digital Media Broadcasting), воспроизводить видео с частотой 30 к/с и записывать видео в формате MPEG-4. TV-выход позволяет выводить изображение на телевизор, а для соединения с ПК могут быть использованы интерфейсы USB или Bluetooth. Также поддерживается воспроизведение аудиофайлов формата MP3, AAC и AAC+, а с помощью внешних клавиш можно управлять плейером, не открывая телефона.
Ноутбук MSI S262
процессор: Intel Core Duo от 1,66 ГГц
чипсет: Intel Mobile 945GM Express
оперативная память: до 2 Гбайт, DDR2
дисплей: 12,1 дюйма, 1280х800 пикселов
оптический привод: Combo/DVD±RW/DVD±RW DL
сетевой адаптер: Ethernet 10/100/1000 Мбит/с
габариты: 303х225х30 мм
вес: 1,95 кг
цена: от $1400
Компактность, небольшой вес и интегрированная графика вкупе с двухъядерным процессором делают этот ноутбук идеальным мобильным офисом. Он имеет встроенный адаптер беспроводной сети Intel PRO/Wireless 3945 a/b/g, интерфейсы USB 2.0 и IEEE 1394, винчестер до 100 Гбайт и картридер формата «четыре в одном»: MMC, SD, MS, MS Pro. Питается устройство от литий-ионного аккумулятора емкостью 2400 или 4800 мАч.
Ресивер ВВК AV321T
выходная мощность: фронтальные каналы 2х110 Вт, центральный канал 30 Вт, тыловые каналы 2х30 Вт
потребляемая мощность: 600 Вт
габариты: 420x337x135 мм
вес: 8,4 кг
Аппарат предназначен для использования в составе домашнего кинотеатра и совместим со всеми пассивными акустическими системами. Он имеет встроенные декодеры Dolby Digital, DTS, Dolby Pro Logic II; УКВ/FM/AM-тюнер с памятью на 36 радиостанций и эквалайзер с пятью предустановленными режимами. Ресивер оснащен функцией караоке с возможностью регулировки громкости, тембра и эха сигнала микрофона. Кроме того, предусмотрена регулировка задержки для центрального и тыловых каналов, общая и раздельная регулировка громкости. Имеется возможность перекоммутации видеосигнала (композитный, S-Video). Цена новинки пока неизвестна.
Цифровой зеркальный фотоаппарат Canon EOS 30D
матрица: 22,5x15,0 мм, 8,2 Мп, CMOS
максимальное разрешение снимка: 3504x2336 пикселов
дисплей: 2,5 дюйма, 230 000 пикселов
интерфейсы: USB 2.0, композитный ТВ-выход PAL/NTSC
питание: литий-ионный аккумулятор BP-511A
габариты: 144x106x74 мм
вес: 700 г
цена: $1400
Обновленная версия предшественницы EOS 20D. Углы обзора LCD-дисплея достигли 170 градусов, срок службы затвора доведен до 100 тысяч срабатываний, изменять значение чувствительности ISO теперь можно в диапазоне от 100 до 1600 с шагом 1/3 EV, время включения камеры снизилось до 0,15 с, появилась возможность точечного экспозамера (3,5% площади видоискателя) и, наконец, максимальное число сохраняемых в папке изображений возросло со 100 до 9999. Камера совместима со всеми объективами Canon EF и EF-S и вспышками Canon Speedlite серии EX. Модель оснащена процессором обработки изображений DIGIC II. Для работы с EOS 30D могут использоваться карты памяти Compact Flash I/II.
Владислава Апостолюка сочетает простой и удобный интерфейс с впечатляющими возможностями для решения широкого круга математических задач. Едва ли не более важным, однако, является наличие огромного потенциала для расширения этих возможностей: Algebrus представляет собой среду разработки, ориентированную на алгоритмизацию математических вычислений; в ее основе лежит специализированный язык программирования XPascal, являющийся, как нетрудно догадаться из названия, расширенной и снабженной библиотекой математических методов версией Паскаля. Этот язык призван помочь тем, кто не нашел в стандартных библиотеках Algebrus нужных функций и взялся писать их сам. Но прежде чем разбираться, чему можно «научить» Algebrus, выясним, что он уже умеет.
Готовые детали
Использование командной строки на главной панели программы открывает доступ ко всем или почти ко всем функциям, реализованным в Algebrus’е. Для тех же, кого командная строка по каким-либо причинам не устраивает, есть панели Evaluator и Plotter, облекающие функции в простую и удобную интерфейсную оболочку (рис. 1). Впрочем, и в самой командной строке нет ничего мудреного. Скажем, чтобы воспользоваться ею как обыкновенным калькулятором, не требуется никаких предварительных знаний о программе: в качестве команды можно ввести строчку вида «2*2» и мгновенно получить ожидаемый ответ "4". Разумеется, Algebrus знает элементарные (и не только) математические функции, так что наличие синуса (sin), логарифма (ln) или даже гамма-функции (Gamma) в выражении его не смутит. Впрочем, подобной функциональностью сейчас никого не удивишь, а Algebrus’у по зубам и гораздо более сложные задачи. Например, команда LinearSolve позволяет легко решать системы линейных уравнений: в качестве аргументов ей подаются матрицы коэффициентов системы и вектор правых частей. Так, команда LinearSolve({{2,1},{1,2}},{4,5}) выдаст решение системы {2x+y=4, x+2y=5}.
Среди других возможностей программы можно назвать операции с многочленами (поиск корней и экстремумов, дифференцирование и т. д.), решение простых геометрических задачек (таких как нахождение площадей многоугольников или вычисление третьей стороны треугольника по двум другим сторонам и углу между ними), статистические расчеты (например, можно посчитать корреляцию между двумя наборами чисел), численное интегрирование, решение обыкновенных дифференциальных уравнений и многие другие.
Большинство встроенных функций можно найти на панели Evaluator — при этом программа сразу же предложит ввести необходимые аргументы и посчитает результат — так что запоминать синтаксис команд не обязательно (рис. 2).
Отдельного упоминания заслуживают графические возможности Algebrus. Здесь к услугам пользователя инструменты для рисования самых разнообразных двух— и трехмерных графиков и диаграмм: начиная с банальных графиков функций y=f(x) и заканчивая средствами визуализации векторных полей и построения сложных трехмерных поверхностей (рис. 3). Есть и довольно экзотические функции: скажем, процедура Compass_Chart выводит на экран набор векторов по заданным углам и длинам, а Surface_Plot — трехмерную поверхность, заданную набором точек на плоскости и соответствующих им высот.
Модели для сборки
Несмотря на хорошо проработанный интерфейс, Algebrus, по-видимому, проектировался прежде всего как среда разработки со встроенным интерпретатором языка XPascal. Дело в том, что некоторые из ее возможностей не выведены на интерфейсный уровень, и даже доступ к ним из командной строки не реализован в полной мере. Примером может служить численное интегрирование с помощью метода Integrate. В качестве одного из параметров он принимает интегрируемую функцию (переменную типа TMathFunc); однако, не обращаясь к XPascal Editor, вы не сможете объявить «свою» функцию — это означает, что, хотя вы и можете вызвать Integrate из командной строки, ничего, кроме уже объявленных системных функций, проинтегрировать с ее помощью не удастся. Тоже самое касается любого другого метода, принимающего в качестве одного из параметров некоторую функцию.
Более того, хотя командную строку и стоит, пожалуй, использовать для простейших вычислений, XPascal является гораздо более естественным средством для общения с Algebrus.
Что можно сказать об этом языке? Во-первых, это «надстройка» над обыкновенным Паскалем, включающая в себя большое количество функций, которые могут быть полезны при математических расчетах. Например, в языке есть такие типы данных, как матрица и кватернион, и реализованы различные методы для работы с ними (скажем, вычисление определителя). Есть и другие приятные «мелочи», которые отличают этот язык от классического Паскаля: так, стандартные арифметические операторы (+, —, *) можно применять к векторам и матрицам, а можно и переопределить для работы с какими-либо другими типами данных. В то же время изменения не затрагивают основ языка, поэтому у человека, уже знакомого с Паскалем, освоение среды Algebrus не займет много времени. С другой стороны, недостатком программы, весьма существенным для потенциальных разработчиков, является отсутствие доступа ко встроенным библиотекам — то есть узнать, как именно реализованы используемые Algebrus’ом функции, не представляется возможным. Кроме того, XPascal — это, по-видимому, расширенная версия Паскаля «обыкновенного», но не Object Pascal, то есть этот язык не является объектно-ориентированным в строгом смысле слова (хотя в нем реализована поддержка пользовательских типов данных и структур), что тоже едва ли можно причислить к достоинствам программы.
Подведем итог. Программа оставляет впечатление перспективной разработки. Хороша, несмотря на очевидную простоту, главная идея: взять стандартный язык программирования, оптимизировать его для работы с математическими задачами и снабдить интерфейсом, дающим, помимо всего прочего, возможность производить относительно простые вычисления даже не прибегая напрямую к самому языку программирования. Мысль не новая, но важно не это: качественная реализация хорошей идеи никогда не бывает лишней. В данном случае качество не вызывает сомнений: хотя в программе и встречаются баги, их очень мало и они несущественны.
Остается рассмотреть последний и, вероятно, самый важный вопрос: на кого рассчитан 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 );