Предисловие редактора

Часть 1. Обзор языка


Глава 1. Упрощенная модель компилятора
1.1. Лексический анализатор
1.2. Синтаксический анализатор
1.3. Генератор кода
1.4. Таблицы
1.5. Структура профессиональной среды разработки
программ Borland Pascal With Objects 7.0
Версии компилятора, работающие под управлением MS-DOS в
реальном режиме процессора (TURBO.EXE, ТРС.ЕХЕ)
Версии компилятора, работающие под управлением MS-DOS в
защищенном режиме процессора (ВР.ЕХЕ и ВРС.ЕХЕ)
Версия компилятора, работающая под управлением Windows (BPW.EXE)
Контрольные вопросы

Глава 2. Набор символов, лексемы, разделители
2.1. Набор символов
2.2. Лексемы
2.2.1. Специальные символы
2.2.2. Зарезервированные (ключевые) слова
2.2.3. Идентификаторы
2.2.4. Метки
2.2.5. Числа
2.2.6. Строки
2.2.7. Комментарии
2.3. Разделители
Контрольные вопросы

Глава 3. Структура программы
3.1. Заголовок программы
3.2. Раздел указания используемых модулей (предложение USES)
3.3. Раздел описаний
3.3.1. Описание меток
3.3.2. Описание типов
Стандартные типы
Группа целых типов
Группа вещественных типов
Группа булевских типов
Символьный тип
Строковые типы
Указательный тип
Текстовый тип
Пользовательские типы
Перечисляемый тип
Интервальный тип
Указательные типы
Структурированные типы
Процедурный тип

Синтаксические диаграммы описания типов
3.3.3. Описание констант
Простые константы
Типизированные константы
Типизированные константы стандартных типов
Типизированные константы указательного типа
Типизированные константы структурированных типов
Типизированные константы типа "массив"
Типизированные константы типа "множество"
Типизированные константы типа "запись"
Типизированные константы объектного типа
Типизированные константы процедурного типа
3.3.4. Описание переменных
3.3.5. Описание процедур и функций
3.3.6. Описание экспорта
3.4. Раздел операторов (операторный блок)
Контрольные вопросы

Глава 4. Операции и выражения
4.1. Понятия выражения, операции, операнда
4.2. Приоритет операций и их классификация
4.2.1. Приоритет операций
4.2.2. Синтаксические диаграммы, описывающие выражение
4.2.3. Классификация операций
4.3. Описание операций
4.3.1. Арифметические операции
4.3.2. Операции отношения
4.3.3. Булевские (логические) операции
4.3.4. Поразрядные (битовые) булевские и сдвиговые операции
4.3.5. Строковая операция
4.3.6. Операции надмножествами
4.3.7. Операция взятия адреса (получения указателя)
Контрольные вопросы

Глава 5. Операторы
5.1. Простые операторы
5.1.1. Оператор присваивания
5.1.2. Оператор процедуры
5.1.3. Оператор перехода
5.2. Структурные операторы
5.2.1. Составной оператор
5.2.2. Условные операторы
Условный оператор if
Оператор выбора case
5.2.3. Операторы повторения
Оператор цикла с предусловием while
Оператор цикла с постусловием repeat
Оператор цикла со счетчиком (с параметром) for
Сравнение работы операторов while, repeat и for
Оператор присоединения with
Контрольные вопросы

Глава 6. Модули
Контрольные вопросы

Глава 7. Динамически связываемые библиотеки
7.1. Создание динамически связываемых библиотек
7.2. Импорт процедур и функций из DLL
7.2.1. Импорт по имени
7.2.2. Импорт по новому имени
7.2.3. Импорт по порядковому номеру
7.2.4. Модули импорта
7.3. Область действия переменных в DLL
7.4. DLL, Совместно используемые в защищенном режиме
Dos и в Windows
Контрольные вопросы


Часть 2. Структуры данных и работа с ними средствами языка
Turbo Pascal

Глава 8. Классификация структур данных
8.1. Данные статической структуры
8.2. Данные динамической структуры
Контрольные Вопросы

Глава 9. Обобщенные управляющие конструкции алгоритмов и их
реализация средствами языка Turbo Pascal
9.1. Конструкции условия (разветвления)
9.2. Конструкции повторения (цикла, итерации)
9.3. Конструкции переходов
Контрольные вопросы

Глава 10. Работа с данными статической структуры
10.1. Работа с данными простых типов
10.1.1. Ввод-вывод значений переменных простых и строковых типов
Ввод
Вывод
10.1.2. Основные встроенные процедуры и функции для работы
со значениями простых типов
Арифметические типы
Порядковые типы
Указательные типы
10.1.3. Особенности работы с пользовательскими простыми типами
10.1.4. Стандартные функции преобразования типов
10.2. Работа с составными данными однородной структуры
10.2.1. Массивы
Одномерный массив (вектор)
Двухмерный массив (матрица)
Трехмерный массив
10.2.2. Сортировка массивов
Сортировка вставкой
Сортировка выбором
Сортировка обменом ("пузырьковая" сортировка)
Сравнение прямых методов сортировки
10.2.3. Двоичный поиск (бинарный поиск, поиск делением пополам)
10.2.4. Примеры работы с двумерными массивами (матрицами)
10.2.5. Строки
Первый способ реализации строк
Второй способ реализации строк
10.2.6. Множества
10.3. Работа с составными данными неоднородной структуры
10.3.1. Записи
Фиксированные записи
Вариантные записи
10.4. Совместимость типов
10.4.1. Совместимость в выражениях
10.4.2. Совместимость по присваиванию
Контрольные вопросы

Глава 11. Процедуры и функции
11.1. Структура процедур и функций
11.2. Область действия (сфера видимости) идентификаторов
при использовании процедур и функций
11.3. Классификация способов передачи параметров
11.3.1. Параметры value in (в Turbo Pascal реализованы)
11.3.2. Параметры value out
11.3.3. Параметры value inout
11.3.4. Параметры addr in (в Turbo Pascal реализованы)
11.3.5. Параметры addr out
11.3.6. Параметры addr inout (в Turbo Pascal реализованы)
11.4. Передача параметров в Turbo Pascal
11.4.1. Параметры-значения
11.4.2. Параметры-переменные
11.4.3. Параметры-константы
11.4.4. Бестиповые параметры
11.4.5. Открытые параметры-массивы
11.5. Процедурные директивы
11.5.1. Директивы near и far
11.5.2. Директива forward
11.5.3. Директива interrupt
11.5.4. Директива export
11.5.5. Директива external
11.5.6. Директива assembler
11.5.7. Директива inline
Контрольные вопросы

Глава 12. Рекурсия
12.1. Понятие рекурсии и основные определения
12.2. Формы рекурсивных процедур
12.2.1. Выполнение действий на рекурсивном спуске
12.2.2. Выполнение действий на рекурсивном возврате
12.2.3. Выполнение действий как на рекурсивном спуске,
так и на возврате
12.3. Задача о ханойских башнях
12.4. Быстрая сортировка
Контрольные вопросы

Глава 13. Файлы
13.1. Понятие физического и логического файла
13.1.1. Структура физического файла
13.1.2. Структура логического файла
13.2. Классификация файлов в Turbo Pascal
13.3. Назначение, открытие и закрытие файлов
13.4. Общие средства для работы с файлами
13.4.1. Процедуры и функции модуля System
Процедуры работы с каталогами
Процедуры переименования и удаления файлов
13.4.2. Константы, типы, процедуры и функции модуля DOS
Типы для работы с файлами
Константы для работы с файлами
Процедуры и функции для работы с файлами
13.5. Типизированные файлы
13.5.1. Процедуры и функции для работы с типизированными
файлами
13.6. Текстовые файлы
13.6.1. Структура текстового файла
13.6.2. Отличия текстового файла от file of Char
13.6.3. Процедуры и функции для работы с текстовыми файлами
13.7. Нетипизированные файлы
13.7.1. Процедуры и функции для работы с нетипизированными
файлами
Контрольные вопросы

Глава 14. Работа с динамическими структурами данных
14.1. Распределение памяти
14.2. Простейшие действия с указателями
14.3. Несвязанные динамические данные
14.4. Связанные динамические данные
14.4.1. Основные определения
14.4.2. Организация взаимосвязей в связанных динамических
данных
14.4.3. Работа с очередью
Создание очереди
Добавление элемента очереди
Удаление элемента очереди
14.4.4. Работа со стеком
Создание стека
Добавление элемента стека
Удаление элемента стека
Контрольные вопросы


Часть 3. Методологии разработки больших программных комплексов

Глава 15. Структурная методология разработки программ
15.1. Исторические заметки
15.2. Цели структурного программирования
Обеспечить дисциплину программирования
Улучшать читабельность программы
Повышать эффективность программы
Повышать надежность программы
Уменьшать время и стоимость программной разработки
15.3. Основные принципы структурной методологии
Принцип абстракции
Принцип формальности
Принцип "разделяй и властвуй"
Принцип иерархического упорядочения
15.4. Модульное программирование
Форма модульной программы
15.5. Стандарты структурного программирования
Контрольные вопросы


Часть 4. Стандартные приемы работы с устройствами IBM-PC

Глава 17. Работа с клавиатурой, курсором и звуком
17.1. Клавиатура
17.2. Курсор
17.3. Звук
Контрольные вопросы

Глава 18. Работа в текстовом видеорежиме
18.1. Экран в текстовом режиме
18.2. Константы цвета
18.3. Окна в текстовом режиме
18.4. Прямой доступ к видеопамяти
Контрольные вопросы

Глава 19. Работа в графическом видеорежиме
19.1. Предопределенные константы
19.1.1. Константы цвета
19.1.2. Константы типа линий и их толщины
19.1.3. Константы типов закраски
19.1.4. Константы типа шрифта и выравнивания текст
Константы типа шрифта
Константы выравнивания текста по горизонтали
Константы выравнивания текста по вертикали
19.1.5. Константы для процедуры Set Viewport
19.1.6. Константы для процедуры Bar3D
19.1.7. Константы для процедур PutImage и SetWriteMode
19.2. Предопределенные типы
19.2.1. Тип установки цветов палитры
19.2.2. Тип установки вида линий
19.2.3. Тип установки оформления текста
19.2.4. Типы установки вида закраски
19.2.5. Тип для процедуры GetViewSettings
19.2.6. Тип для работы с процедурами Arc и Ellipse
19.2.7. Тип для задания координат точек на экране
19.3. Графические драйверы и режимы
19.3.1. Константы графических драйверов
19.3.2. Константы графических режимов
19.4. Система координат
19.5. Текущий указатель
19.6. Инициализация графического режима
19.7. Ошибки инициализации графического режима и их обработка
19.8. Простейшие графические фигуры
19.9. Вывод текста в графическом режиме
19.10. Эффект движения в графическом режиме
Контрольные вопросы

Глава 20. Turbo Pascal и ассемблер
20.1. Оператор asm
20.2. Директива assembler
20.3. Директивы ($L имя} и external
20.4. Оператор inline
20.5. Директива inline
Контрольные вопросы

Приложения

Приложение 1. Стандартные процедуры и функции
Процедуры и функции модуля SYSTEM
Процедуры и функции модуля DOS
Процедуры и функции модуля CRT
Процедуры и функции модуля GRAPH
Процедуры и функции модуля STRWGS
Процедуры и функции модуля OVERLAY
Процедуры и функции модуля WINAPI
Процедуры и функции модуля WINDOS
Процедуры и функции модуля WINCRT
Процедуры и функции модуля WINPRN

Приложение 2. Директивы компилятора

Приложение 3. Сообщения об ошибках
Сообщения компилятора
Ошибки времени выполнения
Ошибки DOS
Ошибки ввода-вывода
Критические ошибки
Фатальные ошибки
Ошибки интерфейса DOS защищенного режима (DPMI)
Ошибки установки (DPMIINST)
Ошибки фиктивного модуля
Ошибки администратора этапа выполнения
Ошибки DPMI-сервера

Приложение 4. Интегрированная среда разработки (ИСР)

Меню интегрированной среды разработки
Главное меню
Меню File
Меню Edit
Меню Search
Меню Run
Меню Compile
Меню Debug
Меню Tools
Меню Options
Меню Window
Меню Help

"Горячие" клавиши интегрированной среды разработки (ИСР)
Клавиши общего назначения
Клавиши работы со справочной системой
Клавиши открытия, сохранения файлов и работы с
окнами редактирования
Клавиши работы с фрагментами текста программы
Клавиши компиляции и запуска на выполнение
Клавиши отладки программ

Редактор интегрированной среды разработки (ИСР)
Команды перемещения курсора
Команды вставки и удаления
Стандартные команды работы с блоками
Дополнительные команды работы с блоками
Другие команды редактирования

Справочник новичка
Вход в главное меню
Выход из меню или диалогового окна без выполнения действий
Правила нажатия "горячих клавиш"
Быстрое открытие любого подменю главного меню
Быстрый вызов команд меню
Изменение рабочего (текущего) каталога
Открытие окна для ввода новой программы
Запись новой программы на диск
Открытие файла для редактирования
Сохранение программы активного окна под старым именем
Запуск программы активного окна на выполнение
Очистка экрана для вывода результатов
Примерный план работы при создании и отладке новой программы

Приложение 5. Таблица символов кода ASCII

Приложение 6. Таблица кодов клавиатуры
Расширенные коды клавиатуры
Коды опроса клавиатуры

Список литературы по языку Pascal и программированию

Оглавление