Главная » Просмотр файлов » Д. Кнут - Искусство программирования том 1

Д. Кнут - Искусство программирования том 1 (1119450), страница 2

Файл №1119450 Д. Кнут - Искусство программирования том 1 (Д. Кнут - Искусство программирования том 1) 2 страницаД. Кнут - Искусство программирования том 1 (1119450) страница 22019-05-09СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

— Профессор Ю. В. Козаченко ПРЕДИСЛОВИЕ уважаемые читатели) Вы держите в руках книгу, иЗдать КОтОруЮ Вы просили нас в тыСячах пиСЕм. мам пришлось потратить годы на то, чтобы самым тщательным образом пРовеРить н перепроверить бесконечное множество рецептов н отобрать для вас самые лучшие, самые интересные, самые совершенные.

теперь без тени сомнения мы можем сказать, что если вы будете следовать инструкциям, то каждое блюдо будет получаться у вас таким же, как н у нас, даже если раньше вы никогда не занимались пРиготовлением лиши. — поваренная книга мак-колла (1963) Пгоцнсс подготовки программ для цифрового компьютера — это очень увлекательное занятие.

И дело не только в том, что оно оправдывает себя с экономической и научной точек зрения; оно может вызвать также эстетические переживания, подобные тем, которые испытывают творческие личности при написании музыки или стихов. ллы держите в руках первый том многотомного издания, цель которого — дать читателю разнообразные знания и умения, из которых и состоит ремесло программиста. Последующие главы не являются введением в компьютерное программирование; предполшается, что вы уже имеете некоторый опыт в этой области. На самом деле предъявляемые к читателю требования очень просты; тем не менее начинающему программисту потребуются время и практика, чтобы понять, что собой представляет цифровой компьютер. Итак, читатель должен иметь а) некоторое представление о том, как работает цифровой коллпьютер с хранимой программой; при этом необязательно разбираться в электронике, главное— понимать, каким образом колланды можно сохранять в памяти компьютера, и затем последовательно нх выполнить; Ь) способность ставить задачу с люмощью четких и определенных терминов, понятных компьютеру (у компьютеров нет разума, присущего человеку', поэтому они делают в точности то, что им приказывают, не больше и не меньше; именно этот факт обычно труднее всего уяснить начинающим пользователям); с) знание самых простых компьютерных методов, таких как организация циклов (повторное выполнение некоторого набора команд), а также использование подпрограмм и переменных с индексами; й) знание распространенных компьютерных терминов, например "память", "регистры", "биты", "плавающая точка", 'переполнение", "программное обеспечение"; большинство терминов, которые не определены в тексте, поясняются в алфавитном указателе в конце каждого тома.

Эти четыре условия, вероятно, можно объединить в одном требовании: читатель должен иметь опыт написания н отладки по меньшей мере четырех программ хотя бы для одного компьютера. Я старался писать эти книги так, чтобы они могли служить нескольким различным целям. Во-первых, они представляют собой справочное пособие, в котором сосредоточены знания нз нескольких важных областей науки. Во-вторых, они могут использоваться в качестве пособий для самообразования и учебников по программированию или информатике для университетов. В связи с этим я включил в текст большое количество упражнений и предоставил ответы на большинство из них.

Кроме того, я попытался сосредоточить внимание на фйктах., вместо того чтобы "лить воду" и заниматься общими рассуждениями. Этот трехтомник предназначен для всех, кто серьезно интересуется компьютерами, а не только для профессионалов. В сущности, одна из моих главных целей состояла в том, чтобы сделать методы программирования более доступными для специалистов из других областей. Как правило, эти специалисты получают большие преимущества, используя компьютеры, но не могут позволить себе тратить время на поиски необходимой информации, крупицы которой разбросаны по множеству технических журналов.

Тему этих книг можно сформулировать следующим образом: "Нечисленяый анализ", Компьютеры обычно ассоциируются с решением численных задач, таких как нахождение корней уравнения, численное интерполирование, интегрирование и т. д. Но в этом трехтомнике подобные темы не рассматриваются (за исключением случаев, когда это необходимо сделать по ходу изложения). Численное компьютерное программирование — необычайно интересная н бурно развивающаяся область; на эту тему написано очень много хороших книг. Но с 60-х годов компьютеры все чаще и чаще применяются для решения проблем, в которых числа играют второстепенную роль.

Теперь на первый план выходит способность компьютера принимать решения, а не просто выполнять арифметические операции. При решении нечисленных задач иногда требуется выполнять операции сложения и вычитания, но потребность в умножении и делении возникает довольно редко. Но, конечно, даже тот. кто в основном занимается численным компьютерным программированием, только выиграет от изучения исчисленных методов, так как они лежат и в основе числовых программ.

Результаты исследований в области нечислениого анализа разбросаны по многим техническим журналам. Моя цель состояла в том, чтобы извлечь из этого огромного объема информации только фундаментальные методы, которые можно применять в разнотипиых ситуациях программирования. Я попытался обобщить выбранную информацию, чтобы получить то, что в большей нли меньшей степени можно назвать "теорией", а также показать, как применять эту теорию прн решении различных практических задач. Конечно, "исчисленный анализ" — крайне неудачное название для данной области науки. Оно неудачно прежде всего потому, что содержит только отрицание другого понятия; гораздо лучше было бы выбрать более содержательный термин, не имеющий приставки "не". Назваиие "обработка информации" охватывает более широкую область, чем рассматриваемый здесь материал, а "методы программирования" — более узкую.

Я считаю, что для темы, освещаемой в данных книгах, самым подходящим является название анализ алгорипьмое, которое можно расшифровать как "теория свойств некоторых компьютерных алгоритмов ', Полный иаГюр книг, озаглавленный как Искусство программирования., имеет следующую основную структуру, Том 1.

Основные алгоритмы Глава 1, Основные понятия Глава 2. Информационные структуры Том 2. Получнсленные алгоритмы Глава 3. Случайные числа Глава 4. Арифметика Том 3. Сортировка в поиск Глава 5. Сортировка Глава 6. Поиск Том 4. Комбияаторные алгоритмы Глава 7. Комбинаторный поиск Глава 8. Рекурсия Том 5. Слитакслческле алгоритмы Глава 9. Лексикографический поиск Глава 10. Синтаксический анализ В томе 4 рассматривается очень большая тема, поэтому на самом деле он состоит из трех отдельных книг (томов 4А, 4В и 4С). Планируется также выпуск двух дополнительных томов по более специализированным темам: том 6, Теория языков (глава 11), и том 7, Компиляторы (глава 12).

Я приступил к этой раГюте в 1962 году с намерением написать единственную книгу, содержащую все перечисленные главы, но вскоре понял, что необходимо глубоко рассматривать выбравные темы, а не просто "скользить по поверхности". В результате получился текст такого объема, что материала каждой главы оказалось более чем достаточно для изучения в течение одного университетского семестра. И стало ясно, что необходимо разбить материал иа несколько отдельных томов. Я знаю, что книга, содержащая только одну-две главы, выглядит довольно странно, но реп~ил сохранить первоначальную нумерацию глав, чтобы упростить перекрестные ссылки. Планируется выпуск сокращенного варианта томов 1-5, который будет служить более общим справочником и/или учебником для студентов; в ием будет содержаться основная часть материала данных томов, а более специальная информация будет опущена.

В сокращенном издании будет сохранена такая же нумерация глав, как и в полном. Том 1 можно рассматривать как "пересечение" полного набора глав, в том смысле, что он содержит основныс сведения, которые используются во всех остальных книгах. С другой стороны, тома 2 — 5 можно читать независимо один от другого. Том 1 — это не только справочник, который необходимо использовать как пособие прн чтении других томов; он может служить также университетским учебником либо пособием для самообразования по теме структпуры данных (основное внимание следует уделить главе 2) или днскрегпнал матемагаика (основное внимание следует уделить разделам 1.1, 1.2, 1.3.3 и 2.3.4), или программирование на языке машинных команд (основное внимание следует уделить разделам 1.3 н 1А). Эти главы написаны с другой точки зрения, чем та, которая используется в самых современных книгах по программированию, т.

е. я не пытался научить читателя пользоваться чужим программным обеспечением. Вместо этого я стремился научить читателя писать собственные программы более высокого качества. Моя первоначальная цель заключалась в том, чтобы познакомить читателей с передовыми научными исследованиями в каждой из рассматриваемых областей знания. Но очень сложно постоянно быть в курсе дел отрасли, которая является экономически выгодной; бурный рост компьютерной науки сделал невозможным осуществление моей мечты. Образно говоря, я очутился на берегу безбрежного океана, содержащего десятки тысяч маленьких результатов, которые были получены десятками тысяч талантливых яюдей по всему миру. Поэтому мне пришлось поставить перед собой новую цель — сосредоточиться на "классических" методах, которые останутся актуальными в течение многих десятилетий, и описать их как можно лучше по мере моих возможностей.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
308
Средний доход
с одного платного файла
Обучение Подробнее