Материал: Мансуров. Основы программирования в среде Lazarus. 2010

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Мансуров К.Т.

Основы программирования в среде Lazarus

Допущено Министерством образования и науки Кыргызской Республики в качестве учебника для студентов высших учебных заведений, аспирантов и преподавателей

УДК 004

ББК 32.973-01

Рецензенты:

доктор физико-математических наук, профессор Десятков Г.А. доктор физико-математических наук, профессор Сопуев А.С. доктор физико-математических наук, профессор Сатыбаев А.С.

М23 Мансуров К.Т. Основы программирования в среде Lazarus, 2010. – 772 с.: ил.

ISBN 978-9967-03-646-8

В книге излагаются основы программирования на языке Паскаль. Она вводит читателя в круг тех идей, понятий, принципов и методов, на которых зиждется современное программирование.

Изложение языка Паскаль ведется применительно к компилятору Free Pascal и среде Lazarus, которые относятся к категории свободного программного обеспечения. Достоинством СПО является общедоступность и бесплатность. Так, и Free Pascal и Lazarus можно свободно скачать в Интернете. В отличие от продуктов семейства Delphi, использование Free Pascal и Lazarus позволит снять все проблемы нелегального использования лицензионного ПО. В то же время Lazarus по своим возможностям практически не уступает Delphi. Таким образом, Lazarus является идеальным средством для изучения языка программирования Паскаль в школах и вузах в полном соответствии с Концепцией развития разработки и использования свободного программного обеспечения в Российской Федерации. В пакете свободного программного обеспечения (ПСПО) для образовательных учреждений РФ Free Pascal и Lazarus также имеются.

В книге приведены многочисленные примеры программ. Подробно рассмотрены типичные и наиболее часто используемые алгоритмы. Особое внимание уделено разработке программ с графическим интерфейсом, а также объектно-ориентированному программированию. Рассмотрены особенности программирования в среде Lazarus в ОС Windows и Linux. К книге прилагается DVD диск с исходными кодами всех программ, рассмотренных в книге.

Учебник предназначен для студентов и преподавателей, а также для школьников и лиц, самостоятельно изучающих программирование на языке Паскаль.

Учебник и все материалы, входящие в него распространяются на условиях лицензии GNU FDL.

М 2404090000-10

ISBN 978-9967-03-646-8

© Мансуров К.Т., 2010

Содержание

 

Предисловие.................................................................................................................

7

Глава 1 Основы программирования ........................................................................

10

1.1. Понятие алгоритма.........................................................................................

10

1.1.1 Алгоритм Евклида....................................................................................

12

1.1.2 Задача о поездах и мухе...........................................................................

17

1.1.3 Вместо лирического отступления ..........................................................

26

1.2. Этапы подготовки задачи для решения на компьютере ............................

28

1.3. Примеры разработки алгоритмов .................................................................

32

1.3.1 Решение квадратного уравнения. ...........................................................

32

1.3.2 Вычисление интегралов ..........................................................................

34

1.3.3 Обработка результатов эксперимента....................................................

36

1.3.4 Решение системы линейных алгебраических уравнений ....................

39

Глава 2 Введение в язык программирования Pascal ..............................................

48

2.1. Основные элементы языка ............................................................................

48

2.1.1 Переменные. Стандартные типы. ...........................................................

49

2.1.2 Операции отношения ...............................................................................

51

2.1.3 Раздел описаний переменных .................................................................

51

2.1.4 Выражения. Порядок выполнения операций. .......................................

52

2.1.5 Константы .................................................................................................

53

2.1.6 Комментарии в программе ......................................................................

54

2.1.7 Операторы.................................................................................................

55

2.1.7.1. Оператор присваивания ..........................................................................................

55

2.1.7.2. Операторы ввода/вывода ........................................................................................

56

2.1.7.3. Операторы инкремента и декремента ...................................................................

58

2.1.8 Среда разработки Lazarus........................................................................

58

2.1.9 Русский язык в консольных приложениях ............................................

70

2.1.10 Первая программа ..................................................................................

71

2.1.11 Открытие существующего проекта......................................................

87

2.1.12 Другие способы создания консольных приложений..........................

91

2.1.13 Типовой пустой проект..........................................................................

94

2.1.14 Операции с целыми числами ................................................................

95

2.1.15 Вместо лирического отступления 2 .....................................................

98

2.1.16 Стандартные функции с целыми аргументами...................................

99

2.1.17 Операции с вещественными числами (тип real). ..............................

101

2.1.18 Форматирование вывода .....................................................................

102

2.1.19 Одновременное использование вещественных и целых чисел. ......

102

2.1.20 Другие стандартные функции с вещественными аргументами ......

104

2.1.21 Булевы переменные .............................................................................

104

2.1.22 Условные операторы............................................................................

106

2.1.22.1 Оператор if …. then ............................................................................................

107

3

Содержание

____________________________________________________________________

2.1.22.2. Оператор if …then ... else ..................................................................................

107

2.1.23 Операторы цикла..................................................................................

113

2.1.23.1. Оператор цикла с предусловием........................................................................

113

2.1.23.2. Оператор цикла с постусловием ........................................................................

114

2.1.23.3. Оператор цикла с параметром. ..........................................................................

120

2.1.23.4. Второй вариант оператора цикла с параметром...............................................

121

2.1.24 Оператор выбора case ..........................................................................

124

2.1.25 Организация простейшего контроля ввода данных. ........................

126

2.1.26 Вычисление сумм сходящихся рядов ................................................

131

2.2. Реализация некоторых алгоритмов главы 1. .............................................

136

2.2.1 Программа решения задачи о поездах и мухе.....................................

136

2.2.2 Программа вычисления определенного интеграла ............................

137

Глава 3 Более сложные элементы языка...............................................................

141

3.1. Общая структура Паскаль – программы....................................................

141

3.1.1 Процедуры и функции ...........................................................................

142

3.1.1.1 Структура процедуры ............................................................................................

142

3.1.1.2. Структура функции ...............................................................................................

143

3.1.1.3 Глобальные и локальные переменные .................................................................

144

3.1.1.4 Способы передачи параметров .............................................................................

155

3.1.1.5 Процедуры завершения .........................................................................................

159

3.2. Еще раз о типах данных...............................................................................

159

3.2.1 Классификация типов данных ..............................................................

159

3.2.1.1 Целый тип ...............................................................................................................

160

3.2.1.2. Интервальный тип.................................................................................................

161

3.2.1.3. Перечислимый тип ................................................................................................

162

3.2.1.4. Множества .............................................................................................................

162

3.2.1.5. Логический тип......................................................................................................

163

3.2.1.6. Вещественный тип ................................................................................................

163

3.2.1.7. Указатели ...............................................................................................................

164

3.3. Обработка символьной информации в Паскале........................................

165

3.3.1 Символьные и строковые типы данных. .............................................

165

3.3.1.1. Тип Char .................................................................................................................

170

3.3.1.2. Функции для работы с символами.......................................................................

170

3.3.1.3. Тип String ...............................................................................................................

171

3.3.1.4. Строковые процедуры и функции .......................................................................

176

3.4. Массивы ........................................................................................................

190

3.4.1 Динамические массивы .........................................................................

197

3.4.2 Программа решения системы линейных алгебраических

 

уравнений методом Гаусса.............................................................................

202

3.4.1.1. Вариант 1 – с goto ...............................................................................................

204

3.4.1.2. Вариант 2 – без goto...........................................................................................

206

3.4.1.3. Вариант 3 – более лучшая реализация ................................................................

209

3.5. Модули в Паскале ........................................................................................

213

3.5.1 Структура модуля ..................................................................................

213

3.5.2 Системные модули.................................................................................

218

3.5.2.1. Модуль CRT...........................................................................................................

220

4

Содержание

____________________________________________________________________

3.6. Файлы ............................................................................................................

225

3.6.1 Тип данных – запись .............................................................................

225

3.6.2 Файловые типы.......................................................................................

227

3.6.3 Процедуры для работы с файлами .......................................................

228

3.6.3.1. Общие процедуры для работы с файлами всех типов .......................................

228

3.6.3.2. Процедуры для работы с текстовыми файлами .................................................

230

3.6.3.3. Процедуры для работы с типизированными файлами ......................................

238

3.6.3.4. Процедуры для работы с нетипизированными файлами ..................................

248

3.6.3.5. Организация контроля ввода/вывода при работе файлами...............................

254

3.6.3.6. Создание простой базы данных с типизированными файлами. .......................

257

Глава 4 Типовые алгоритмы обработки информации .........................................

272

4.1. Алгоритмы сортировки...............................................................................

272

4.1.1 Обменная сортировка (метод "пузырька") ..........................................

274

4.1.2 Сортировка выбором .............................................................................

280

4.1.3 Сортировка вставками ...........................................................................

286

4.1.4 Метод быстрой сортировки...................................................................

301

4.2. Алгоритмы поиска........................................................................................

312

4.2.1 Поиск в массивах ...................................................................................

312

4.2.2 Вставка и удаление элементов в упорядоченном массиве ................

323

4.3. Динамические структуры данных ..............................................................

331

4.3.1 Представление в памяти компьютера динамических структур. .......

337

4.3.2 Реализация стека с помощью массивов ...............................................

340

4.3.3 Представление двоичного дерева в виде массива и реализация

 

алгоритма обхода двоичного дерева слева...................................................

349

4.3.4 Указатели ................................................................................................

361

4.3.5 Стандартные операции с линейными списками .................................

365

4.3.6 Реализация динамических структур линейными списками ..............

372

4.3.6.1. Реализация стека ...................................................................................................

372

4.3.6.2. Реализация очереди с помощью линейного списка ...........................................

375

4.3.6.3. Реализация двоичного дерева с помощью линейного списка ..........................

380

4.3.7 Сортировка и поиск с помощью двоичного дерева...........................

388

Глава 5 Основы объектно-ориентированного программирования ....................

396

5.1. Три источника и три составные части ООП..............................................

396

5.2. Классы и объекты.........................................................................................

398

5.2.1 Обращение к членам класса..................................................................

401

5.3. Инкапсуляция ...............................................................................................

406

5.3.1 Спецификаторы доступа. ......................................................................

411

5.3.2 Свойства. .................................................................................................

417

5.4. Наследование ................................................................................................

426

5.5. Полиморфизм................................................................................................

435

5.5.1 Раннее связывание. ................................................................................

437

5.5.2 Позднее связывание. ..............................................................................

442

5.5.3 Конструкторы и деструкторы. ..............................................................

448

Глава 6 Программирование приложений с графическим интерфейсом............

458

5

Смотрите также:

11 Горм +
113
14
1433
1511
1632
199
204
2N4264RE
3773