Введение ----------------------------------------------------------------- Эта книга поможет вам раскрыть на конкретных примерах боль- шие возможности системы Турбо Паскаль. В каждой главе рассматри- вается определенная тема программирования и разрабатываются прог- раммы, относящиеся к этой теме. В ходе этого процесса вы увидите какие преимущества дает Турбо Паскаль при решении некоторых обыч- ных задач программирования. В то же время вы сможете усовершенс- твовать свои программистские способности. Глава 1 посвящена сортировке массивов и дисковых файлов. В главе 2 рассматриваются стеки, очереди, связанные списки и двоич- ные деревья. Такой диапазон вопросов, рассматриваемых в одной главе, может показаться слишком широким, однако предмет обсужде- ния обладает достаточной однородностью. В главе 3 рассматриваются методы динамического управления памятью, а в главе 4 дается обзор принципов связи с операционной системой и с языком ассемблера. Темой главы 5 является статисти- ческий анализ и в нее включены законченные программы по статисти- ческому анализу. В главе 6 рассматриваются вопросы кодировки, шифрования и сжатия данных. В нее также включена краткая история криптографии. В главе 7 рассматривается несколько генераторов случайных числе и затем обсуждается их использование при решении двух задач моделирования /контрольной линии на складе и управле- ния портфелем заказов/. Глава 8, которая мне нравится больше всего, содержит полный код рекурсивного нисходящего синтаксического анализатора. /Нес- колько лет назад я готов был заплатить почти любую цену за такой код/. Глава 8 предназначена для тех, кому требуется выполнять анализ выражений. Средства, предназначенные для работы с базой данных, и графические средства, которые являются двумя очень по- лезными дополнениями Турбо Паскаля, рассматриваются соответствен- но в главе 9 и главе 10. В главе 11 рассматриваются вопросы эф- фективности, мобильности и отладки программ. В конце книги дается три приложения. В приложении А показано, как программы на языках Си и Бейсик можно преобразовать в программу на языке TURBO -Пас- каль. В приложении Б описаны отличия языка Турбо Паскаль от стан- дартного Паскаля. В приложении В рассматривается применение бло- ков в Турбо Паскале. Поскольку Турбо Паскаль всегда отличался особенно высокой скоростью компиляции и эффективностью получаемого кода трудно бы- ло ожидать, что его можно будет каким-либо способом заметно улуч- шить. Однако с выходом Турбо Паскаля версии 4 значительно расши- ряется область применения Турбо Паскаля. Теперь /и впервые/ программисты, использующие Турбо Паскаль, не ограничены 64К в от- ношении размера кода программы. Поскольку в версии 4.0 обеспечена раздельная компиляция и связь блоков размер программ ограничива- ется размером имеющейся памяти. В результате использования этих дополнительных возможностей некоторые программы, которые разраба- тывались с применением первых версий системы Турбо Паскаль, не будут компилироваться в версии 4.0. Соответственно, некоторые программы, написанные для версии 4, не будут компилироваться в первых версиях системы Турбо Паскаль. Из-за важности использован- ных в Турбо Паскале версии 4 усовершенствований приводимые в этой книге примеры соответствуют версии 4. Таким образом, если вы ис- пользуете первые версии системы Турбо Паскаль, то вам придется выполнить небольшие изменения в некоторых примерах. /Однако наи- лучшим выходом из положения является переход на более совершенную версию 4 Турбо Паскаля/.