Light13 писал(а):Терь из этого всего помогите отобрать ключевые моменты - ибо все за полгода не реализую

Нечто похожее я написал, см.
http://www.freepascal.ru/forum/viewtopic.php?f=23&t=5997 и
http://www.freepascal.ru/forum/viewtopic.php?f=23&t=5173У меня ушло на это два года!
Вот полное оглавление книги:
Предисловие 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
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. Перечислимый тип 161
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 Структура модуля 214
3.5.2 Системные модули 219
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 Сортировка выбором 279
4.1.3 Сортировка вставками 286
4.1.4 Метод быстрой сортировки 300
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 Компоненты 482
6.3.4 Обработчики событий 482
6.3.5 Простейшие компоненты 485
6.3.5.1. Компонент TLabel 486
6.3.5.2. Кнопки TButton, TBitBtn и TSpeedButton 501
6.3.6 Организация ввода данных. Однострочные редакторы TEdit, TLabeledEdit 505
6.3.6.1. Компонент TEdit 505
6.3.6.2. Компонент TLabeledEdit 513
6.3.7 Обработка исключений. Компонент TMaskEdit. Организация контроля ввода данных 519
6.3.7.1. Компонент TMaskEdit 530
6.3.8 Специальные компоненты для ввода чисел 548
6.3.9 Тестирование и отладка программы 550
6.3.10 Компоненты отображения и выбора данных 554
6.3.10.1. Компонент TMemo 555
6.3.10.2. Компонент TStringGrid 608
6.3.10.3. Компоненты выбора 617
6.3.10.4. Компоненты отображения структурированных данных 645
6.3.11 Организация меню. Механизм действий - Actions 718
6.3.11.1. Компонент TMainMenu 718
6.3.11.2. Компонент TToolBar 737
6.3.11.3. Компонент TActionList 741
6.3.11.4. Создание приложений с изменяемыми размерами окон 762
Послесловие 765
Литература 766
Алфавитный указатель 767