Классификация языков программирования всего математические и физические), так и на прикладные задачи (в частности, в военной области). <...> Следует отметить, что ранние языки программирования были оптимизированы под аппаратную архитектуру конкретного компьютера, для которого они предназначались. <...> Машинно-ориентированные языки программирования —это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (ее системы команд, структуры памяти и т. д.) <...> . Машинно-ориентированные языки обеспечивают: • высокое качество создаваемых программ (компактность и скорость выполнения); • возможность максимально полного использования конкретных аппаратных ресурсов; • предсказуемость объектного кода и запросов на выделение памяти. <...> Последующее десятилетие ознаменовалось появлением так называемых «языков программирования высокого уровня» (по сравнению с их предшественниками, получившими, соответственно, название «языки низкого уровня»). <...> Транслятор—это специальная программа, переводящая текст программы на языке программирования в текст эквивалентной программы на языке машинных команд. <...> Следует отметить, что операторы и ключевые слова в языках программирования высокого уровня стали более осмысленными, чем безликие цифровые последовательности кодов, что также обеспечило повышение производительности труда программистов. <...> Pascal получил широчайшее распространение и может считаться образцовым языком программирования, наиболее популярным и сейчас (например, в версии Delphi фирмы Imprise). <...> Если структурное программирование подразумевает наличие ряда встроенных структур данных (целых, вещественных и строковых переменных, массивов, записей), при помощи которых производится отображение свойств объектов реального мира, то при объектно-ориентированном подходе для объекта создается своя структура данных (класс), содержащая как свойства объекта (пол´ я), так и процедуры <...>
Программирование_(2).pdf
УДК 004.4
ББК 32.973-018
Д13
С е р и я о с н о в а н а в 2007 г.
Давыдова Н. А.
Д13 Программирование : учебное пособие / Н. А. Давыдова,
Е. В. Боровская. — 5-е изд., электрон. — М. : Лаборатория знаний,
2025. — 241 с. — (Педагогическое образование). — Систем. требования:
Adobe Reader XI ; экран 10". — Загл. с титул. экрана. —
Текст : электронный.
ISBN 978-5-93208-831-9
В книге описаны теоретические положения и принципы, связанные
с методами разработки программ, критерии качества программ и этапы
проектирования объектно-ориентированного программного продукта,
а также наиболее широко используемые алгоритмы поиска и сортировки
информации. Книга знакомит читателей с основными понятиями языков
программирования, основами программирования в Object Pascal и принципами
визуального программирования, в том числе при работе с базами
данных и динамическими структурами.
Для студентов и преподавателей педагогических вузов, учителей общеобразовательных
школ, гимназий и лицеев.
УДК 004.4
ББК 32.973-018
Деривативное издание на основе печатного аналога: Программирование
: учебное пособие / Н. А. Давыдова, Е. В. Боровская. — М. : БИНОМ.
Лаборатория знаний, 2009. — 238 с. : ил. — (Педагогическое образование). —
ISBN 978-5-94774-481-1.
В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений,
установленных техническими средствами защиты авторских прав,
правообладатель вправе требовать от нарушителя возмещения убытков
или выплаты компенсации
ISBN 978-5-93208-831-9
© Лаборатория знаний, 2015
Стр.3
Оглавление
Глава 1. Основные понятия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1. Алгоритм и его свойства . . . . . . . . . . . . . . . . . . . . . .
1.2. Этапы решения задач на компьютере . . . . . . . . . . .
1.3. История языков программирования. . . . . . . . . . . . .
3
3
6
9
1.4. Этапы развития технологии программирования . . 22
1.5. Критерии качества программ . . . . . . . . . . . . . . . . . . 27
1.6. Структурный подход к программированию . . . . . . 29
1.7. Семантический подход к языкам программирования.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Глава 2. Введение в Object Pascal . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.1. Системы программирования . . . . . . . . . . . . . . . . . . . 39
2.2. Интегрированная среда Delphi . . . . . . . . . . . . . . . . . 41
2.3. Проект программы. . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.4. Алфавит языка Object Pascal. Идентификаторы . . 44
2.5. Структура файла проекта программы . . . . . . . . . . . 45
2.6. Типы данных в Object Pascal . . . . . . . . . . . . . . . . . . . 47
2.7. Операторы языка Pascal . . . . . . . . . . . . . . . . . . . . . . . 49
2.8. Подпрограммы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
2.9. Рекурсия. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
2.10. Массивы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
2.11. Строки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
2.12. Алгоритмы поиска информации . . . . . . . . . . . . . . . . 84
2.13. Алгоритмы сортировки информации. . . . . . . . . . . . 87
2.14. Файлы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
2.15. Записи. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
2.16. Множества. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
2.17. Программные модули в Delphi . . . . . . . . . . . . . . . . . 109
Глава 3. Объектно-ориентированное проектирование . . . . . . . 119
3.1. Проектирование сложных систем. . . . . . . . . . . . . . . 119
3.2. Декомпозиция сложных систем . . . . . . . . . . . . . . . . 127
Стр.238
238
Оглавление
3.3. Объектная модель . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
3.4. Классы и объекты . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
3.5. Основные этапы создания объектно- ориентированного
программного продукта. . . . . . . . . . . . . . . . 143
Глава 4. Реализация объектной модели в языке Object Pascal 151
4.1. Отличия в объектной модели языка Object Pascal 151
4.2. Инкапсуляция. Наследование. Полиморфизм . . . . 151
4.3. Структура описания классов . . . . . . . . . . . . . . . . . . . 153
4.4. Составляющие класса. Поля . . . . . . . . . . . . . . . . . . . 156
4.5. Составляющие класса. Методы . . . . . . . . . . . . . . . . 156
4.6. Свойства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
4.7. Указатели на методы. События. Делегирование . . 169
4.8. Совместимость полиморфного присваивания.
Классовые операции . . . . . . . . . . . . . . . . . . . . . . . . . 173
Глава 5. Визуальное программирование в среде Delphi . . . . . . 176
5.1. Основы визуального программирования. . . . . . . . . 176
5.2. Компоненты в Delphi . . . . . . . . . . . . . . . . . . . . . . . . . 177
5.3. Общие свойства компонентов . . . . . . . . . . . . . . . . . . 178
5.4. Типовой процесс построения компонента . . . . . . . 181
5.5. Графика в Delphi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
5.6. Реакции на события мыши и клавиатуры. . . . . . . . 190
5.7. Обработка исключений. . . . . . . . . . . . . . . . . . . . . . . . 194
5.8. Базы данных в Delphi . . . . . . . . . . . . . . . . . . . . . . . . . 200
Глава 6. Динамические структуры данных . . . . . . . . . . . . . . . . . 215
6.1. Динамическая память и указатели . . . . . . . . . . . . . . 215
6.2. Связанные списки . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
6.3. Очереди и стеки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
6.4. Деревья . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
Приложение. Интегрированная среда Delphi 7 (краткая
справка). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Стр.239