Книга содержит расширенный вариант начального курса программирования, который читается на механико-математическом факультете МГУ с 1980 г. Цель курса — заложить фундамент общей программистской культуры слушателей в научить их грамотно программировать практически задачи объемом несколько тысяч строк. Основу курса составляют понятнее исполнителя технология программирования «сверху вниз» и развитые структуры данных. В числе изучаемых в курсе законченных программных систем — управление станком с ЧПУ и «луноходом», реализация простейшего компилятора арифметических формул, построение изображения полиэдра с удалением невидимых линий, ссылочная реализация списка, хеширование, двумерное хеширование по равномерной сетке, реализации виртуальной памяти; простейшей файловой системы и компонент Экранного редактора текстов.
Изложение ведется в едином стиле с использованием понятия исполнителя на учебном языке программирования с русской лексикой.
Для студентов математических факультетов университетов и факультетов прикладной математики вузов.
ТЕХНОЛОГИЯ «СВЕРХУ ВНИЗ».
Посмотрим на сито и постараемся найти в нем максимально крупные (первое требование) образования, структуры, которые, однако, были бы меньше, чем сито в целом (второе требование). Легко видеть, что сито состоит, из ячеек, рядов ячеек и колонок ячеек. Поскольку надо искать максимально крупные образования, то мы должны выбирать между рядами и колонками ячеек, а сами ячейки, как более мелкие, не рассматривать. Для выбора между рядами и колонками у нас нет никаких аргументов «за» и «против», поэтому возьмем наобум первое, что придет в голову, скажем ряды.
Попробуем теперь изготовить сито, считая, что у вас есть исполнитель, обрабатывающий ряды целиком (назовем этого исполнителя «Обработчик рядов»). Как это делать? Разумно обрабатывать последовательно ряд за рядом сверху вниз, начиная с верхнего. Будем считать, что в начале обработки ряда резак находится в левой верхней клетке ряда (в начале ряда). Для того чтобы при переходе от ряда к ряду резак не надо было двигать, будем считать, кроме того, что в конце обработки ряда резак располагается в начале следующего ряда. Это положение — клетку под левой нижней клеткой ряда — назовем концом ряда. Заметим, что все наши «будем считать» — это продолжение придумывания исполнителя «Обработчик рядов», а именно уточнение семантики его будущих предписаний. Сами предписания будем вводить «по ходу» там, где они понадобятся.
ОГЛАВЛЕНИЕ.
Предисловие.
Глава 1. Начала программирования.
1. Основные понятия программирования, примеры исполнителей и простейших программ.
2. Процесс выполнения программы. Управляющие конструкции и утверждения.
3. Основная задача программирования и технология «сверху вниз».
4. Процесс разработки программ. Рекурсия, итерация, проектирование цикла с помощью инварианта.
5. Процесс разработки программ. Один пример.
6. Объекты, параметры, типы. Схема вычисления инвариантной функции.
7. Способы конструирования типов, объектов и исполнителей
8. Индуктивное вычисление функций на пространстве последовательностей.
Глава 2. Несколько примеров программ.
9. Проект «Выпуклая оболочка» последовательно поступающих точек плоскости.
10. Компиляция и интерпретация. Реализация простейшего компилятора с языка арифметических формул.
11. Проект «Построение изображения полиэдра».
Глава 3. Структуры данных в их реализации.
12. Примеры реализации одних структур данных на базе других. Непрерывные реализации на базе вектора.
13. Ссылочные реализации на базе вектора.
14. Три способа реализации множества на базе вектора. Последовательный поиск, бинарный поиск, хеширование.
15. Двумерное хеширование по равномерной сетке. Оптимизация алгоритма построения изображения полиэдра.
16. Виртуальная память.
17. Простейшая файловая система.
18. Иерархия структур данных при разработке программ.
Глава 4. Логическое устройство и принципы работы ЭПВМ.
19. Логическое устройство и принципы работы ЭВМ.
20. Работа программиста на ЭВМ.
Глава 5. Программирование на языке Фортран.
21. Справочные сведения о языке Фортран. Простейшие примеры программ.
22. Реализация исполнителей на Фортране. Примеры реализации структур данных.
Приложение. Краткое неформальное описание использованного в книге языка программирования.
Предметный указатель.
Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Программирование для математиков, Кушниренко А.Г., Лебедев Г.В., 1988 - fileskachat.com, быстрое и бесплатное скачивание.
Скачать файл № 1 - pdf
Скачать файл № 2 - djvu
Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России.Купить эту книгу
Скачать - djvu - Яндекс.Диск.
Скачать - pdf - Яндекс.Диск.
Дата публикации:
Хештеги: #учебник по программированию :: #программирование :: #Кушниренко :: #Лебедев
Смотрите также учебники, книги и учебные материалы:
Следующие учебники и книги:
- Параллельное программирование для многопроцессорных вычислительных систем, Немнюгин С.А., Стесик О.Л., 2002
- Микрокалькуляторы в рассказах и играх, Романовский Т.Б., 1989
- Линейное программирование, Теория, методы и приложения, Юдин Д.Б., Гольштейн Е.Г., 1969
- Java For Testers, Richardson A., 2015
Предыдущие статьи:
- Основы программирования 32-разрядных микроконтроллеров 1986ВЕ91Т компании «Миландр», Руководство к выполнению лабораторных работ, Алалуев Р.В., Глаголев В.М., Мосур А.А., Владимиров Л.Л., 2015
- Конструирование компиляторов, Свердлов С.З., 2015
- Язык ассемблера, Уроки программирования, Рудаков П.И., Финогенов К.Г., 2001
- Программирование на языке Паскаль, задачник, Ускова О.Ф., 2005