Программирование в Delphi для начинающих — Книга написана на базе курса лекций, читаемых авторами. Рассмотрены основные элементы языка Object Pascal и процесс создания простых приложений в среде Delphi. Показана работа с файлами в локальной сети с помощью указателей и дескрипторов, а также создание приложений для простых баз данных. Подробно представлена роботы с динамическими структурами (списки, стеки, очереди), необходимыми для разработки алгоритмов на деревьях и графах. Приведены многочисленные алгоритмы поиска и сортировки. Показано использование динамических структур при разработке интерпретаторов для создания оболочек экспертных систем. Изложены основные принципы обьектно-ориентированного программирования. Приведены примеры построения 2D- и 3D-графиков и рассмотрены основные элементы разработки графических редакторов. Каждый раздел сопровождается задачами различной сложности для самостоятельного решения.
Название: Программирование в Delphi для начинающих Автор: Тюкачев Н. А., Рыбак К. С., Михайлова Е. Е. Издательство: БХВ-Петербург Год: 2007 Страниц: 659 Формат: DJVU Размер: 23,4 Мб ISBN: 978-5-94157-550-3 Качество: Отличное Язык: Русский
Содержание:
Введение Что такое компьютер Как в компьютере хранится информация Как компьютер обрабатывает информацию Аппаратное обеспечение Оперативная память Центральный процессор Устройства ввода-вывода и внешние запоминающие устройства Программное обеспечение Программы и языки программирования Глава 1. Элементы языка Object Pascal 1.1. Пример программы 1.2. Понятие типа данных 1.2.1. Символы языка 1.3. Правила оформления программ 1.4. Программа в Delphi 1.5. Структура программы 1.6. Разделы описания 1.6.1. Раздел описания переменных 1.6.2. Раздел описания типов 1.6.3. Раздел описания констант 1.7. Исполняемые операторы 1.8. Выражение,. Оператор присваивания 1.8.1. Арифметические функции и процедуры 1.8.2. Выражения 1.8.3. Задания для самостоятельной работы 1.9. Операции 1.9.1. Арифметические операции 1.9.2. Логические операции 1.9.3. Операторы отношения 1.9.4. Операторы для строк Глава 2. Структура программы, процедуры, функции и модуля 2.1. Структура программы 2.2. Структура функции 2.3. Структура процедуры 2.4. Структура модуля 2.5. Список параметров 2.5.1. Область видимости 2.5.2. Формальные и фактические параметры 2.5.3. Параметры-значения, параметры-переменные, нетипизированные параметры Глава 3. Типы данных 3.1. Совместимость типов 3.2. Целые типы и логический тип 3.3. Вещественные типы 3.4. Перечислимый тип 3.4.1. Логическая структура 3.4.2. Машинное представление 3.4.3. Операции 3.5. Диапазоны 3.5.1. Логическая структура 3.5.2. Операции 3.6. Символьные типы 3.7. Строковые типы 3.7.1. Логическая структура строки 3.7.2. Процедуры и функции для строк Глава 4. Операторы 4.1. Оператор if 4.1.1. Задания для самостоятельной работы 4.2. Операторы цикла 4.2.1. Оператор цикла while 4.2.2. Оператор for 4.2.3. Оператор цикла repeat 4.2.4. Примеры решения задач на строковый тип данных 4.2.5. Задания для самостоятельной работы 4.3. Оператор выбора case Глава 5. Формы, компоненты, события 5.1. Пример проекта «2*2» 5.2. Обзор компонентов 5.2.1. Линейка Standard 5.2.2. Линейка Additional 5.2.3. Линейка Win32 5.2.4. Линейка System 5.2.5. Линейка Dialogs 5.3. Компоненты для ввода и вывода информации 5.3.1. Типичные свойства визуальных компонентов 5.3.2. События 5.3.3. Основные свойства других компонентов 5.4. Пример «Перевод в двоичную систему счисления» Глава 6. Структурные типы данных 6.1. Способы представления в памяти 6.2. Массивы 6.2.1. Статические массивы 6.2.2. Операции 6.2.3. Компоненты Grid 6.2.4. Пример 1. Умножение матрицы на строку 6.2.5. Динамические массивы 6.2.6. Пример 2. Неповторяющиеся элементы массива 6.2.7. Задания для самостоятельной работы 6.3. Множества 6.3.1. Понятие множества 6.3.2. Представление множеств 6.3.3. Числовые множества 6.3.4. Символьные множества 6.3.5. Множество из элементов перечислимого типа 6.3.6. Множество от интервального типа 6.3.7. Операции над множествами 6.3.8. Пример 3. Словарь неповторяющихся слов 6.4. Записи (структуры) 6.4.1. Запись 6.4.2. Запись с вариантной частью 6.4.3. Оператор присоединения with 6.4.4. Представление записей 6.4.5. Пример 4. Поиск ближайшей точки 6.4.6. Пример 5. Интерполяционный многочлен Лагранжа 6.4.7. Задания для самостоятельной работы 6.5. Файлы 6.5.1. Текстовые файлы 6.5.2. Пример 6. Рисование на канве 6.5.3. Пример 7. Частотный словарь 6.5.4. Типизированные файлы 6.5.5. Нетипизированные файлы 6.5.6. Пример 8. База данных «Студенты» 6.5.7. Другие функции для работы с файлами 6.5.8. Доступ к файлам через дескрипторы 6.6. Задания для самостоятельной работы Глава 7. Сортировки и поиск 7.1. Сортировка простым выбором 7.2. Сортировка включениями 7.2.1. Сортировка простыми включениями 7.2.2. Сортировка бинарными включениями 7.3. Сортировка обменом 7.3.1. Сортировка простым обменом 7.3.2. Шейкер-сортировка 7.4. Сортировка Шелла 7.5. Сортировка подсчетом 7.6. Поиск 7.6.1. Поиск в неупорядоченном массиве. Поиск с барьером 7.6.2. Поиск в упорядоченном массиве. Бинарный поиск 7.6.3. Хеширование 7.7. Задания Глава 8. Динамические структуры данных 8.1. Указатели 8.1.1. Типизированные и нетипизированные указатели 8.1.2. Операции над указателями 8.1.3. Действия с указателями 8.1.4. Операторы для указателей (Pointer) 8.2. Динамические переменные 8.2.1. Динамические структуры данных 8.2.2. Указатели и ссылки 8.2.3. Линейные списки. Основные операции Глава 9. Списки, стеки, очереди 9.1. Упорядоченный список 9.1.1. Частотный словарь 9.1.2. Слияние двух упорядоченных списков 9.1.3. Двусвязный список 9.1.4. Кольцевой список 9.2. Стеки 9.2.1. Динамическая реализация стека 9.2.2. Стек, реализованный с помощью массива 9.3. Очереди 9.3.1. Динамическая реализация очереди 9.3.2. Очередь, реализованная с помощью массива 9.4. Задания для самостоятельной работы Глава 10. Рекурсия 10.1. Рекурсивные определения и рекурсивные алгоритмы 10.2. Когда рекурсия необходима 10.3. Примеры рекурсивных программ 10.3.1. Ханойские башни 10.3.2. Быстрая сортировка 10.4. Алгоритмы с возвратом 10.4.1. Расстановка ферзей 10.4.2. Задача оптимального выбора 10.5. Задания Глава 11. Нуль-терминированные строки Глава 12. Процедурные типы Глава 13. Алгоритмы на деревьях 13.1. Понятия и определения 13.2. Основные операции с бинарными деревьями 13.2.1. Упорядоченные деревья Поиск по дереву с включением 13.2.2. Поиск по дереву с включением 13.2.3. Удаление из упорядоченного дерева 13.3. Сбалансированные деревья 13.3.1. Включение в сбалансированное дерево 13.3.2. Удаление из сбалансированного дерева 13.4. Сортировки на деревьях 13.4.1. Турнирная сортировка 13.4.2. Сортировка частично упорядоченным деревом 13.5. Основы работы интерпретатора 13.5.1. Задания на деревья 13.6. Интерпретатор для простых операторов 13.7. Задания для самостоятельной работы Глава 14. Алгоритмы на графах 14.1. Проект для алгоритмов на графах 14.1.1. Структура данных 14.1.2. Изображение графов 14.1.3. Чтение и запись графов 14.2. Поиск в графах 14.2.1. Поиск в глубину 14.2.2. Поиск в ширину 14.2.3. Остов графа 14.3. Кратчайшие пути 14.3.1. Волновой алгоритм 14.3.2. Алгоритм Дейкстры 14.3.3. Алгоритм Форда-Мура-Веллмана 14.3.4. Алгоритм Флойда 14.4. Циклы на графах 14.4.1. Эйлеровы циклы 14.4.2. Гамильтонов цикл. Алгоритмы с возвратом 14.5. Гамильтоновы циклы и задача коммивояжера 14.5.1. Метод перебора 14.5.2. Кратчайший незамкнутый путь 14.5.3. Алгоритм штрафов вершин 14.6. Комбинаторные задачи на графах 14.6.1. Минимальная раскраска графа. Переборный алгоритм 14.6.2. Приближенные алгоритмы раскраски графа, основанные на понятии соцветных вершин 14.7. Алгоритмы о связности графа 14.7.1. Топологическая сортировка 14.7.2. Остовное дерево наименьшей стоимости. Алгоритмы Прима и Краскала 14.7.3. Выделение компонент связности 14.8. Триангуляция боковой поверхности слоя 14.8.1. Структура данных 14.8.2. Алгоритм определения номеров граничных точек 14.8.3. Построение треугольников боковой поверхности 14.9. Задания для самостоятельной работы Глава 15. Оболочка для экспертной системы 15.1. Введение в экспертные системы 15.2. Структура экспертной системы 15.3. Постановка задачи 15.4. Структура данных на диске 15.5. Вспомогательные функции 15.5.1. Работа с файлами в локальной сети 15.5.2. Чтение данных 15.5.3. Построение графа объектов 15.5.4. Бинарные логические операции 15.6. Структура проекта 15.7. Механизм вывода Глава 16. Специальные вопросы 16.1. Обработка исключительных ситуаций 16.2. Защитные конструкции языка Object Pascal 16.2.1. Блок try.. except 16.2.2. Блок try.. finally 16.3. Использование исключительных ситуаций 16.4. Справочная информация по классам ИС 16.5. Исключительная ситуация EAbort 16.6. Использование DLL в Delphi 16.6.1. Создание и структура DLL 16.6.2. Экспорт из DLL 16.6.3. Директивы вызова 16.6.4. Инициализация и завершение работы DLL 16.6.5. Вызов DLL Глава 17. Графика 17.1. Структура классов 17.1.1. Класс TFont 17.1.2. Класс ТРеп 17.1.3. Класс TBrush 17.1.4. Класс TCcinvas 17.1.5. Примитивы TCanvas 17.1.6. Вывод строки под любым углом 17.1.7. Рисование на экране 17.2. График функции в 3D 17.3. Растровый редактор 17.4. Векторный редактор 17.4.1. Структура данных 17.4.2. Кривые Безье 17.4.3. Создание объектов 17.4.4. Перемещение объектов 17.4.5. Поворот объектов 17.4.6. Перемещение точек 17.4.7. Прорисовка объектов 17.5. Работа с канвой принтера 17.5.1. Печать в текстовом режиме 17.5.2. Печать формы 17.5.3. Графическая печать 17.6. Задания для самостоятельной работы Глава 18. Объектно-ориентированное программирование 18.1. Классы и объекты 18.2. Принципы ООП 18.2.1. Области видимости 18.2.2. Инкапсуляция 18.2.3. Наследование 18.2.4. Полиморфизм 18.2.5. События 18.2.6. Описание нового класса 18.2.7. Подключение нового класса 18.3. Инструменты для работы с компонентами 18.3.1. Пункт меню New Component 18.3.2. Пункт меню Install Component 18.3.3. Пункт меню Import ActiveX Control 18.3.4. Пункт меню Create Component Template 18.3.5. Пункт меню Install Packages 18.3.6. Пункт меню Configure Palette 18.4. Регистрация нового компонента 18.5. Создание редактора свойств 18.5.1. Дерево классов стандартных редакторов свойств 18.5.2. Класс TPropertyEclitor 18.5.3. Примёр редактора свойств 18.5.4. Регистрация редактора свойств 18.6. Задания для самостоятельной работы Приложения Приложение 1. Часто используемые процедуры и функции Delphi Приложение 2. Математическая библиотека Math Приложение 3. Описание компакт-диска Список литературы