- •230100 Информатика и вычислительная техника
- •Введение
- •1.Функции
- •1.1. Создание пользовательских функций. Передача аргументов
- •1.2. Глобальные и локальные переменные
- •2.Процедуры
- •2.1. Пользовательские процедуры
- •2.2. Упреждающее объявление процедур и функций (forward)
- •3.Концепция типа данных
- •3.1. Абстракции в обработке информации
- •3.2. Понятие типа данных
- •3.3. Иерархия типов данных
- •3.4. Стандартные типы данных
- •3.5. Тип данных Boolean
- •3.6. Тип данных char
- •3.7. Ограниченные типы
- •4.Множества. Массивы
- •4.1. Операции над множествами
- •4.2. Массивы
- •4.3. Утверждения о массивах
- •5.Индуктивные функции на последовательностях (файлах, массивах)
- •5.1. Схема Горнера
- •5.2. Индуктивные функции
- •6.Записи
- •6.1. Представление сложных типов данных в памяти
- •6.2. Упаковка элементов сложных типов данных
- •6.3. Представление записей в памяти
- •7.Процедуры и функции
- •7.1. Создание пользовательских функций. Передача аргументов
- •7.2. Процедуры
- •7.3. Передача параметров по ссылке и значению
- •8.Основы объектно-ориентированного подхода
- •8.1. Основные положения объектно-ориентированного подхода
- •9.Конструкторы и деструкторы. Инкапсуляция
- •9.1. Хранение объектов в памяти. Доступ к свойствам из методов
- •9.2. Принцип инкапсуляции
- •9.3. Поля и свойства
- •10.Наследование и полиморфизм
- •10.1. Принцип полиморфизма
- •10.2. Виртуальные методы
- •10.3. Пример описания объекта
- •10.4. Параметры-процедуры
- •11.Основы программирования графики
- •11.1. Основные понятия компьютерной графики
- •11.2. Получение сведений о режимах экрана. Эффекты прозрачности
- •11.3. Графические построения
- •11.4. Построение графиков функций
- •11.5. Использование компонента tChart
- •11.6. Построение геометрических фигур
- •11.7. Обновление изображения
- •12.Построение динамических изображений
- •12.1. Анимация на основе операции xor
- •12.2. Буферизация фона
- •12.3. Работа с таймером
- •13.Динамические структуры данных
- •13.1. Размещение динамических переменных в памяти
- •13.2. Захват и освобождение динамической памяти
- •13.3. Нетипизированные указатели
- •14.Линейные списки: основные виды и способы реализации
- •14.1. Линейный список как абстрактный тип данных
- •14.2. Операции с динамическими массивами
- •14.3. Сортировка динамических массивов
- •14.4. Деревья
- •14.5. Потоки в памяти
- •15.Сортировка и поиск
- •15.1. Алгоритмы поиска
- •15.1.1Линейный поиск
- •15.1.2Двоичный поиск
- •15.1.3Поиск текстовых строк
- •15.2. Сортировка данных
- •15.2.1Сортировка массивов
- •16.Сортировка файлов. Рекурсия
- •16.1. Рекурсивные определения и алгоритмы
- •16.2. Программирование рекурсивных алгоритмов
- •16.3. Сортировка файлов
- •17.Файлы
- •17.1. Буферизация
- •17.2. Работа с текстовыми файлами
- •17.3. Работа с двоичными файлами данных
- •17.4. Нетипизированные файлы
- •17.5. Файловые потоки
- •18.Работа с файловой системой
- •18.1. Стандартные файловые диалоги
- •18.2. Получение сведений о дисках
- •18.3. Получение сведений о файлах
- •18.4. Сканирование дисков и директорий
- •19.Обработка исключительных ситуаций
- •19.1. Векторы прерываний
- •19.1.1Хранение данных в стеке
- •19.2. Контроль ввода-вывода
- •19.3. Обработка исключительных ситуаций в Delphi
- •20.Отладка программ
- •20.1. Интегрированная среда программирования
- •20.2. Инструменты отладки программ
- •20.3. Типичные ошибки в программировании
- •21.Принципы построения трансляторов
- •21.1. Синтаксис и семантика языков программирования
- •21.2. Структура языков программирования
- •21.3. Структура и организация работы транслятора
- •22.Параллельные процессы
- •22.1. Создание многопоточных приложений
- •22.2. Управление скоростью работы потоков
- •23.Модульные программы
- •23.1. Создание dll-библиотеки на Delphi
- •23.2. Вызов dll
- •23.2.1Статическое связывание
- •23.2.2Динамическое связывание
- •23.3. Отладка проектов с dll
- •23.4. Хранение форм в dll-библиотеках
- •24.Обмен данными между приложениями
- •24.1. Работа с буфером обмена
- •24.2. Основы ole-технологии
- •25.События и сообщения
- •25.1. Отправка и получение сообщений
- •25.2. Предотвращение повторного запуска программы
- •26.1. Основы com-технологии
- •26.2. Вывод отчета при помощи Microsoft Word
- •26.2.1Проверка наличия сом-сервера на компьютере
- •Общее правило: при работе с любым сом-сервером запретите пользователю им пользоваться, пока с сом-сервером работает ваша программа.
- •26.3. Подключение к сом-серверу Word из Delphi
- •26.4. Управление форматированием документа
- •26.5. Работа с таблицами
- •26.6. Запуск Word из внешней программы
- •26.7. Работа с AutoCad по com-технологии
- •27.Принципы организации реляционных баз данных
- •27.1. Основные сведения о базах данных
- •27.2. Проектирование структуры базы данных
- •27.3. Нормализация структур баз данных
- •28.Работа с локальными бд
- •28.1. Драйвер баз данных bde
- •28.2. Создание баз данных
- •29.Программная обработка локальных бд
- •29.1. Редактирование локальных бд
- •29.2. Вывод бд на экран
- •29.3. Цветовое выделение строк бд
- •30.Работа с распределенными бд
- •30.1. Основы языка sql
- •30.2. Понятие алиаса
- •30.4. Подключение к sql-серверу
- •31.Программная обработка данных в архитектуре "клиент – сервер"
- •31.1. Программный доступ к полям бд
- •31.2. Фильтрация и сортировка данных
- •32.Работа с нормализованными бд
- •32.1. Связывание таблиц
- •32.2. Вычисляемые поля
- •33.Субд Interbase
- •33.1. Работа с сервером Local InterBase
- •33.2. Утилита InterBase Server Manager
- •34.Работа с языком xml
- •34.1. Структура xml-документа
- •34.2. Использование xml в среде Delphi
- •34.3. Концепция dom - объектная модель документа
- •34.4. Использование xml
- •35.Основы программирования для Интернет
- •35.1. Работа с протоколом ftp
- •35.2. Передача файлов по ftp
- •Библиографический список
- •Приложение. Зарезервированные слова sql
- •Предметный указатель
Министерство образования и науки РФ
Федеральное бюджетное государственное образовательное учреждение
высшего профессионального образования
«Тульский государственный университет»
Политехнический институт
Кафедра "Автоматизированные станочные системы"
Троицкий Д.И. доцент, к.т.н.
КОНСПЕКТ ЛЕКЦИЙ
по дисциплине
ПРОГРАММИРОВАНИЕ
Направление подготовки:
230100 Информатика и вычислительная техника
Профиль подготовки:
Системы автоматизированного проектирования
Форма обучения – очная, очно-заочная, заочная
Тула 2011 г.
Рассмотрено на заседании кафедры "Автоматизированные станочные системы"
протокол №1 от "31" августа 2011 г.
Зав. кафедрой________________А.Н. Иноземцев
Содержание
Введение 7
1. Функции 8
1.1. Создание пользовательских функций. Передача аргументов 8
1.2. Глобальные и локальные переменные 10
2. Процедуры 13
2.1. Пользовательские процедуры 13
2.2. Упреждающее объявление процедур и функций (forward) 14
3. Концепция типа данных 15
3.1. Абстракции в обработке информации 15
3.2. Понятие типа данных 17
3.3. Иерархия типов данных 19
3.4. Стандартные типы данных 21
3.5. Тип данных Boolean 22
3.6. Тип данных CHAR 22
3.7. Ограниченные типы 23
4. Множества. Массивы 24
4.1. Операции над множествами 25
4.2. Массивы 27
4.3. Утверждения о массивах 27
5. Индуктивные функции на последовательностях (файлах, массивах) 29
5.1. Схема Горнера 33
5.2. Индуктивные функции 35
6. Записи 38
6.1. Представление сложных типов данных в памяти 42
6.2. Упаковка элементов сложных типов данных 43
6.3. Представление записей в памяти 44
7. Процедуры и функции 44
7.1. Создание пользовательских функций. Передача аргументов 44
7.2. Процедуры 48
7.3. Передача параметров по ссылке и значению 50
8. Основы объектно-ориентированного подхода 51
8.1. Основные положения объектно-ориентированного подхода 53
9. Конструкторы и деструкторы. Инкапсуляция 55
9.1. Хранение объектов в памяти. Доступ к свойствам из методов 57
9.2. Принцип инкапсуляции 59
9.3. Поля и свойства 60
10. Наследование и полиморфизм 62
10.1. Принцип полиморфизма 63
10.2. Виртуальные методы 65
10.3. Пример описания объекта 67
10.4. Параметры-процедуры 71
11. Основы программирования графики 74
11.1. Основные понятия компьютерной графики 74
11.2. Получение сведений о режимах экрана. Эффекты прозрачности 76
11.3. Графические построения 78
11.4. Построение графиков функций 84
11.5. Использование компонента TChart 87
11.6. Построение геометрических фигур 91
11.7. Обновление изображения 91
12. Построение динамических изображений 93
12.1. Анимация на основе операции XOR 93
12.2. Буферизация фона 95
12.3. Работа с таймером 97
13. Динамические структуры данных 99
13.1. Размещение динамических переменных в памяти 100
13.2. Захват и освобождение динамической памяти 101
13.3. Нетипизированные указатели 102
14. Линейные списки: основные виды и способы реализации 104
14.1. Линейный список как абстрактный тип данных 106
14.2. Операции с динамическими массивами 106
14.3. Сортировка динамических массивов 108
14.4. Деревья 109
14.5. Потоки в памяти 111
15. Сортировка и поиск 113
15.1. Алгоритмы поиска 113
15.1.1 Линейный поиск 113
15.1.2 Двоичный поиск 114
15.1.3 Поиск текстовых строк 116
15.2. Сортировка данных 117
15.2.1 Сортировка массивов 118
16. Сортировка файлов. Рекурсия 119
16.1. Рекурсивные определения и алгоритмы 119
16.2. Программирование рекурсивных алгоритмов 121
16.3. Сортировка файлов 124
17. Файлы 126
17.1. Буферизация 128
17.2. Работа с текстовыми файлами 129
17.3. Работа с двоичными файлами данных 131
17.4. Нетипизированные файлы 133
17.5. Файловые потоки 134
18. Работа с файловой системой 136
18.1. Стандартные файловые диалоги 136
18.2. Получение сведений о дисках 139
18.3. Получение сведений о файлах 141
18.4. Сканирование дисков и директорий 143
19. Обработка исключительных ситуаций 149
19.1. Векторы прерываний 151
19.1.1 Хранение данных в стеке 152
19.2. Контроль ввода-вывода 153
19.3. Обработка исключительных ситуаций в Delphi 154
20. Отладка программ 154
20.1. Интегрированная среда программирования 155
20.2. Инструменты отладки программ 156
20.3. Типичные ошибки в программировании 158
21. Принципы построения трансляторов 159
21.1. Синтаксис и семантика языков программирования 161
21.2. Структура языков программирования 162
21.3. Структура и организация работы транслятора 165
22. Параллельные процессы 166
22.1. Создание многопоточных приложений 167
22.2. Управление скоростью работы потоков 171
23. Модульные программы 174
23.1. Создание DLL-библиотеки на Delphi 175
23.2. Вызов DLL 176
23.2.1 Статическое связывание 176
23.2.2 Динамическое связывание 177
23.3. Отладка проектов с DLL 179
23.4. Хранение форм в DLL-библиотеках 181
24. Обмен данными между приложениями 183
24.1. Работа с буфером обмена 183
24.2. Основы OLE-технологии 185
25. События и сообщения 188
25.1. Отправка и получение сообщений 191
25.2. Предотвращение повторного запуска программы 196
26. COM-серверы и их использование 197
26.1. Основы COM-технологии 197
26.2. Вывод отчета при помощи Microsoft Word 198
26.2.1 Проверка наличия СОМ-сервера на компьютере 199
26.3. Подключение к СОМ-серверу Word из Delphi 201
26.4. Управление форматированием документа 204
26.5. Работа с таблицами 206
26.6. Запуск Word из внешней программы 208
26.7. Работа с AutoCAD по COM-технологии 208
27. Принципы организации реляционных баз данных 212
27.1. Основные сведения о базах данных 212
27.2. Проектирование структуры базы данных 214
27.3. Нормализация структур баз данных 215
28. Работа с локальными БД 219
28.1. Драйвер баз данных BDE 219
28.2. Создание баз данных 220
29. Программная обработка локальных бд 223
29.1. Редактирование локальных БД 223
29.2. Вывод БД на экран 224
29.3. Цветовое выделение строк БД 227
30. Работа с распределенными БД 228
30.1. Основы языка SQL 229
30.2. Понятие алиаса 230
30.3. SQL в Delphi 232
30.4. Подключение к SQL-серверу 233
31. Программная обработка данных в архитектуре "клиент – сервер" 235
31.1. Программный доступ к полям БД 235
31.2. Фильтрация и сортировка данных 238
32. Работа с нормализованными БД 240
32.1. Связывание таблиц 240
32.2. Вычисляемые поля 244
33. СУБД Interbase 245
33.1. Работа с сервером Local InterBase 246
33.2. Утилита InterBase Server Manager 248
34. Работа с языком XML 250
34.1. Структура XML-документа 251
34.2. Использование XML в среде Delphi 252
34.3. Концепция DOM - объектная модель документа 253
34.4. Использование XML 256
35. Основы программирования для Интернет 258
35.1. Работа с протоколом FTP 258
35.2. Передача файлов по FTP 260
Библиографический список 262
Приложение. Зарезервированные слова SQL 265
Предметный указатель 267