Математика

Физика

Химия

Биология

Техника и    технологии

Программирование в среде Turbo Pascal 7.0-Марченко А. И К.: ВЕК+, 1999. -464 с., ил.
Марченко А. И., Марченко Л. А.
МЗО Программирование в среде Turbo Pascal 7.0/ Марченко А. И., Марченко Л. А.: Под ред. Тарасенко В. П. — 5-е изд., доп. и перераб. — К.: ВЕК+, 1999. -464 с., ил.
ISBN 5-88547-069-3
В книге описывается язык программирования Turbo Pascal версии 7.0 и программирование на этом языке.
Книга построена на материалах лекций, практических и лабораторных занятии, проводимых на кафедре специализированных компьютерных систем факультета прикладной математики Национального технического университета Украины "Киевский политехнический институт". Ее можно рассматривать как учебное пособие по алгоритмизации и программированию вообще и как краткий справочник по процедурам и функциям языки Turbo Pascal 7.0. В книге, наряду с описанием всех синтаксических конструкций языка, детально рассматриваются такие общие для всех языков программирования темы как структуры данных, классические управляющие конструкции, рекурсия, способы и механизмы передачи параметров, алгоритмы сортировки и поиска. Особое внимание уделено объектно-ориентированной методологии разработки пррграмм и созданию динамически загружаемых библиотек (DLL). Рассмотрению стандартных приемов управления устройствами IBM-совместимых ПК посвящен отдельный раздел. Сделан акцент на нововведениях языка версии 7.0. Все вопросы рассматриваются на большом количестве примеров. В приложениях приведено описание процедур и функций стандартных модулей и описание интегрированной среды разработки Turbo Pascal 7.0.
В пятом издании существенно расширена тема "Динамические структуры данных", а также переработаны и дополнены контрольные вопросы и задания. Книга может быть полезна всем, кто изучает и использует язык Turbo Pascal.
ОГЛАВЛЕНИЕ
Предисловие редактора............................................... 3
*-Y
Часть 1. Обзор языка.................................................... 4
i •
ГЛАВА i. УПРОЩЕННАЯ МОДЕЛЬ КОМПИЛЯТОРА........................................ s
1.1. ЛЕКСИЧЕСКИЙ АНАЛИЗАТОР............................................................................5
1.2. СИНТАКСИЧЕСКИЙ АНАЛИЗАТОР..........................................................'...L.V..6
1.3. ГЕНЕРАТОР КОДА..................................................................................................6
1.4. ТАБЛИЦЫ..................................................................................................:..........:...6
1.5. СТРУКТУРА ПРОФЕССИОНАЛЬНОЙ СРЕДЫ РАЗРАБОТКИ ПРОГРАММ
BORLAND PASCAL WITH OBJECTS 7.0 ......*.......::.............................................6
Версии компилятора, работающие под управлением MS-DOS в реальном
i режиме процессора (TURBO.EXE, ТРСЕХЕ)...............................................7
Версии компилятора, работающие под управлением MS-DOS в защищенном
режиме процессора (ВР.ЕХЕ и ВРС.ЕХЕ)..................................................7
Версия компилятора, работающая под управлением Windows (BPW.EXE)...........9
КОНТРОЛЬНЫЕ ВОПРОСЫ........•................................:.........................................................9
V ' . '
ГЛАВА 2. НАБОР СИМВОЛОВ, ЛЕКСЕМЫ, РАЗДЕЛИТЕЛИ.,........................10
2.1. НАБОР СИМВОЛОВ.....................................................................................„.....„10
2.2. ЛЕКСЕМЫ........':.................................-.....................................................:................11
2.2. /. Специальные символы..............................................;.......................................11
2.2.2. Зарезервированные (ключевые) слова.,.......................:...................................12
2.2.1 Идентификаторы...........................................-..,..............................................13
2.2.4. Метки.................................................................................;............................../5
2.2.5. Числа.....................................!...........................I....;.-.........................................16
2.2.6. Строки..............................................................................................................18
2.2.7. Комментарии.........................................................................ч.....•..................19
2.3. РАЗДЕЛИТЕЛИ......................................................................................................20
КОНТРОЛЬНЫЕ ВОПРОСЫ.................................................................................................20
КОНТРОЛЬНЫЕ ЗАДАНИЯ..................................................................................................21
ГЛАВА 3. СТРУКТУРА ПРОГРАММЫ......;..............................:...........................22
3.1. ЗАГОЛОВОК ПРОГРАММЫ..............................',................................................Л2
3.2. РАЗДЕЛ УКАЗАНИЯ ИСПОЛЬЗУЕМЫХ МОДУЛЕЙ (ПРЕДЛОЖЕНИЕ ttSJ3s)......<.23
?3.,РАЗДЕЛ ОПИСАНИЙ..................................,..,...„„,,..........,.............,............,;,...Л24
U I»3.3.h-Описаниеметок.........................................;.,....„.,.......................................I...2J
З,2. Описание типов................................................................................................< 26
v '"si* i . -•.-••- • - - .-
h Оганпяптныетипы............:...:.........................................................:..............,..„.............и;> .26
Группа целых типов.......:;,»—.*,.....«i..'....>J.',.4>v-;.....i....:.-...»'.................~..........„......;.........%
Группа вещественных типов................................................................................................2!
Группа булевских типов.......................................................................................................3
Символьный тип...................................................................................................................3'
Строковые типы................................................................-..„,..„.;..........«.;.t.i...w,.».:.U.*.«.....3>
Указательный тип......................................................................,...............•...;.....,.'•...............3;
Текстовый тип...............................,.........................................л..........,.........;.......................3;
Пользовательские типы...................................................„„..,.„.............,....,..,.....,.....;..;.....;3;
Перечисляемый тип...............................................................................................................3>
Интервальный тип................................................................................................................3'
У казательные типы..............................................,.....;..,...,..,........................,......:.,...<......,...Л!
Структурированные типы....................................................................................................3;
Процедурный тип.....................................................—........................:.............................3'
СИНТАКСИЧЕСКИЕ ДИАГРАММЫ ОПИСАНИЯ типов...................,...„.......,.........,;„.........4)
3.3.3. Описание констант.........................................................................<.......;.......4
Простые константы................................................................,...................л....'.;...................4
Типизированные константы.,,.,................................................у...,.:....;,.................:......'......4
Типизированные константы стандартных типов.,,............;...............................:.,;^.;.......4
Типизированные константы указательного типа................................................-.•••.-•.......-4
Типизированные константы структурированных типов..........................................-.„....^4
, Типизированные константы типа "массив"........................................................................4
Типизированные константы типа "множество".........,„.„...............;........."..'..................,...»4
Типизированные константы типа "запись"..........................,.....;.,.............................„.;.....4
Типизированные константы объектного типа.........;.....;...........................:.....v......,....;...;,.4
Типизированные константы процедурного типа.................«...................................^..:....S
3.3.4. Описание переменных......................................,..........................................^...5\
3.3.5. Описание процедур и функций....„.......;..................,.,..„............;...........I........5-
3.3.6. Описание экспорта...............,..........................................................................5.
3.4. РАЗДЕЛ ОПЕРАТОРОВ (ОПЕРАТОРНЫЙ БЛОК)............................„„..!........5(
Контюяьньш ВОПРОСЫ......................................................................,.,...„..„....„.........5'
КОНТРОЛЬНЫЕ ЗАДАНИЯ..................................................................:.'.......:.....»...............5'
ГЛАВА 4. ОПЕРАЦИИ и ВЫРАЖЕНИЯ..........................................................59
4.1. ПОНЯТИЯ ВЫРАЖЕНИЯ, ОПЕРАЦИИ, ОПЕРАНДА..»...........,.^,.Ь...\.........59
4.2. ПРИОРИТЕТ ОПЕРАЦИЙ И ИХ КЛАССИФИКАЦИЯ.....................................59
4.2.1. Приоритет операций.........................................................,.......;.;;.................59
4.2.2. Синтаксические диаграммы, описывающие выражение.............................60
4 2.3. Классификация операций............................__»..;...„.,..^...;.>.........................65
4.3. ОПИСАНИЕ ОПЕРАЦИЙ...............,................,..........................,...«,....................65
4.3.1. Арифметические операции.............................................................................65'
4.3.2. Операции отношения..................................„.............„...„........,<.....................66
43.3. Булевские (логические) операции...................;................................................67
4.3.4, Поразрядные (битовые) булевские и сдвиговые операции...........................68
• 4.3.5. Строкова^ операция..!-....,.,...;..............fT.....,...„..........,.';..,........................,.......,69 -.
4.3.6. Операции над множествами..........................................................................70,1
4.3.7. Операция взятия адреса (полученияуказателя)........................
КОНТРО||ЯЬНЫЕ ВОПРОСЫ............;............................................................................,».
.74
5.1. ПРОСТЫЕ ОПЕРАТОРЫ .........................................^,....;^...., ..... _.......;..;...,.. 75
5.1.1. Оператор присваивания.. ....... ..... ............ . .............. , ....... ... ..... ..... ....... -.-. ...... ....75
5.1.2. Оператор процедуры. ....... ..... .... ....... ................. . ............. i.,.....:....... .............. ..76
5.1.3. Оператор JfepeJcoda....^........... .................... . ................. :.... ...... ...-, ......... '. ..... .,..76
5.2. СТРУКТУРНЫЕ ОПЕРАТОРЫ ........ . ........ . ............... ..... „.,.......„.,. ............. . ....... ..77
5.2.1. Составной оператор......... ....... ., ......................... ................ ................. ... ........ 77
5.2.2. Условные операторы ................... .г....... ........................ ..... .............................. 78
Условный оператор if.,... ...... ...................... , .................. ., ........... ............ ..... . ................. ...,78
Оператор выбора case........ .......... ...... . ............ ......... ......... . ...... .....v ........ ....... ............. . ......... 81
5.2.5. Операторы повторения ............ , .............. , ....... . ..................... .... .............. ....... 83
Оператор цикла с предусловием -while. .......... .. .......... .. ..................... ... ....... . .............. ... — 83
Оператор цикла с постусловием repeat ................................ ..... ................... . ................. 85
Оператор цикла со счетчиком (с параметром) for ........................................ ............. ...... 86
Сравнение работы операторов while, repeat и гог ................... . ............ ..... ............... 87
Оператор присоединения with ............. , ....................... .... ....... ... .......... ............... .............. 88
КОНТРОЛЬНЫЕ ВОПРОСЫ..... ........................ . ........... .. ........... ......... ........... . ..... „ ............... 90
КОНТРОЛЬНЫЕ ЗАДАНИЯ ........... . ................ . ..... ..... ..... . ....... ..... ......... ....... ..... . ................... 90
ГЛАВА 6. МОДУЛИ ............ .. ------- ..... ..... .. .......................... ... .............. ...... ........... 92
КОНТРОЛЬНЫЕ ВОПРОСЫ ...... ........ :... ........ . ....... . ............. ........ ....... . ........ ..... .................... 98
ГЛАВА 7. ДИНАМИЧЕСКИ СВЯЗЫВАЕМЫЕ БИБЛИОТЕКИ ...... . ....... ............... 99
7Л. СОЗДАНИЕ ДИНАМИЧЕСКИ СВЯЗЫВАЕМЫХ БИБЛИОТЕК ..... ............. 100
1.2. ИМПОРТ ПРОЦЕДУР И ФУНКЦИЙ ИЗ DLL . ............. ........ .................. ... ....... 102
7.2.1. Импорт по имени ................. ....„.., ................... . ......... .... ...................... '..' ........ 102
7.2.2. Импорт по новому имени ...... , .................... . .............................. ............ ,.:..!.. 1-02
7.2.3. Импорт по порядковому номе/у. .................................................................. 103
7.2.4. Модули импорта ...... ; ................... . .................... ,.....« ............. . ......... .. ............ 103
7.3. ОБЛАСТЬ ДЕЙСТВИЯ ПЕРЕМЕННЫХ В DLL ........... ... ............ ....... ............ .. 104
7.4. DLUJCOBMECTHO ИСПОЛЬЗУЕМЫЕ В
ЗАЩИЩЕННОМ РЕЖИМЕ DOS И В WINDOWS ........................ ............ ....... 104
КОНТРОЛЬНЫЕ ВОПРОСЫ ............... ..... ............................... ..... .. ............. ......... ............. ..105
Часть 2. Структуры данных и работа с ними средствами языка TURBO PASCAL ............. ...... ..... 106
ГЛАВА 8. КЛАССИФИКАЦИЯ СТРУКТУР ДАННЫХ ..... ......... ............ ..... ........ 107
1.L ДАННЫЕ СТАТИЧЕСКОЙ СТРУКТУРЫ.........'..........- ..... . ........... . ............ ........ 107
х Ъ2. ДАННЫЕ ДИНАМИЧЕСКОЙ СТРУКТУРЫ .............. ...... .. .................. „..;....... 109
г, -^КОНТРОЛЬНЫЕ ВОПРОСЫ.... .............. ......^........... ...,.;....... ....... ............ ............... »«,•»»-? 1 1
ГЛАВА 9. ОБОБЩЕННЫЕ УПРАВЛЯЮЩИЕ КОНСТРУКЦИИ
АЛГОРИТМОВ И ИХ РЕАЛИЗАЦИЯ СРЕДСТВАМИ
ЯЗЫКА TURBO PASCAL---„.*...........---.....,„.„,„»--------,-.--112
9.1.КОНСТРУК1ЩИ УСЛОВИЯ (РАЗВЕТВЛЕНИЯ)......................:....................................Л13
9.2. КОНСТРУКЦИИ ПОВТОРЕНИЯ (ЦИКЛА, ИТЕРАЦИИ).,»............................................. 113
9.3. КОНСТРУКЦИИ ПЕРЕХОДОВ...................................................................................114
КОНТРОЛЬНЫЕ ВОПРОСЫ..........................................................................;..........,....:.... 116
ГЛАВА 10. РАБОТА С ДАННЫМИ СТАТИЧЕСКОЙ СТРУКТУРЬ» ...^.....„.„.„ 117
10.1. РАБОТА С ДАННЫМИ ПРОСТЫХ ТИПОВ..................................................Ш
10.1.1. Ввод-вывод значений переменных простых и строковых типс/р...........7/7
Ввод.................................................................................................„....;................,........,...Ш
вывод........................................................................................:.............:...........:....>...........us
10.1.2. Основные встроенные процедуры и функции для работы со значениями простых типов...........................................................................л,....:. 121
Арифметические типы.............................................................................................'.......„.121
- Порядковые типы.........................................................................................„.,.................. 121
Указательные типы.............................................................................................................121
10.1.3. Особенности работы с пользовательскими простыми типами............122
10.1.4. Стандартные функции преобразования типов...,....................................'123.
10.2. РАБОТА С СОСТАВНЫМИ ДАННЫМИ ОДНОРОДНОЙ СТРУКТУРЫ....... 123
10.2.1. Массивы........................................................................................................123
Одномерный массив (вектор)..............................................;..:..'.................'.....„Л.............. 123
Двухмерный массив (матрица).......................................................................................... 1Д4
Трехмерный массив.................-.........„.................................................................................124
10.2.2. Сортировка массивов.................................................................„,.......!.....,725
Сортировка вставкой.................................................................................,...................^..125
Сортировка выбором......................,...............................................................................»., 127
Сортировка обменом ("пузырьковая" сортировка).........................................................129
Сравнение прямых методов сортировки.................................................................;;......130
10.2.3. Двоичный поиск (бинарный поиск, поиск делением пополам)...,..„..................130
10.2.4. Примеры работы с двумерными массивами (матрицами)......................732
10.2.5. Строки........................................................................................;..«...;..........735
Первый способ реализации строк ..^...............................................;..................................136
Второй способ реализации строк......................................................................................137
/0.2.6. Множества......,......,..:....................;....!...:;7,..;„:..„„..;.....^.„.....,....^............140
10.3. РАБОТА С СОСТАВНЫМИ ДАННЫМИ НЮдаОРОДНОЙ СТРУКТУРЫ.... 142
ю.3.1. Записи............................,;...........................;.......;.:..................L.;^..............142
Фиксированные записи .;.-.т...................................................................г............................142
Вариантные записи...............;..................,........................'.,................;...............................144
10.4. СОВМЕСТИМОСТЬ ТИПОВ..........................................................................146
10.4.1. Совместимость в выражениях....?,......................,.,<.....,..л........................146
10.4.2. Совместимость по присваиванию ..,.„..^.,.......].,........,...,„......................147
КОНТРОЛЬНЫЕ ВОПРОСЫ..........J..........„„..,............,.............„........:..,;..........:...............148
КОНТРОЛЬНЫЕ ЗАДАНИЯ.......................................................,....;,......!.;„...................... 149
Печать элементов односвязногосписжа от конт к начацу.............................................225
14.4,6. Работа с линейный двухсвязным списком.'.,......;............„.....».....„.......,...225
Вставка элемента в середину линейного двухсвязного
списка после заданного k-to элемента...................,...............,......................„......227
Удаление 1-го элемента линейного двухсвязного списка..................,...,........................229
КОНТРОЛЬНЫЕ ВОПРОСЫ....................................................™.~.....................................230
КОНТРОЛЬНЫЕ ЗАДАНИЯ......................................'..........................................................231
Часть 3. Методологии разработки больших
программных комплексов..........*»...,......................................,232
ГЛАВА 15. СТРУКТУРНАЯ МЕТОДОЛОГИЯ РАЗРАБОТКИ ПРОГРАММ......233
15.1. ИСТОРИЧЕСКИЕ ЗАМЕТКИ............................................................а.......;.....233
15.2. ЦЕЛИ СТРУКТУРНОГО ПРОГРАММИРОВАНИЯ........................................234
"Обеспечить дисциплину программирования..........................................................234
Улучшать читабельность программы.........................................,........................234
Повышать эффективность программы...............................................................234
Повышать надежность программы......................................................................234
Уменьшать времяи стоимость программной разработки................................234
15.3. ОСНОВНЫЕ ПРИНЦИПЫ СТРУКТУРНОЙ МЕТОДОЛОГИИ............ 235
Принцип абстракции...............................................................................................235
Принцип формальности...........................................................................................235
Принцип "разделяй и властвуй"......,......................................................................235
Принцип иерархического упорядочения'.........................:........................................235
15.4. МОДУЛЬНОЕ ПРОГРАММИРОВАНИЕ.......................................................,.236
Форма модульной программы.....................................................................).........-..237
15.5. СТАНДАРТЫ СТРУКТУРНОГО ПРОГРАММИРОВАНИЯ........................237
КОНТРОЛЬНЫЕ ВОПРОСЫ...............................................................................................238
ГЛАВА 16. ОБЪЕКТНО-ОРИЕНТИРОВАННАЯ МЕТОДОЛОГИЯ РАЗРАБОТКИ ПРОГРАММ............................................................................... 239
16.1. ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ.....................................;,....•.......239/
162. ОБЪЕКТНО-ОРИЕНТИРОВАННЫЕ СРЕДСТВА ЯЗЫКА TURBO PASCAL......241
16.2.1. Описание типов и экземпляров объектов..................................................241
16.3. ОБЪЕКТЫ И МОДУЛИ.....................................................................................246
J6.4. ДИРЕКТИВЫ PRIVATE И PUBLIC.........................................................................247
16.4.1. Директива private...................................................................................247
16.4.2. Директива public...............;......................................................................248
', Ш. НАСЛЕДОВАНИЕ, ПРАВИЛА НАСЛЕДОВАНИЯ.......................................248
•-16.6, ВИРТУАЛЬНЫЕ И ДИНАМИЧЕСКИЕ МЕТОДЫ.........................................266
.1. Конструкторы............................................:.,........л....................................267
г Щ4.2. Отличие виртуальных и динамических методов..........'...........................270 '
*" ?; ДИНАМИЧЕСКИЕ ОБЪЕКТЫ...........;...:.......;.:;...........;:...............;:;.....;......,...270
16.8. СОВМЕСТИМОСТЬ ОБЪЕКТНЫХ ТИПОВ ............. ....... ...... ..... ...................273
16.8. 1. Совместимость между экземплярами-абъектов.. ,.;........... ..:.... ...;...:.....27J
16.8.2. Совместимость между указателями наэкземтяры объектов. ............ 274
16.8.3. Совместимость между формальными и фс^тескими параметрами. .....274
Ц. 9. ПРИМЕР-УПРАЖНЕНИЕ ПО ОБЪЕКТНО-ОРИЕНТИРОВАННО!^
ПРОГРАММИРОВАНИЮ.. ..... ........................................... .... ......... .„»1;'..1...275 .
КОНТРОЛЬНЫЕ ВОПРОСЫ .................................. . ..... . ....... ..... ....... ... ......... .............284
Часть 4. Стандартные приемы работы с
устройствами IBM-PC ........ ..... .......... ........^...^.. ...... ..........*.,..... 286
ГЛАВА 17. РАБОТА С КЛАВИАТУРОЙ, КУРСОРОМ И ЗВУКОМ...................... 287
17.1. КЛАВИАТУРА ..... ........... . .................. . ......... ...:.: ....... ......... .....:..............;..L....;287
17.2. КУРСОР ................... . ....... .....". .................. ;........„................;.. ............... ..:.л;...:....289
17.3. ЗВУК ......................................... . ............. ......... ...... .:..,.....,;;.. ........ .- ............ ..„ ...... 291
КОНТРОЛЬНЫЕ ВОПРОСЫ ............................ .............. ........ ....»;.... ........, ..........
КОНТРОЛЬНЫЕ ЗАДАНИЯ ..... . ................... . ........ ., ............... .. ........ .............. .......... ...........293
ГЛАВА 18. РАБОТА В ТЕКСТОВОМ ВИДЕОРЕЖИМЕ ...... ...........................294
18.1. ЭКРАН В ТЕКСТОВОМ РЕЖИМЕ...., ............................................................. 294
18.2. КОНСТАНТЫ ЦВЕТА ....................................................................................... 294
18.3. ОКНА В ТЕКСТОВОМ РЕЖИМЕ ....................................... '. ............................ 297
18.4. ПРЯМОЙ ДОСТУП К ВИДЕОПАМЯТИ ....................... \ ...................... . .......... 300
КОНТРОЛЬНЫЕ ВОПРОСЫ ............................................................ ; ...... .... ....... л....„...,..„(304
КОНТРОЛЬНЫЕ ЗАДАНИЯ ........... .. ........................................... , ............................ :.,....,'..,304
ГЛАВА 19. РАБОТА В ГРАФИЧЕСКОМ ВИДЕОРЕЖИМЕ ...... ...» -------- ...... 306
19.1. ПРЕДОПРЕДЕЛЁННЫЕ КОНСТАНТЫ ...................................... „.. ........... .....306
19.1.1. Константы цвета ............... ; ...................... . ............ , ............................ ±......306
19.1.2. Константы типа линий и их толщины .................................................... .306
19.1.3. Константы типов закраски ..... : .......................................... .. .......... . .......... 306
19.1.4. Константы типа шрифта и выравнивания текста. ........ . ......... .. ........... 307
Константы типа шрифта . ............................................................... : ..... . ...... . ...................... 307
Константы выравнивания текста по горизонтали... ...... , ........ ...„,.. ......................... > ........ 307
Константы выравнивания текста по вертикали ............ , ........................... .,.„ .......... „ ....... 307
19. 1.5. Константы дм( процедуры SetViewPort ........ , .................................... ,.:.,.. 307
19.1.6. Константы для процедуры ВагЗО ...................... , ........ . ........ „ ....... : ........... 307^
19. 1. 7. Константы для процедур Pvtlmage qSetWfiteMode., ............ „ ................. 308
19.2. ПРЕДОПРЕДЕЛЕННЬВ&ТИПЫ ......... ;....„ ...................... . ..... ..„,... ................... 308
19.2.1. Тип установки цветов палитры ........ ,.^г. .............. » ...... , ..... „...,..,... ............ 308,
19.2.2. Тип установки вида линий ............ ................ ................ .\ ........................ „...30S1
'
19.2.3. Тип установки оформления текста
19.2.4. Типы установки вида закраски ............. .=. ..... „ ...... „,„.„.,(...,«*«*..у....4....,„^. 308

Цена: 150руб.

Назад

Заказ

На главную страницу

Hosted by uCoz