Educational resources of the Internet - Informatics.

 Образовательные ресурсы Интернета - Информатика.

        Главная страница (Содержание)

 

Гостевая

Общеобразовательные

Программирование: введение в профессию. Т. 1. Азы программирования. Столяров А.В.

М.: 2016. — 464 с. 

Книга А.В. Столярова охватывает этапы изучения программирования в объёме «продвинутой» школьной информатики (в той её части, которая непосредственно касается программирования) и первых двух курсов ВМК МГУ с учётом использования операционной среды ОС Unix. В первую часть книги вошли избранные сведения из истории вычислительной техники, обсуждение некоторых областей математики, непосредственно используемых программистами (таких как алгебра логики, комбинаторика, позиционные системы счисления), математических основ программирования (теория вычислимости и теория алгоритмов), принципы построения и функционирования вычислительных систем, начальные сведения о работе с командной строкой ОС Unix. Вторая часть посвящена начальным навыкам составления компьютерных программ на примере Free Pascal под ОС Unix. Материал ориентирован на изучение в будущем языка Си, так что, в частности, много внимания уделено работе с адресами и указателями, построению списков и других динамических структур данных; в то же время многие возможности Паскаля из рассмотрения исключены. Даются сведения о правилах оформления текстов программ, о тестировании и отладке. Для школьников, студентов, преподавателей и всех, кто интересуется программированием.
 

 

Формат: pdf         

Размер:  3,3 Мб

Скачать:   stolyarov.info/books/pdf/

 

 

 

 

 

Содержание
Предисловие первое, философское 8
Предисловие второе, методическое 12
Можно ли выучить программиста 13
Самообучение — это тоже не так просто 14
Выход есть, или «Почему Unix» 15
Причина первая — математическая 16
Причина вторая — психологическая 17
Причина третья — эргономическая 19
Причина четвёртая — педагогическая 19
Язык определяет мышление 21
Как испортить хорошую идею и как её спасти 26
Предисловие третье, напутственное 28
Предисловие к первому тому 32
1. Предварительные сведения 34
1.1. Что такое компьютер: немного истории 34
1.2. История ОС Unix 48
1.3. Как компьютер работает 52
1.3.1. Процессор, память, шина 52
1.3.2. Принципы работы центрального процессора 54
1.3.3. Внешние устройства 56
1.3.4. Иерархия запоминающих устройств 57
1.3.5. Резюме 59
1.4. Как правильно использовать компьютер 60
1.4.1. Операционные системы и виды пользовательского интерфейса 60
1.4.2. Unix на домашней машине 70
1.4.3. Первый сеанс в компьютерном классе 73
1.4.4. Дерево каталогов. Работа с файлами 75
1.4.5. Шаблоны имён файлов 77
1.4.6. История команд и автодописывание имён файлов 78
1.4.7. Управление выполнением задач 79
1.4.8. Выполнение в фоновом режиме 84
1.4.9. Перенаправление потоков ввода-вывода 85
1.4.10. Редакторы текстов 87
1.4.11. Права доступа к файлам 92
1.4.12. Электронная документация 94
1.4.13. Командные файлы в Bourne Shell 96
1.4.14. Переменные окружения 99
1.4.15. Протоколирование сеанса работы 101
1.4.16. Графическая подсистема в ОС Unix 101
1.5. Теперь немного математики 106
1.5.1. Элементы комбинаторики 106
1.5.2. Позиционные системы счисления 122
1.5.3. Двоичная логика 131
1.5.4. Виды бесконечности 136
1.5.5. Алгоритмы и вычислимость 141
1.5.6. Алгоритм и его свойства 151
1.5.7. Последовательность действий тут ни при чём 158
1.6. Программы и данные 162
1.6.1. Об измерении количества информации 162
1.6.2. Машинное представление целых чисел 167
1.6.3. Числа с плавающей точкой 172
1.6.4. Тексты и языки 175
1.6.5. Текст как формат данных. Кодировки 178
1.6.6. Бинарные и текстовые данные 184
1.6.7. Машинный код, компиляторы и интерпретаторы . 187
2. Язык Паскаль и начала программирования 194
2.1. Первые программы 195
2.2. Выражения и переменные 206
2.2.1. Арифметические операции и понятие типа 206
2.2.2. Переменные, инициализация и присваивание 210
2.2.3. Идентификаторы и зарезервированные слова 213
2.2.4. Ввод информации для её последующей обработки 214
2.2.5. Берегись нехватки разрядности! 217
2.3. Управление последовательностью выполнения 219
2.3.1. Простая последовательность операторов 219
2.3.2. Конструкция ветвления 221
2.3.3. Составной оператор 224
2.3.4. Логические выражения и логический тип 226
2.3.5. Понятие цикла; оператор while 227
2.3.6. Цикл с постусловием; оператор repeat 232
2.3.7. Арифметические циклы и оператор for 233
2.3.8. Вложенные циклы 236
2.4. Подпрограммы 240
2.4.1. Процедуры 241
2.4.2. Функции 244
2.4.3. Параметры-переменные 247
2.4.4. Локальные и глобальные переменные 250
2.4.5. Рекурсия 252
2.5. Ещё о выражениях 254
2.5.1. Побитовые операции 255
2.5.2. Именованные константы 256
2.5.3. Разные способы записи чисел 261
2.6. Конструирование программ 261
2.6.1. Концепция структурного программирования 262
2.6.2. Исключения из правил: операторы выхода 263
2.6.3. Безусловные переходы 267
2.6.4. О разбиении программы на подпрограммы 269
2.7. Символы и их коды; текстовые данные 271
2.7.1. Средства работы с символами в Паскале 271
2.7.2. Посимвольный ввод информации 275
2.7.3. Чтение до конца файла и программы-фильтры 280
2.7.4. Чтение чисел до конца файла; функция SeekEof 285
2.8. Система типов Паскаля 287
2.8.1. Встроенные типы и пользовательские типы 287
2.8.2. Диапазоны и перечислимые типы 289
2.8.3. Общее понятие порядкового типа 292
2.8.4. Массивы 293
2.8.5. Тип запись 301
2.8.6. Конструирование сложных структур данных 302
2.8.7. Пользовательские типы и параметры подпрограмм 303
2.8.8. Преобразования типов 305
2.9. Строки 308
2.9.1. Строковые литералы и массивы сЬаг'ов 308
2.9.2. Тип string 311
2.9.3. Встроенные функции для работы со строками 313
2.9.4. Обработка параметров командной строки 315
2.10. Оператор выбора 317
2.11. Полноэкранные программы 319
2.11.1. Немного теории 320
2.11.2. Вывод в произвольные позиции экрана 322
2.11.3. Динамический ввод 324
2.11.4. Управление цветом 329
2.12. Файлы 332
2.12.1. Общие сведения 332
2.12.2. Текстовые файлы 338
2.12.3. Типизированные файлы 341
2.12.4. Блочный ввод-вывод 344
2.12.5. Операции над файлом как целым 347
2.13. Адреса, указатели и динамическая память 348
2.13.1. Что такое указатель 350
2.13.2. Указатели в Паскале 351
2.13.3. Динамические переменные 353
2.13.4. Односвязные списки 356
2.13.5. Стек и очередь 367
2.13.6. Проход по списку указателем на указатель 373
2.13.7. Двусвязные списки; деки 379
2.13.8. Обзор других динамических структур данных 384
2.14. Ещё о рекурсии 389
2.14.1. Взаимная рекурсия 389
2.14.2. Ханойские башни 390
2.14.3. Сопоставление с образцом 396
2.14.4. Рекурсия при работе со списками 400
2.14.5. Работа с двоичным деревом поиска 402
2.15. Ещё об оформлении программ 407
2.15.1. Оператор if с веткой else 408
2.15.2. Особенности оформления оператора выбора 410
2.15.3. Метки и оператор goto 411
2.15.4. Максимальная ширина текста программы 414
2.15.5. Как разбить длинную строку 417
2.15.6. Пробелы и разделители 424
2.15.7. Выбор имён (идентификаторов) 425
2.15.8. Регистр букв, ключевые слова и идентификаторы 427
2.15.9. Как справиться с секциями описаний 428
2.16. Тестирование и отладка 429
2.16.1. Отладка в жизни программиста 429
2.16.2. Тесты 433
2.16.3. Отладочная печать 439
2.16.4. Отладчик gdb 441
2.17. Модули и раздельная компиляция 446
2.17.1. Модули в Паскале 448
2.17.2. Использование модулей друг из друга 453
2.17.3. Модуль как архитектурная единица 454
2.17.4. Ослабление сцепленности модулей 454
Список литературы 458
Предметный указатель 459


Книга, которую вы читаете, представляет собой практически уникальное явление — но речь в данном случае идёт не о её содержании, этому аспекту пускай оценку дадут другие. Речь идёт о том, каким образом книга появилась на свет.
Идея написать книгу, подобную этой, появилась у меня достаточно давно, по меньшей мере лет пять назад. Опыт написания книг у меня к тому времени уже был, и достаточно большой, но ни одна из ранее написанных мной книжек не превосходила по объёму двести страниц. До сей поры я всегда обходился своими силами; задумав книгу, я просто садился и писал её. Некоторые из моих учебных пособий были изданы в учебных заведениях, где я работаю или работал, другие я благополучно издавал за свой счёт, окупая такое издание продажей части тиража: при тираже в сотню-другую экземпляров это, в принципе, не так сложно, хотя и долго. Несколько раз я предпринимал попытки взаимодействия с издательствами; если бы я согласился на их условия, то мне не пришлось бы издавать за свой счёт некоторые из моих книжек, но этих книжек не было бы на моём сайте в открытом доступе: издатели всегда и везде требуют полной передачи им имущественных прав на книгу, что полностью исключает легальное бесплатное распространение электронной версии. Спасибо, господа, не надо: я пишу свои книги, чтобы их читали, а не чтобы вы на них зашибали деньги, обдирая моих читателей.

 


О том, как читать книги в форматах pdf, djvu - см. раздел "Программы; архиваторы; форматы pdf, djvu и др."


 

 

.

 

 

 

Астрономия

Биология

География

Естествознание

Иностр. языки.

Информатика:

Начальная школа
Средняя школа
ГИА (экзамен)
ЕГЭ (экзамен)
Высшая школа

Искусствоведение

История

Культурология

Литература

Математика

Менеджмент

ОБЖ

Обществознание

Психология

Религиоведение

Русский язык

Физика

Философия 

Химия

Экология

Экономика

Юриспруденция

Школа - и др.

Студентам - и др.

Экзамены школа

Абитуриентам

Библиотеки 

Справочники

Рефераты

Прочее

 

 

Загрузка...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Copyright  © 2006-200 Alexander Vasiliev , St. Petersburg,   Russia,   info@alleng.ru 

    Rambler's Top100