Программируем на Lazarus. Книги lazarus


Обзор учебной литературы по Lazarus

В данной статье я хотел бы рассмотреть существующую на сегодняшний день учебную литературу по Lazarus на русском языке, и высказать свое мнение о ней. Однако мое мнение может оказаться субъективным;  если вы считаете, что я не прав, можете дополнить или поправить меня - приглашаю к дискуссии по этому вопросу. Итак:

 

  • Е.Р.Алексеев, О.В.Чеснокова, Т.В.Кучер "Free Pascal и Lasarus" - 442 стр. - Судя по оглавлению, книга будет полезна для начинающих, но на серьезный самоучитель никак не тянет.
  • Е.Р.Алексеев, О.В.Чеснокова, Т.В.Кучер "Самоучитель по программированию на Free Pascal и Lasarus" - 505 стр. - Общее впечатление получше, для начинающих самое то. Главный минус - отсутствие информации о программировании баз данных (по крайней мере в оглавлении про БД я не нашел ни слова). Если заниматься системным программированием или созданием игр, то тут больше подойдет С++ и Ассемблер; Lazarus и Delphi все таки изначально рассчитаны, как языки программирования для начального изучения и для создания приложений, работающих с базами данных. Именно такие приложения в основном, и нужны в любой фирме, нанимающей на работу программиста. Для серьезного самоучителя непростительно не затрагивать такую важную тему.
  • Мансуров К.Т. "Основы программирования в среде Lazarus" - 772 стр. - Такое большое количество страниц только потому, что текст книги написан крупным шрифтом, и между строками вставлен двойной интервал. Будь текст напечатан нормально, страниц было бы не более 300. Общее впечатление о книге неплохое. Хороший учебник для школьников, но о базах данных опять ничего. Для прикладного программиста, использующего Lazarus для работы, в этой книге немного интересного.
  • Е.А.Попов "Экспресс курс программирования в Lazarus" - 54 стр. - Данная брошюра на учебник даже не тянет. Скорее, это обзор возможностей Lazarus, где говорится обо всем понемногу. Не советую начинать с этой книги.
  • А.П.Савин "Методические указания по написанию программ на языке Object Pascal в среде программирования Lazarus для строительных специальностей".  Ну, это даже не учебная брошюра. Отсюда можно взять идеи для лабораторных работ или курсовой для учащихся ВУЗов, но имейте в виду - только идеи. Ни учится, ни добыть сколько-нибудь ценную справочную информацию отсюда не получится.

 

И это все, что я пока нашел по языку. Причем все хоть сколько-то серьезные учебники из этого списка рассматривают разработку консольных приложений, а кому сейчас нужны консольные приложения?! Любого нормального прикладного программиста, хоть начинающего, хоть профи, интересует разработка приложений с графическим интерфейсом, а об это в вышеупомянутых книгах почти ничего нет. Для системного же программирования, где обычно, консоли и делают, при всем уважении к Lazarus и Delphi, эти языки не подходят – системщики используют обычно Ассемблер и C, реже – C++.

Для примера: по Delphi в моей библиотеке 69 книг, а ведь я скачивал не все подряд, а только интересное! Вывод: литературы по Lazarus до обидного мало :-( Совет: поскольку Lazarus весьма похож на Delphi 7, частично можно пользоваться учебниками по этому языку. Однако возвращаясь к базам данных не могу не заметить, что Lazarus по своим возможностям гораздо беднее Delphi и, к сожалению, эта тема не будет для этих языков общей. Если вам встречались другие книги по Lazarus, достойные, чтобы их прочесть, буду благодарен, если вы дополните мой список. А если приведете еще ссылки, где эти книги можно скачать, то будет вообще супер!

Надеюсь, материал этой статьи будет кому-нибудь полезным.

 

Удачного девелопинга!

 

 

lazarus.16mb.com

Учебник по программированию Free Pascal и Lazarus

Хочу сообщить об очень хорошей новости для людей, которые только начинают знакомство с языком Pascal и с IDE Lazarus: вышел первый учебник в бумажном виде. Презентую вам Lazarus учебник.

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

Вот аннотация книги:

«Free Pascal — свободная реализация языка Паскаль, совместимая с Borland Pascal и Object Pascal — Delphi, но при этом обладающая и некоторыми дополнительными возможностями. Свободный компилятор Free Pascal — кросплатформенный продукт, реализованный, в частности, для операционных систем Linux и Windows. Данная книга представляет собой учебник по алгоритмизации и программированию на основе языка Free Pascal. Кроме того, читатель познакомится с принципами создания визуальных приложений в среде Lazarus.

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

Сайт книги: http://books.altlinux.ru/freepascal/

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

В свободном доступе есть pdf вариант книги. Для желающих загрузить — ссылка ниже.

Загрузить учебник по программированию Free Pascal и Lazarus

Free Pascal — свободная реализация языка Паскаль, совместимаяс Borland Pascal и Object Pascal — Delphi, но при этом обладающаяи некоторыми дополнительными возможностями. Свободный компиля-тор Free Pascal — кросплатформенный продукт, реализованный, в част-ности, для операционных систем Linux и Windows. Данная книга пред-ставляет собой учебник по алгоритмизации и программированию наоснове языка Free Pascal. Кроме того, читатель познакомится с прин-ципами создания визуальных приложений в среде Lazarus.К каждой теме прилагаются 25 вариантов задач для самостоятель-ного решения, что позволит использовать книгу не только начинаю-щим самостоятельно изучать программирование, но и преподавателямв учебном процессе.Сайт книги: http://books.altlinux.ru/freepascal/Книга адресована преподавателям и учащимся средних и высшихучебных заведений, а также широкому кругу читателей, интересую-щихся программированием.

mobile-develop.ru

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

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

Основы программирования в среде 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

Содержание

____________________________________________________________________

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

Содержание

____________________________________________________________________

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

Содержание

____________________________________________________________________

6.1. Элементы графического интерфейса .........................................................

459

6.2. Различия между консольными и графическими приложениями ............

466

6.3. Визуальное программирование в среде Lazarus .......................................

468

6.3.1 Создание графического приложения ...................................................

468

6.3.2 Форма и ее основные свойства .............................................................

475

6.3.3 Компоненты ............................................................................................

481

6.3.4 Обработчики событий ...........................................................................

481

6.3.5 Простейшие компоненты ......................................................................

484

6.3.5.1. Компонент TLabel ..............................................................................................

485

6.3.5.2. Кнопки TButton, TBitBtn и TSpeedButton ...........................................................

500

6.3.6 Организация ввода данных. Однострочные редакторы TEdit,

 

TLabeledEdit..............................................................................................

504

6.3.6.1. Компонент TEdit.................................................................................................

504

6.3.6.2. Компонент TLabeledEdit.......................................................................................

512

6.3.7 Обработка исключений. Компонент TMaskEdit. Организация

 

контроля ввода данных...................................................................................

518

6.3.7.1. Компонент TMaskEdit ......................................................................................

529

6.3.8 Специальные компоненты для ввода чисел ........................................

547

6.3.9 Тестирование и отладка программы ....................................................

549

6.3.10 Компоненты отображения и выбора данных ....................................

553

6.3.10.1. Компонент TMemo...............................................................................................

554

6.3.10.2. Компонент TStringGrid ................................................................................

607

6.3.10.3. Компоненты выбора............................................................................................

616

6.3.10.4. Компоненты отображения структурированных данных .................................

644

6.3.11 Организация меню. Механизм действий - Actions ..........................

717

6.3.11.1. Компонент TMainMenu .....................................................................................

717

6.3.11.2. Компонент TToolBar........................................................................................

736

6.3.11.3. Компонент TActionList ................................................................................

740

6.3.11.4. Создание приложений с изменяемыми размерами окон .................................

761

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

764

Литература ...............................................................................................................

765

Алфавитный указатель ...........................................................................................

766

Предисловие

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

тета.

В книге излагаются основы программирования на языке Паскаль. Она вво-

дит читателя в круг тех идей, понятий, принципов и методов, на которых зиж-

дется современное программирование.

Во многих школах и вузах преподавание языка Паскаль ведется с приме-

нением компилятора Турбо-Паскальфирмы Borland. ХотяТурбо-Паскальныне уже не поддерживается, тем не менее, он является платным продуктом. Право-

преемником Borland в настоящее время является компания Embarcadero Technologies.

Несмотря на то, что многие ведущие разработчики программного обеспе-

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

ботки программ, например, такие как Embarcadero RAD Studio 2010, Microsoft Visual Studio и многие другие.

Поэтому совершенно естественным является подход к использованию в образовательных учреждениях свободного программного обеспечения. Не слу-

чайно в России принята Концепция развития разработки и использования сво-

бодного программного обеспечения, которая касается также и образования.

Достоинством СПО является общедоступность и бесплатность.

Изложение языка Паскаль в этой книге ведется применительно к компиля-

тору Free Pascal и среде Lazarus, которые относятся к категории свободного программного обеспечения. Так, и Free Pascal и Lazarus можно свободно ска-

7

Предисловие

____________________________________________________________________

чать в Интернете. В отличие от продуктов семейства Delphi, использование Free Pascal и Lazarus позволит снять все проблемы нелегального использования ли-

цензионного ПО. В то же время Lazarus по своим возможностям практически не уступает Delphi. Таким образом, Lazarus является идеальным средством для изучения языка программирования Паскаль в школах и вузах в полном соответ-

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

Книга состоит из шести глав.

В первой главе излагается понятие алгоритма, способы записи алгоритмов,

даются примеры разработки алгоритмов. Рассматриваются этапы решения за-

дачи на компьютере.

Во второй главе рассматриваются элементарные конструкции языка Пас-

каль. Дается краткий обзор IDE Lazarus. Рассматриваются способы создания консольных приложений. Рассмотрены особенности программирования в среде

Lazarus в ОС Windows и Linux. Так, для Windows в консольных приложениях существует проблема с русским языком. В главе дается способ решения этой проблемы. Для Linux приводится способ настройки приложения для его выпол-

нения в терминале. Рассмотрены простейшие методы контроля данных.

В третьей главе рассматриваются более сложные элементы языка, в част-

ности подробно разбираются типы данных, методы обработки символьных и строковых данных, функции и процедуры, способы передачи параметров, мас-

сивы, в том числе динамические массивы. Подробно изучаются файлы, методы доступа, типы файлов, обработка ошибок ввода-вывода.

В четвертой главе изучаются типовые алгоритмы. К типовым алгоритмам отнесены алгоритмы сортировки и поиска, а также алгоритмы работы с дина-

мическими структурами. Рассмотрены ряд алгоритмов, проводится сравнение и анализ эффективности этих алгоритмов.

Предисловие

____________________________________________________________________

Подробно изучаются указатели. С применением указателей показаны спо-

собы реализации динамических структур данных, таких как, например, стеки,

списки и т.д.

В пятой главе, которая, на взгляд автора, имеет огромное значение, изуча-

ются принципы объектно-ориентированногопрограммирования. Поскольку со-

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

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

личия консольных приложений и графических приложений. Приводятся описа-

ния основных и часто используемых компонентов. Рассмотрены вопросы тес-

тирования и отладки программ, обработка исключений, механизм действий

Actions и многие другие вопросы.

В книге последовательно проводится линия на создание кроссплатформен-

ных приложений.

Все примеры были проверены на ОС Windows XP SP3 и дистрибутивах Li-

nux:

Альт Линукс 5.0 Школьный Мастер

Ubuntu 9.04

Mandriva Linux 2009.0 (Free)

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

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

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

Компьютер - это устройство для решения задач. Не обязательно задач чис-

то математического характера. Это могут быть и задачи управления станками или ракетами, и задачи планирования производства, и задачи информационно-

справочного обслуживания, и задачи обработки гипертекстовой информации и мультимедиа, т.е. обработки звуковой и видеоинформации. Чтобы решить ка-

кую - либо задачу на компьютере необходимо сначала придумать как ее вообще решить, т.е. придумать алгоритм ее решении. Алгоритм – является одним из краеугольных понятий информатики и программирования.

Итак, что же понимается под алгоритмом?

Алгоритм - это строгая и четкая, конечная система правил, которая опре-

деляет последовательность действий над некоторыми объектами и после ко-

нечного числа шагов приводит к достижению поставленной цели.

Из определения алгоритма следует, что он должен удовлетворять следую-

щим требованием:

1) конечность (финитность)

Алгоритм всегда должен заканчиваться после конечного числа шагов.

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

2) определенность (детерминированность)

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

то они, действуя по этому алгоритму, получали один и тот же результат. По-

скольку обычный язык полон двусмысленностей, то чтобы преодолеть это за-

труднение, для описания алгоритмов разработаны формально определенные

10

studfiles.net

Free Pascal и Lazarus: Учебник по программированию

Загрузка... Навазние: Free Pascal и Lazarus: Учебник по программированию Автор: Алексеев Е. Р., Чеснокова О. В., Кучер Т. ВИздательство: Год: 2010Страниц: 442Язык: РусскийРазмер: 5Формат: pdf

Описание книги Free Pascal и Lazarus: Учебник по программированию:Авторы книги давно хотели написать учебник по программированию, который был бы полезен пользователям различных операционных систем. Благодаря компании ALT Linux, мы попытались это сделать. В качестве языка программирования был выбран язык Free Pascal, который представляется нам ясным, логичным и гибким языком и приучает к хорошему стилю программирования. Свободно распространяемые компиляторы языка Free Pascal реализованы во многих дистрибутивах Linux, есть свободные компиляторы и для ОС Windows.

Кроме того, в этой книге мы попытались познакомить читателя с принципами создания визуальных приложений в среде Lazarus. В настоящее время существует множество подходов к изучению программирования. По мнению авторов, нельзя изучать программирование на каком-либо языке, не изучив методы разработки алгоритмов. Одним из наиболее наглядных методов составления алгоритмов является язык блок-схем. Об этом свидетельствует и многолетний опыт авторов преподавания программирования. Мы попытались написать учебник по алгоритмизации и программированию, насколько нам это удалось — судить читателю.

Авторы надеются, что читатель имеет первоначальные навыки работы на персональном компьютере под управлением ОС Linux или Windows и знаком со школьным курсом математики.

29,526 просмотров всего, 3 просмотров сегодня

forcoder.ru