Издательство: | Вильямс/Диалектика |
Дата выхода: | июль 2002 |
ISBN: | 5-8459-0256-8 |
Объём: | 896 страниц |
Масса: | 915 г |
Размеры(В x Ш x Т), см: | 24 x 18 x 5 |
Обложка: | твёрдая |
Иллюстрированное издание | + |
Переводное издание | + |
Язык оригинала: | английский |
ISBN оригинала: | 0-2013-5086-6 |
Данная книга задумана как начальное пособие для решения задач программирования и разработке программ с применением Turbo Pascal версии 7.0. При этом не требуется предварительных знаний по программированию или компьютерам; для понимания большинства материала достаточно владеть курсом алгебры в объеме средней школы. Среди прочего, книга познакомит читателя с интегрированной средой Turbo Pascal, компьютерной графикой, процедурами и функциями, объектно-ориентированным программированием и многим другим.
Решение задач
Взаимосвязь между развитыми навыками решения разного рода задач и способностью эффективно разрабатывать программное обеспечение показана в главе 1. Данная глава также знакомит читателя с интегрированной средой Turbo Pascal. Практическое применение метода проектирования программных средств рассматривается в главе 2 (раздел "ИССЛЕДОВАНИЕ ЗАДАЧИ"); указанный метод затем применяется во всех подобных разделах по всей книге.
В главах 3 и 4 в ходе обсуждения нисходящего проектирования, метода "разделяй и властвуй" (т.е. деления задач на более мелкие подзадачи), решения по аналогии и обобщения решения, как и в предыдущем издании по-прежнему большое внимание уделяется решению задач. Очень важный раздел главы 3 демонстрирует, как Pascal-программа может быть создана на основе документации, явившейся результатом систематического применения метода проектирования программных средств.
Графика
Данное издание содержит введение в компьютерную графику. Некоторые графические процедуры Turbo Pascal описаны в главе 3, анимация - в главе 6 и интерфейсы пользователя - в главе 9.
Техника создания программного обеспечения
В этой книге рассматриваются многие аспекты процесса создания программного обеспечения. Вопросы, связанные со стилем программирования, освещаются с использованием специальных описаний синтаксиса. Концепция программы как последовательности управляющих структур освещается в начале главы 4. Кроме того, несколько глав содержат разделы, посвященные трассировке, отладке и тестированию программ.
Глава 9 представляет собой полное руководство по технике создания программного обеспечения. Из данной главы читатель узнает о таких понятиях, как жизненный цикл программного обеспечения (software life cycle) и создание прототипов (prototyping), а также узнает о том, как организовать совместную работу коллектива разработчиков-программистов над решением общей задачи. Детальное рассмотрение всех фаз жизненного цикла программного обеспечения предполагает обсуждение неформальных методов тестирования программ (тестирование "прозрачного ящика" и "черного ящика", комплексное тестирование, сквозной структурированный контроль) и формальных методов верификации программ, а также обсуждение утверждений и инвариантов цикла. В этой главе также состоится предварительное знакомство читателя с абстракцией данных и процедурной абстракцией. Здесь же содержится информация о модулях, в частности, о модуле Crt, средства которого позволяют создавать оконные интерфейсы. Здесь же показано, как создавать собственные модули с целью реализации библиотек подпрограмм и абстрактных типов данных. Завершается глава 9 обсуждением вопросов, связанных с профессиональной этикой.
Процедурная абстракция
Хотя не существует единого мнения по поводу того, когда приступать к изучению процедур и их параметров, большинство преподавателей сходятся на следующем. Знакомство с процедурами изучающих программирование должно происходить как можно раньше, процедуры никогда не должны манипулировать глобальными переменными (во избежание побочных эффектов). Кроме того, все специалисты признают вопрос о параметрах процедур достаточно сложным. Подход, принятый в данной книге, заключается в том, чтобы сначала (в главе 3) обсудить важность модульности программ и многократного использования процедур и функций. Данная глава обоснует использование подпрограмм в качестве "кирпичиков" при создании программ, демонстрируя некоторые примеры применения процедур без параметров (в частности, для отображения обширных инструкций пользователю и создания диаграмм). Затем в разделе 3.5 обсуждается важность параметров и ограниченность подпрограмм без параметров; тем самым обоснуется необходимость последующего изучения этой темы (глава 6). Раздел 3.6 знакомит читателя с графическими процедурами и демонстрирует их использование.
Глава 6, завершающая изучение процедур и функций, посвящена всем аспектом использования параметров. Глава начинается с обсуждения процедур, у которых есть только параметры-значения; затем здесь идет речь о процедурах, имеющих как параметры-значения, так и параметры-переменные; наконец, читатель познакомится с такой разновидностью подпрограмм, как функции. Необязательный раздел в конце главы посвящен рекурсивным функциям.
Некоторые преподаватели полагают, что процедуры с параметрами и процедуры без параметров следует рассматривать вместе. Читатели, придерживающиеся этого мнения, легко смогут изменить порядок изучения тем. Если вы не имеете ничего против того, чтобы отложить знакомство с процедурами до главы 6 (где, как уже шла речь выше, обсуждаются процедуры с параметрами и процедуры без параметров), пропустите при изучении главы 3 разделы 3.4 и 3.5. И наоборот, если вы предпочитаете узнать о процедурах как можно раньше, обратитесь к разделу 6.1 (посвященному параметрам) сразу после знакомства с главой 3 и отложите разделы 6.2 и 6.3 (в которых рассматриваются параметры-переменные и синтаксис списков параметров) до того, как завершите изучение первых трех разделов главы 4 (посвященных управляющим структурам, Boolean-выражениям и оператору if).
Абстракция данных и объектно-ориентированное программирование В главе 9, посвященной технике создания программного обеспечения, вы встретитесь с первым примером абстрактного типа данных (АТД). Здесь же вы познакомитесь с перечислимым типом данных и узнаете, как объединить в едином модуле Turbo Pascal тип данных и процедуры, предназначенные для обработки данных этого типа. Абстракция данных и АТД широко используются при освещении более сложных тем, рассматриваемых в этой книге, начиная с главы 13.
Глава 13, посвященная объектам Turbo Pascal и объектно-ориентированному программированию (ООП), помимо прочего, познакомит читателя с таким свойством объектов, как наследование. Объекты и ООП также рассматриваются в главе 17 и главе 18.
Освещение теоретических концепций
Данная книга, помимо прочего, рассматривает также некоторые теоретические вопросы. Так, необязательный раздел из главы 7 познакомит читателя с числовыми вычислениями и итеративной аппроксимацией. Глава 9 обсуждает вопросы верификации программ, фокусируя при этом основное внимание на утверждениях и инвариантах циклов. А в главе 10 читатель познакомится с поиском в массивах и их сортировкой.