Palm Pre, Pixi, HP TouchPad, смартфоны, планшеты, телевизоры LG / Palm / HP / Open webOS / /Выбрать тему
Поиск по сайту
Добро пожаловать на PalmQ Online
Главная Форум Продавцы КПК Кладбище КПК
Кто в онлайне
В настоящий момент на сайте находится 20 посетителей и 0 зарегистрированных пользователей.

К сожалению, система Вас не опознала. Вы можете бесплатно зарегистрироваться здесь

Последние статьи
New! · Palm и webOS: как это было (14.10.12)
New! · HP TouchPad и Pre3. webOS против iOS (31.03.12)
New! · HP webOS, которую жалко потерять (20.11.11)
· Обзор HP TouchPad (23.07.11)
· 7 главных преимуществ HP TouchPad перед iPad 2 (19.07.11)
· Секретные материалы компании Palm (22.07.06)

Настройки
· Ваш аккаунт
· Все пользователи
· Top 10 статей
· Все статьи
· Все новости
· Программы
· Статистика сайта
· Вход с КПК
· RSS

Последние советы
New! · Запуск демонстрационного режима (Exhibition mode) из лаунчера webOS (04.02.13)
New! · Перемещение или удаление нескольких файлов одновременно (03.02.13)
New! · Добавление избранных композиций на главный экран Music Player (Remix) (28.01.13)
· Увеличение числа иконок в лаунчере HP TouchPad (25.01.13)
· Редактирование "черного списка" приложений в Preware (22.01.13)
· Изменение порядка учетных записей электронной почты [webOS 3.x] (17.01.13)
· Сортировка списков путем нажатия и удержания (11.01.13)
· Способы перезагрузки планшета HP TouchPad (09.01.13)
· Проверка даты последнего резервного копирования данных пользователя (08.01.13)
· Изменение имени webOS-устройства (05.01.13)

  
Разработка программ на Pascal для Palm OS: первые впечатления
Автор MKudritsky 01/11/2002 @ 08:42:49 MSK
PalmOS Наконец-то я дождался появления данной среды разработки для Palm! Поработав с ней некоторое время, готов поделиться первыми впечатлениями.

Паскаль классический, имеет статус freeware. Написан ярым фанатиком DOS и по-видимому Borland Pascal 7.0. Найти PalmOS Pascal Compiler можно по адресу: http://www.total.net/~hkonstas/pp.html.Там же есть ссылка для DOS-оболочки на Палме. DOS-оболочка - один из двух вариантов использования Паскаля.

Pascal для Palm OS

Вот ряд замечаний, которые хочу сделать:

1. Напрочь отсутствует Debugger, так что ориентироваться надо только по сообщениям компилятора и вставленных в текст старых, добрых принтах. (Вспомним времена 80-х :)

2. Конечно же, про русский язык надо забыть. Русский текстовый диалог программ надо менять на английский. Также не советую злоупотреблять русскими комментариями - иногда компилятор из-за них "исходный файл не может открыть". У меня русификатор - PiLoc v.2.23 Full.

3. При зависаниях программ автор рекомендует использовать кнопку "Up" (аналог Ctrl+C для IBM PC). В документации этот важный пункт затерялся где-то в глубине и я обнаружил его только после второго, внимательного прочтения. Впрочем, скрепка при работе с Паскалем не помешает ;).

4. Автор рекомендует для набора текстов *.pas использовать редактор Qed, что ИМХО не есть удобно. Я привык к QuickWord. Только в Qed ошибка в тексте программ высвечивается автоматом, а в QuickWord выдается только строка с ошибкой...

5. Первое отличие Паскаля для Палма от классики я нашел, помучавшись около 2 часов. Оно состоит в том, что переменные циклов надо описывать в теле процедур. Глобальные переменные для этой цели использовать нельзя. Эта хорошая тенденция пришла в классический Паскаль из Object Pascal.

6. Скорость работы. Тут Pascal for Palm меня удивил! Я тестировал ПО на алгоритме решения классической разомкнутой задачи коммивояжера методом полного перебора (есть N городов и известна матрица взаимных расстояний между ними; надо обойти N городов, побывав в каждом ровно один раз, чтобы суммарное пройденное расстояние было минимально возможным). Для 10 городов задача была решена за 13 минут! Для сравнения на IBM PC AT i386-SX 16Mhz эта задача решается тоже за 13 минут. То есть 16МГц процессор моего Palm IIIxe оказался таким же быстрым! Компилятор ничуть не тормозит. Сторожилы вспомнят времена MS DOS десятилетней давности и пустят слезу ностальгии по 286-386 машинам с 16-40МГц процессорами

В свое время я экспериментировал с Psion 3c на предмет решения задачи коммивояжера. Программу перевел на OPL. Так вот, 8Мгц процессор этого Псиона с кодом OPL работал в 10 (!!!) раз медленнее, чем процессор 8088 4.77МГц от IBM PC XT. И еще ненужный OPL пришлось поучить. А вот с Паскалем для Палма можно решать довольно сложные задачи. И язык придется учить весьма полезный.

7. Как быть с задачами, которые решаются более 3-х минут (чтобы Палм не засыпал)? Оказывается, что Паскаль так глубоко "залезает" во внутренности Palm OS, что блокируется засыпание. Закончив вычисления, Палм выдает результаты и мгновенно засыпает. Здесь выход только один (не смотреть же на экран десятки минут?!) - подать звуковой сигнал после завершения расчетов. Я, увы, забыл как это делается в классическом Паскале. Функция незасыпания не реализована в некоторых программах, где она нужна. Например, в ChessGenius при установках долгого думания Палм засыпает после 3-х минут и его приходится оживлять кнопкой Power, после чего Палм продолжает думать надо очередным ходом... Кстати, PsionChess на Псионах не дают заснуть КПК, пока ход не сделают, что сопровождается звуковым сигналом... Паскаль для Палм - первая известная мне незасыпающая программа Палма.

Выявленные различия между Турбо Паскалем и Pascal for Palm

Увы, различия довольно существенны, хотя, конечно, нефатальны. Про переменные циклов я уже сказал. Далее, Pascal for Palm не понимает типизированных констант. Такое вот описание не проходит:

Const
Pi: real = 3.1415926;

Кстати, нет многих функций Турбо-Паскаля. Того же числа Pi. В принципе, это тоже не очень страшно, т.к. Pascal for Palm понимает только однин тип вещественных чисел с плавающей точкой и можно писать

Const
Pi = 3.1415926;

Но самое для меня пока неприятное (на чем сейчас буксую) - Pascal for Palm не хочет цеплять математические функции библиотеки MathLib.prc v.1.1. Хотя другие программы (типа QuickSheet) цепляют без проблем. Если mathlib подцепить удастся, то откроется доступ к функциям, недоступным юзерам Турбо-Паскаля (asin, acos, и т.д.)

Лично для моих задач целочисленного программирования MathLib.prc не очень то и нужна, но важно другое - чистота эксперимента. Проверить работу Паскаля с функциями от вещественных чисел с плавающей точкой мне так и не удалось. Несмотря на заявления автора Паскаля, библиотека MathLib.prc v.1.1 подключается, но как-то не так, как надо.
Например, такая вот программа

Program realsin;
var x:real;
begin
Write('X= '); read(x);
Writeln('Sqrt X= ', sqrt(x));
Wruteln('Exp X= ', exp(x));
x:=x*3.1415926/180.0;
Writeln('Sin X= ', sin(x))
end.

компилируется нормально, но при прогоне выдает следующий листинг:

X= 1
Sqrt X= 0
Exp X= -1964
Sin X= -1966

Лихо работают вещественные библиотечные функции, не правда ли? Вопрос: удалось ли кому-нибудь правильно зацепить библиотеку MathLib.prc v.1.1? Может какую директиву надо дать компилятору? Подскажите!

РЕЗЮМЕ: если раньше я не мог рекомендовать ни одного КПК для программирования на классическом Pascal (ну разве лишь Sharp Zaurus на Linux), то теперь можно обойтись простым Пальмом (правда, с Palm OS не ниже 3.5; надо уточнить). Палмы становятся просто находкой для бюджетных (околобюджетных) средних школ, где цена КПК имеет немаловажное значение - видел сообщения в конференциях на предмет покупки КПК для школ с целью изучения классических языков программирования.

P.S. Пока не проверил, насколько интенсивно Pascal for Palm "ест" батарейки при сложных расчетах.

Вы можете обсудить эту новость на форуме webos-forums.ru

Источник: palmq.ru Версия для печати   Послать эту статью товарищу  


 
Последние сообщения форума
"Битые и дефектные пиксели на телевизоре" от timgimov (23.04.2024 в 13:49:43)
"Новые прошивки на серверах обновления LG для ТВ 2023 года" от tmcullertm (23.04.2024 в 13:28:51)
"Новые прошивки на серверах обновления LG для ТВ 2019 года" от LGC9 (23.04.2024 в 12:40:27)
"Медиаплеер M9702 (клон Oppo UDP-203/Cambridge CXUHD/Pioneer UDP-LX500)" от Maksim_Nebolsin (23.04.2024 в 08:15:15)
"Homebrew Channel - альтернативный магазин приложений" от zazafa (23.04.2024 в 08:03:05)
"Телевизоры на матрице micro-LED и mini-LED" от narpol (23.04.2024 в 04:39:05)
"LG OLED С3 или LG OLED G3" от Quate (23.04.2024 в 00:00:49)
"webOS Re:New - обновление ОС на старых ТВ в течение 5 лет" от JackSparrow (22.04.2024 в 22:57:57)
"Смена региона (страны обслуживания и вещания) телевизора" от AMETKO (22.04.2024 в 22:02:46)
"Телевизор LG OLED G3 (55,65,77,83,97") 2023 года" от Quate (22.04.2024 в 18:19:22)

Схожие темы

<< Palm OS 6 будет представлена уже следующим летом!Мировой рынок микрокомпьютеров не расширился, а сжался >>

Порог
За комментарии ответственны только те, кто их поместил. Мы не несём ответственности за них.


(©) 1999-2017 PalmQ Tech. Полное или частичное воспроизведение материалов данного сайта допускается только
при условии наличия прямой активной индексируемой и видимой ссылки на сайт или на конкретный материал.
Яндекс.Метрика