close

Вход

Забыли?

вход по аккаунту

?

Язык программирования турбо паскаль

код для вставкиСкачать
Язык программирования турбо паскальИзвестно, что созданный в 1970 г. профессором Никласом Виртом (Цюрих, Швейцария) язык Паскаль предназначался в первую очередь для обучения студентов программированию. Его очень удобно использовать для записи небольших учебных программ, демонстрации методов структурного программирования, но для реальной работы возможностей этого языка было недостаточно. Поэтому во все популярные реализации языка Паскаль на ПЭВМ (Паскаль-86, Паскаль МТ+, Микрософт Паскаль и Турбо-Паскаль J1-8]) внесены значительные расширения.
У каждой из указанных реализаций есть свои достоинства и недостатки, однако если учитывать такие качества, как удобство пользования, документиро- ванность, возможности отладки программ и наличие поддерживающей программной среды (оболочек, библиотек, пакетов программ, инструментальных средств и т.д.), то предпочтительна в большинстве случаев версия 6.0 языка Турбо-Паскаль фирмы Borland International (США).
Этот язык, ставший популярным с момента его появления (более 1 млн. пользователей), прошел в своем развитии следующие этапы:
1. До версии 3.01 включительно. Реализован как для 16-разрядных ПЭВМ (в том числе и совместимых с IBM PC XT/AT) под операционными системами (ОС) СР/М-86 (советский аналог - МИКРОС-86), PC-DOS и MS-DOS (МДОС18Ю/МДОС1820), так и для 8-разрядных машин на базе микропроцессора Z-80 или U880 (бывшая ГДР) под ОС СР/М-80 и SCP-1715 (ПЭВМ Ро- ботрон 1715). Кроме базовой версии (Turbo) существовали отдельные ее расширения для решения научных (Turbo87) и экономических (TurboBCD) задач. Подробная история Турбо-Паскаля с оригинальной фотографией директора Borland International Филипа Кана дана в [9].
Реализованы графический интерфейс BGI (Borland Graphics Interface) и условная трансляция. Скорость трансляции - 27000 операторов/мин на ПЭВМ IBM PC AT (8 МГц).
2. В версии 4.0 (1987г.) существенно улучшено взаимодействие (интерфейс) системы с пользователем. Сделан очень важный шаг в сторону модульного программирования. Стала возможной раздельная компиляция модулей (unit), и добавлены встроенные средства ведения проекта. 3. Версия 5 (осень 1988 г.). Появился встроенный символьный отладчик. Добавлена возможность записи выражений при определении констант и программная эмуляция арифметического сопроцессора при его отсутствии. Реализован Турбо-Паскаль в новой ОС OS/2 и для ПЭВМ IBM PS/2. Включена поддержка дополнительного ОЗУ (так называемой EMS или L1M памяти [10]) для загрузки в него частей программы (оверлеев) или использования этой памяти встроенным редактором текстов.
4. Версия 5.5 ( май 1989 г.). Добавлены средства для объектно-ориентированного программирования (ООП). Символьный отладчик доработан для поддержки ООП. Скорость трансляции более 34000 операторов/мин.
5. Версия 6.0 (осень 1990 г.). Новая оболочка, похожая на оболочку языка Турбо-Си-Н- (IDE - Integrated Development Environment) с поддержкой мышки. Можно редактировать сразу несколько файлов объемом до 1 Мбайт каждый с помощью многооконного редактора. Наконец-то, появился нормальный встроенный ассемблер и кодогенерация для МП 80286 (директива $G+). Улучшены средства отладки и ООП.
Впервые в состав системы в качестве ее компоненты введен пакет средств поддержки разработки, называющийся Turbo Vision (TV). Пакет содержит все необходимые средства для построения интерфейсов с пользователем в диалоговых системах. В частности, с его помощью написана IDE. TV - один из немногих пакетов, полностью базирующихся на ООП.
На всех этапах в язык добавлялись новые встроенные процедуры и функции, расширялись библиотеки.
Таким образом, Турбо-Паскаль из резвой лошадки для парня в джинсах превратился в сверкающий лаком автомобиль для господина во фраке. Это привело к следующим негативным моментам в версии 6.0:
- с этой версией трудно работать на машине, не имеющей винчестера, так как для размещения системы в полном объеме требуется 3,5 Мбайт. Убрав все лишнее, можно втиснуть ее на дискету 1,2 Мбайт, однако при этом операции свопинга вызывают частые обращения к дискете и резко замедляют работу. Поэтому в данном случае оптимальна работа с версией 5.5:
- при отсутствии мышки работать с оболочкой IDE менее удобно, чем с оболочками предыдущих версий;
- по мнению автора, разработчики IDE слегка перешли ту невидимую границу, когда сервис еше не кажется навязчивым.
Анализ причин популярности интерпретаторов (например, языка Бейсик) показал, что основное для пользователя - это легкость освоения языка, удобство разработки и отладки программы. Интерпретаторы, как правило, включают в себя средства построчного (а в последнее время экранного) редактирования, трансляцию программы в промежуточный код, располагаемый для повышения скорости трансляции в ОЗУ ПЭВМ, и средства трассировки программы при ее выполнении (такие, как вывод на экран номера выполненного оператора, возможность остановить программу, посмотреть и изменить значения переменных, а затем продолжить ее выполнение).
Поэтому перед разработчиками популярного компилятора стояла задача: каким образом создать вокруг него программную среду, предоставляющую возможности не хуже, чем среда интерпретатора? Для этого уже на первом этапе шервые для компилятора была создана простейшая интегрированная оболочка (ИО) - объединенная с компилятором программная среда со средствами для: ввода и редактирования в экранном режиме исходных текстов программ: работы с файлами и директориями (оглавлениями) диска: трансляции программы в ОЗУ или в объектный файл: автоматической компоновки объектного файла с библиотеками; выполнения и отладки программы; получения справочной информации;
установки параметров (опций) компилятора и конфигурации системы. В дальнейшем ИО реализовывались и во всех других языках (Турбо-Си, урбо-Беисик, Турбо-Пролог), разработанных фирмой Borland, и были значи- ельно развиты. Хотя у каждой ИО в зависимости от поддерживаемого языка рограммирования есть свои особенности, все они имеют общую основу. Поэто- у, освоив работу в одной из ИО, очень легко начать пользоваться другой оболочкой. В настоящее время наличие ИО для языка программирования высокого уровня почти обязательно. Рассмотрим ИО Турбо-Паскаля версии 6.0, которая называется IDE.
На экране IDE представлена как набор взаимодействующих окон различного назначения При первоначальном входе в IDE Турбо-Паскаля на экране монитора в верхней строке появляется Главное меню. В нем находятся названия основных режимов работы системы:
s - информация о Турбо-Паскале и обновление экрана:
Files - работа с файлами и взаимодействие с MS-DOS;
Edit - ввод и редактирование программы;
Search - различные функции, связанные с поиском;
Run - выполнение и отладка программы;
Compile - трансляция и компоновка программы;
Options - установка режимов компиляции;
Debug - работа со встроенным отладчиком;
Window - работа с окнами IDE;
Help - вызов справочной системы.
Текущее положение в меню отмечено выделяющейся по цвету и яркости полоской. Перемещением полоски (курсор меню) с помощью находящихся на клавиатуре клавиш с горизонтальными стрелками и последующим нажатием клавиши Enter нужно выбрать необходимый режим. Это можно сделать также, одновременно нажав на клавиши Alt и первой буквы названия соответствующего меню. Например, для выбора режима редактирования достаточно нажать АН-Е (так принято обозначать указанное выше действие). Еще проще все это сделать с помощью курсора мышки.
Для удобства работы (если нет мышки) с наиболее часто используемыми операциями в оболочке Турбо-Паскаля вместо меню (или подменю) можно использовать функциональные клавиши либо определенное сочетание клавиш (НК - Hot Keys). Действие той или иной функциональной клавиши рззлично в зависимости от того, в каком режиме находится система. Однако всегда в нижней строке экрана выводится подсказка (см. рисунок). Более полную подсказку о НК можно получить, нажав на клавишу F1, вызывающую развитую контекстно-зависимую систему помощи, организованную по принципу гипертекста. Подсказки. выводимые на экран системой по первому обращению, зависят от того, с каким меню, режимом или оператором в данный момент взаимодействует пользователь. Система помощи позволяет, например, в режиме редактирования, установив курсор у ключевого слова (или имени встроенной процедуры или функции) и нажав на клавиши CTRL-F1. получить подсказку с кратким его описанием. форматом и даже примером использования. Из такой подсказки можно "вырезать'' нужную часть и перенести ее в pa3pa6aTbiBaeswK> программу.
Экран обычно разделен на окна (которые могут быть наложены Друг на друга*:
- редактора текстов. В это окно загружаются исходные тексты отлаживаемых или редактируемых программ. Если редактируется несколько файлов, каждому из них выделяется собственное окно;
- сообщений отладчика (окно трассировки):
- пользователя (окно для вывода результатов работы программы):
- регистров процессора и др.
Некоторые окна (поиска, помощи, контрольных точек, вычисления выражений) появляются при специальном обращении к ним.
Окно, в котором находится курсор, называется текущим окном. Его верхний край выделен двойной рамкой. Размер любого текущего окна может быть свободно увеличен (до размера области окон) или уменьшен.
Нижняя строка экрана - это строка подсказок ИО, или, иначе, навигационная строка. Окно редактирования также имеет свою очень короткую навигационную строку вида ххх:ууу, показывающую местоположение курсора (ххх - номер текущей строки, ууу - позиция курсора а строке). Режим вставка/замена показывается формой курсора. Название редактируемого файла дано в заголовке окна. Если имя редактируемого файла не задано, то по умолчанию он называется NON AMEOO.PAS. Система сохраняет информацию о файлах, которые появлялись в окне редактирования, и позволяет быстро переходить от одного из этих файлов к другому. Это, в частности, заметно облегчает отладку. Через специальную область редактора - Clipboard - можно копировать фрагменты текста из одного файла в другой.
Все режимы главного меню, кроме Edit, содержат в себе дополнительные подменю. Выйти из любого подменю можно, нажав на клавишу Esc или кнопку мышки.
Цикл разработки программы
Турбо-Паскаль поддерживает в широком смысле структурное программирование и сопровождение проекта. Цикл индивидуальной разработки программы (без постановочной части) можно представить следующей схемой:
- с помощью встроенного редактора текстов в систему вводится исходный текст программы и сохраняется в виде файла на диске;
- периодически, по мере ввода новых процедур, программа транслируется для выявления синтаксических ошибок, которые тут же устраняются;
- с помощью встроенных средств трассировки отлаживается каждая новая версия;
- периодически проводится структуризация программы.
- независимые части программы выделяются в отдельные модули;
- процесс повторяется до получения программы, удовлетворяющей внешним спецификациям, которые, в частности, можно написать на Турбо-Паскале.
Система поощряет написание программ за дисплеем. Это особенно эффективно для программ небольших и средних (до 5000 строк) размеров. Турбо-Паскаль 6.0 позволяет разрабатывать также и очень большие программы, при этом их сопровождение проще, чем систем на Си (более читаемый текст, отсутствие побочных эффектов).
Отметим, что компилятор Турбо-Паскаля поставляется и отдельно от ИО для тех немногих случаев, когда ее возможности не нужны.
Особенности реализации компилятора
Существен подход к реализации самого компилятора Турбо- Паскаля. Для увеличения скорости его работы компиляция производится в оперативную память, при этом незачем ждать завершения медленных дисковых операций. Обнаружив синтаксическую ошибку в тексте программы, ИО возвращает Вас в режим редактирования, курсор показывает место найденной ошибки, а компилятор выводит сообщение о типе ошибки. Система помощи позволяет получить расширенное объяснение ошибки. Это помогает оперативно устранить ошибки трансляции и быстро перейти к отладке выполнения программы.
Компоновка с библиотеками поддержки времени выполнения осуществляется автоматически, незаметно для пользователя. Эти библиотеки оформлены в виде набора системных модулей: Dos, Crt, Graph, Printer, System и др. Важно отмстить, что фирма Borland продает за 150 долл. их исходные тексты и окружение. Это исключительно полезно как для создания своих библиотек времени выполнения (поддержка кириллицы в функциях, нестандартный дисплей, работа с магнитофоном и т.п.), так и для обучения.
При компоновке неиспользуемые процедуры не включаются в исполняемый файл. В качестве формата объектного файла принят формат фирмы Intel. Возможна компоновка программы на Турбо-Паскале с программами, написанными на языках Турбо-Си и Турбо-Ассемблер.
Очень важна скорость трансляции. В первых версиях разработчики в ряде случаев пожертвовали ради этого эффективностью исполнения программы. Этот подход существенно ограничил и размеры программы: объем редактируемого файла, кодового сегмента и сегмента данных не более 64 Кбайт (соответствует программе объемом 5000...6000 операторов). Начиная с версии 4.0 эти ограничения были сняты.
В Турбо-Паскале разработчики отказались от некоторых ограничений, введенных в язык для целей обучения.
1. Вместо фиксированного порядка следования секций LABEL, CONST, TYPE, VAR, процедур и функций введен произвольный порядок. Каждая из этих секций может появляться в программе любое число раз, например:
var SampleNumber : longint;
const Max Counter - 1000000000;
var Next_Number : longint;
2. Метки могут быть не только цифровые (рудимент от Фортрана и Бейсика), но и символьные.
3. Существенно улучшен и усилен ввод-вывод. (Напомним, что гибель Алгола в первую очередь обусловлена отсутствием хорошего ввода-вывода.) Для иллюстрации дадим пример работы с массивом файлов (такая возможность не указана в описании, но не противоречит синтаксису языка и работает во всех версиях).
var
Fi : array[1..5] of text;
FiName: string; {имя файла }
Line : string; [строка текста}
begin
FiName:-'filel.txt'; {Эта процедура проверяет, поддерживается} Assign(Fi[3].FiName); {ли работа с массивом файлов }
Rewrite (Fi[3]);
WriteLn(Fi[3],' Тестовая строка.'); Close(Fi[3]);
Assign(Fi [2],FiName); {Эта возможность позволяет }
Reset(Fi[2]>; {унифицировать работу с файлами }
ReadLn(Fi[2] .Line); {данных }
WriteLn(Line); Close(Fi[2]); end;
Следует также обратить внимание на две процедуры быстрого обмена с диском:
BiockRead (FromFile, Buf, SizeOf(Buf), NumRead); В lock Write (ToFile, Buf, NumRead, NumWritten);
4. Добавлена работа с графикой BGI, реализованной и в других компиляторах серии Турбо. Она поддерживает большинство видеоадаптеров (CGA, MCGA, EGA, HGA, VGA и др.), рисование точек, линий и фигур, их закрашивание, а также работу со шрифтами. Собственный шрифт можно создать с помощью пакета BGIFont.
5. Поддерживается работа с программными и аппаратными прерываниями. Процедуры
SetIntVec(Into:bvte; Vector:pointer)
GetIntVec(IntNo:byte; var Vector:pointer) соответственно устанавливают и возвращают вектор прерывания с заданным номером.
Так как обращение к DOS, BIOS и процедурам обработки прерываний часто требует передачи параметров в регистрах, то в Турбо-Паскале для этого в модуле DOS определен следующий тип данных: type
Registers = Record case integer of
0: (AX, BX, CX, DX, BP, SI, Dl, DS. LS, Flafs: word);
1: (AL, AH, BL, BH, CL, DH, DL, DH: byte)
end;
Кроме того, работу с регистрами поддерживает набор функций:
CSeg, SSeg, DSeg, Seg, Ofs, Ptr, Addr и @. IntrdntNo, var Regs:registers) - вызывает программное прерывание с заданным номером.
MsDos(var Regs:registers) - обращение к системным вызовам MS DOS.
Процедуры обработки прерываний имеют заголовок следующего вида:
procedure имя_процедуры interrupt;
6. Можно работать с абсолютными адресами памяти. Этому способствует возможность записи чисел в 16-ричной нотации, таким константам предшествует знак $. Пример:
Var
Crt_Mode : byte absolute $0040:$0049; BuffjStr : string [255]; StrLen : byte absolute Buff_Str; Существуют три предопределенных массива: байтовый массив памяти (Mem), массив слов (MemW) и массив двойных слов (memL), которые позволяют читать и писать, соответственно, байты, слова и двойные слова (4 байта) в ОЗУ. Например,
Byte_Var:-Mem [Dseg:$0C37];
7. Можно работать с портами ввода-вывода. Массивы портов Port и PortW служат для ввода-вывода, соответственно, байтов и слов данных. Это позволяет писать на Турбо-Паскале драйверы для медленных и среднескоростных устройств. Так, можно написать операторы:
Port[$f6] :~$20; { запись в порт значения }
Port[base+8] :~Port[base+8] xor Ready_mask; {готовность}
while PortW[SC2] and $02 - 0 do <оператор> { ожидание }
8. Можно включать в программу машинный код, например аналоги ассемблерных команд:
Procedure CLI; inline($FA); { до версии 6.0 } Procedure STI; inline ($FB);
Появившийся в версии 6.0 встроенный ассемблер позволяет писать команды, используя стандартную мнемонику: asm {в версии 6.0 Турбо-Паскаля эта}
mov ах, offset Line {конструкция рассматривается как одно} mov cl, byte ptr Line {предложение. Line объявлена как} {string [255]. В нулевом байте длина}
end;
Отметим, что с реализацией встроенного ассемблера фирма Borland явно не спешила.
9. Для того чтобы можно было передавать процедуры и функции в качестве параметров при обращении к другим процедурам и функциям, разработчики Турбо-Паскаля ввели в него понятие процедурного типа. Пример:
type
Fn lnt - Function (MinT, MaxT: integer) : integer;
Fn Str - Function (var Str: string): string;
ParProc - Procedure (var Sv: single; M,N: integer);
В соответствии с правилами Паскаля могут быть объявлены переменные процедурного типа и им в качестве значения можно присвоить имя процедуры (функции), после чего имя такой переменной становится синонимом имени присвоенной ей процедуры. Этот механизм дает программисту большой простор для творчества. Хорошие примеры можно найти в [16]. Автор вообще рекомендует прочитать эту книгу, так как, несмотря на имеющиеся в ней ошибки и некоторые спорные утверждения, написана она с душой и содержит множество тонких наблюдений относительно Турбо-Паскаля. Некоторые темы изложены в этой книге лучше, чем в фирменном руководстве.
10. Введена поддержка арифметических сопроцессоров 8087 (КР1810ВМ87) 80287 и 80387 или их программное моделирование (эмуляция) в случае отсутствия таковых.
11. Символьная отладка позволяет выполнять программу пооператорно, непроцедурно и с контрольными точками, помечать переменные, массивы и объекты для вывода их значений в окне отладки. Для отладки программ можно использовать и внешний отладчик Turbo Debugger [13], а для их оптимизации - пакет Turbo Profiler. С помощью пакета Turbo Profiler Вы можете определить критичные по времени участки программы и переписать их, например на ассемблере. Это может повысить скорость выполнения на 20 - 40%. Однако обычно результаты существеннее, если найдены более эффективные алгоритмы.
12. Системные возможности позволяют получать параметры из командной строки вызова программы и переменные среды DOS; запускать из программы на Турбо-Паскале другую программу (в частности, COMMAND.COM) и получать код ее завершения; работать с директориями (возможность, которой так недостает MS-FORTRAN 5.0); делать программы резидентными; строить оверлейные структуры и многое др.
13. Средства для объектно-ориентированного программирования повышают эффективность разработки.
Остановимся на понятии потребительского качества программного обеспечения (ПО). Под этим понимается совокупность Свойств программы, делающих работу с ней удобной и приятной для пользователя. Этот критерий в значительной степени отражает наше эмоциональное отношение к тому или иному продукту. В программистском плане наработка потребительских свойств программного продукта - очень трудная задача. Одна из главных причин успеха Borland - высокое потребительское качество создаваемого этой фирмой ПО. В частности, в Турбо-Паскале это проявляется в виде многих десятков мелочей, без которых, вообще говоря, можно обойтись, но их отсутствие (например, в Паскале "Электроники-85") равносильно переезду из пятизвездной гостиницы в общежитие. Интересным было бы обсуждение вопроса, чем приходится расплачиваться программисту за весь этот сервис.
Объектно-ориентированное программирование (ООП)
Процедурным языкам программирования, к которым относится и Паскаль, свойственны трудности отладки и сопровождения программ. Это вызвало появление языков других типов: объектно-ориентированных, функционального и логического программирования. Для меня, как и для многих программистов, показался очень интересным шаг фирмы Borland к ООП в Турбо-Паскале 5.5.
Преимущество ООП в том, что оно обеспечивает большую структуризацию и модульность программы, более высокий уровень абстракции при разработке программы, что очень важно, так как используемый язык программирования в значительной степени определяет мышление программиста. На практике это увеличивает на 30...35% скорость разработки программ по сравнению с языком Си (но не Си++).
Для поддержки ООП в Турбо-Паскаль 5.5 введен новый тип данных - object. На первый взгляд, он похож на запись (record). Например, для системы управления дорожным движением мы можем записать объект типа "светофор" следующим образом:
type Sf - object
Light : (red.yellow.green);
Ready Time : integer;
end;
В отличие от записей, объекты одного типа могут наследовать свойства объектов другого типа. Чтобы в нашем примере определить объект типа "светофор с дополнительной стрелкой влево", нужно только в скобках после слова object указать, от какого объекта наследуются свойства, а потом внести дополнительные данные:
Type Sfl - object (sf) Left Arrow: boolean; Arrow Time : integer; end;
Кроме наследования объекты отличаются от записей тем, что в них можно определить методы - процедуры и функции, связанные с определенными в объекте данными. Методы также могут наследоваться. Например, для объекта "светофор" напишем функцию, проверяющую, горит ли красный свет, так: type Sf - object Light : (red,yellow,green>; Ready_Time : integer; function Red_Light : boolean; end;
function Sf.RedJjght : boolean; begin
if Light-red then Red_Light:-true ' else Red_Light:-false end; {redjight}
В объявление объекта помещается только заголовок процедуры или функции. К полям данных объекта можно обратиться, как и к полям записи, либо указанием полного имени, либо с помощью конструкции
With <тип_объекта> do <оператор>
Таким образом, работая с объектами с помощью методов, программист в Турбо-Паскале не обращается в программе явным образом к данным, определенным внутри объекта. Это позволяет их легко модифицировать. Такой подход ближе к подходу, принятому в языке Си++ [ 11 ], и несколько отличается от чистого ООП, как например, в языке Смоллток. Следует учесть, что, если конструкции процедурных языков, пройдя около 3000 реализаций, в основном стандартизовались, то ООП - это область, освоение которой только началось. Отметим, что фирменная документация по ООП [4] достаточно трудна для чтения, поэтому многие программисты, перешедшие на версии 5.5 и 6.0, реально возможности ООП не используют.
Пакеты поддержки разработок на Турбо-Паскале
Почти все пакеты имеют отдельные реализации для каждой из версий Турбо-Паскаля (3.0, 4.0 и 5.0/5.5). Это вызвано тем, что переход к версии 4.0 дал возможность "спрятать" исходные тексты пакетов в модули типа unit. Однако, к сожалению, форматы unit-модулей в версиях 4.0 и 5.0/5.5 несовместимы и требуется перетрансляция исходных текстов таких модулей, чтобы использовать пакеты для версии 4.0 под версиями 5.0 и 5.5.
Название Toolbox (дословно: "ящик с инструментами") отражает их главную особенность: набор процедур для создания программного продукта в некоторой области, название которой отражается в первой части имени пакета. Пакеты для версии 3.0 поставляются полностью в исходных текстах и полезны не только как программный продукт, но и как материал для изучения методов создания ПО.
В версиях для Турбо-Паскаля 4.0 и выше эти пакеты более развиты, но уже не являются открытыми.
1. Пакет для обучения Turbo Pascal Tutor позволяет самостоятельно быстро освоить основной курс обучения языку Турбо-Паскаль. В версии 4.0 он отличается большей наглядностью. Понимание материма можно проверить по каждому разделу курса. Пакет легко адаптируется на русский язык и расширяется. Недостаток: очевидно, из-за многообразия графических адаптеров в нем нет разделов, посвященных работе с графикой.
2. Пакет для построения баз данных Database Toolbox. Это первый из пакетов серии Toolbox. Он состоит из набора процедур для создания базы данных и процедур сортировки. И те, и другие обеспечивают приемлемые времена работы с БД. С помощью этого пакета можно построить СУБД для баз с 64535 записями и с индексацией методом В+дерева (в версии для Турбо-Паскаля 4.0 число записей увеличено до 2 млн.). Размер записи от 8 байт до 64 Кбайт. Ведение структуры записи лежит на программисте, поэтому БД может быть любого типа.
3. Пакет для построения редакторов текстов Editor Toolbox содержит в себе три редактора текстов. Первый из них - базовый экранный редактор текстов MicroStar - мощнее, чем широко известный WordStar, но слабее, чем WordStar 2000. Исходные тексты MicroStar позволяют собрать текстовый редактор, добавив в него свои команды и (или) убрав из него ненужные команды. В интерфейс второго редактора (FirstEd) можно ввести несколько своих команд. Третий - BinaryEditor - поставляется в виде объектного файла (его можно включить в свою программу, он похож на используемый в самой системе Турбо-Паскаль).
4. Пакет численных методов Numerical Methods Toolbox содержит в себе процедуры для интерполяции, аппроксимации, численного дифференцирования и интегрирования, решения уравнений, операций с матрицами, быстрого преобразования Фурье и др.
5. Пакет Turbo Games предназначен для разработчиков компьютерных игр. В качестве примеров приведены исходные тексты нескольких популярных игр: GO-MOKU, бридж и др.
6. Пакеты других фирм.
Фирма BLAISE Computing, Inc. поставляет два популяр- ых пакета:
- POWER TOOLS Plus - набор процедур системного на- начения, реализующих расширенные возможности управле- ия экраном, мышкой и клавиатурой, окнами, расширенный оступ к оглавлению диска, работу с прерываниями, расши- енной памятью и др.
- TURBO ASYNCH Plus - набор процедур, позволяющий рограммисту реализовывать в прикладных системах на (ЭВМ, совместимых с IBM PC XT/AT, различные режимы ра- эты с асинхронным коммуникационным адаптером. Нижний ровень - поддержка управления устройствами, подключенны- и через последовательный интерфейс; верхний - интерфейс рикладных программ с процедурами нижнего уровня.
Фирма TurboPower Software разработала пакет Turbo rofessional. Он предназначен большей частью для разработ- иков ПО. В составе пакета - процедуры для управления экра- DM (окна, меню, построчный редактор). Он может работать со -роками, с прерываниями, вызывать ДОС и базовую систему юда-вывода (БСВВ - BIOS), сортировать, управлять распре- :лением памяти, работать с большими массивами и т.п.
Фирма Lauer & Wallwitz (ФРГ) разработала конвертор рограмм (транслятор, переводящий программы с одного языка программирования в другой), написанных на Турбо-Паска- в исходные тексты на языке Си для последующей трансляции их компиляторами Микрософт-Си или Турбо-Си.
Как и вообще в языке Паскаль, в Турбо-Паскале нет встроенной операции возведения в степень. Это делается с помощью ункции типа Power. Неприятная традиция вызвана скорее его эстетическими соображениями: какой знак использовать [я обозначения этой операции?
2. Нет встроенных средств для работы с комплексными (слами. Поэтому часть пользователей не может расстаться с ортраном. (Справедливости ради, отметим, что Фортран-77 в ализациях на ПЭВМ значительно усилился.)
3. Отсутствует возможность использования букв нацио- 1льных алфавитов в идентификаторах.
Заключение
На реализацию любого языка программирования более других влияют два фактора: аппаратные характеристики ЭВМ и возможность расширения языка. От первого зависит реализуемый уровень сервиса и инструментальной программной среды, от второго - дальнейшее развитие данной реализации языка программирования. Для ПЭВМ на базе МП 80286 версия 6.0 Турбо-Паскаля в значительной мере близка к насыщению. Эта система сможет развиваться после перехода на ПЭВМ на базе 32-разрядных МП 80386SX/80386DX/80486 фирмы Intel.
Интересно соревнование (конкуренция) фирм Borland (800 программистов) и Microsoft (более 5000 программистов) в области языков программирования. До появления версии 6.0 система Quick Pascal фирмы Microsoft была серьезным конкурентом для Турбо-Паскаля. По существу, это соревнование двух из нескольких десятков имеющихся в США школ. Жаль, что в СССР таких школ практически нет. Здесь автор первоначально описал "плачь Ярославны" по этому поводу. Однако вместо него хотелось бы только отметить два момента.
Во-первых, развитие вычислительной техники у нас никогда не рассматривалось в качестве одного из основных средств экспансии своего влияния, а угроза с этой стороны никогда не воспринималась серьезно. (В этом плане книга Г. Р. Громова "Национальные информационные ресурсы" [18] - практически единственное предупреждение.). "Кто с компьютером к нам придет - ?".
Во-вторых, заметное падение интереса к вычислительной технике, наблюдавшееся на последних выставках в Москве, показало, что эта область может развиваться только в условиях социальной стабильности. Ну, а если все-таки перед читателем стоит проблема выбора языка и среды разработки, то, при прочих равных условиях, автор рекомендует выбрать Турбо-Пас - каль.
Автор
tujh.94
Документ
Категория
Без категории
Просмотров
315
Размер файла
84 Кб
Теги
язык, программирование, Турбо, паскаль
1/--страниц
Пожаловаться на содержимое документа