Книга в формате pdf! Изображения и текст могут не отображаться!
Harold Abelson
and
Gerald Jay Sussman
with
Structure and Interpretation
of Computer Programs
The MIT Press
Cambridge, Massatchusetts
New York
The McGraw-Hill Companies, Inc.
St.Louis
San Francisco
Montreal
London, England
Toronto
Харольд Абельсон
Джеральд Джей Сассман
при участии
Структура и интерпретация
компьютерных программ
Добросвет, 2006
Эта книга посвящается, с уважением и любовью, духу, который живет внутри
компьютера.
“Мне кажется, чрезвычайно важно, чтобы мы, занимаясь информатикой, получали радость от общения с компьютером. С самого начала это было громадным удовольствием. Конечно, время от времени встревали заказчики, и
через какое-то время мы стали серьезно относиться к их жалобам. Нам стало
казаться, что мы вправду отвечаем за то, чтобы эти машины использовались
Слушать книгу Структура и интерпретация компьютерных программ 2.8
успешно и безошибочно. Я не думаю, что это так. Я считаю, что мы отвечаем
за то, чтобы их тренировать, указывать им новые направления и поддерживать уют в доме. Я надеюсь, что информатика никогда не перестанет быть
радостью. Я надеюсь, что мы не превратимся в миссионеров. Не надо чувствовать себя продавцом Библий. Таких в мире и так достаточно. То, что Вы
знаете о программировании, могут выучить и другие. Не думайте, что в ваших руках ключ к успешной работе с компьютерами. Что у Вас, как я думаю
и надеюсь, есть — это разум: способность увидеть в машине больше, чем Вы
видели, когда Вас впервые к ней подвели, увидеть, что Вы способны сделать
ее бóльшим.”
Алан Дж. Перлис (1 апреля 1922 – 7 февраля 1990)
Предисловие ко второму изданию . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Предисловие к первому изданию . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Благодарности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1. Построение абстракций с помощью процедур . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1. Элементы программирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1. Выражения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.2. Имена и окружение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.3. Вычисление комбинаций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.4. Составные процедуры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.5. Подстановочная модель применения процедуры . . . . . . . . . . . . . . . . . . . .
Слушать книгу Структура и интерпретация компьютерных программ 2.1
1.1.6. Условные выражения и предикаты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.7. Пример: вычисление квадратного корня методом Ньютона . . . . . . . . . .
1.1.8. Процедуры как абстракции типа «черный ящик» . . . . . . . . . . . . . . . . . . .
1.2. Процедуры и порождаемые ими процессы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1. Линейные рекурсия и итерация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.2. Древовидная рекурсия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.3. Порядки роста . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.4. Возведение в степень . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.5. Нахождение наибольшего общего делителя . . . . . . . . . . . . . . . . . . . . . . . .
1.2.6. Пример: проверка на простоту . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3. Формулирование абстракций с помощью процедур высших порядков . . . . . .
1.3.1. Процедуры в качестве аргументов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.2. Построение процедур с помощью lambda . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.3. Процедуры как обобщенные методы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.4. Процедуры как возвращаемые значения . . . . . . . . . . . . . . . . . . . . . . . . . . .
2. Построение абстракций с помощью данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1. Введение в абстракцию данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1. Пример: арифметические операции над рациональными числами . . . .
2.1.2. Барьеры абстракции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.3. Что значит слово «данные»? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
2.1.4. Расширенный пример: интервальная арифметика . . . . . . . . . . . . . . . . . . . 102
Иерархические данные и свойство замыкания . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
2.2.1. Представление последовательностей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
2.2.2. Иерархические структуры . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
2.2.3. Последовательности как стандартные интерфейсы . . . . . . . . . . . . . . . . . . 120
2.2.4. Пример: язык описания изображений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Символьные данные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
2.3.1. Кавычки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
2.3.2. Пример: символьное
Источник: clib.me
Структура и интерпретация компьютерных программ (Абельсон Харольд) ; КДУ, 2018
Книга посвящена описанию различных систем программного синтаксиса, анализу перехода от набора алгоритмов к программному коду. Значительное место уделяется обсуждению набора «элементарных программ», использующихся в качестве элементов конструкции программ более высоких уровней сложности, оптимизации соотношения их «веса» и эффективности. Особое внимание авторы уделяют анализу проблемы взаимодействия компьютера как физического объекта и программного кода, обеспечивающего информационную составляющую вычисления. Книга будет полезна всем, кому приходится иметь дело с программированием, в том числе и в гуманитарных областях знания.
Видео обзоры (5)
Слушать книгу Структура и интерпретация компьютерных программ 2.2
Слушать книгу Структура и интерпретация компьютерных программ 1
Слушать книгу Структура и интерпретация компьютерных программ 1.5
Слушать книгу Структура и интерпретация компьютерных программ 1.2
Структура и интерпретация компьютерных программ (трейлер)
О книге
Сравнить цены
Минимальная сумма заказа 100 рублей
Как купить или где мы находимся +
«КаталогКниг.РФ» — это книжный портал. Мы помогаем людям экономить, путём сравнения цен на книги в разных магазинах. У нас Вы можете найти оптимальную цену и почитать отзывы на книги. В нашем каталоге можно найти как бумажную версию книги, так и электронную. Купить товар Вы можете непосредственно на сайте выбранного магазина, нажав кнопку «Купить».
Отзывы (2)
Харольд Абельсон
— 2 января 2023
Эта книга непроста и является одной из фундаментальных работ по Computer Science. Пройти весь путь, изложенный в ней, будет очень нелегко. Но тот, кто пройдёт его, несомненно будет великолепным специалистом. В дополнение к этой книге я рекомендую посмотреть видеозаписи лекций одного из авторов книги — Абельсона.
Несмотря на то что оригинал этого издания книги вышел в 90-м году, она до сих пор очень актуальна, и мало где можно найти такую полезную информацию в одном месте. 0 0
Игорь Владимирович Красильников
— 11 октября 2021
Наверное ни в одной другой отрасли нет такого маленького числа рекомендательных списков как в ИТ. Начинающий программист как правило уже знает все, что ему нужно для того чтобы заработать. Опытный выбирает только те книги которые помогут ему в работе. Академическая карьера в программировании не в моде. И все таки эту книгу рекомендуют те кто взял на себя труд ее прочесть.
И прочесть ее это действительно труд. Не самый популярный в России язык программирования выбранный для иллюстрации примеров, достаточно большой объем, вещи не очевидно нужные для повседневной работы программиста. Но если вы пришли в эту отрасль не только за быстрыми деньгами с маленькой ответственностью джуниора, а ваши амбиции простираются даже выше мидла — эта книга для вас.
Уже первые две главы буквально за руку проведут вас по таким мозголомным понятиям как абстраутные функции, теория алгоритмов, конструирование программ. И. а вот на этом многие остановятся. Не все готовы одолеть дорогу познания до конца. Погрузиться в модули и объекты, параллелизм и регистры. Познать тайны метаязыковых абстракций.
Но если вы действительно программист, а не просто кодер, без этой книги вам просто не обойтись. 0 0
Источник: xn--80aajayidguh5b.xn--p1ai
Структура и Интерпретация Компьютерных Программ
Книга посвящена описанию различных систем программного синтаксиса, анализу перехода от набора алгоритмов к программному коду. Значительное место уделяется обсуждению набора «элементарных программ», использующихся в качестве элементов конструкции программ более высоких уровней сложности, оптимизации соотношения их «веса» и эффективности. Особое внимание авторы уделяют анализу проблемы взаимодействия компьютера как физического объекта и программного кода, обеспечивающего информационную составляющу.
Книга посвящена описанию различных систем программного синтаксиса, анализу перехода от набора алгоритмов к программному коду. Значительное место уделяется обсуждению набора «элементарных программ», использующихся в качестве элементов конструкции программ более высоких уровней сложности, оптимизации соотношения их «веса» и эффективности. Особое внимание авторы уделяют анализу проблемы взаимодействия компьютера как физического объекта и программного кода, обеспечивающего информационную составляющую вычисления.
Книга будет полезна всем, кому приходится иметь дело с программированием, в том числе и в гуманитарных областях знания. Книга «Структура и Интерпретация Компьютерных Программ» авторов Харольд Абельсон, Джеральд Джей Сассман оценена посетителями КнигоГид, и её читательский рейтинг составил 8.60 из 10.
Для бесплатного просмотра предоставляются: аннотация, публикация, отзывы, а также файлы для скачивания.
Читать полностью
Источник: knigogid.ru