Light13 писал(а):Можно оглавление посмотреть и список источников информации.
Содержание 
Предисловие	7
Введение	11
Глава I. Основы программирования	12
1.1. Понятие алгоритма.	12
1.1.1 Алгоритм Евклида.	14
1.1.2. Задача о поездах и мухе	19
1.1.3. Вместо лирического отступления	27
1.2. Этапы подготовки задачи для решения на компьютере	30
1.3. Примеры разработки алгоритмов	34
1.3.1. Решение квадратного уравнения.	34
1.3.2. Вычисление интегралов	36
1.3.3. Обработка результатов эксперимента	38
1.3.4. Решение системы линейных алгебраических уравнений	40
Глава II. Введение в язык программирования Pascal	49
2.1. Основные элементы языка	50
2.1.1. Переменные. Стандартные типы.	50
2.1.2. Операции отношения	52
2.1.3. Раздел описаний переменных	52
2.1.4. Выражения. Порядок выполнения операций.	53
2.1.5. Константы	54
2.1.6. Комментарии в программе	55
2.1.7. Операторы	56
2.1.7.1. Оператор присваивания	56
2.1.7.2. Операторы ввода/вывода	56
2.1.7.3. Операторы инкремента и декремента	58
2.1.8. Среда разработки Lazarus	59
2.1.9. Русский язык в консольных приложениях	64
2.1.10. Первая программа	65
2.1.11. Операции с целыми числами	72
2.1.12. Вместо лирического отступления 2	74
2.1.13. Стандартные функции с целыми аргументами	76
2.1.14. Операции с вещественными числами (тип real).	77
2.1.15. Форматирование вывода	78
2.1.16. Одновременное использование вещественных и целых чисел.	78
2.1.17. Другие стандартные функции с вещественными аргументами	80
2.1.18. Булевые переменные	80
2.1.19. Условные операторы.	82
2.1.19.1 Оператор   if …. then	82
2.1.19.2. Оператор   if …then ... else	83
2.1.20. Операторы цикла	88
2.1.20.1. Оператор цикла с предусловием	88
2.1.20.2. Оператор цикла с постусловием	89
2.1.20.3. Оператор цикла с параметром.	93
2.1.20.4. Второй вариант оператора цикла с параметром	95
2.1.21. Организация простейшего контроля ввода данных.	97
2.1.22. Вычисление сумм сходящихся рядов	101
2.2. Реализация некоторых алгоритмов главы 1.	105
2.2.1. Программа решения задачи о поездах и мухе	105
2.2.2. Программа вычисления определенного интеграла	107
Глава III Более сложные элементы языка	110
3.1. Общая структура Паскаль – программы	110
3.1.1. Процедуры и функции	111
3.1.1.1 Структура процедуры	111
3.1.1.2. Структура функции	112
3.1.1.3 Глобальные и локальные переменные	113
3.1.1.4 Способы передачи параметров	122
3.1.1.5 Процедуры завершения	126
3.2. Еще раз о типах данных	126
3.2.1. Классификация типов данных	126
3.2.1.1 Целый тип	127
3.2.1.2. Интервальный тип	128
3.2.1.3. Перечислимый тип	128
3.2.1.4. Множества	129
3.2.1.5. Логический тип	130
3.2.1.6. Вещественный тип	130
3.2.1.7. Указатели	131
3.3. Обработка символьной информации в Паскале	133
3.3.1. Символьные и строковые типы данных.	133
3.3.1.1 Тип Char	136
3.3.1.2. Функции для работы с символами	136
3.3.1.3. Тип String	136
3.3.1.4.  Строковые процедуры и функции	140
3.3.2. Оператор выбора case	147
3.4. Массивы	150
3.4.1. Динамические массивы	157
3.4.2. Программа решения системы линейных алгебраических            уравнений методом Гаусса	162
3.4.1.1. Вариант 1 – с goto	163
3.4.1.2. Вариант 2 – без  goto	166
3.4.1.3. Вариант 3 – более лучшая реализация	170
3.5. Модули в Паскале	175
3.5.1. Структура модуля	176
3.5.2. Системные модули	181
3.5.2.1. Модуль CRT	181
3.6. Файлы	186
3.6.1. Тип данных –  запись	187
3.6.2. Файловые типы	189
6.6.3. Процедуры для работы с файлами	190
3.6.3.1. Общие процедуры для работы с файлами всех типов	190
3.6.3.2. Процедуры для работы с текстовыми файлами	192
3.6.3.3. Процедуры для работы с типизированными файлами	199
3.6.3.4. Процедуры для работы с нетипизированными файлами	209
3.6.3.5. Организация контроля ввода/вывода при работе файлами	217
3.6.3.6. Создание простой базы данных с типизированными файлами.	219
Глава IV. Типовые алгоритмы обработки  информации	235
4.1. Алгоритмы  сортировки	235
4.1.1. Обменная сортировка (метод "пузырька")	236
4.1.2. Сортировка выбором	243
4.1.3. Сортировка вставками	248
4.1.4. Метод быстрой сортировки	257
4.2. Алгоритмы поиска	263
4.2.1. Поиск в массивах	264
4.2.2. Вставка и удаление элементов в упорядоченном массиве	274
4.3. Динамические структуры данных	281
4.3.1. Представление в памяти компьютера динамических структур.	287
4.3.2. Реализация стека с помощью массивов	290
4.3.3. Представление двоичного дерева в виде массива и реализация алгоритма обхода двоичного дерева слева.	298
4.3.4. Указатели	311
4.3.5. Стандартные операции с линейными списками	314
4.3.6. Реализация динамических структур линейными списками	324
4.3.6.1. Реализация стека	324
4.3.6.2.Реализация очереди с помощью линейного списка	327
4.3.6.3. Реализация двоичного дерева с помощью линейного списка	332
4.3.6. Сортировка  и поиск с помощью двоичного дерева	339
Глава V. Основы объектно-ориентированного программирования	346
Глава VI. Программирование Windows-приложений в среде Lazarus	347
6.1. Элементы окон Windows	347
6.2. Различия между консольными и Windows приложениями	352
6.3. Визуальное программирование в среде Lazarus	355
6.3.1. Создание Windows приложения	355
6.3.2. Форма и ее основные свойства	360
6.3.3. Компоненты	366
6.3.4. Обработчики событий	366
6.3.5. Простейшие компоненты	369
6.3.5.1. Компонент TLabel	369
6.3.5.2. Кнопки TButton, TBitBtn и TSpeedButton	379
6.3.6. Организация ввода данных. Однострочные редакторы TEdit, TLabeledEdit	383
6.3.6.1. Компонент TEdit	383
6.3.6.2. Компонент TLabeledEdit	388
6.3.7. Обработка исключений. Компонент TMaskEdit.                   Организация контроля ввода данных	393
6.3.7.1. Компонент  TMaskEdit	401
6.3.8. Специальные компоненты для ввода чисел TSpinEdit, TFloatSpinEdit и TUpDown	416
6.3.9. Тестирование и отладка программы	419
6.3.10. Компоненты отображения и выбора данных	423
6.3.10.1. Компонент TMemo	423
6.3.10.2. Компонент TStringList	424
6.3.11. Стандартные действия - Actions	425
Литература	426
Алфавитный указатель	427
Книга еще не закончена. Надо еще рассмотреть ряд компонентов. Главу V тоже оставил "на потом". Наверное перевалит за 500 стр. А если добавить и программирование в Linux, то может быть и больше. Поскольку книга не о Windows и не о Linux, может быть достаточно добавить установку Lazarus в Linux (в Windows элементарно), т.е. не лезть в тонкости, а все примеры, особенно под GUI (я уже проверил) отлично компилируются и там и там. Лишь в консольных приложениях есть небольшие различия, связанные с кодировкой. Видимо рассмотрение примеров  надо вести параллельно, подчеркивая в нужных местах различия в коде составляемой программы.
Литература
1.	Фролов Г.Д., Кузнецов Э.И. " Элементы информатики", М.: "Высшая шко-ла", 1989. 
2.	Г. Симпсон "Профессиональная работа на персональном компьютере", М.: "Финансы и статистика", 1988.
3.	А. Файсман "Профессиональное программирование на Турбо Паскале", М.: "Инфомэкс", 1992.
4.	Архангельский А.Я. "Программирование в Delphi 7", М.: "Бином", 2003.
5.	Ершов А.П. "Введение в теоретическое программирование", М.: "Наука", 1977.
6.	Вирт Н. "Алгоритмы и структуры данных", М.: Мир, 1989.
7.	Кнут Д.Э. "Искусство программирования", т.1. "Основные алгоритмы", М.: "Мир", 1976.
8.	Кнут Д.Э. "Искусство программирования", т.3. "Сортировка и поиск", М.: "Мир", 1978.
9.	Ламуатье Ж.П. "Упражнения по программированию на Фортране-IV", М.: Мир, 1978.